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

Sprout from R3_2_PMR48171_999_760 2007-11-12 19:41:04 UTC cvs2svn <platform-releng-dev@eclipse.org> 'This commit was manufactured by cvs2svn to create branch'
Delete:
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/AnimatedProgress.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/Bullet.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BusyIndicator.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBanner.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBannerLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLabel.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLayoutData.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Adapter.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderAdapter.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabItem.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ControlEditor.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/DefaultContent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PopupList.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ST.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashForm.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormData.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledComposite.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledCompositeLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StackLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyleRange.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextContent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrintOptions.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableCursor.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableEditor.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTree.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeEditor.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeItem.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangedEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangingEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TreeEditor.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewForm.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java
    bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/package.html
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TableDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DND.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceAdapter.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetAdapter.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/NoDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/package.html
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TableDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ClipboardProxy.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TableDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TableDragUnderEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/ByteArrayTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Clipboard.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DragSource.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DropTarget.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/FileTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/HTMLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/OleEnumFORMATETC.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/RTFTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TableDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TextTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Transfer.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TransferData.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
    bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/URLTransfer.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_custom.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.c
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.cpp
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.h
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM_PROFILE.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsEmbedString.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookie.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookieManager.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsID.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDownload.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFactory.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIIOService.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIMemory.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefService.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProfile.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPromptService.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProperties.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIRequest.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupports.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/package.html
    bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/internal/ole/win32/COMObject.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OLE.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleClientSite.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleControlSite.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEvent.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventSink.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventTable.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFunctionDescription.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleListener.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleParameterDescription.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyChangeSink.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyDescription.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/Variant.java
    bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/package.html
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_structs.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/GLData.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/package.html
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/emulated/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/GLX.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/motif/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt_wgl.rc
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.c
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.h
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/LAYERPLANEDESCRIPTOR.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/PIXELFORMATDESCRIPTOR.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/WGL.java
    bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/opengl/GLCanvas.java
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.h
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_font_extents_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_text_extents_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.sh
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.xml
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/make_macosx.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.c
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.h
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/webkit.c
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/Platform.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AEDesc.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSLayoutRecord.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSTrapezoid.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUCaret.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUTab.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUUnhighlightData.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AlertStdCFStringAlertParamRec.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/BitMap.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CFRange.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGFunctionCallbacks.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPathElement.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPatternCallbacks.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPoint.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGRect.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ColorPickerInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlButtonContentInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlEditTextSelectionRec.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlFontStyleRec.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlKind.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabEntry.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabInfoRecV1.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Cursor.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCallbacks.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCustomCallbacks.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewColumnDesc.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewHeaderDesc.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/EventRecord.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontSelectionQDStyle.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/GDevice.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HICommand.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIScrollBarTrackInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationFrameInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationTimeInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeBackgroundDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeButtonDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeFrameDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGroupBoxDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGrowBoxDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemePopupArrowDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeSeparatorDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabPaneDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTextInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTrackDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HMHelpContentRec.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/MenuTrackingData.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavDialogCreationOptions.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavReplyRecord.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMRect.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMResolution.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PixMap.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Point.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ProgressTrackInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/RGBColor.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Rect.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ScrollBarTrackInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/SliderTrackInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNBackground.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNLongRect.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNTab.java
    bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ThemeButtonDrawInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Lock.java
    bundles/org.eclipse.swt/Eclipse SWT PI/common_j2me/org/eclipse/swt/internal/Library.java
    bundles/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.xml
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_solaris.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/mozilla_exports
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/Platform.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GObjectClass.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeQuery.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventAny.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventMotion.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventScroll.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGeometry.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkVisual.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAdjustment.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkBorder.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/LONG.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoAttribute.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoItem.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLogAttr.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoRectangle.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XAnyEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XButtonEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XCrossingEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XExposeEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XFocusChangeEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XVisibilityEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XWindowChanges.java
    bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/package.html
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.sh
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.xml
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_aix.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_PA_RISC.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_ia64_32.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_linux.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_solaris.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/mozilla_exports
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/Platform.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/OS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/Visual.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XAnyEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XButtonEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCharStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XClientMessageEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XColor.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XConfigureEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCreateWindowEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCrossingEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XDestroyWindowEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XExposeEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFocusChangeEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFontStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XGCValues.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XIconSize.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XImage.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XKeyEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XModifierKeymap.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XMotionEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XPropertyEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRectangle.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRenderPictureAttributes.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XReparentEvent.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSetWindowAttributes.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSizeHints.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XTextProperty.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowAttributes.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowChanges.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XineramaScreenInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmAnyCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDragProcCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropFinishCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropProcCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmSpinBoxCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextBlockRec.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextVerifyCallbackStruct.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XtWidgetGeometry.java
    bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/package.html
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/org/eclipse/swt/internal/gtk/GTK.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.sh
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.xml
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/make_qnx.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.h
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/Platform.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontDetails.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontQueryInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgAlpha_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgDisplaySettings_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgMap_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgVideoModeInfo_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhArea_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhClipHeader.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorDef_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorInfo_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhDim_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhEvent_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhImage_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhKeyEvent_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPoint_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPointerEvent_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRect_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRegion_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhTile_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhWindowEvent_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtCallbackInfo_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtColorSelectInfo_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtFileSelectionInfo_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtScrollbarCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtTextCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebClientData_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebDataReqCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebStatusCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebWindowCallback_t.java
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/package.html
    bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/utsname.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build-ce.bat
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.bat
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.xml
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/defines.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.cpp
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_custom.cpp
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.cpp
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.cpp
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/javaw.exe.manifest
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_win32.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_wince.mak
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt_gdip.rc
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java
    bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html
    bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/PrintDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/Printer.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/PrinterData.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/package.html
    bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/PrintDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/Printer.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/PrintDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/Printer.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/PrintDialog.java
    bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/Printer.java
    bundles/org.eclipse.swt/Eclipse SWT Program/carbon/org/eclipse/swt/program/Program.java
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.c
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.h
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.c
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.h
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.c
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.h
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/CDE.java
    bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/DtActionArg.java
    bundles/org.eclipse.swt/Eclipse SWT Program/common/org/eclipse/swt/program/package.html
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.c
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.c
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.h
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.c
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.h
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GNOME.java
    bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
    bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
    bundles/org.eclipse.swt/Eclipse SWT Program/motif/org/eclipse/swt/program/Program.java
    bundles/org.eclipse.swt/Eclipse SWT Program/photon/org/eclipse/swt/program/Program.java
    bundles/org.eclipse.swt/Eclipse SWT Program/win32/org/eclipse/swt/program/Program.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ButtonDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ComboDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/DrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ExpanderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/GroupDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/RangeDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScaleDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabFolderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/Theme.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ButtonDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ComboDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/DrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ExpanderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/GroupDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/RangeDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScaleDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabFolderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/Theme.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ButtonDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ComboDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/DrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ExpanderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/GroupDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/RangeDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScaleDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabFolderDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabItemDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/Theme.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolBarDrawData.java
    bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolItemDrawData.java
    bundles/org.eclipse.swt/META-INF/MANIFEST.MF
    bundles/org.eclipse.swt/about_files/IJG_README
    bundles/org.eclipse.swt/build/.classpath
    bundles/org.eclipse.swt/build/.project
    bundles/org.eclipse.swt/extra_jars/exceptions.jar
    bundles/org.eclipse.swt/extra_jars/readme.txt
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/AnimatedProgress.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/AnimatedProgress.java
deleted file mode 100755
index 60be889..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/AnimatedProgress.java
+++ /dev/null
@@ -1,219 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*; 
-import org.eclipse.swt.events.*;
-
-/**
- * A control for showing progress feedback for a long running operation.
- *
- * @deprecated As of Eclipse 2.1, use ProgressBar with the style SWT.INDETERMINATE
- * 
- * <dl>
- * <dt><b>Styles:</b><dd>VERTICAL, HORIZONTAL, BORDER
- * </dl>
- */
-public class AnimatedProgress extends Canvas {
-
-	static final int SLEEP = 70;
-	static final int DEFAULT_WIDTH = 160;
-	static final int DEFAULT_HEIGHT = 18;
-	boolean active = false;
-	boolean showStripes = false;
-	int value;
-	int orientation = SWT.HORIZONTAL;
-	boolean showBorder = false;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#VERTICAL
- * @see SWT#HORIZONTAL
- * @see SWT#BORDER
- * @see #getStyle()
- */
-public AnimatedProgress(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	
-	if ((style & SWT.VERTICAL) != 0) {
-		orientation = SWT.VERTICAL;
-	}
-	showBorder = (style & SWT.BORDER) != 0;
-	
-	addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			redraw();
-		}
-	});	
-	addPaintListener(new PaintListener() {
-		public void paintControl(PaintEvent e) {
-			paint(e);
-		}
-	});
-	addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e){
-			stop();
-		}
-	});
-}
-private static int checkStyle (int style) {
-	int mask = SWT.NONE;
-	return style & mask;
-}
-/**
- * Stop the animation if it is not already stopped and 
- * reset the presentation to a blank appearance.
- * 
- * @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 synchronized void clear(){
-	checkWidget();
-	if (active) stop();
-	showStripes = false;
-	redraw();
-}
-public Point computeSize(int wHint, int hHint, boolean changed) {
-	checkWidget();
-	Point size = null;
-	if (orientation == SWT.HORIZONTAL) {
-		size = new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-	} else {
-		size = new Point(DEFAULT_HEIGHT, DEFAULT_WIDTH);
-	}
-	if (wHint != SWT.DEFAULT) size.x = wHint;
-	if (hHint != SWT.DEFAULT) size.y = hHint;
-	
-	return size;
-}
-private void drawBevelRect(GC gc, int x, int y, int w, int h, Color topleft, Color bottomright) {
-	gc.setForeground(topleft);
-	gc.drawLine(x, y, x+w-1, y);
-	gc.drawLine(x, y, x, y+h-1);
-		
-	gc.setForeground(bottomright);
-	gc.drawLine(x+w, y, x+w, y+h);
-	gc.drawLine(x, y+h, x+w, y+h);
-}
-void paint(PaintEvent event) {
-	GC gc = event.gc;
-	Display disp= getDisplay();
-			
-	Rectangle rect= getClientArea();
-	gc.fillRectangle(rect);
-	if (showBorder) {
-		drawBevelRect(gc, rect.x, rect.y, rect.width-1, rect.height-1,
-			disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW),
-			disp.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-	}
-	
-	paintStripes(gc);
-}	
-void paintStripes(GC gc) {
-	
-	if (!showStripes) return;
-	
-	Rectangle rect= getClientArea();
-	// Subtracted border painted by paint.
-	rect = new Rectangle(rect.x+2, rect.y+2, rect.width-4, rect.height-4);
-
-	gc.setLineWidth(2);
-	gc.setClipping(rect);
-	Color color = getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
-	gc.setBackground(color);
-	gc.fillRectangle(rect);
-	gc.setForeground(this.getBackground());
-	int step = 12;
-	int foregroundValue = value == 0 ? step - 2 : value - 2;
-	if (orientation == SWT.HORIZONTAL) {
-		int y = rect.y - 1;
-		int w = rect.width;
-		int h = rect.height + 2;
-		for (int i= 0; i < w; i+= step) {
-			int x = i + foregroundValue;
-			gc.drawLine(x, y, x, h);
-		}
-	} else {
-		int x = rect.x - 1;
-		int w = rect.width + 2;
-		int h = rect.height;
-
-		for (int i= 0; i < h; i+= step) {
-			int y = i + foregroundValue;
-			gc.drawLine(x, y, w, y);
-		}
-	}
-	
-	if (active) {
-		value = (value + 2) % step;
-	}
-}
-/**
-* Start the animation.
-* 
-* @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 synchronized void start() {
-	checkWidget();
-	if (active) return;
-
-	active = true;
-	showStripes = true;
-	
-	final Display display = getDisplay();
-	final Runnable [] timer = new Runnable [1];
-	timer [0] = new Runnable () {
-		public void run () {
-			if (!active) return;
-			GC gc = new GC(AnimatedProgress.this);			
-			paintStripes(gc);
-			gc.dispose();
-			display.timerExec (SLEEP, timer [0]);
-		}
-	};
-	display.timerExec (SLEEP, timer [0]);
-}
-/**
-* Stop the animation.   Freeze the presentation at its current appearance.
-*/
-public synchronized void stop() {
-	//checkWidget();
-	active = false;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentEvent.java
deleted file mode 100644
index 3dd45b8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentEvent.java
+++ /dev/null
@@ -1,84 +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.custom;
-
-
-import org.eclipse.swt.events.*;
-
-/**
- * This event is sent to BidiSegmentListeners when a line is to
- * be measured or rendered in a bidi locale.  The segments field is 
- * used to specify text ranges in the line that should be treated as 
- * separate segments for bidi reordering.  Each segment will be reordered 
- * and rendered separately.
- * <p>
- * The elements in the segments field specify the start offset of 
- * a segment relative to the start of the line. They must follow
- * the following rules:
- * <ul>
- * <li>first element must be 0
- * <li>elements must be in ascending order and must not have duplicates
- * <li>elements must not exceed the line length
- * </ul>
- * In addition, the last element may be set to the end of the line 
- * but this is not required.
- *
- * The segments field may be left null if the entire line should 
- * be reordered as is.
- * </p>
- * A BidiSegmentListener may be used when adjacent segments of 
- * right-to-left text should not be reordered relative to each other. 
- * For example, within a Java editor, you may wish multiple 
- * right-to-left string literals to be reordered differently than the
- * bidi algorithm specifies.  
- *
- * Example:
- * <pre>
- * 	stored line = "R1R2R3" + "R4R5R6"
- *		R1 to R6 are right-to-left characters. The quotation marks
- * 		are part of the line text. The line is 13 characters long.
- * 
- * 	segments = null: 
- * 		entire line will be reordered and thus the two R2L segments 
- * 		swapped (as per the bidi algorithm). 
- *		visual line (rendered on screen) = "R6R5R4" + "R3R2R1"
- * 
- * 	segments = [0, 5, 8]	
- * 		"R1R2R3" will be reordered, followed by [blank]+[blank] and 
- * 		"R4R5R6". 
- *		visual line = "R3R2R1" + "R6R5R4"
- * </pre>
- */
-public class BidiSegmentEvent extends TypedEvent {
-	
-	/** 
-	 * line start offset 
-	 */
-	public int lineOffset;
-	
-	/** 
-	 * line text 
-	 */			
-	public String lineText;
-	
-	/** 
-	 * bidi segments, see above 
-	 */
-	public int[] segments;
-		
-	static final long serialVersionUID = 3257846571587547957L;
-
-BidiSegmentEvent(StyledTextEvent e) {
-	super(e);
-	lineOffset = e.detail;
-	lineText = e.text;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.java
deleted file mode 100644
index e1d9770..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BidiSegmentListener.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.custom;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-/**
- * This listener interface may be implemented in order to receive
- * BidiSegmentEvents.
- * @see BidiSegmentEvent
- */ 
-public interface BidiSegmentListener extends SWTEventListener {
-
-/**
- * This method is called when a line needs to be reordered for 
- * measuring or rendering in a bidi locale. 
- * <p>
- * The following event fields are used:<ul>
- * <li>event.lineOffset line start offset (input)</li>
- * <li>event.lineText line text (input)</li>
- * <li>event.segments text segments that should be reordered 
- *	separately. (output)</li> 
- * </ul>
- *
- * @param event the given event
- *	separately. (output)
- * @see BidiSegmentEvent
- */
-public void lineGetSegments(BidiSegmentEvent event);
-
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/Bullet.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/Bullet.java
deleted file mode 100644
index 28e54fc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/Bullet.java
+++ /dev/null
@@ -1,134 +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.custom;
-
-import org.eclipse.swt.*;
-
-/**
- * Instances of this class represent bullets in the <code>StyledText</code>.
- * <p>
- * The hashCode() method in this class uses the values of the public
- * fields to compute the hash value. When storing instances of the
- * class in hashed collections, do not modify these fields after the
- * object has been inserted.  
- * </p>
- * <p>
- * Application code does <em>not</em> need to explicitly release the
- * resources managed by each instance when those instances are no longer
- * required, and thus no <code>dispose()</code> method is provided.
- * </p>
- * 
- * @see StyledText#setLineBullet(int, int, Bullet)
- * 
- * @since 3.2
- */
-public class Bullet {
-	public int type;
-	public StyleRange style;
-	public String text;	
-	int[] linesIndices;
-	int count;
-
-/** 
- * Create a new bullet the specified style, the type is set to ST.BULLET_DOT. 
- * The style must have a glyph metrics set.
- *
- * @param style the style 
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when the style or the glyph metrics are null</li>
- * </ul> 
- */
-public Bullet(StyleRange style) {
-	this(ST.BULLET_DOT, style);
-}
-/** 
- * Create a new bullet the specified style and type. 
- * The style must have a glyph metrics set.
- *
- * @param style the style 
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when the style or the glyph metrics are null</li>
- * </ul> 
- */
-public Bullet(int type, StyleRange style) {
-	if (style == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (style.metrics == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	this.type = type;
-	this.style = style;
-}	
-void addIndices (int startLine, int lineCount) {
-	if (linesIndices == null) {
-		linesIndices = new int[lineCount];
-		count = lineCount;
-		for (int i = 0; i < lineCount; i++) linesIndices[i] = startLine + i;
-	} else {
-		int modifyStart = 0;
-		while (modifyStart < count) {
-			if (startLine <= linesIndices[modifyStart]) break;
-			modifyStart++;
-		}
-		int modifyEnd = modifyStart;
-		while (modifyEnd < count) {
-			if (startLine + lineCount <= linesIndices[modifyEnd]) break;
-			modifyEnd++;
-		}
-		int newSize = modifyStart + lineCount + count - modifyEnd;
-		if (newSize > linesIndices.length) {
-			int[] newLinesIndices = new int[newSize];
-			System.arraycopy(linesIndices, 0, newLinesIndices, 0, count);
-			linesIndices = newLinesIndices;
-		}
-		System.arraycopy(linesIndices, modifyEnd, linesIndices, modifyStart + lineCount, count - modifyEnd);
-		for (int i = 0; i < lineCount; i++) linesIndices[modifyStart + i] = startLine + i;
-		count = newSize;
-	}
-}
-int indexOf (int lineIndex) {
-	for (int i = 0; i < count; i++) {
-		if (linesIndices[i] == lineIndex) return i;
-	}
-	return -1;
-}
-public int hashCode() {
-	return style.hashCode() ^ type;
-}
-int[] removeIndices (int startLine, int replaceLineCount, int newLineCount, boolean update) {
-	if (count == 0) return null;
-	if (startLine > linesIndices[count - 1]) return null;
-	int endLine = startLine + replaceLineCount;
-	int delta = newLineCount - replaceLineCount;
-	for (int i = 0; i < count; i++) {
-		int index = linesIndices[i];
-		if (startLine <= index) {
-			int j = i;
-			while (j < count) {
-				if (linesIndices[j] >= endLine) break;
-				j++;
-			}
-			if (update) {
-				for (int k = j; k < count; k++) linesIndices[k] += delta;
-			}
-			int[] redrawLines = new int[count - j];
-			System.arraycopy(linesIndices, j, redrawLines, 0, count - j);
-			System.arraycopy(linesIndices, j, linesIndices, i, count - j);
-			count -= (j - i);
-			return redrawLines;
-		}
-	}
-	for (int i = 0; i < count; i++) linesIndices[i] += delta;
-	return null;
-}
-int size() {
-	return count;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BusyIndicator.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BusyIndicator.java
deleted file mode 100755
index a5ade39..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/BusyIndicator.java
+++ /dev/null
@@ -1,79 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Support for showing a Busy Cursor during a long running process.
- */
-public class BusyIndicator {
-
-	static int nextBusyId = 1;
-	static final String BUSYID_NAME = "SWT BusyIndicator"; //$NON-NLS-1$
-	static final String BUSY_CURSOR = "SWT BusyIndicator Cursor"; //$NON-NLS-1$
-
-/**
- * Runs the given <code>Runnable</code> while providing
- * busy feedback using this busy indicator.
- * 
- * @param display the display on which the busy feedback should be
- *        displayed.  If the display is null, the Display for the current
- *        thread will be used.  If there is no Display for the current thread,
- *        the runnable code will be executed and no busy feedback will be displayed.
- * @param runnable the runnable for which busy feedback is to be shown.
- *        Must not be null.
- * 
-* @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the runnable is null</li>
- * </ul>
- */
-
-public static void showWhile(Display display, Runnable runnable) {
-	if (runnable == null)
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			runnable.run();
-			return;
-		}
-	}
-	
-	Integer busyId = new Integer(nextBusyId);
-	nextBusyId++;
-	Cursor cursor = display.getSystemCursor(SWT.CURSOR_WAIT);
-	Shell[] shells = display.getShells();
-	for (int i = 0; i < shells.length; i++) {
-		Integer id = (Integer)shells[i].getData(BUSYID_NAME);
-		if (id == null) {
-			shells[i].setCursor(cursor);
-			shells[i].setData(BUSYID_NAME, busyId);
-		}
-	}
-		
-	try {
-		runnable.run();
-	} finally {
-		shells = display.getShells();
-		for (int i = 0; i < shells.length; i++) {
-			Integer id = (Integer)shells[i].getData(BUSYID_NAME);
-			if (id == busyId) {
-				shells[i].setCursor(null);
-				shells[i].setData(BUSYID_NAME, null);
-			}
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBanner.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBanner.java
deleted file mode 100644
index 622448f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBanner.java
+++ /dev/null
@@ -1,539 +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.custom;
-
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.*;
-
-/**
- * Instances of this class implement a Composite that lays out its
- * children and allows programmatic control of the layout. It draws
- * a separator between the left and right children which can be dragged
- * to resize the right control.
- * CBanner is used in the workbench to layout the toolbar area and
- * perspective switching toolbar.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>NONE</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(None)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-
-public class CBanner extends Composite {	
-
-	Control left;
-	Control right;
-	Control bottom;
-	
-	boolean simple = true;
-	
-	int[] curve;
-	int curveStart = 0;
-	Rectangle curveRect = new Rectangle(0, 0, 0, 0);
-	int curve_width = 5;
-	int curve_indent = -2;
-	
-	int rightWidth = SWT.DEFAULT;
-	int rightMinWidth = 0;
-	int rightMinHeight = 0;
-	Cursor resizeCursor;
-	boolean dragging = false;
-	int rightDragDisplacement = 0;
-	
-	static final int OFFSCREEN = -200;
-	static final int BORDER_BOTTOM = 2;
-	static final int BORDER_TOP = 3;
-	static final int BORDER_STRIPE = 1;
-	static final int CURVE_TAIL = 200;
-	static final int BEZIER_RIGHT = 30;
-	static final int BEZIER_LEFT = 30;
-	static final int MIN_LEFT = 10;
-	static int BORDER1 = SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW;
-	
-		
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- */
-public CBanner(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	super.setLayout(new CBannerLayout());
-	resizeCursor = new Cursor(getDisplay(), SWT.CURSOR_SIZEWE);
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.Dispose:
-					onDispose(); break;
-				case SWT.MouseDown:
-					onMouseDown (e.x, e.y); break;
-				case SWT.MouseExit:
-					onMouseExit(); break;
-				case SWT.MouseMove:
-					onMouseMove(e.x, e.y); break;
-				case SWT.MouseUp:
-					onMouseUp(); break;
-				case SWT.Paint:
-					onPaint(e.gc); break;
-				case SWT.Resize:
-					onResize(); break;
-			}
-		}
-	};
-	int[] events = new int[] {SWT.Dispose, SWT.MouseDown, SWT.MouseExit, SWT.MouseMove, SWT.MouseUp, SWT.Paint, SWT.Resize};
-	for (int i = 0; i < events.length; i++) {
-		addListener(events[i], listener);
-	}
-}
-static int[] bezier(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3, int count) {
-	// The parametric equations for a Bezier curve for x[t] and y[t] where  0 <= t <=1 are:
-	// x[t] = x0+3(x1-x0)t+3(x0+x2-2x1)t^2+(x3-x0+3x1-3x2)t^3
-	// y[t] = y0+3(y1-y0)t+3(y0+y2-2y1)t^2+(y3-y0+3y1-3y2)t^3
-	double a0 = x0;
-	double a1 = 3*(x1 - x0);
-	double a2 = 3*(x0 + x2 - 2*x1);
-	double a3 = x3 - x0 + 3*x1 - 3*x2;
-	double b0 = y0;
-	double b1 = 3*(y1 - y0);
-	double b2 = 3*(y0 + y2 - 2*y1);
-	double b3 = y3 - y0 + 3*y1 - 3*y2;
-
-	int[] polygon = new int[2*count + 2];
-	for (int i = 0; i <= count; i++) {
-		double t = (double)i / (double)count;
-		polygon[2*i] = (int)(a0 + a1*t + a2*t*t + a3*t*t*t);
-		polygon[2*i + 1] = (int)(b0 + b1*t + b2*t*t + b3*t*t*t);
-	}
-	return polygon;
-}
-static int checkStyle (int style) {
-	return SWT.NONE;
-}
-/**
-* Returns the Control that appears on the bottom side of the banner.
-* 
-* @return the control that appears on the bottom side of the banner or null
-* 
-* @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>
-* 
-* @since 3.0
-*/
-public Control getBottom() {
-	checkWidget();
-	return bottom;
-}
-public Rectangle getClientArea() {
-	return new Rectangle(0, 0, 0, 0);
-}
-
-/**
-* Returns the Control that appears on the left side of the banner.
-* 
-* @return the control that appears on the left side of the banner or null
-* 
-* @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>
-* 
-* @since 3.0
-*/
-public Control getLeft() {
-	checkWidget();
-	return left;
-}
-
-/**
-* Returns the Control that appears on the right side of the banner.
-* 
-* @return the control that appears on the right side of the banner or null
-* 
-* @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>
-* 
-* @since 3.0
-*/
-public Control getRight() {
-	checkWidget();
-	return right;
-}
-/**
- * Returns the minimum size of the control that appears on the right of the banner.
- * 
- * @return the minimum size of the control that appears on the right of the banner
- * 
- * @since 3.1
- */
-public Point getRightMinimumSize() {
-	checkWidget();
-	return new Point(rightMinWidth, rightMinHeight);
-}
-/**
- * Returns the width of the control that appears on the right of the banner.
- * 
- * @return the width of the control that appears on the right of the banner
- * 
- * @since 3.0
- */
-public int getRightWidth() {
-	checkWidget();
-	if (right == null) return 0;
-	if (rightWidth == SWT.DEFAULT) {
-		Point size = right.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
-		return size.x;
-	}
-	return rightWidth;
-}
-/**
- * Returns <code>true</code> if the CBanner is rendered
- * with a simple, traditional shape.
- * 
- * @return <code>true</code> if the Cbanner is rendered with a simple shape
- * 
- * @since 3.0
- */
-public boolean getSimple() {
-	checkWidget();
-	return simple;
-}
-void onDispose() {
-	if (resizeCursor != null) resizeCursor.dispose();
-	resizeCursor = null;
-	left = null;
-	right = null;
-	bottom = null;
-}
-void onMouseDown (int x, int y) {
-	if (curveRect.contains(x, y)) {
-		dragging = true;
-		rightDragDisplacement = curveStart - x + curve_width - curve_indent;
-	}
-}
-void onMouseExit() {
-	if (!dragging) setCursor(null);
-}
-void onMouseMove(int x, int y) {
-	if (dragging) {
-		Point size = getSize();
-		if (!(0 < x && x < size.x)) return;
-		rightWidth = Math.max(0, size.x - x - rightDragDisplacement);
-		if (rightMinWidth == SWT.DEFAULT) {
-			Point minSize = right.computeSize(rightMinWidth, rightMinHeight);
-			rightWidth = Math.max(minSize.x, rightWidth);
-		} else {
-			rightWidth = Math.max(rightMinWidth, rightWidth);
-		}
-		layout(false);
-		return;
-	}
-	if (curveRect.contains(x, y)) {
-		setCursor(resizeCursor); 
-	} else {
-		setCursor(null);
-	}
-}
-void onMouseUp () {
-	dragging = false;
-}
-void onPaint(GC gc) {
-//	 Useful for debugging paint problems
-//	{
-//	Point size = getSize();	
-//	gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_GREEN));
-//	gc.fillRectangle(-10, -10, size.x+20, size.y+20);
-//	}
-	if (left == null && right == null) return;
-	Point size = getSize();
-	Color border1 = getDisplay().getSystemColor(BORDER1);
-	if (bottom != null) {
-		int y = bottom.getBounds().y - BORDER_STRIPE - 1;
-		gc.setForeground(border1);
-		gc.drawLine(0, y, size.x, y);
-	}
-	if (left == null || right == null) return;
-	int[] line1 = new int[curve.length+6];
-	int index = 0;
-	int x = curveStart;
-	line1[index++] = x + 1;
-	line1[index++] = size.y - BORDER_STRIPE;
-	for (int i = 0; i < curve.length/2; i++) {
-		line1[index++]=x+curve[2*i];
-		line1[index++]=curve[2*i+1];
-	}
-	line1[index++] = x + curve_width;
-	line1[index++] = 0;
-	line1[index++] = size.x;
-	line1[index++] = 0;
-	
-	Color background = getBackground();
-		
-	if (getDisplay().getDepth() >= 15) {
-		// Anti- aliasing
-		int[] line2 = new int[line1.length];
-		index = 0;
-		for (int i = 0; i < line1.length/2; i++) { 
-			line2[index] = line1[index++]  - 1;
-			line2[index] = line1[index++];
-		}
-		int[] line3 = new int[line1.length];
-		index = 0;
-		for (int i = 0; i < line1.length/2; i++) {
-			line3[index] = line1[index++] + 1;
-			line3[index] = line1[index++];
-		}
-		RGB from = border1.getRGB();
-		RGB to = background.getRGB();
-		int red = from.red + 3*(to.red - from.red)/4;
-		int green = from.green + 3*(to.green - from.green)/4;
-		int blue = from.blue + 3*(to.blue - from.blue)/4;
-		Color color = new Color(getDisplay(), red, green, blue);
-		gc.setForeground(color);
-		gc.drawPolyline(line2);
-		gc.drawPolyline(line3);
-		color.dispose();
-		
-		// draw tail fading to background
-		int x1 = Math.max(0, curveStart - CURVE_TAIL);
-		gc.setForeground(background);
-		gc.setBackground(border1);
-		gc.fillGradientRectangle(x1, size.y - BORDER_STRIPE, curveStart-x1+1, 1, false);
-	} else {
-		// draw solid tail
-		int x1 = Math.max(0, curveStart - CURVE_TAIL);
-		gc.setForeground(border1);
-		gc.drawLine(x1, size.y - BORDER_STRIPE, curveStart+1, size.y - BORDER_STRIPE);
-	}
-	
-	// draw border
-	gc.setForeground(border1);
-	gc.drawPolyline(line1);
-}
-
-void onResize() {
-	updateCurve(getSize().y);
-}
-/**
-* Set the control that appears on the bottom side of the banner.
-* The bottom control is optional.  Setting the bottom control to null will remove it from 
-* the banner - however, the creator of the control must dispose of the control.
-* 
-* @param control the control to be displayed on the bottom or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the bottom control was not created as a child of the receiver</li>
-* </ul>
-* 
-* @since 3.0
-*/
-public void setBottom(Control control) {
-	checkWidget();
-	if (control != null && control.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (bottom != null && !bottom.isDisposed()) {
-		Point size = bottom.getSize();
-		bottom.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	bottom = control;
-	layout(false);
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-
-/**
-* Set the control that appears on the left side of the banner.
-* The left control is optional.  Setting the left control to null will remove it from 
-* the banner - however, the creator of the control must dispose of the control.
-* 
-* @param control the control to be displayed on the left or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the left control was not created as a child of the receiver</li>
-* </ul>
-* 
-* @since 3.0
-*/
-public void setLeft(Control control) {
-	checkWidget();
-	if (control != null && control.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (left != null && !left.isDisposed()) {
-		Point size = left.getSize();
-		left.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	left = control;
-	layout(false);
-}
-/**
-* Set the control that appears on the right side of the banner.
-* The right control is optional.  Setting the right control to null will remove it from 
-* the banner - however, the creator of the control must dispose of the control.
-* 
-* @param control the control to be displayed on the right or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the right control was not created as a child of the receiver</li>
-* </ul>
-* 
-* @since 3.0
-*/
-public void setRight(Control control) {
-	checkWidget();
-	if (control != null && control.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (right != null && !right.isDisposed()) {
-		Point size = right.getSize();
-		right.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	right = control;
-	layout(false);
-}
-/**
- * Set the minimum height of the control that appears on the right side of the banner.
- * 
- * @param size the minimum size of the control on the right
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the size is null or the values of size are less than SWT.DEFAULT</li>
- * </ul>
- * 
- * @since 3.1
- */
-public void setRightMinimumSize(Point size) {
-	checkWidget();
-	if (size == null || size.x < SWT.DEFAULT || size.y < SWT.DEFAULT) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	rightMinWidth = size.x;
-	rightMinHeight = size.y;
-	layout(false);
-}
-/**
- * Set the width of the control that appears on the right side of the banner.
- * 
- * @param width the width of the control on the right
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if width is less than SWT.DEFAULT</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void setRightWidth(int width) {
-	checkWidget();
-	if (width < SWT.DEFAULT) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	rightWidth = width;
-	layout(false);
-}
-/**
- * Sets the shape that the CBanner will use to render itself.  
- * 
- * @param simple <code>true</code> if the CBanner should render itself in a simple, traditional style
- * 
- * @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>
- *
- * @since 3.0
- */
-public void setSimple(boolean simple) {
-	checkWidget();
-	if (this.simple != simple) {
-		this.simple = simple;
-		if (simple) {
-			curve_width = 5;
-			curve_indent = -2;
-		} else {
-			curve_width = 50;
-			curve_indent = 5;
-		}
-		updateCurve(getSize().y);
-		layout(false);
-		redraw();
-	}
-}
-void updateCurve(int height) {
-	int h = height - BORDER_STRIPE;
-	if (simple) {
-		curve = new int[] {0,h, 1,h, 2,h-1, 3,h-2,
-			                       3,2, 4,1, 5,0,};
-	} else {
-		curve = bezier(0, h+1, BEZIER_LEFT, h+1,
-				             curve_width-BEZIER_RIGHT, 0, curve_width, 0,
-		                     curve_width);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBannerLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBannerLayout.java
deleted file mode 100644
index 2b0b5f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CBannerLayout.java
+++ /dev/null
@@ -1,188 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for CBanner
- * 
- * @see CBanner
- */
-class CBannerLayout extends Layout {
-
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	CBanner banner = (CBanner)composite;
-	Control left = banner.left;
-	Control right = banner.right;
-	Control bottom = banner.bottom;
-	boolean showCurve = left != null && right != null;
-	int height = hHint;
-	int width = wHint;
-	
-	// Calculate component sizes
-	Point bottomSize = new Point(0, 0);
-	if (bottom != null) {
-		int trim = computeTrim(bottom);
-		int w = wHint == SWT.DEFAULT ? SWT.DEFAULT : Math.max(0, width - trim);
-		bottomSize = computeChildSize(bottom, w, SWT.DEFAULT, flushCache);
-	}
-	Point rightSize = new Point(0, 0);
-	if (right != null) {
-		int trim = computeTrim(right);
-		int w = SWT.DEFAULT;
-		if (banner.rightWidth != SWT.DEFAULT) {
-			w = banner.rightWidth - trim;
-			if (left != null) {
-				w = Math.min(w, width - banner.curve_width + 2* banner.curve_indent - CBanner.MIN_LEFT - trim);
-			}
-			w = Math.max(0, w);
-		}
-		rightSize = computeChildSize(right, w, SWT.DEFAULT, flushCache);
-		if (wHint != SWT.DEFAULT) {
-			width -= rightSize.x + banner.curve_width - 2* banner.curve_indent;
-		}
-	}
-	Point leftSize = new Point(0, 0);
-	if (left != null) {
-		int trim = computeTrim(left);
-		int w = wHint == SWT.DEFAULT ? SWT.DEFAULT : Math.max(0, width - trim);
-		leftSize = computeChildSize(left, w, SWT.DEFAULT, flushCache);
-	}
-	
-	// Add up sizes
-	width = leftSize.x + rightSize.x;
-	height = bottomSize.y;
-	if (bottom != null && (left != null || right != null)) {
-		height += CBanner.BORDER_STRIPE + 2;
-	}
-	if (left != null) {
-		if (right == null) {
-			height += leftSize.y;
-		} else {
-			height += Math.max(leftSize.y, banner.rightMinHeight == SWT.DEFAULT ? rightSize.y : banner.rightMinHeight);
-		}
-	} else {
-		height += rightSize.y;
-	}
-	if (showCurve) {
-		width += banner.curve_width - 2*banner.curve_indent;
-		height +=  CBanner.BORDER_TOP + CBanner.BORDER_BOTTOM + 2*CBanner.BORDER_STRIPE;
-	}
-	
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	
-	return new Point(width, height);
-}
-Point computeChildSize(Control control, int wHint, int hHint, boolean flushCache) {
-	Object data = control.getLayoutData();
-	if (data == null || !(data instanceof CLayoutData)) {
-		data = new CLayoutData();
-		control.setLayoutData(data);
-	}
-	return ((CLayoutData)data).computeSize(control, wHint, hHint, flushCache);
-}
-int computeTrim(Control c) {
-	if (c instanceof Scrollable) {
-		Rectangle rect = ((Scrollable) c).computeTrim (0, 0, 0, 0);
-		return rect.width;
-	}
-	return c.getBorderWidth () * 2;
-}
-protected boolean flushCache(Control control) {
-	Object data = control.getLayoutData();
-	if (data != null && data instanceof CLayoutData) ((CLayoutData)data).flushCache();
-	return true;
-}
-protected void layout(Composite composite, boolean flushCache) {
-	CBanner banner = (CBanner)composite;
-	Control left = banner.left;
-	Control right = banner.right;
-	Control bottom = banner.bottom;
-	
-	Point size = banner.getSize();
-	boolean showCurve = left != null && right != null;
-	int width = size.x - 2*banner.getBorderWidth();
-	int height = size.y - 2*banner.getBorderWidth();
-	
-	Point bottomSize = new Point(0, 0);
-	if (bottom != null) {
-		int trim = computeTrim(bottom);
-		int w = Math.max(0, width - trim);
-		bottomSize = computeChildSize(bottom, w, SWT.DEFAULT, flushCache);
-		height -= bottomSize.y + CBanner.BORDER_STRIPE + 2;
-	}
-	if (showCurve) height -=  CBanner.BORDER_TOP + CBanner.BORDER_BOTTOM + 2*CBanner.BORDER_STRIPE;
-	height = Math.max(0, height);
-	Point rightSize = new Point(0,0);
-	if (right != null) {
-		int trim = computeTrim(right);
-		int w = SWT.DEFAULT;
-		if (banner.rightWidth != SWT.DEFAULT) {
-			w = banner.rightWidth - trim;
-			if (left != null) {
-				w = Math.min(w, width - banner.curve_width + 2* banner.curve_indent - CBanner.MIN_LEFT - trim);
-			}
-			w = Math.max(0, w);
-		}
-		rightSize = computeChildSize(right, w, SWT.DEFAULT, flushCache);
-		width = width - (rightSize.x - banner.curve_indent + banner.curve_width - banner.curve_indent); 
-	}
-	Point leftSize = new Point(0, 0);
-	if (left != null) {
-		int trim = computeTrim(left);
-		int w = Math.max(0, width - trim);
-		leftSize = computeChildSize(left, w, SWT.DEFAULT, flushCache);
-	}
-
-	int x = 0;
-	int y = 0;
-	int oldStart = banner.curveStart;
-	Rectangle leftRect = null;
-	Rectangle rightRect = null;
-	Rectangle bottomRect = null;
-	if (bottom != null) {
-		bottomRect = new Rectangle(x, y+size.y-bottomSize.y, bottomSize.x, bottomSize.y);
-	}
-	if (showCurve) y += CBanner.BORDER_TOP + CBanner.BORDER_STRIPE;
-	if(left != null) {
-		leftRect = new Rectangle(x, y, leftSize.x, leftSize.y);
-		banner.curveStart = x + leftSize.x - banner.curve_indent;
-		x += leftSize.x - banner.curve_indent + banner.curve_width - banner.curve_indent;
-	}
-	if (right != null) {
-		if (left != null) {
-			rightSize.y = Math.max(leftSize.y, banner.rightMinHeight == SWT.DEFAULT ? rightSize.y : banner.rightMinHeight);
-		}
-		rightRect = new Rectangle(x, y, rightSize.x, rightSize.y);
-	}
-	if (banner.curveStart < oldStart) {
-		banner.redraw(banner.curveStart - CBanner.CURVE_TAIL, 0, oldStart + banner.curve_width - banner.curveStart + CBanner.CURVE_TAIL + 5, size.y, false);
-	}
-	if (banner.curveStart > oldStart) {
-		banner.redraw(oldStart - CBanner.CURVE_TAIL, 0, banner.curveStart + banner.curve_width - oldStart + CBanner.CURVE_TAIL + 5, size.y, false);
-	}
-	/*
-	 * The paint events must be flushed in order to make the curve draw smoothly
-	 * while the user drags the divider.
-	 * On Windows, it is necessary to flush the paints before the children are 
-	 * resized because otherwise the children (particularly toolbars) will flash.
-	 */
-	banner.update();
-	banner.curveRect = new Rectangle(banner.curveStart, 0, banner.curve_width, size.y);
-	if (bottomRect != null) bottom.setBounds(bottomRect);
-	if (rightRect != null) right.setBounds(rightRect);
-	if (leftRect != null) left.setBounds(leftRect);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java
deleted file mode 100755
index ec7b446..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CCombo.java
+++ /dev/null
@@ -1,1461 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.accessibility.*;
-
-/**
- * The CCombo class represents a selectable user interface object
- * that combines a text field and a list and issues notification
- * when an item is selected from the list.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to add children to it, or set a layout on it.
- * </p>
- * <dl>
- * <dt><b>Styles:</b>
- * <dd>BORDER, READ_ONLY, FLAT</dd>
- * <dt><b>Events:</b>
- * <dd>Selection</dd>
- * </dl>
- */
-public final class CCombo extends Composite {
-
-	Text text;
-	List list;
-	int visibleItemCount = 5;
-	Shell popup;
-	Button arrow;
-	boolean hasFocus;
-	Listener listener, filter;
-	Color foreground, background;
-	Font font;
-	
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#BORDER
- * @see SWT#READ_ONLY
- * @see SWT#FLAT
- * @see Widget#getStyle()
- */
-public CCombo (Composite parent, int style) {
-	super (parent, style = checkStyle (style));
-	
-	int textStyle = SWT.SINGLE;
-	if ((style & SWT.READ_ONLY) != 0) textStyle |= SWT.READ_ONLY;
-	if ((style & SWT.FLAT) != 0) textStyle |= SWT.FLAT;
-	text = new Text (this, textStyle);
-	int arrowStyle = SWT.ARROW | SWT.DOWN;
-	if ((style & SWT.FLAT) != 0) arrowStyle |= SWT.FLAT;
-	arrow = new Button (this, arrowStyle);
-
-	listener = new Listener () {
-		public void handleEvent (Event event) {
-			if (popup == event.widget) {
-				popupEvent (event);
-				return;
-			}
-			if (text == event.widget) {
-				textEvent (event);
-				return;
-			}
-			if (list == event.widget) {
-				listEvent (event);
-				return;
-			}
-			if (arrow == event.widget) {
-				arrowEvent (event);
-				return;
-			}
-			if (CCombo.this == event.widget) {
-				comboEvent (event);
-				return;
-			}
-			if (getShell () == event.widget) {
-				handleFocus (SWT.FocusOut);
-			}
-		}
-	};
-	filter = new Listener() {
-		public void handleEvent(Event event) {
-			Shell shell = ((Control)event.widget).getShell ();
-			if (shell == CCombo.this.getShell ()) {
-				handleFocus (SWT.FocusOut);
-			}
-		}
-	};
-	
-	int [] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
-	for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], listener);
-	
-	int [] textEvents = {SWT.KeyDown, SWT.KeyUp, SWT.MenuDetect, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.Traverse, SWT.FocusIn};
-	for (int i=0; i<textEvents.length; i++) text.addListener (textEvents [i], listener);
-	
-	int [] arrowEvents = {SWT.Selection, SWT.FocusIn};
-	for (int i=0; i<arrowEvents.length; i++) arrow.addListener (arrowEvents [i], listener);
-	
-	createPopup(null, -1);
-	initAccessible();
-}
-static int checkStyle (int style) {
-	int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-/**
- * Adds the argument to the end of the receiver's list.
- *
- * @param string the new item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- * </ul>
- * @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>
- *
- * @see #add(String,int)
- */
-public void add (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.add (string);
-}
-/**
- * Adds the argument to the receiver's list at the given
- * zero-relative index.
- * <p>
- * Note: To add an item at the end of the list, use the
- * result of calling <code>getItemCount()</code> as the
- * index or use <code>add(String)</code>.
- * </p>
- *
- * @param string the new item
- * @param index the index for the item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list (inclusive)</li>
- * </ul>
- * @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>
- *
- * @see #add(String)
- */
-public void add (String string, int index) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.add (string, index);
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when the receiver's text is modified, by sending
- * it one of the messages defined in the <code>ModifyListener</code>
- * interface.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see ModifyListener
- * @see #removeModifyListener
- */
-public void addModifyListener (ModifyListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Modify, typedListener);
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when the receiver's selection changes, by sending
- * it one of the messages defined in the <code>SelectionListener</code>
- * interface.
- * <p>
- * <code>widgetSelected</code> is called when the combo's list selection changes.
- * <code>widgetDefaultSelected</code> is typically called when ENTER is pressed the combo's text area.
- * </p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see #removeSelectionListener
- * @see SelectionEvent
- */
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Selection,typedListener);
-	addListener (SWT.DefaultSelection,typedListener);
-}
-void arrowEvent (Event event) {
-	switch (event.type) {
-		case SWT.FocusIn: {
-			handleFocus (SWT.FocusIn);
-			break;
-		}
-		case SWT.Selection: {
-			dropDown (!isDropped ());
-			break;
-		}
-	}
-}
-/**
- * Sets the selection in the receiver's text field to an empty
- * selection starting just before the first character. If the
- * text field is editable, this has the effect of placing the
- * i-beam at the start of the text.
- * <p>
- * Note: To clear the selected items in the receiver's list, 
- * use <code>deselectAll()</code>.
- * </p>
- *
- * @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>
- *
- * @see #deselectAll
- */
-public void clearSelection () {
-	checkWidget ();
-	text.clearSelection ();
-	list.deselectAll ();
-}
-void comboEvent (Event event) {
-	switch (event.type) {
-		case SWT.Dispose:
-			if (popup != null && !popup.isDisposed ()) {
-				list.removeListener (SWT.Dispose, listener);
-				popup.dispose ();
-			}
-			Shell shell = getShell ();
-			shell.removeListener (SWT.Deactivate, listener);
-			Display display = getDisplay ();
-			display.removeFilter (SWT.FocusIn, filter);
-			popup = null;  
-			text = null;  
-			list = null;  
-			arrow = null;
-			break;
-		case SWT.Move:
-			dropDown (false);
-			break;
-		case SWT.Resize:
-			internalLayout (false);
-			break;
-	}
-}
-
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	checkWidget ();
-	int width = 0, height = 0;
-	String[] items = list.getItems ();
-	int textWidth = 0;
-	GC gc = new GC (text);
-	int spacer = gc.stringExtent (" ").x; //$NON-NLS-1$
-	for (int i = 0; i < items.length; i++) {
-		textWidth = Math.max (gc.stringExtent (items[i]).x, textWidth);
-	}
-	gc.dispose();
-	Point textSize = text.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-	Point arrowSize = arrow.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-	Point listSize = list.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-	int borderWidth = getBorderWidth ();
-	
-	height = Math.max (textSize.y, arrowSize.y);
-	width = Math.max (textWidth + 2*spacer + arrowSize.x + 2*borderWidth, listSize.x);
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	return new Point (width + 2*borderWidth, height + 2*borderWidth);
-}
-void createPopup(String[] items, int selectionIndex) {		
-		// create shell and list
-		popup = new Shell (getShell (), SWT.NO_TRIM | SWT.ON_TOP);
-		int style = getStyle ();
-		int listStyle = SWT.SINGLE | SWT.V_SCROLL;
-		if ((style & SWT.FLAT) != 0) listStyle |= SWT.FLAT;
-		if ((style & SWT.RIGHT_TO_LEFT) != 0) listStyle |= SWT.RIGHT_TO_LEFT;
-		if ((style & SWT.LEFT_TO_RIGHT) != 0) listStyle |= SWT.LEFT_TO_RIGHT;
-		list = new List (popup, listStyle);
-		if (font != null) list.setFont (font);
-		if (foreground != null) list.setForeground (foreground);
-		if (background != null) list.setBackground (background);
-		
-		int [] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
-		for (int i=0; i<popupEvents.length; i++) popup.addListener (popupEvents [i], listener);
-		int [] listEvents = {SWT.MouseUp, SWT.Selection, SWT.Traverse, SWT.KeyDown, SWT.KeyUp, SWT.FocusIn, SWT.Dispose};
-		for (int i=0; i<listEvents.length; i++) list.addListener (listEvents [i], listener);
-		
-		if (items != null) list.setItems (items);
-		if (selectionIndex != -1) list.setSelection (selectionIndex);
-}
-/**
- * Deselects the item at the given zero-relative index in the receiver's 
- * list.  If the item at the index was already deselected, it remains
- * deselected. Indices that are out of range are ignored.
- *
- * @param index the index of the item to deselect
- *
- * @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 deselect (int index) {
-	checkWidget ();
-	list.deselect (index);
-}
-/**
- * Deselects all selected items in the receiver's list.
- * <p>
- * Note: To clear the selection in the receiver's text field,
- * use <code>clearSelection()</code>.
- * </p>
- *
- * @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>
- *
- * @see #clearSelection
- */
-public void deselectAll () {
-	checkWidget ();
-	list.deselectAll ();
-}
-void dropDown (boolean drop) {
-	if (drop == isDropped ()) return;
-	if (!drop) {
-		popup.setVisible (false);
-		if (!isDisposed ()&& arrow.isFocusControl()) {
-			text.setFocus();
-		}
-		return;
-	}
-
-	if (getShell() != popup.getParent ()) {
-		String[] items = list.getItems ();
-		int selectionIndex = list.getSelectionIndex ();
-		list.removeListener (SWT.Dispose, listener);
-		popup.dispose();
-		popup = null;
-		list = null;
-		createPopup (items, selectionIndex);
-	}
-	
-	Point size = getSize ();
-	int itemCount = list.getItemCount ();
-	itemCount = (itemCount == 0) ? visibleItemCount : Math.min(visibleItemCount, itemCount);
-	int itemHeight = list.getItemHeight () * itemCount;
-	Point listSize = list.computeSize (SWT.DEFAULT, itemHeight, false);
-	list.setBounds (1, 1, Math.max (size.x - 2, listSize.x), listSize.y);
-	
-	int index = list.getSelectionIndex ();
-	if (index != -1) list.setTopIndex (index);
-	Display display = getDisplay ();
-	Rectangle listRect = list.getBounds ();
-	Rectangle parentRect = display.map (getParent (), null, getBounds ());
-	Point comboSize = getSize ();
-	Rectangle displayRect = getMonitor ().getClientArea ();
-	int width = Math.max (comboSize.x, listRect.width + 2);
-	int height = listRect.height + 2;
-	int x = parentRect.x;
-	int y = parentRect.y + comboSize.y;
-	if (y + height > displayRect.y + displayRect.height) y = parentRect.y - height;
-	if (x + width > displayRect.x + displayRect.width) x = displayRect.x + displayRect.width - listRect.width;
-	popup.setBounds (x, y, width, height);
-	popup.setVisible (true);
-	list.setFocus ();
-}
-/*
- * Return the lowercase of the first non-'&' character following
- * an '&' character in the given string. If there are no '&'
- * characters in the given string, return '\0'.
- */
-char _findMnemonic (String string) {
-	if (string == null) return '\0';
-	int index = 0;
-	int length = string.length ();
-	do {
-		while (index < length && string.charAt (index) != '&') index++;
-		if (++index >= length) return '\0';
-		if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-		index++;
-	} while (index < length);
- 	return '\0';
-}
-/* 
- * Return the Label immediately preceding the receiver in the z-order, 
- * or null if none. 
- */
-Label getAssociatedLabel () {
-	Control[] siblings = getParent ().getChildren ();
-	for (int i = 0; i < siblings.length; i++) {
-		if (siblings [i] == this) {
-			if (i > 0 && siblings [i-1] instanceof Label) {
-				return (Label) siblings [i-1];
-			}
-		}
-	}
-	return null;
-}
-public Control [] getChildren () {
-	checkWidget();
-	return new Control [0];
-}
-/**
- * Gets the editable state.
- *
- * @return whether or not the receiver is editable
- * 
- * @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>
- * 
- * @since 3.0
- */
-public boolean getEditable () {
-	checkWidget ();
-	return text.getEditable();
-}
-/**
- * Returns the item at the given, zero-relative index in the
- * receiver's list. Throws an exception if the index is out
- * of range.
- *
- * @param index the index of the item to return
- * @return the item at the given index
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- * </ul>
- * @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 String getItem (int index) {
-	checkWidget();
-	return list.getItem (index);
-}
-/**
- * Returns the number of items contained in the receiver's list.
- *
- * @return the number of items
- *
- * @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 int getItemCount () {
-	checkWidget ();
-	return list.getItemCount ();
-}
-/**
- * Returns the height of the area which would be used to
- * display <em>one</em> of the items in the receiver's list.
- *
- * @return the height of one item
- *
- * @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 int getItemHeight () {
-	checkWidget ();
-	return list.getItemHeight ();
-}
-/**
- * Returns an array of <code>String</code>s which are the items
- * in the receiver's list. 
- * <p>
- * Note: This is not the actual structure used by the receiver
- * to maintain its list of items, so modifying the array will
- * not affect the receiver. 
- * </p>
- *
- * @return the items in the receiver's list
- *
- * @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 String [] getItems () {
-	checkWidget ();
-	return list.getItems ();
-}
-public Menu getMenu() {
-	return text.getMenu();
-}
-/**
- * Returns a <code>Point</code> whose x coordinate is the start
- * of the selection in the receiver's text field, and whose y
- * coordinate is the end of the selection. The returned values
- * are zero-relative. An "empty" selection as indicated by
- * the the x and y coordinates having the same value.
- *
- * @return a point representing the selection start and end
- *
- * @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 Point getSelection () {
-	checkWidget ();
-	return text.getSelection ();
-}
-/**
- * Returns the zero-relative index of the item which is currently
- * selected in the receiver's list, or -1 if no item is selected.
- *
- * @return the index of the selected item
- *
- * @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 int getSelectionIndex () {
-	checkWidget ();
-	return list.getSelectionIndex ();
-}
-public int getStyle () {
-	int style = super.getStyle ();
-	style &= ~SWT.READ_ONLY;
-	if (!text.getEditable()) style |= SWT.READ_ONLY; 
-	return style;
-}
-/**
- * Returns a string containing a copy of the contents of the
- * receiver's text field.
- *
- * @return the receiver's text
- *
- * @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 String getText () {
-	checkWidget ();
-	return text.getText ();
-}
-/**
- * Returns the height of the receivers's text field.
- *
- * @return the text height
- *
- * @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 int getTextHeight () {
-	checkWidget ();
-	return text.getLineHeight ();
-}
-/**
- * Returns the maximum number of characters that the receiver's
- * text field is capable of holding. If this has not been changed
- * by <code>setTextLimit()</code>, it will be the constant
- * <code>Combo.LIMIT</code>.
- * 
- * @return the text limit
- * 
- * @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 int getTextLimit () {
-	checkWidget ();
-	return text.getTextLimit ();
-}
-/**
- * Gets the number of items that are visible in the drop
- * down portion of the receiver's list.
- *
- * @return the number of items that are visible
- *
- * @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>
- * 
- * @since 3.0
- */
-public int getVisibleItemCount () {
-	checkWidget ();
-	return visibleItemCount;
-}
-void handleFocus (int type) {
-	if (isDisposed ()) return;
-	switch (type) {
-		case SWT.FocusIn: {
-			if (hasFocus) return;
-			if (getEditable ()) text.selectAll ();
-			hasFocus = true;
-			Shell shell = getShell ();
-			shell.removeListener (SWT.Deactivate, listener);
-			shell.addListener (SWT.Deactivate, listener);
-			Display display = getDisplay ();
-			display.removeFilter (SWT.FocusIn, filter);
-			display.addFilter (SWT.FocusIn, filter);
-			Event e = new Event ();
-			notifyListeners (SWT.FocusIn, e);
-			break;
-		}
-		case SWT.FocusOut: {
-			if (!hasFocus) return;
-			Control focusControl = getDisplay ().getFocusControl ();
-			if (focusControl == arrow || focusControl == list || focusControl == text) return;
-			hasFocus = false;
-			Shell shell = getShell ();
-			shell.removeListener(SWT.Deactivate, listener);
-			Display display = getDisplay ();
-			display.removeFilter (SWT.FocusIn, filter);
-			Event e = new Event ();
-			notifyListeners (SWT.FocusOut, e);
-			break;
-		}
-	}
-}
-/**
- * Searches the receiver's list starting at the first item
- * (index 0) until an item is found that is equal to the 
- * argument, and returns the index of that item. If no item
- * is found, returns -1.
- *
- * @param string the search item
- * @return the index of the item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- * </ul>
- * @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 int indexOf (String string) {
-	checkWidget ();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	return list.indexOf (string);
-}
-/**
- * Searches the receiver's list starting at the given, 
- * zero-relative index until an item is found that is equal
- * to the argument, and returns the index of that item. If
- * no item is found or the starting index is out of range,
- * returns -1.
- *
- * @param string the search item
- * @param start the zero-relative index at which to begin the search
- * @return the index of the item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- * </ul>
- * @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 int indexOf (String string, int start) {
-	checkWidget ();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	return list.indexOf (string, start);
-}
-
-void initAccessible() {
-	AccessibleAdapter accessibleAdapter = new AccessibleAdapter () {
-		public void getName (AccessibleEvent e) {
-			String name = null;
-			Label label = getAssociatedLabel ();
-			if (label != null) {
-				name = stripMnemonic (label.getText());
-			}
-			e.result = name;
-		}
-		public void getKeyboardShortcut(AccessibleEvent e) {
-			String shortcut = null;
-			Label label = getAssociatedLabel ();
-			if (label != null) {
-				String text = label.getText ();
-				if (text != null) {
-					char mnemonic = _findMnemonic (text);
-					if (mnemonic != '\0') {
-						shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-					}
-				}
-			}
-			e.result = shortcut;
-		}
-		public void getHelp (AccessibleEvent e) {
-			e.result = getToolTipText ();
-		}
-	};
-	getAccessible ().addAccessibleListener (accessibleAdapter);
-	text.getAccessible ().addAccessibleListener (accessibleAdapter);
-	list.getAccessible ().addAccessibleListener (accessibleAdapter);
-	
-	arrow.getAccessible ().addAccessibleListener (new AccessibleAdapter() {
-		public void getName (AccessibleEvent e) {
-			e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		public void getKeyboardShortcut (AccessibleEvent e) {
-			e.result = "Alt+Down Arrow"; //$NON-NLS-1$
-		}
-		public void getHelp (AccessibleEvent e) {
-			e.result = getToolTipText ();
-		}
-	});
-
-	getAccessible().addAccessibleTextListener (new AccessibleTextAdapter() {
-		public void getCaretOffset (AccessibleTextEvent e) {
-			e.offset = text.getCaretPosition ();
-		}
-		public void getSelectionRange(AccessibleTextEvent e) {
-			Point sel = text.getSelection();
-			e.offset = sel.x;
-			e.length = sel.y - sel.x;
-		}
-	});
-	
-	getAccessible().addAccessibleControlListener (new AccessibleControlAdapter() {
-		public void getChildAtPoint (AccessibleControlEvent e) {
-			Point testPoint = toControl (e.x, e.y);
-			if (getBounds ().contains (testPoint)) {
-				e.childID = ACC.CHILDID_SELF;
-			}
-		}
-		
-		public void getLocation (AccessibleControlEvent e) {
-			Rectangle location = getBounds ();
-			Point pt = toDisplay (location.x, location.y);
-			e.x = pt.x;
-			e.y = pt.y;
-			e.width = location.width;
-			e.height = location.height;
-		}
-		
-		public void getChildCount (AccessibleControlEvent e) {
-			e.detail = 0;
-		}
-		
-		public void getRole (AccessibleControlEvent e) {
-			e.detail = ACC.ROLE_COMBOBOX;
-		}
-		
-		public void getState (AccessibleControlEvent e) {
-			e.detail = ACC.STATE_NORMAL;
-		}
-
-		public void getValue (AccessibleControlEvent e) {
-			e.result = getText ();
-		}
-	});
-
-	text.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter () {
-		public void getRole (AccessibleControlEvent e) {
-			e.detail = text.getEditable () ? ACC.ROLE_TEXT : ACC.ROLE_LABEL;
-		}
-	});
-
-	arrow.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter() {
-		public void getDefaultAction (AccessibleControlEvent e) {
-			e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	});
-}
-boolean isDropped () {
-	return popup.getVisible ();
-}
-public boolean isFocusControl () {
-	checkWidget();
-	if (text.isFocusControl () || arrow.isFocusControl () || list.isFocusControl () || popup.isFocusControl ()) {
-		return true;
-	} 
-	return super.isFocusControl ();
-}
-void internalLayout (boolean changed) {
-	if (isDropped ()) dropDown (false);
-	Rectangle rect = getClientArea ();
-	int width = rect.width;
-	int height = rect.height;
-	Point arrowSize = arrow.computeSize (SWT.DEFAULT, height, changed);
-	text.setBounds (0, 0, width - arrowSize.x, height);
-	arrow.setBounds (width - arrowSize.x, 0, arrowSize.x, arrowSize.y);
-}
-void listEvent (Event event) {
-	switch (event.type) {
-		case SWT.Dispose:
-			if (getShell () != popup.getParent ()) {
-				String[] items = list.getItems ();
-				int selectionIndex = list.getSelectionIndex ();
-				popup = null;
-				list = null;
-				createPopup (items, selectionIndex);
-			}
-			break;
-		case SWT.FocusIn: {
-			handleFocus (SWT.FocusIn);
-			break;
-		}
-		case SWT.MouseUp: {
-			if (event.button != 1) return;
-			dropDown (false);
-			break;
-		}
-		case SWT.Selection: {
-			int index = list.getSelectionIndex ();
-			if (index == -1) return;
-			text.setText (list.getItem (index));
-			text.selectAll ();
-			list.setSelection (index);
-			Event e = new Event ();
-			e.time = event.time;
-			e.stateMask = event.stateMask;
-			e.doit = event.doit;
-			notifyListeners (SWT.Selection, e);
-			event.doit = e.doit;
-			break;
-		}
-		case SWT.Traverse: {
-			switch (event.detail) {
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_ESCAPE:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-					event.doit = false;
-					break;
-			}
-			Event e = new Event ();
-			e.time = event.time;
-			e.detail = event.detail;
-			e.doit = event.doit;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			notifyListeners (SWT.Traverse, e);
-			event.doit = e.doit;
-			event.detail = e.detail;
-			break;
-		}
-		case SWT.KeyUp: {		
-			Event e = new Event ();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners (SWT.KeyUp, e);
-			break;
-		}
-		case SWT.KeyDown: {
-			if (event.character == SWT.ESC) { 
-				// Escape key cancels popup list
-				dropDown (false);
-			}
-			if ((event.stateMask & SWT.ALT) != 0 && (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN)) {
-				dropDown (false);
-			}
-			if (event.character == SWT.CR) {
-				// Enter causes default selection
-				dropDown (false);
-				Event e = new Event ();
-				e.time = event.time;
-				e.stateMask = event.stateMask;
-				notifyListeners (SWT.DefaultSelection, e);
-			}
-			// At this point the widget may have been disposed.
-			// If so, do not continue.
-			if (isDisposed ()) break;
-			Event e = new Event();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners(SWT.KeyDown, e);
-			break;
-			
-		}
-	}
-}
-
-void popupEvent(Event event) {
-	switch (event.type) {
-		case SWT.Paint:
-			// draw black rectangle around list
-			Rectangle listRect = list.getBounds();
-			Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
-			event.gc.setForeground(black);
-			event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
-			break;
-		case SWT.Close:
-			event.doit = false;
-			dropDown (false);
-			break;
-		case SWT.Deactivate:
-			dropDown (false);
-			break;
-	}
-}
-public void redraw () {
-	super.redraw();
-	text.redraw();
-	arrow.redraw();
-	if (popup.isVisible()) list.redraw();
-}
-public void redraw (int x, int y, int width, int height, boolean all) {
-	super.redraw(x, y, width, height, true);
-}
-
-/**
- * Removes the item from the receiver's list at the given
- * zero-relative index.
- *
- * @param index the index for the item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- * </ul>
- * @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 remove (int index) {
-	checkWidget();
-	list.remove (index);
-}
-/**
- * Removes the items from the receiver's list which are
- * between the given zero-relative start and end 
- * indices (inclusive).
- *
- * @param start the start of the range
- * @param end the end of the range
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if either the start or end are not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- * </ul>
- * @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 remove (int start, int end) {
-	checkWidget();
-	list.remove (start, end);
-}
-/**
- * Searches the receiver's list starting at the first item
- * until an item is found that is equal to the argument, 
- * and removes that item from the list.
- *
- * @param string the item to remove
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the string is not found in the list</li>
- * </ul>
- * @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 remove (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	list.remove (string);
-}
-/**
- * Removes all of the items from the receiver's list and clear the
- * contents of receiver's text field.
- * <p>
- * @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 removeAll () {
-	checkWidget();
-	text.setText (""); //$NON-NLS-1$
-	list.removeAll ();
-}
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when the receiver's text is modified.
- *
- * @param listener the listener which should no longer be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see ModifyListener
- * @see #addModifyListener
- */
-public void removeModifyListener (ModifyListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Modify, listener);	
-}
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when the receiver's selection changes.
- *
- * @param listener the listener which should no longer be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see #addSelectionListener
- */
-public void removeSelectionListener (SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection,listener);	
-}
-/**
- * Selects the item at the given zero-relative index in the receiver's 
- * list.  If the item at the index was already selected, it remains
- * selected. Indices that are out of range are ignored.
- *
- * @param index the index of the item to select
- *
- * @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 select (int index) {
-	checkWidget();
-	if (index == -1) {
-		list.deselectAll ();
-		text.setText (""); //$NON-NLS-1$
-		return;
-	}
-	if (0 <= index && index < list.getItemCount()) {
-		if (index != getSelectionIndex()) {
-			text.setText (list.getItem (index));
-			text.selectAll ();
-			list.select (index);
-			list.showSelection ();
-		}
-	}
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	background = color;
-	if (text != null) text.setBackground(color);
-	if (list != null) list.setBackground(color);
-	if (arrow != null) arrow.setBackground(color);
-}
-/**
- * Sets the editable state.
- *
- * @param editable the new editable state
- *
- * @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>
- * 
- * @since 3.0
- */
-public void setEditable (boolean editable) {
-	checkWidget ();
-	text.setEditable(editable);
-}
-public void setEnabled (boolean enabled) {
-	super.setEnabled(enabled);
-	if (popup != null) popup.setVisible (false);
-	if (text != null) text.setEnabled(enabled);
-	if (arrow != null) arrow.setEnabled(enabled);
-}
-public boolean setFocus () {
-	checkWidget();
-	return text.setFocus ();
-}
-public void setFont (Font font) {
-	super.setFont (font);
-	this.font = font;
-	text.setFont (font);
-	list.setFont (font);
-	internalLayout (true);
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	foreground = color;
-	if (text != null) text.setForeground(color);
-	if (list != null) list.setForeground(color);
-	if (arrow != null) arrow.setForeground(color);
-}
-/**
- * Sets the text of the item in the receiver's list at the given
- * zero-relative index to the string argument. This is equivalent
- * to <code>remove</code>'ing the old item at the index, and then
- * <code>add</code>'ing the new item at that index.
- *
- * @param index the index for the item
- * @param string the new text for the item
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- * </ul>
- * @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 setItem (int index, String string) {
-	checkWidget();
-	list.setItem (index, string);
-}
-/**
- * Sets the receiver's list to be the given array of items.
- *
- * @param items the array of items
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the items array is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if an item in the items array is null</li>
- * </ul>
- * @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 setItems (String [] items) {
-	checkWidget ();
-	list.setItems (items);
-	if (!text.getEditable ()) text.setText (""); //$NON-NLS-1$
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget ();
-	return;
-}
-public void setMenu(Menu menu) {
-	text.setMenu(menu);
-}
-/**
- * Sets the selection in the receiver's text field to the
- * range specified by the argument whose x coordinate is the
- * start of the selection and whose y coordinate is the end
- * of the selection. 
- *
- * @param selection a point representing the new selection start and end
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the point is null</li>
- * </ul>
- * @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 setSelection (Point selection) {
-	checkWidget();
-	if (selection == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	text.setSelection (selection.x, selection.y);
-}
-
-/**
- * Sets the contents of the receiver's text field to the
- * given string.
- * <p>
- * Note: The text field in a <code>Combo</code> is typically
- * only capable of displaying a single line of text. Thus,
- * setting the text to a string containing line breaks or
- * other special characters will probably cause it to 
- * display incorrectly.
- * </p>
- *
- * @param string the new text
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
- * </ul>
- * @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 setText (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int index = list.indexOf (string);
-	if (index == -1) {
-		list.deselectAll ();
-		text.setText (string);
-		return;
-	}
-	text.setText (string);
-	text.selectAll ();
-	list.setSelection (index);
-	list.showSelection ();
-}
-/**
- * Sets the maximum number of characters that the receiver's
- * text field is capable of holding to be the argument.
- *
- * @param limit new text limit
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_CANNOT_BE_ZERO - if the limit is zero</li>
- * </ul>
- * @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 setTextLimit (int limit) {
-	checkWidget();
-	text.setTextLimit (limit);
-}
-
-public void setToolTipText (String string) {
-	checkWidget();
-	super.setToolTipText(string);
-	arrow.setToolTipText (string);
-	text.setToolTipText (string);		
-}
-
-public void setVisible (boolean visible) {
-	super.setVisible(visible);
-	if (!visible) popup.setVisible(false);
-}
-/**
- * Sets the number of items that are visible in the drop
- * down portion of the receiver's list.
- *
- * @param count the new number of items to be visible
- *
- * @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>
- * 
- * @since 3.0
- */
-public void setVisibleItemCount (int count) {
-	checkWidget ();
-	if (count < 0) return;
-	visibleItemCount = count;
-}
-String stripMnemonic (String string) {
-	int index = 0;
-	int length = string.length ();
-	do {
-		while ((index < length) && (string.charAt (index) != '&')) index++;
-		if (++index >= length) return string;
-		if (string.charAt (index) != '&') {
-			return string.substring(0, index-1) + string.substring(index, length);
-		}
-		index++;
-	} while (index < length);
- 	return string;
-}
-void textEvent (Event event) {
-	switch (event.type) {
-		case SWT.FocusIn: {
-			handleFocus (SWT.FocusIn);
-			break;
-		}
-		case SWT.KeyDown: {
-			if (event.character == SWT.CR) {
-				dropDown (false);
-				Event e = new Event ();
-				e.time = event.time;
-				e.stateMask = event.stateMask;
-				notifyListeners (SWT.DefaultSelection, e);
-			}
-			//At this point the widget may have been disposed.
-			// If so, do not continue.
-			if (isDisposed ()) break;
-			
-			if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
-				event.doit = false;
-				if ((event.stateMask & SWT.ALT) != 0) {
-					boolean dropped = isDropped ();
-					text.selectAll ();
-					if (!dropped) setFocus ();
-					dropDown (!dropped);
-					break;
-				}
-
-				int oldIndex = getSelectionIndex ();
-				if (event.keyCode == SWT.ARROW_UP) {
-					select (Math.max (oldIndex - 1, 0));
-				} else {
-					select (Math.min (oldIndex + 1, getItemCount () - 1));
-				}
-				if (oldIndex != getSelectionIndex ()) {
-					Event e = new Event();
-					e.time = event.time;
-					e.stateMask = event.stateMask;
-					notifyListeners (SWT.Selection, e);
-				}
-				//At this point the widget may have been disposed.
-				// If so, do not continue.
-				if (isDisposed ()) break;
-			}
-			
-			// Further work : Need to add support for incremental search in 
-			// pop up list as characters typed in text widget
-						
-			Event e = new Event ();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners (SWT.KeyDown, e);
-			break;
-		}
-		case SWT.KeyUp: {
-			Event e = new Event ();
-			e.time = event.time;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			e.stateMask = event.stateMask;
-			notifyListeners (SWT.KeyUp, e);
-			break;
-		}
-		case SWT.MenuDetect: {
-			Event e = new Event ();
-			e.time = event.time;
-			notifyListeners (SWT.MenuDetect, e);
-			break;
-		}
-		case SWT.Modify: {
-			list.deselectAll ();
-			Event e = new Event ();
-			e.time = event.time;
-			notifyListeners (SWT.Modify, e);
-			break;
-		}
-		case SWT.MouseDown: {
-			if (event.button != 1) return;
-			if (text.getEditable ()) return;
-			boolean dropped = isDropped ();
-			text.selectAll ();
-			if (!dropped) setFocus ();
-			dropDown (!dropped);
-			break;
-		}
-		case SWT.MouseUp: {
-			if (event.button != 1) return;
-			if (text.getEditable ()) return;
-			text.selectAll ();
-			break;
-		}
-		case SWT.Traverse: {		
-			switch (event.detail) {
-				case SWT.TRAVERSE_RETURN:
-				case SWT.TRAVERSE_ARROW_PREVIOUS:
-				case SWT.TRAVERSE_ARROW_NEXT:
-					// The enter causes default selection and
-					// the arrow keys are used to manipulate the list contents so
-					// do not use them for traversal.
-					event.doit = false;
-					break;
-			}
-			
-			Event e = new Event ();
-			e.time = event.time;
-			e.detail = event.detail;
-			e.doit = event.doit;
-			e.character = event.character;
-			e.keyCode = event.keyCode;
-			notifyListeners (SWT.Traverse, e);
-			event.doit = e.doit;
-			event.detail = e.detail;
-			break;
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLabel.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLabel.java
deleted file mode 100755
index 900d2b6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLabel.java
+++ /dev/null
@@ -1,793 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.accessibility.*;
-
-/**
- * A Label which supports aligned text and/or an image and different border styles.
- * <p>
- * If there is not enough space a CLabel uses the following strategy to fit the 
- * information into the available space:
- * <pre>
- * 		ignores the indent in left align mode
- * 		ignores the image and the gap
- * 		shortens the text by replacing the center portion of the label with an ellipsis
- * 		shortens the text by removing the center portion of the label
- * </pre>
- * <p>
- * <dl>
- * <dt><b>Styles:</b>
- * <dd>LEFT, RIGHT, CENTER, SHADOW_IN, SHADOW_OUT, SHADOW_NONE</dd>
- * <dt><b>Events:</b>
- * <dd></dd>
- * </dl>
- * 
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-public class CLabel extends Canvas {
-
-	/** Gap between icon and text */
-	private static final int GAP = 5;
-	/** Left and right margins */
-	private static final int INDENT = 3;
-	/** a string inserted in the middle of text that has been shortened */
-	private static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
-	/** the alignment. Either CENTER, RIGHT, LEFT. Default is LEFT*/
-	private int align = SWT.LEFT;
-	private int hIndent = INDENT;
-	private int vIndent = INDENT;
-	/** the current text */
-	private String text;
-	/** the current icon */
-	private Image image;
-	// The tooltip is used for two purposes - the application can set
-	// a tooltip or the tooltip can be used to display the full text when the
-	// the text has been truncated due to the label being too short.
-	// The appToolTip stores the tooltip set by the application.  Control.tooltiptext 
-	// contains whatever tooltip is currently being displayed.
-	private String appToolTipText;
-	
-	private Image backgroundImage;
-	private Color[] gradientColors;
-	private int[] gradientPercents;
-	private boolean gradientVertical;
-	private Color background;
-	
-	private static int DRAW_FLAGS = SWT.DRAW_MNEMONIC | SWT.DRAW_TAB | SWT.DRAW_TRANSPARENT | SWT.DRAW_DELIMITER;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#LEFT
- * @see SWT#RIGHT
- * @see SWT#CENTER
- * @see SWT#SHADOW_IN
- * @see SWT#SHADOW_OUT
- * @see SWT#SHADOW_NONE
- * @see #getStyle()
- */
-public CLabel(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	if ((style & (SWT.CENTER | SWT.RIGHT)) == 0) style |= SWT.LEFT;
-	if ((style & SWT.CENTER) != 0) align = SWT.CENTER;
-	if ((style & SWT.RIGHT) != 0)  align = SWT.RIGHT;
-	if ((style & SWT.LEFT) != 0)   align = SWT.LEFT;
-	
-	addPaintListener(new PaintListener(){
-		public void paintControl(PaintEvent event) {
-			onPaint(event);
-		}
-	});
-	
-	addDisposeListener(new DisposeListener(){
-		public void widgetDisposed(DisposeEvent event) {
-			onDispose(event);
-		}
-	});
-
-	addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent event) {
-			if (event.detail == SWT.TRAVERSE_MNEMONIC) {
-				onMnemonic(event);
-			}
-		}
-	});
-	
-	initAccessible();
-
-}
-/**
- * Check the style bits to ensure that no invalid styles are applied.
- */
-private static int checkStyle (int style) {
-	if ((style & SWT.BORDER) != 0) style |= SWT.SHADOW_IN;
-	int mask = SWT.SHADOW_IN | SWT.SHADOW_OUT | SWT.SHADOW_NONE | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	style = style & mask;
-	return style |= SWT.NO_FOCUS | SWT.DOUBLE_BUFFERED;
-}
-
-//protected void checkSubclass () {
-//	String name = getClass().getName ();
-//	String validName = CLabel.class.getName();
-//	if (!validName.equals(name)) {
-//		SWT.error (SWT.ERROR_INVALID_SUBCLASS);
-//	}
-//}
-
-public Point computeSize(int wHint, int hHint, boolean changed) {
-	checkWidget();
-	Point e = getTotalSize(image, text);
-	if (wHint == SWT.DEFAULT){
-		e.x += 2*hIndent;
-	} else {
-		e.x = wHint;
-	}
-	if (hHint == SWT.DEFAULT) {
-		e.y += 2*vIndent;
-	} else {
-		e.y = hHint;
-	}
-	return e;
-}
-/**
- * Draw a rectangle in the given colors.
- */
-private void drawBevelRect(GC gc, int x, int y, int w, int h, Color topleft, Color bottomright) {
-	gc.setForeground(bottomright);
-	gc.drawLine(x+w, y,   x+w, y+h);
-	gc.drawLine(x,   y+h, x+w, y+h);
-	
-	gc.setForeground(topleft);
-	gc.drawLine(x, y, x+w-1, y);
-	gc.drawLine(x, y, x,     y+h-1);
-}
-/*
- * Return the lowercase of the first non-'&' character following
- * an '&' character in the given string. If there are no '&'
- * characters in the given string, return '\0'.
- */
-char _findMnemonic (String string) {
-	if (string == null) return '\0';
-	int index = 0;
-	int length = string.length ();
-	do {
-		while (index < length && string.charAt (index) != '&') index++;
-		if (++index >= length) return '\0';
-		if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-		index++;
-	} while (index < length);
- 	return '\0';
-}
-/**
- * Returns the alignment.
- * The alignment style (LEFT, CENTER or RIGHT) is returned.
- * 
- * @return SWT.LEFT, SWT.RIGHT or SWT.CENTER
- */
-public int getAlignment() {
-	//checkWidget();
-	return align;
-}
-/**
- * Return the CLabel's image or <code>null</code>.
- * 
- * @return the image of the label or null
- */
-public Image getImage() {
-	//checkWidget();
-	return image;
-}
-/**
- * Compute the minimum size.
- */
-private Point getTotalSize(Image image, String text) {
-	Point size = new Point(0, 0);
-
-	if (image != null) {
-		Rectangle r = image.getBounds();
-		size.x += r.width;
-		size.y += r.height;
-	}
-		
-	GC gc = new GC(this);
-	if (text != null && text.length() > 0) {
-		Point e = gc.textExtent(text, DRAW_FLAGS);
-		size.x += e.x;
-		size.y = Math.max(size.y, e.y);
-		if (image != null) size.x += GAP;
-	} else {
-		size.y = Math.max(size.y, gc.getFontMetrics().getHeight());
-	}
-	gc.dispose();
-	
-	return size;
-}
-public int getStyle () {
-	int style = super.getStyle();
-	switch (align) {
-		case SWT.RIGHT: style |= SWT.RIGHT; break;
-		case SWT.CENTER: style |= SWT.CENTER; break;
-		case SWT.LEFT: style |= SWT.LEFT; break;
-	}
-	return style;
-}
-
-/**
- * Return the Label's text.
- * 
- * @return the text of the label or null
- */
-public String getText() {
-	//checkWidget();
-	return text;
-}
-public String getToolTipText () {
-	checkWidget();
-	return appToolTipText;
-}
-private void initAccessible() {
-	Accessible accessible = getAccessible();
-	accessible.addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			e.result = getText();
-		}
-		
-		public void getHelp(AccessibleEvent e) {
-			e.result = getToolTipText();
-		}
-		
-		public void getKeyboardShortcut(AccessibleEvent e) {
-			char mnemonic = _findMnemonic(CLabel.this.text);	
-			if (mnemonic != '\0') {
-				e.result = "Alt+"+mnemonic; //$NON-NLS-1$
-			}
-		}
-	});
-		
-	accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-		public void getChildAtPoint(AccessibleControlEvent e) {
-			e.childID = ACC.CHILDID_SELF;
-		}
-		
-		public void getLocation(AccessibleControlEvent e) {
-			Rectangle rect = getDisplay().map(getParent(), null, getBounds());
-			e.x = rect.x;
-			e.y = rect.y;
-			e.width = rect.width;
-			e.height = rect.height;
-		}
-		
-		public void getChildCount(AccessibleControlEvent e) {
-			e.detail = 0;
-		}
-		
-		public void getRole(AccessibleControlEvent e) {
-			e.detail = ACC.ROLE_LABEL;
-		}
-		
-		public void getState(AccessibleControlEvent e) {
-			e.detail = ACC.STATE_READONLY;
-		}
-	});
-}
-void onDispose(DisposeEvent event) {
-	gradientColors = null;
-	gradientPercents = null;
-	backgroundImage = null;
-	text = null;
-	image = null;
-	appToolTipText = null;
-}
-void onMnemonic(TraverseEvent event) {
-	char mnemonic = _findMnemonic(text);
-	if (mnemonic == '\0') return;
-	if (Character.toLowerCase(event.character) != mnemonic) return;
-	Composite control = this.getParent();
-	while (control != null) {
-		Control [] children = control.getChildren();
-		int index = 0;
-		while (index < children.length) {
-			if (children [index] == this) break;
-			index++;
-		}
-		index++;
-		if (index < children.length) {
-			if (children [index].setFocus ()) {
-				event.doit = true;
-				event.detail = SWT.TRAVERSE_NONE;
-			}
-		}
-		control = control.getParent();
-	}
-}
-
-void onPaint(PaintEvent event) {
-	Rectangle rect = getClientArea();
-	if (rect.width == 0 || rect.height == 0) return;
-	
-	boolean shortenText = false;
-	String t = text;
-	Image img = image;
-	int availableWidth = Math.max(0, rect.width - 2*hIndent);
-	Point extent = getTotalSize(img, t);
-	if (extent.x > availableWidth) {
-		img = null;
-		extent = getTotalSize(img, t);
-		if (extent.x > availableWidth) {
-			shortenText = true;
-		}
-	}
-	
-	GC gc = event.gc;
-	String[] lines = text == null ? null : splitString(text); 
-	
-	// shorten the text
-	if (shortenText) {
-		extent.x = 0;
-	    for(int i = 0; i < lines.length; i++) {
-	    	Point e = gc.textExtent(lines[i], DRAW_FLAGS);
-	    	if (e.x > availableWidth) {
-	    		lines[i] = shortenText(gc, lines[i], availableWidth);
-	    		extent.x = Math.max(extent.x, getTotalSize(null, lines[i]).x);
-	    	} else {
-	    		extent.x = Math.max(extent.x, e.x);
-	    	}
-	    }
-		if (appToolTipText == null) {
-			super.setToolTipText(text);
-		}
-	} else {
-		super.setToolTipText(appToolTipText);
-	}
-		
-	// determine horizontal position
-	int x = rect.x + hIndent;
-	if (align == SWT.CENTER) {
-		x = (rect.width - extent.x)/2;
-	}
-	if (align == SWT.RIGHT) {
-		x = rect.width - hIndent - extent.x;
-	}
-	
-	// draw a background image behind the text
-	try {
-		if (backgroundImage != null) {
-			// draw a background image behind the text
-			Rectangle imageRect = backgroundImage.getBounds();
-			// tile image to fill space
-			gc.setBackground(getBackground());
-			gc.fillRectangle(rect);
-			int xPos = 0;
-			while (xPos < rect.width) {
-				int yPos = 0;
-				while (yPos < rect.height) {
-					gc.drawImage(backgroundImage, xPos, yPos);
-					yPos += imageRect.height;
-				}
-				xPos += imageRect.width;
-			}
-		} else if (gradientColors != null) {
-			// draw a gradient behind the text
-			final Color oldBackground = gc.getBackground();
-			if (gradientColors.length == 1) {
-				if (gradientColors[0] != null) gc.setBackground(gradientColors[0]);
-				gc.fillRectangle(0, 0, rect.width, rect.height);
-			} else {
-				final Color oldForeground = gc.getForeground();
-				Color lastColor = gradientColors[0];
-				if (lastColor == null) lastColor = oldBackground;
-				int pos = 0;
-				for (int i = 0; i < gradientPercents.length; ++i) {
-					gc.setForeground(lastColor);
-					lastColor = gradientColors[i + 1];
-					if (lastColor == null) lastColor = oldBackground;
-					gc.setBackground(lastColor);
-					if (gradientVertical) {
-						final int gradientHeight = (gradientPercents[i] * rect.height / 100) - pos;
-						gc.fillGradientRectangle(0, pos, rect.width, gradientHeight, true);
-						pos += gradientHeight;
-					} else {
-						final int gradientWidth = (gradientPercents[i] * rect.width / 100) - pos;
-						gc.fillGradientRectangle(pos, 0, gradientWidth, rect.height, false);
-						pos += gradientWidth;
-					}
-				}
-				if (gradientVertical && pos < rect.height) {
-					gc.setBackground(getBackground());
-					gc.fillRectangle(0, pos, rect.width, rect.height - pos);
-				}
-				if (!gradientVertical && pos < rect.width) {
-					gc.setBackground(getBackground());
-					gc.fillRectangle(pos, 0, rect.width - pos, rect.height);
-				}
-				gc.setForeground(oldForeground);
-			}
-			gc.setBackground(oldBackground);
-		} else {
-			if (background != null || (getStyle() & SWT.DOUBLE_BUFFERED) == 0) {
-				gc.setBackground(getBackground());
-				gc.fillRectangle(rect);
-			}
-		}
-	} catch (SWTException e) {
-		if ((getStyle() & SWT.DOUBLE_BUFFERED) == 0) {
-			gc.setBackground(getBackground());
-			gc.fillRectangle(rect);
-		}
-	}
-
-	// draw border
-	int style = getStyle();
-	if ((style & SWT.SHADOW_IN) != 0 || (style & SWT.SHADOW_OUT) != 0) {
-		paintBorder(gc, rect);
-	}
-
-	// draw the image
-	if (img != null) {
-		Rectangle imageRect = img.getBounds();
-		gc.drawImage(img, 0, 0, imageRect.width, imageRect.height, 
-		                x, (rect.height-imageRect.height)/2, imageRect.width, imageRect.height);
-		x +=  imageRect.width + GAP;
-		extent.x -= imageRect.width + GAP;
-	}
-	// draw the text
-	if (lines != null) {
-		int lineHeight = gc.getFontMetrics().getHeight();
-		int textHeight = lines.length * lineHeight;
-		int lineY = Math.max(vIndent, rect.y + (rect.height - textHeight) / 2);
-		gc.setForeground(getForeground());
-		for (int i = 0; i < lines.length; i++) {
-			int lineX = x;
-			if (lines.length > 1) {
-				if (align == SWT.CENTER) {
-					int lineWidth = gc.textExtent(lines[i], DRAW_FLAGS).x;
-					lineX = x + Math.max(0, (extent.x - lineWidth) / 2);
-				}
-				if (align == SWT.RIGHT) {
-					int lineWidth = gc.textExtent(lines[i], DRAW_FLAGS).x;
-					lineX = Math.max(x, rect.x + rect.width - hIndent - lineWidth);
-				}
-			}
-			gc.drawText(lines[i], lineX, lineY, DRAW_FLAGS);
-			lineY += lineHeight;
-		}
-	}
-}
-/**
- * Paint the Label's border.
- */
-private void paintBorder(GC gc, Rectangle r) {
-	Display disp= getDisplay();
-
-	Color c1 = null;
-	Color c2 = null;
-	
-	int style = getStyle();
-	if ((style & SWT.SHADOW_IN) != 0) {
-		c1 = disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		c2 = disp.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-	}
-	if ((style & SWT.SHADOW_OUT) != 0) {		
-		c1 = disp.getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-		c2 = disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-	}
-		
-	if (c1 != null && c2 != null) {
-		gc.setLineWidth(1);
-		drawBevelRect(gc, r.x, r.y, r.width-1, r.height-1, c1, c2);
-	}
-}
-/**
- * Set the alignment of the CLabel.
- * Use the values LEFT, CENTER and RIGHT to align image and text within the available space.
- * 
- * @param align the alignment style of LEFT, RIGHT or CENTER
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the value of align is not one of SWT.LEFT, SWT.RIGHT or SWT.CENTER</li>
- * </ul>
- */
-public void setAlignment(int align) {
-	checkWidget();
-	if (align != SWT.LEFT && align != SWT.RIGHT && align != SWT.CENTER) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.align != align) {
-		this.align = align;
-		redraw();
-	}
-}
-
-public void setBackground (Color color) {
-	super.setBackground (color);
-	// Are these settings the same as before?
-	if (backgroundImage == null && 
-		gradientColors == null && 
-		gradientPercents == null) {
-		if (color == null) {
-			if (background == null) return;
-		} else {
-			if (color.equals(background)) return;
-		}		
-	}
-	background = color;
-	backgroundImage = null;
-	gradientColors = null;
-	gradientPercents = null;
-	redraw ();
-}
-
-/**
- * Specify a gradient of colours to be drawn in the background of the CLabel.
- * <p>For example, to draw a gradient that varies from dark blue to blue and then to
- * white and stays white for the right half of the label, use the following call 
- * to setBackground:</p>
- * <pre>
- *	clabel.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		               new int[] {25, 50, 100});
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance from left to right;  The value <code>null</code> 
- *               clears the background gradient; the value <code>null</code> can be used 
- *               inside the array of Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change; the size of the percents 
- *                 array must be one less than the size of the colors array.
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the values of colors and percents are not consistent</li>
- * </ul>
- */
-public void setBackground(Color[] colors, int[] percents) {
-	setBackground(colors, percents, false);
-}
-/**
- * Specify a gradient of colours to be drawn in the background of the CLabel.
- * <p>For example, to draw a gradient that varies from dark blue to white in the vertical,
- * direction use the following call 
- * to setBackground:</p>
- * <pre>
- *	clabel.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		                 new int[] {100}, true);
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance from left/top to right/bottom;  The value <code>null</code> 
- *               clears the background gradient; the value <code>null</code> can be used 
- *               inside the array of Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width/height 
- *                 of the widget at which the color should change; the size of the percents 
- *                 array must be one less than the size of the colors array.
- * @param vertical indicate the direction of the gradient.  True is vertical and false is horizontal.
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the values of colors and percents are not consistent</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void setBackground(Color[] colors, int[] percents, boolean vertical) {	
-	checkWidget();
-	if (colors != null) {
-		if (percents == null || percents.length != colors.length - 1) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		if (getDisplay().getDepth() < 15) {
-			// Don't use gradients on low color displays
-			colors = new Color[] {colors[colors.length - 1]};
-			percents = new int[] { };
-		}
-		for (int i = 0; i < percents.length; i++) {
-			if (percents[i] < 0 || percents[i] > 100) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-			if (i > 0 && percents[i] < percents[i-1]) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-		}
-	}
-	
-	// Are these settings the same as before?
-	final Color background = getBackground();
-	if (backgroundImage == null) {
-		if ((gradientColors != null) && (colors != null) && 
-			(gradientColors.length == colors.length)) {
-			boolean same = false;
-			for (int i = 0; i < gradientColors.length; i++) {
-				same = (gradientColors[i] == colors[i]) ||
-					((gradientColors[i] == null) && (colors[i] == background)) ||
-					((gradientColors[i] == background) && (colors[i] == null));
-				if (!same) break;
-			}
-			if (same) {
-				for (int i = 0; i < gradientPercents.length; i++) {
-					same = gradientPercents[i] == percents[i];
-					if (!same) break;
-				}
-			}
-			if (same && this.gradientVertical == vertical) return;
-		}
-	} else {
-		backgroundImage = null;
-	}
-	// Store the new settings
-	if (colors == null) {
-		gradientColors = null;
-		gradientPercents = null;
-		gradientVertical = false;
-	} else {
-		gradientColors = new Color[colors.length];
-		for (int i = 0; i < colors.length; ++i)
-			gradientColors[i] = (colors[i] != null) ? colors[i] : background;
-		gradientPercents = new int[percents.length];
-		for (int i = 0; i < percents.length; ++i)
-			gradientPercents[i] = percents[i];
-		gradientVertical = vertical;
-	}
-	// Refresh with the new settings
-	redraw();
-}
-/**
- * Set the image to be drawn in the background of the label.
- * 
- * @param image the image to be drawn in the background
- * 
- * @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 setBackground(Image image) {
-	checkWidget();
-	if (image == backgroundImage) return;
-	if (image != null) {
-		gradientColors = null;
-		gradientPercents = null;
-	}
-	backgroundImage = image;
-	redraw();
-	
-}
-public void setFont(Font font) {
-	super.setFont(font);
-	redraw();
-}
-/**
- * Set the label's Image.
- * The value <code>null</code> clears it.
- * 
- * @param image the image to be displayed in the label or null
- * 
- * @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 setImage(Image image) {
-	checkWidget();
-	if (image != this.image) {
-		this.image = image;
-		redraw();
-	}
-}
-/**
- * Set the label's text.
- * The value <code>null</code> clears it.
- * 
- * @param text the text to be displayed in the label or null
- * 
- * @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 setText(String text) {
-	checkWidget();
-	if (text == null) text = ""; //$NON-NLS-1$
-	if (! text.equals(this.text)) {
-		this.text = text;
-		redraw();
-	}
-}
-public void setToolTipText (String string) {
-	super.setToolTipText (string);
-	appToolTipText = super.getToolTipText();
-}
-/**
- * Shorten the given text <code>t</code> so that its length doesn't exceed
- * the given width. The default implementation replaces characters in the
- * center of the original string with an ellipsis ("...").
- * Override if you need a different strategy.
- * 
- * @param gc the gc to use for text measurement
- * @param t the text to shorten
- * @param width the width to shorten the text to, in pixels
- * @return the shortened text
- */
-protected String shortenText(GC gc, String t, int width) {
-	if (t == null) return null;
-	int w = gc.textExtent(ELLIPSIS, DRAW_FLAGS).x;
-	int l = t.length();
-	int pivot = l/2;
-	int s = pivot;
-	int e = pivot+1;
-	while (s >= 0 && e < l) {
-		String s1 = t.substring(0, s);
-		String s2 = t.substring(e, l);
-		int l1 = gc.textExtent(s1, DRAW_FLAGS).x;
-		int l2 = gc.textExtent(s2, DRAW_FLAGS).x;
-		if (l1+w+l2 < width) {
-			t = s1 + ELLIPSIS + s2;
-			break;
-		}
-		s--;
-		e++;
-	}
-	return t;
-}
-
-private String[] splitString(String text) {
-    String[] lines = new String[1];
-    int start = 0, pos;
-    do {
-        pos = text.indexOf('\n', start);
-        if (pos == -1) {
-        	lines[lines.length - 1] = text.substring(start);
-        } else {
-            boolean crlf = (pos > 0) && (text.charAt(pos - 1) == '\r');
-            lines[lines.length - 1] = text.substring(start, pos - (crlf ? 1 : 0));
-            start = pos + 1;
-            String[] newLines = new String[lines.length+1];
-            System.arraycopy(lines, 0, newLines, 0, lines.length);
-       		lines = newLines;
-        }
-    } while (pos != -1);
-    return lines;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLayoutData.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLayoutData.java
deleted file mode 100644
index 7af979e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CLayoutData.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class CLayoutData {
-
-	int defaultWidth = -1, defaultHeight = -1;
-	int currentWhint, currentHhint, currentWidth = -1, currentHeight = -1;
-	
-Point computeSize (Control control, int wHint, int hHint, boolean flushCache) {
-	if (flushCache) flushCache();
-	if (wHint == SWT.DEFAULT && hHint == SWT.DEFAULT) {
-		if (defaultWidth == -1 || defaultHeight == -1) {
-			Point size = control.computeSize (wHint, hHint, flushCache);
-			defaultWidth = size.x;
-			defaultHeight = size.y;
-		}
-		return new Point(defaultWidth, defaultHeight);
-	}
-	if (currentWidth == -1 || currentHeight == -1 || wHint != currentWhint || hHint != currentHhint) {
-		Point size = control.computeSize (wHint, hHint, flushCache);
-		currentWhint = wHint;
-		currentHhint = hHint;
-		currentWidth = size.x;
-		currentHeight = size.y;
-	}
-	return new Point(currentWidth, currentHeight);
-}
-void flushCache () {
-	defaultWidth = defaultHeight = -1;
-	currentWidth = currentHeight = -1;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
deleted file mode 100755
index 514f57a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder.java
+++ /dev/null
@@ -1,3792 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * 
- * Instances of this class implement the notebook user interface
- * metaphor.  It allows the user to select a notebook page from
- * set of pages.
- * <p>
- * The item children that may be added to instances of this class
- * must be of type <code>CTabItem</code>.
- * <code>Control</code> children are created and then set into a
- * tab item using <code>CTabItem#setControl</code>.
- * </p><p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>CLOSE, TOP, BOTTOM, FLAT, BORDER, SINGLE, MULTI</dd>
- * <dt><b>Events:</b></dt>
- * <dd>Selection</dd>
- * <dd>"CTabFolder2"</dd>
- * </dl>
- * <p>
- * Note: Only one of the styles TOP and BOTTOM 
- * may be specified.
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
- 
-public class CTabFolder extends Composite {
-	
-	/**
-	 * marginWidth specifies the number of pixels of horizontal margin
-	 * that will be placed along the left and right edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginWidth = 0;
-	/**
-	 * marginHeight specifies the number of pixels of vertical margin
-	 * that will be placed along the top and bottom edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginHeight = 0;
-	
- 	/**
-	 * A multiple of the tab height that specifies the minimum width to which a tab 
-	 * will be compressed before scrolling arrows are used to navigate the tabs.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should not be capitalized.
-	 * 
-	 * @deprecated This field is no longer used.  See setMinimumCharacters(int)
-	 */
-	public int MIN_TAB_WIDTH = 4;
-	
-	/**
-	 * Color of innermost line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated drop shadow border is no longer drawn in 3.0
-	 */
-	public static RGB borderInsideRGB  = new RGB (132, 130, 132);
-	/**
-	 * Color of middle line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated drop shadow border is no longer drawn in 3.0
-	 */
-	public static RGB borderMiddleRGB  = new RGB (143, 141, 138);
-	/**
-	 * Color of outermost line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated drop shadow border is no longer drawn in 3.0
-	 */
-	public static RGB borderOutsideRGB = new RGB (171, 168, 165); 
-
-	/* sizing, positioning */
-	int xClient, yClient;
-	boolean onBottom = false;
-	boolean single = false;
-	boolean simple = true;
-	int fixedTabHeight = SWT.DEFAULT;
-	int tabHeight;
-	int minChars = 20;
-	
-	/* item management */
-	CTabItem items[] = new CTabItem[0];
-	int firstIndex = -1; // index of the left most visible tab.
-	int selectedIndex = -1;
-	int[] priority = new int[0];
-	boolean mru = false;
-	Listener listener;
-	
-	/* External Listener management */
-	CTabFolder2Listener[] folderListeners = new CTabFolder2Listener[0];
-	// support for deprecated listener mechanism
-	CTabFolderListener[] tabListeners = new CTabFolderListener[0]; 
-	
-	/* Selected item appearance */
-	Image selectionBgImage;
-	Color[] selectionGradientColors;
-	int[] selectionGradientPercents;
-	boolean selectionGradientVertical;
-	Color selectionForeground;
-	Color selectionBackground;
-	
-	/* Unselected item appearance */
-	Image bgImage;
-	Color[] gradientColors;
-	int[] gradientPercents;
-	boolean gradientVertical;
-	boolean showUnselectedImage = true;
-	
-	static Color borderColor;
-	
-	// close, min/max and chevron buttons
-	boolean showClose = false;
-	boolean showUnselectedClose = true;
-	
-	Rectangle chevronRect = new Rectangle(0, 0, 0, 0);
-	int chevronImageState = NORMAL;
-	boolean showChevron = false;
-	Menu showMenu;
-	
-	boolean showMin = false;
-	Rectangle minRect = new Rectangle(0, 0, 0, 0);
-	boolean minimized = false;
-	int minImageState = NORMAL;
-	
-	boolean showMax = false;
-	Rectangle maxRect = new Rectangle(0, 0, 0, 0);
-	boolean maximized = false;
-	int maxImageState = NORMAL;
-	
-	Control topRight;
-	Rectangle topRightRect = new Rectangle(0, 0, 0, 0);
-	int topRightAlignment = SWT.RIGHT;
-	
-	// borders and shapes
-	int borderLeft = 0;
-	int borderRight = 0;
-	int borderTop = 0;
-	int borderBottom = 0;
-	
-	int highlight_margin = 0;
-	int highlight_header = 0;
-	
-	int[] curve;
-	int curveWidth = 0;
-	int curveIndent = 0;
-	
-	// when disposing CTabFolder, don't try to layout the items or 
-	// change the selection as each child is destroyed.
-	boolean inDispose = false;
-
-	// keep track of size changes in order to redraw only affected area
-	// on Resize
-	Point oldSize;
-	Font oldFont;
-	
-	// internal constants
-	static final int DEFAULT_WIDTH = 64;
-	static final int DEFAULT_HEIGHT = 64;
-	static final int BUTTON_SIZE = 18;
-
-	static final int[] TOP_LEFT_CORNER = new int[] {0,6, 1,5, 1,4, 4,1, 5,1, 6,0};
-	static final int[] TOP_RIGHT_CORNER = new int[] {-6,0, -5,1, -4,1, -1,4, -1,5, 0,6};
-	static final int[] BOTTOM_LEFT_CORNER = new int[] {0,-6, 1,-5, 1,-4, 4,-1, 5,-1, 6,0};
-	static final int[] BOTTOM_RIGHT_CORNER = new int[] {-6,0, -5,-1, -4,-1, -1,-4, -1,-5, 0,-6};
-
-	static final int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,2, 1,1, 2,0};
-	static final int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {-2,0, -1,1, 0,2};
-	static final int[] SIMPLE_BOTTOM_LEFT_CORNER = new int[] {0,-2, 1,-1, 2,0};
-	static final int[] SIMPLE_BOTTOM_RIGHT_CORNER = new int[] {-2,0, -1,-1, 0,-2};
-
-	static final int SELECTION_FOREGROUND = SWT.COLOR_LIST_FOREGROUND;
-	static final int SELECTION_BACKGROUND = SWT.COLOR_LIST_BACKGROUND;
-	static final int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
-	static final int FOREGROUND = SWT.COLOR_WIDGET_FOREGROUND;
-	static final int BACKGROUND = SWT.COLOR_WIDGET_BACKGROUND;
-	static final int BUTTON_BORDER = SWT.COLOR_WIDGET_DARK_SHADOW;
-	static final int BUTTON_FILL = SWT.COLOR_LIST_BACKGROUND;
-	
-	static final int NONE = 0;
-	static final int NORMAL = 1;
-	static final int HOT = 2;
-	static final int SELECTED = 3;
-	static final RGB CLOSE_FILL = new RGB(252, 160, 160);
-	
-	static final int CHEVRON_CHILD_ID = 0;
-	static final int MINIMIZE_CHILD_ID = 1;
-	static final int MAXIMIZE_CHILD_ID = 2;
-	static final int EXTRA_CHILD_ID_COUNT = 3;
-	
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#TOP
- * @see SWT#BOTTOM
- * @see SWT#FLAT
- * @see SWT#BORDER
- * @see SWT#SINGLE
- * @see SWT#MULTI
- * @see #getStyle()
- */
-public CTabFolder(Composite parent, int style) {
-	super(parent, checkStyle (parent, style));
-	super.setLayout(new CTabFolderLayout());
-	int style2 = super.getStyle();
-	oldFont = getFont();
-	onBottom = (style2 & SWT.BOTTOM) != 0;
-	showClose = (style2 & SWT.CLOSE) != 0;
-//	showMin = (style2 & SWT.MIN) != 0; - conflicts with SWT.TOP
-//	showMax = (style2 & SWT.MAX) != 0; - conflicts with SWT.BOTTOM
-	single = (style2 & SWT.SINGLE) != 0;
-	borderLeft = borderRight = (style & SWT.BORDER) != 0 ? 1 : 0;
-	borderTop = onBottom ? borderLeft : 0;
-	borderBottom = onBottom ? 0 : borderLeft;
-	highlight_header = (style & SWT.FLAT) != 0 ? 1 : 3;
-	highlight_margin = (style & SWT.FLAT) != 0 ? 0 : 2;
-	//set up default colors
-	Display display = getDisplay();
-	selectionForeground = display.getSystemColor(SELECTION_FOREGROUND);
-	selectionBackground = display.getSystemColor(SELECTION_BACKGROUND);
-	borderColor = display.getSystemColor(BORDER1_COLOR);
-	updateTabHeight(false);
-	
-	initAccessible();
-	
-	// Add all listeners
-	listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose:          onDispose(event); break;
-				case SWT.DragDetect:       onDragDetect(event); break;
-				case SWT.FocusIn:          onFocus(event);	break;
-				case SWT.FocusOut:         onFocus(event);	break;
-				case SWT.KeyDown:          onKeyDown(event); break;
-				case SWT.MouseDoubleClick: onMouseDoubleClick(event); break;
-				case SWT.MouseDown:        onMouse(event);	break;
-				case SWT.MouseEnter:       onMouse(event);	break;
-				case SWT.MouseExit:        onMouse(event);	break;
-				case SWT.MouseMove:        onMouse(event); break;
-				case SWT.MouseUp:          onMouse(event); break;
-				case SWT.Paint:            onPaint(event);	break;
-				case SWT.Resize:           onResize();	break;
-				case SWT.Traverse:         onTraverse(event); break;
-			}
-		}
-	};
-
-	int[] folderEvents = new int[]{
-		SWT.Dispose,
-		SWT.DragDetect,
-		SWT.FocusIn, 
-		SWT.FocusOut, 
-		SWT.KeyDown,
-		SWT.MouseDoubleClick, 
-		SWT.MouseDown,
-		SWT.MouseEnter, 
-		SWT.MouseExit, 
-		SWT.MouseMove,
-		SWT.MouseUp,
-		SWT.Paint,
-		SWT.Resize,  
-		SWT.Traverse,
-	};
-	for (int i = 0; i < folderEvents.length; i++) {
-		addListener(folderEvents[i], listener);
-	}
-}
-static int checkStyle (Composite parent, int style) {
-	int mask = SWT.CLOSE | SWT.TOP | SWT.BOTTOM | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT | SWT.SINGLE | SWT.MULTI;
-	style = style & mask;
-	// TOP and BOTTOM are mutually exlusive.
-	// TOP is the default
-	if ((style & SWT.TOP) != 0) style = style & ~SWT.BOTTOM;
-	// SINGLE and MULTI are mutually exlusive.
-	// MULTI is the default
-	if ((style & SWT.MULTI) != 0) style = style & ~SWT.SINGLE;
-	// reduce the flash by not redrawing the entire area on a Resize event
-	style |= SWT.NO_REDRAW_RESIZE;
-	//TEMPORARY CODE
-	/*
-	 * The default background on carbon and some GTK themes is not a solid color 
-	 * but a texture.  To show the correct default background, we must allow
-	 * the operating system to draw it and therefore, we can not use the 
-	 * NO_BACKGROUND style.  The NO_BACKGROUND style is not required on platforms
-	 * that use double buffering which is true in both of these cases.
-	 */
-	String platform = SWT.getPlatform();
-	if ("carbon".equals(platform) || "gtk".equals(platform)) return style; //$NON-NLS-1$ //$NON-NLS-2$
-	
-	//TEMPORARY CODE
-	/*
-	 * In Right To Left orientation on Windows, all GC calls that use a brush are drawing 
-	 * offset by one pixel.  This results in some parts of the CTabFolder not drawing correctly.
-	 * To alleviate some of the appearance problems, allow the OS to draw the background.
-	 * This does not draw correctly but the result is less obviously wrong.
-	 */
-	if ((style & SWT.RIGHT_TO_LEFT) != 0) return style;
-	if ((parent.getStyle() & SWT.MIRRORED) != 0 && (style & SWT.LEFT_TO_RIGHT) == 0) return style;
-	
-	return style | SWT.NO_BACKGROUND;
-}
-static void fillRegion(GC gc, Region region) {
-	// NOTE: region passed in to this function will be modified
-	Region clipping = new Region();
-	gc.getClipping(clipping);
-	region.intersect(clipping);
-	gc.setClipping(region);
-	gc.fillRectangle(region.getBounds());
-	gc.setClipping(clipping);
-	clipping.dispose();
-}
-/**
- * 
- * Adds the listener to the collection of listeners who will
- * be notified when a tab item is closed, minimized, maximized,
- * restored, or to show the list of items that are not 
- * currently visible.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @see CTabFolder2Listener
- * @see #removeCTabFolder2Listener(CTabFolder2Listener)
- * 
- * @since 3.0
- */
-public void addCTabFolder2Listener(CTabFolder2Listener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	// add to array
-	CTabFolder2Listener[] newListeners = new CTabFolder2Listener[folderListeners.length + 1];
-	System.arraycopy(folderListeners, 0, newListeners, 0, folderListeners.length);
-	folderListeners = newListeners;
-	folderListeners[folderListeners.length - 1] = listener;
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a tab item is closed.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @see CTabFolderListener
- * @see #removeCTabFolderListener(CTabFolderListener)
- * 
- * @deprecated use addCTabFolder2Listener(CTabFolder2Listener)
- */
-public void addCTabFolderListener(CTabFolderListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	// add to array
-	CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length + 1];
-	System.arraycopy(tabListeners, 0, newTabListeners, 0, tabListeners.length);
-	tabListeners = newTabListeners;
-	tabListeners[tabListeners.length - 1] = listener;
-	// display close button to be backwards compatible
-	if (!showClose) {
-		showClose = true;
-		updateItems();
-		redraw();
-	}
-}
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- */
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	TypedListener typedListener = new TypedListener(listener);
-	addListener(SWT.Selection, typedListener);
-	addListener(SWT.DefaultSelection, typedListener);
-}
-void antialias (int[] shape, RGB lineRGB, RGB innerRGB, RGB outerRGB, GC gc){
-	// Don't perform anti-aliasing on Mac because the platform
-	// already does it.  The simple style also does not require anti-aliasing.
-	if (simple || "carbon".equals(SWT.getPlatform())) return; //$NON-NLS-1$
-	// Don't perform anti-aliasing on low resolution displays
-	if (getDisplay().getDepth() < 15) return;
-	if (outerRGB != null) {
-		int index = 0;
-		boolean left = true;
-		int oldY = onBottom ? 0 : getSize().y;
-		int[] outer = new int[shape.length];
-		for (int i = 0; i < shape.length/2; i++) {
-			if (left && (index + 3 < shape.length)) {
-				left = onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
-				oldY = shape[index+1];
-			}
-			outer[index] = shape[index++] + (left ? -1 : +1);
-			outer[index] = shape[index++];
-		}
-		RGB from = lineRGB;
-		RGB to = outerRGB;
-		int red = from.red + 2*(to.red - from.red)/3;
-		int green = from.green + 2*(to.green - from.green)/3;
-		int blue = from.blue + 2*(to.blue - from.blue)/3;
-		Color color = new Color(getDisplay(), red, green, blue);
-		gc.setForeground(color);
-		gc.drawPolyline(outer);
-		color.dispose();
-	}
-	if (innerRGB != null) {
-		int[] inner = new int[shape.length];
-		int index = 0;
-		boolean left = true;
-		int oldY = onBottom ? 0 : getSize().y;
-		for (int i = 0; i < shape.length/2; i++) {
-			if (left && (index + 3 < shape.length)) {
-				left = onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
-				oldY = shape[index+1];
-			}
-			inner[index] = shape[index++] + (left ? +1 : -1);
-			inner[index] = shape[index++];
-		}
-		RGB from = lineRGB;
-		RGB to = innerRGB;
-		int red = from.red + 2*(to.red - from.red)/3;
-		int green = from.green + 2*(to.green - from.green)/3;
-		int blue = from.blue + 2*(to.blue - from.blue)/3;
-		Color color = new Color(getDisplay(), red, green, blue);
-		gc.setForeground(color);
-		gc.drawPolyline(inner);
-		color.dispose();
-	}
-}
-public Rectangle computeTrim (int x, int y, int width, int height) {
-	checkWidget();
-	int trimX = x - marginWidth - highlight_margin - borderLeft;
-	int trimWidth = width + borderLeft + borderRight + 2*marginWidth + 2*highlight_margin;
-	if (minimized) {
-		int trimY = onBottom ? y - borderTop : y - highlight_header - tabHeight - borderTop;
-		int trimHeight = borderTop + borderBottom + tabHeight + highlight_header;
-		return new Rectangle (trimX, trimY, trimWidth, trimHeight);
-	} else {
-		int trimY = onBottom ? y - marginHeight - highlight_margin - borderTop: y - marginHeight - highlight_header - tabHeight - borderTop;
-		int trimHeight = height + borderTop + borderBottom + 2*marginHeight + tabHeight + highlight_header + highlight_margin;
-		return new Rectangle (trimX, trimY, trimWidth, trimHeight);
-	}
-}
-void createItem (CTabItem item, int index) {
-	if (0 > index || index > getItemCount ())SWT.error (SWT.ERROR_INVALID_RANGE);
-	item.parent = this;
-	CTabItem[] newItems = new CTabItem [items.length + 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	newItems[index] = item;
-	System.arraycopy(items, index, newItems, index + 1, items.length - index);
-	items = newItems;
-	if (selectedIndex >= index) selectedIndex ++;	
-	int[] newPriority = new int[priority.length + 1];
-	int next = 0,  priorityIndex = priority.length;
-	for (int i = 0; i < priority.length; i++) {
-		if (!mru && priority[i] == index) {
-			priorityIndex = next++;
-		}
-		newPriority[next++] = priority[i] >= index ? priority[i] + 1 : priority[i];
-	}
-	newPriority[priorityIndex] = index;
-	priority = newPriority;
-	
-	if (items.length == 1) {
-		if (!updateTabHeight(false)) updateItems();
-		redraw();
-	} else {
-		updateItems();
-		redrawTabs();
-	}
-}
-void destroyItem (CTabItem item) {
-	if (inDispose) return;
-	int index = indexOf(item);
-	if (index == -1) return;
-	
-	if (items.length == 1) {
-		items = new CTabItem[0];
-		priority = new int[0];
-		firstIndex = -1;
-		selectedIndex = -1;
-		
-		Control control = item.getControl();
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}
-		setToolTipText(null);
-		setButtonBounds();
-		redraw();
-		return;
-	} 
-		
-	CTabItem[] newItems = new CTabItem [items.length - 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	System.arraycopy(items, index + 1, newItems, index, items.length - index - 1);
-	items = newItems;
-	
-	int[] newPriority = new int[priority.length - 1];
-	int next = 0;
-	for (int i = 0; i < priority.length; i++) {
-		if (priority [i] == index) continue; 
-		newPriority[next++] = priority[i] > index ? priority[i] - 1 : priority [i];
-	}
-	priority = newPriority;
-	
-	// move the selection if this item is selected
-	if (selectedIndex == index) {
-		Control control = item.getControl();
-		selectedIndex = -1;
-		int nextSelection = mru ? priority[0] : Math.max(0, index - 1);
-		setSelection(nextSelection, true);
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}
-	} else if (selectedIndex > index) {
-		selectedIndex --;
-	}
-	
-	updateItems();
-	redrawTabs();
-}
-void drawBackground(GC gc, int[] shape, boolean selected) {
-	Color defaultBackground = selected ? selectionBackground : getBackground();
-	Image image = selected ? selectionBgImage : bgImage;
-	Color[] colors = selected ? selectionGradientColors : gradientColors;
-	int[] percents = selected ? selectionGradientPercents : gradientPercents;
-	boolean vertical = selected ? selectionGradientVertical : gradientVertical; 
-	Point size = getSize();
-	int width = size.x;
-	int height = tabHeight + highlight_header;
-	int x = 0;
-	if (borderLeft > 0) {
-		x += 1; width -= 2;
-	}
-	int y = onBottom ? size.y - borderBottom - height : borderTop;
-	drawBackground(gc, shape, x, y, width, height, defaultBackground, image, colors, percents, vertical);
-}
-void drawBackground(GC gc, int[] shape, int x, int y, int width, int height, Color defaultBackground, Image image, Color[] colors, int[] percents, boolean vertical) {
-	Region clipping = new Region();
-	gc.getClipping(clipping);
-	Region region = new Region();
-	region.add(shape);
-	region.intersect(clipping);
-	gc.setClipping(region);
-	
-	if (image != null) {
-		// draw the background image in shape
-		gc.setBackground(defaultBackground);
-		gc.fillRectangle(x, y, width, height);
-		Rectangle imageRect = image.getBounds();
-		gc.drawImage(image, imageRect.x, imageRect.y, imageRect.width, imageRect.height, x, y, width, height);
-	} else if (colors != null) {
-		// draw gradient
-		if (colors.length == 1) {
-			Color background = colors[0] != null ? colors[0] : defaultBackground;
-			gc.setBackground(background);
-			gc.fillRectangle(x, y, width, height);
-		} else {
-			if (vertical) {
-				if (onBottom) {
-					int pos = 0;
-					if (percents[percents.length - 1] < 100) {
-						pos = percents[percents.length - 1] * height / 100;
-						gc.setBackground(defaultBackground);
-						gc.fillRectangle(x, y, width, pos);
-					}
-					Color lastColor = colors[colors.length-1];
-					if (lastColor == null) lastColor = defaultBackground;
-					for (int i = percents.length-1; i >= 0; i--) {
-						gc.setForeground(lastColor);
-						lastColor = colors[i];
-						if (lastColor == null) lastColor = defaultBackground;
-						gc.setBackground(lastColor);
-						int gradientHeight = percents[i] * height / 100;
-						gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
-						pos += gradientHeight;
-					}
-				} else {
-					Color lastColor = colors[0];
-					if (lastColor == null) lastColor = defaultBackground;
-					int pos = 0;
-					for (int i = 0; i < percents.length; i++) {
-						gc.setForeground(lastColor);
-						lastColor = colors[i + 1];
-						if (lastColor == null) lastColor = defaultBackground;
-						gc.setBackground(lastColor);
-						int gradientHeight = percents[i] * height / 100;
-						gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
-						pos += gradientHeight;
-					}
-					if (pos < height) {
-						gc.setBackground(defaultBackground);
-						gc.fillRectangle(x, pos, width, height-pos+1);
-					}
-				}
-			} else { //horizontal gradient
-				y = 0;
-				height = getSize().y;
-				Color lastColor = colors[0];
-				if (lastColor == null) lastColor = defaultBackground;
-				int pos = 0;
-				for (int i = 0; i < percents.length; ++i) {
-					gc.setForeground(lastColor);
-					lastColor = colors[i + 1];
-					if (lastColor == null) lastColor = defaultBackground;
-					gc.setBackground(lastColor);
-					int gradientWidth = (percents[i] * width / 100) - pos;
-					gc.fillGradientRectangle(x+pos, y, gradientWidth, height, false);
-					pos += gradientWidth;
-				}
-				if (pos < width) {
-					gc.setBackground(defaultBackground);
-					gc.fillRectangle(x+pos, y, width-pos, height);
-				}
-			}
-		}
-	} else {
-		// draw a solid background using default background in shape
-		if ((getStyle() & SWT.NO_BACKGROUND) != 0 || !defaultBackground.equals(getBackground())) {
-			gc.setBackground(defaultBackground);
-			gc.fillRectangle(x, y, width, height);
-		}
-	}
-	gc.setClipping(clipping);
-	clipping.dispose();
-	region.dispose();
-}
-void drawBody(Event event) {
-	GC gc = event.gc;
-	Point size = getSize();
-	
-	// fill in body
-	if (!minimized){
-		int width = size.x  - borderLeft - borderRight - 2*highlight_margin;
-		int height = size.y - borderTop - borderBottom - tabHeight - highlight_header - highlight_margin;
-		// Draw highlight margin
-		if (highlight_margin > 0) {
-			int[] shape = null;
-			if (onBottom) {
-				int x1 = borderLeft;
-				int y1 = borderTop;
-				int x2 = size.x - borderRight;
-				int y2 = size.y - borderBottom - tabHeight - highlight_header;
-				shape = new int[] {x1,y1, x2,y1, x2,y2, x2-highlight_margin,y2,
-						           x2-highlight_margin, y1+highlight_margin, x1+highlight_margin,y1+highlight_margin,
-								   x1+highlight_margin,y2, x1,y2};
-			} else {	
-				int x1 = borderLeft;
-				int y1 = borderTop + tabHeight + highlight_header;
-				int x2 = size.x - borderRight;
-				int y2 = size.y - borderBottom;
-				shape = new int[] {x1,y1, x1+highlight_margin,y1, x1+highlight_margin,y2-highlight_margin, 
-						           x2-highlight_margin,y2-highlight_margin, x2-highlight_margin,y1,
-								   x2,y1, x2,y2, x1,y2};
-			}
-			// If horizontal gradient, show gradient across the whole area
-			if (selectedIndex != -1 && selectionGradientColors != null && selectionGradientColors.length > 1 && !selectionGradientVertical) {
-				drawBackground(gc, shape, true);
-			} else if (selectedIndex == -1 && gradientColors != null && gradientColors.length > 1 && !gradientVertical) {
-				drawBackground(gc, shape, false);
-			} else {
-				gc.setBackground(selectedIndex == -1 ? getBackground() : selectionBackground);
-				gc.fillPolygon(shape);
-			}
-		}
-		//Draw client area
-		if ((getStyle() & SWT.NO_BACKGROUND) != 0) {
-			gc.setBackground(getBackground());
-			gc.fillRectangle(xClient - marginWidth, yClient - marginHeight, width, height);
-		}
-	} else {
-		if ((getStyle() & SWT.NO_BACKGROUND) != 0) {
-			int height = borderTop + tabHeight + highlight_header + borderBottom;
-			if (size.y > height) {
-				gc.setBackground(getParent().getBackground());
-				gc.fillRectangle(0, height, size.x, size.y - height);
-			}
-		}
-	}
-	
-	//draw 1 pixel border around outside
-	if (borderLeft > 0) {
-		gc.setForeground(borderColor);
-		int x1 = borderLeft - 1;
-		int x2 = size.x - borderRight;
-		int y1 = onBottom ? borderTop - 1 : borderTop + tabHeight;
-		int y2 = onBottom ? size.y - tabHeight - borderBottom - 1 : size.y - borderBottom;
-		gc.drawLine(x1, y1, x1, y2); // left
-		gc.drawLine(x2, y1, x2, y2); // right
-		if (onBottom) {
-			gc.drawLine(x1, y1, x2, y1); // top
-		} else {
-			gc.drawLine(x1, y2, x2, y2); // bottom
-		}
-	}
-}
-
-void drawChevron(GC gc) {
-	if (chevronRect.width == 0 || chevronRect.height == 0) return;
-	// draw chevron (10x7)
-	Display display = getDisplay();
-	Point dpi = display.getDPI();
-	int fontHeight = 72 * 10 / dpi.y;
-	FontData fd = getFont().getFontData()[0];
-	fd.setHeight(fontHeight);
-	Font f = new Font(display, fd);
-	int fHeight = f.getFontData()[0].getHeight() * dpi.y / 72;
-	int indent = Math.max(2, (chevronRect.height - fHeight - 4) /2);
-	int x = chevronRect.x + 2;
-	int y = chevronRect.y + indent;
-	int count;
-	if (single) {
-		count = selectedIndex == -1 ? items.length : items.length - 1;
-	} else {
-		int showCount = 0;
-		while (showCount < priority.length && items[priority[showCount]].showing) {
-			showCount++;
-		}
-		count = items.length - showCount;
-	}
-	String chevronString = count > 99 ? "99+" : String.valueOf(count); //$NON-NLS-1$
-	switch (chevronImageState) {
-		case NORMAL: {
-			Color chevronBorder = single ? getSelectionForeground() : getForeground();
-			gc.setForeground(chevronBorder);
-			gc.setFont(f);
-			gc.drawLine(x,y,     x+2,y+2);
-			gc.drawLine(x+2,y+2, x,y+4);
-			gc.drawLine(x+1,y,   x+3,y+2);
-			gc.drawLine(x+3,y+2, x+1,y+4);
-			gc.drawLine(x+4,y,   x+6,y+2);
-			gc.drawLine(x+6,y+2, x+5,y+4);
-			gc.drawLine(x+5,y,   x+7,y+2);
-			gc.drawLine(x+7,y+2, x+4,y+4);
-			gc.drawString(chevronString, x+7, y+3, true);
-			break;
-		}
-		case HOT: {
-			gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-			gc.setBackground(display.getSystemColor(BUTTON_FILL));
-			gc.setFont(f);
-			gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
-			gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
-			gc.drawLine(x,y,     x+2,y+2);
-			gc.drawLine(x+2,y+2, x,y+4);
-			gc.drawLine(x+1,y,   x+3,y+2);
-			gc.drawLine(x+3,y+2, x+1,y+4);
-			gc.drawLine(x+4,y,   x+6,y+2);
-			gc.drawLine(x+6,y+2, x+5,y+4);
-			gc.drawLine(x+5,y,   x+7,y+2);
-			gc.drawLine(x+7,y+2, x+4,y+4);
-			gc.drawString(chevronString, x+7, y+3, true);
-			break;
-		}
-		case SELECTED: {
-			gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-			gc.setBackground(display.getSystemColor(BUTTON_FILL));
-			gc.setFont(f);
-			gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
-			gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
-			gc.drawLine(x+1,y+1, x+3,y+3);
-			gc.drawLine(x+3,y+3, x+1,y+5);
-			gc.drawLine(x+2,y+1, x+4,y+3);
-			gc.drawLine(x+4,y+3, x+2,y+5);
-			gc.drawLine(x+5,y+1, x+7,y+3);
-			gc.drawLine(x+7,y+3, x+6,y+5);
-			gc.drawLine(x+6,y+1, x+8,y+3);
-			gc.drawLine(x+8,y+3, x+5,y+5);
-			gc.drawString(chevronString, x+8, y+4, true);
-			break;
-		}
-	}
-	f.dispose();
-}
-void drawMaximize(GC gc) {
-	if (maxRect.width == 0 || maxRect.height == 0) return;
-	Display display = getDisplay();
-	// 5x4 or 7x9
-	int x = maxRect.x + (CTabFolder.BUTTON_SIZE - 10)/2;
-	int y = maxRect.y + 3;
-	
-	gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-	gc.setBackground(display.getSystemColor(BUTTON_FILL));
-	
-	switch (maxImageState) {
-		case NORMAL: {
-			if (!maximized) {
-				gc.fillRectangle(x, y, 9, 9);
-				gc.drawRectangle(x, y, 9, 9);
-				gc.drawLine(x+1, y+2, x+8, y+2);				
-			} else {
-				gc.fillRectangle(x, y+3, 5, 4);
-				gc.fillRectangle(x+2, y, 5, 4);
-				gc.drawRectangle(x, y+3, 5, 4);
-				gc.drawRectangle(x+2, y, 5, 4);
-				gc.drawLine(x+3, y+1, x+6, y+1);
-				gc.drawLine(x+1, y+4, x+4, y+4);
-			}
-			break;
-		}
-		case HOT: {
-			gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
-			gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
-			if (!maximized) {
-				gc.fillRectangle(x, y, 9, 9);
-				gc.drawRectangle(x, y, 9, 9);
-				gc.drawLine(x+1, y+2, x+8, y+2);
-			} else {
-				gc.fillRectangle(x, y+3, 5, 4);
-				gc.fillRectangle(x+2, y, 5, 4);
-				gc.drawRectangle(x, y+3, 5, 4);
-				gc.drawRectangle(x+2, y, 5, 4);
-				gc.drawLine(x+3, y+1, x+6, y+1);
-				gc.drawLine(x+1, y+4, x+4, y+4);
-			}
-			break;
-		}
-		case SELECTED: {
-			gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
-			gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
-			if (!maximized) {
-				gc.fillRectangle(x+1, y+1, 9, 9);
-				gc.drawRectangle(x+1, y+1, 9, 9);
-				gc.drawLine(x+2, y+3, x+9, y+3);
-			} else {
-				gc.fillRectangle(x+1, y+4, 5, 4);
-				gc.fillRectangle(x+3, y+1, 5, 4);
-				gc.drawRectangle(x+1, y+4, 5, 4);
-				gc.drawRectangle(x+3, y+1, 5, 4);
-				gc.drawLine(x+4, y+2, x+7, y+2);
-				gc.drawLine(x+2, y+5, x+5, y+5);
-			}
-			break;
-		}
-	}
-}
-void drawMinimize(GC gc) {
-	if (minRect.width == 0 || minRect.height == 0) return;
-	Display display = getDisplay();
-	// 5x4 or 9x3
-	int x = minRect.x + (BUTTON_SIZE - 10)/2;
-	int y = minRect.y + 3;
-	
-	gc.setForeground(display.getSystemColor(BUTTON_BORDER));
-	gc.setBackground(display.getSystemColor(BUTTON_FILL));
-	
-	switch (minImageState) {
-		case NORMAL: {
-			if (!minimized) {
-				gc.fillRectangle(x, y, 9, 3);
-				gc.drawRectangle(x, y, 9, 3);
-			} else {
-				gc.fillRectangle(x, y+3, 5, 4);
-				gc.fillRectangle(x+2, y, 5, 4);
-				gc.drawRectangle(x, y+3, 5, 4);
-				gc.drawRectangle(x+2, y, 5, 4);
-				gc.drawLine(x+3, y+1, x+6, y+1);
-				gc.drawLine(x+1, y+4, x+4, y+4);
-			}
-			break;
-		}
-		case HOT: {
-			gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
-			gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
-			if (!minimized) {
-				gc.fillRectangle(x, y, 9, 3);
-				gc.drawRectangle(x, y, 9, 3);
-			} else {
-				gc.fillRectangle(x, y+3, 5, 4);
-				gc.fillRectangle(x+2, y, 5, 4);
-				gc.drawRectangle(x, y+3, 5, 4);
-				gc.drawRectangle(x+2, y, 5, 4);
-				gc.drawLine(x+3, y+1, x+6, y+1);
-				gc.drawLine(x+1, y+4, x+4, y+4);
-			}
-			break;
-		}
-		case SELECTED: {
-			gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
-			gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
-			if (!minimized) {
-				gc.fillRectangle(x+1, y+1, 9, 3);
-				gc.drawRectangle(x+1, y+1, 9, 3);
-			} else {
-				gc.fillRectangle(x+1, y+4, 5, 4);
-				gc.fillRectangle(x+3, y+1, 5, 4);
-				gc.drawRectangle(x+1, y+4, 5, 4);
-				gc.drawRectangle(x+3, y+1, 5, 4);
-				gc.drawLine(x+4, y+2, x+7, y+2);
-				gc.drawLine(x+2, y+5, x+5, y+5);
-			}
-			break;
-		}
-	}
-}
-void drawTabArea(Event event) {
-	GC gc = event.gc;
-	Point size = getSize();
-	int[] shape = null;
-	
-	if (tabHeight == 0) {
-		int x1 = borderLeft - 1;
-		int x2 = size.x - borderRight;
-		int y1 = onBottom ? size.y - borderBottom - highlight_header - 1 : borderTop + highlight_header;
-		int y2 = onBottom ? size.y - borderBottom : borderTop;
-		if (borderLeft > 0 && onBottom) y2 -= 1;
-		
-		shape = new int[] {x1, y1, x1,y2, x2,y2, x2,y1};
-
-		// If horizontal gradient, show gradient across the whole area
-		if (selectedIndex != -1 && selectionGradientColors != null && selectionGradientColors.length > 1 && !selectionGradientVertical) {
-			drawBackground(gc, shape, true);
-		} else if (selectedIndex == -1 && gradientColors != null && gradientColors.length > 1 && !gradientVertical) {
-			drawBackground(gc, shape, false);
-		} else {
-			gc.setBackground(selectedIndex == -1 ? getBackground() : selectionBackground);
-			gc.fillPolygon(shape);
-		}
-		
-		//draw 1 pixel border
-		if (borderLeft > 0) {
-			gc.setForeground(borderColor);
-			gc.drawPolyline(shape); 
-		}
-		return;
-	}
-	
-	int x = Math.max(0, borderLeft - 1);
-	int y = onBottom ? size.y - borderBottom - tabHeight : borderTop;
-	int width = size.x - borderLeft - borderRight + 1;
-	int height = tabHeight - 1;
-	
-	// Draw Tab Header
-	if (onBottom) {
-		int[] left = simple ? SIMPLE_BOTTOM_LEFT_CORNER : BOTTOM_LEFT_CORNER;
-		int[] right = simple ? SIMPLE_BOTTOM_RIGHT_CORNER : BOTTOM_RIGHT_CORNER;
-		shape = new int[left.length + right.length + 4];
-		int index = 0;
-		shape[index++] = x;
-		shape[index++] = y-highlight_header;
-		for (int i = 0; i < left.length/2; i++) {
-			shape[index++] = x+left[2*i];
-			shape[index++] = y+height+left[2*i+1];
-			if (borderLeft == 0) shape[index-1] += 1;
-		}
-		for (int i = 0; i < right.length/2; i++) {
-			shape[index++] = x+width+right[2*i];
-			shape[index++] = y+height+right[2*i+1];
-			if (borderLeft == 0) shape[index-1] += 1;
-		}
-		shape[index++] = x+width;
-		shape[index++] = y-highlight_header;
-	} else {
-		int[] left = simple ? SIMPLE_TOP_LEFT_CORNER : TOP_LEFT_CORNER;
-		int[] right = simple ? SIMPLE_TOP_RIGHT_CORNER : TOP_RIGHT_CORNER;
-		shape = new int[left.length + right.length + 4];
-		int index = 0;
-		shape[index++] = x;
-		shape[index++] = y+height+highlight_header + 1;
-		for (int i = 0; i < left.length/2; i++) {
-			shape[index++] = x+left[2*i];
-			shape[index++] = y+left[2*i+1];
-		}
-		for (int i = 0; i < right.length/2; i++) {
-			shape[index++] = x+width+right[2*i];
-			shape[index++] = y+right[2*i+1];
-		}
-		shape[index++] = x+width;
-		shape[index++] = y+height+highlight_header + 1;
-	}
-	// Fill in background
-	boolean bkSelected = single && selectedIndex != -1;
-	drawBackground(gc, shape, bkSelected);
-	// Fill in parent background for non-rectangular shape
-	Region r = new Region();
-	r.add(new Rectangle(x, y, width + 1, height + 1));
-	r.subtract(shape);
-	gc.setBackground(getParent().getBackground());
-	fillRegion(gc, r);
-	r.dispose();
-	
-	// Draw the unselected tabs.
-	if (!single) {
-		for (int i=0; i < items.length; i++) {
-			if (i != selectedIndex && event.getBounds().intersects(items[i].getBounds())) {
-				items[i].onPaint(gc, false);
-			}
-		}
-	}
-	
-	// Draw selected tab
-	if (selectedIndex != -1) {
-		CTabItem item = items[selectedIndex];
-		item.onPaint(gc, true);
-	} else {
-		// if no selected tab - draw line across bottom of all tabs
-		int x1 = borderLeft;
-		int y1 = (onBottom) ? size.y - borderBottom - tabHeight - 1 : borderTop + tabHeight;
-		int x2 = size.x - borderRight;
-		gc.setForeground(borderColor);
-		gc.drawLine(x1, y1, x2, y1);
-	}
-	
-	// Draw Buttons
-	drawChevron(gc);
-	drawMinimize(gc);
-	drawMaximize(gc);
-	
-	// Draw border line
-	if (borderLeft > 0) {
-		RGB outside = getParent().getBackground().getRGB();
-		antialias(shape, borderColor.getRGB(), null, outside, gc);
-		gc.setForeground(borderColor);
-		gc.drawPolyline(shape);
-	}	
-}
-/**
- * Returns <code>true</code> if the receiver's border is visible.
- *
- * @return the receiver's border visibility state
- *
- * @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>
- * 
- * @since 3.0
- */
-public boolean getBorderVisible() {
-	checkWidget();
-	return borderLeft == 1;
-}
-public Rectangle getClientArea() {
-	checkWidget();
-	if (minimized) return new Rectangle(xClient, yClient, 0, 0);
-	Point size = getSize();
-	int width = size.x  - borderLeft - borderRight - 2*marginWidth - 2*highlight_margin;
-	int height = size.y - borderTop - borderBottom - 2*marginHeight - highlight_margin - highlight_header;
-	height -= tabHeight;
-	return new Rectangle(xClient, yClient, width, height);
-}
-/**
- * Return the tab that is located at the specified index.
- * 
- * @param index the index of the tab item
- * @return the item at the specified index
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is out of range</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- */
-public CTabItem getItem (int index) {
-	//checkWidget();
-	if (index  < 0 || index >= items.length) 
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	return items [index];
-}
-/**
- * Gets the item at a point in the widget.
- *
- * @param pt the point in coordinates relative to the CTabFolder
- * @return the item at a point or null
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public CTabItem getItem (Point pt) {
-	//checkWidget();
-	if (items.length == 0) return null;
-	Point size = getSize();
-	if (size.x <= borderLeft + borderRight) return null;
-	if (showChevron && chevronRect.contains(pt)) return null;
-	for (int i = 0; i < priority.length; i++) {
-		CTabItem item = items[priority[i]];
-		Rectangle rect = item.getBounds();
-		if (rect.contains(pt)) return item;
-	}
-	return null;
-}
-/**
- * Return the number of tabs in the folder.
- * 
- * @return the number of tabs in the folder
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getItemCount(){
-	//checkWidget();
-	return items.length;
-}
-/**
- * Return the tab items.
- * 
- * @return the tab items
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public CTabItem [] getItems() {
-	//checkWidget();
-	CTabItem[] tabItems = new CTabItem [items.length];
-	System.arraycopy(items, 0, tabItems, 0, items.length);
-	return tabItems;
-}
-/*
- * Return the lowercase of the first non-'&' character following
- * an '&' character in the given string. If there are no '&'
- * characters in the given string, return '\0'.
- */
-char _findMnemonic (String string) {
-	if (string == null) return '\0';
-	int index = 0;
-	int length = string.length ();
-	do {
-		while (index < length && string.charAt (index) != '&') index++;
-		if (++index >= length) return '\0';
-		if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-		index++;
-	} while (index < length);
- 	return '\0';
-}
-String stripMnemonic (String string) {
-	int index = 0;
-	int length = string.length ();
-	do {
-		while ((index < length) && (string.charAt (index) != '&')) index++;
-		if (++index >= length) return string;
-		if (string.charAt (index) != '&') {
-			return string.substring(0, index-1) + string.substring(index, length);
-		}
-		index++;
-	} while (index < length);
- 	return string;
-}
-/**
- * Returns <code>true</code> if the receiver is minimized.
- *
- * @return the receiver's minimized state
- *
- * @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>
- * 
- * @since 3.0
- */
-public boolean getMinimized() {
-	checkWidget();
-	return minimized;
-}
-/**
- * Returns <code>true</code> if the minimize button
- * is visible.
- *
- * @return the visibility of the minimized button
- *
- * @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>
- * 
- * @since 3.0
- */
-public boolean getMinimizeVisible() {
-	checkWidget();
-	return showMin;
-}
-/** 
- * Returns the number of characters that will
- * appear in a fully compressed tab.
- * 
- * @return number of characters that will appear in a fully compressed tab
- * 
- * @since 3.0
- */
-public int getMinimumCharacters() {
-	checkWidget();
-	return minChars;
-}
-/**
- * Returns <code>true</code> if the receiver is maximized.
- * <p>
- *
- * @return the receiver's maximized state
- *
- * @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>
- * 
- * @since 3.0
- */
-public boolean getMaximized() {
-	checkWidget();
-	return maximized;
-}
-/**
- * Returns <code>true</code> if the maximize button
- * is visible.
- *
- * @return the visibility of the maximized button
- *
- * @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>
- * 
- * @since 3.0
- */
-public boolean getMaximizeVisible() {
-	checkWidget();
-	return showMax;
-}
-/**
- * Returns <code>true</code> if the receiver displays most
- * recently used tabs and <code>false</code> otherwise.
- * <p>
- * When there is not enough horizontal space to show all the tabs,
- * by default, tabs are shown sequentially from left to right in 
- * order of their index.  When the MRU visibility is turned on,
- * the tabs that are visible will be the tabs most recently selected.
- * Tabs will still maintain their left to right order based on index 
- * but only the most recently selected tabs are visible.
- * <p>
- * For example, consider a CTabFolder that contains "Tab 1", "Tab 2",
- * "Tab 3" and "Tab 4" (in order by index).  The user selects
- * "Tab 1" and then "Tab 3".  If the CTabFolder is now
- * compressed so that only two tabs are visible, by default, 
- * "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently 
- * selected and "Tab 2" because it is the previous item in index order).
- * If MRU visibility is enabled, the two visible tabs will be "Tab 1"
- * and "Tab 3" (in that order from left to right).</p>
- *
- * @return the receiver's header's visibility state
- *
- * @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>
- * 
- * @since 3.1
- */
-public boolean getMRUVisible() {
-	checkWidget();
-	return mru;
-}
-int getRightItemEdge (){
-	int x = getSize().x - borderRight - 3;
-	if (showMin) x -= BUTTON_SIZE;
-	if (showMax) x -= BUTTON_SIZE;
-	if (showChevron) x -= 3*BUTTON_SIZE/2;
-	if (topRight != null && topRightAlignment != SWT.FILL) {
-		Point rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		x -= rightSize.x + 3;
-	}
-	return Math.max(0, x);
-}
-/**
- * Return the selected tab item, or an empty array if there
- * is no selection.
- * 
- * @return the selected tab item
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public CTabItem getSelection() {
-	//checkWidget();
-	if (selectedIndex == -1) return null;
-	return items[selectedIndex];
-}
-/**
- * Returns the receiver's selection background color.
- *
- * @return the selection background color of the receiver
- *
- * @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>
- * 
- * @since 3.0
- */
-public Color getSelectionBackground() {
-	checkWidget();
-	return selectionBackground;
-}
-/**
- * Returns the receiver's selection foreground color.
- *
- * @return the selection foreground color of the receiver
- *
- * @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>
- * 
- * @since 3.0
- */
-public Color getSelectionForeground() {
-	checkWidget();
-	return selectionForeground;
-}
-/**
- * Return the index of the selected tab item, or -1 if there
- * is no selection.
- * 
- * @return the index of the selected tab item or -1
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getSelectionIndex() {
-	//checkWidget();
-	return selectedIndex;
-}
-/**
- * Returns <code>true</code> if the CTabFolder is rendered
- * with a simple, traditional shape.
- * 
- * @return <code>true</code> if the CTabFolder is rendered with a simple shape
- * 
- * @since 3.0
- */
-public boolean getSimple() {
-	checkWidget();
-	return simple;
-}
-/**
- * Returns <code>true</code> if the CTabFolder only displys the selected tab
- * and <code>false</code> if the CTabFolder displays multiple tabs.
- * 
- * @return <code>true</code> if the CTabFolder only displys the selected tab and <code>false</code> if the CTabFolder displays multiple tabs
- * 
- * @since 3.0
- */
-public boolean getSingle() {
-	checkWidget();
-	return single;
-}
-
-public int getStyle() {
-	int style = super.getStyle();
-	style &= ~(SWT.TOP | SWT.BOTTOM);
-	style |= onBottom ? SWT.BOTTOM : SWT.TOP;
-	style &= ~(SWT.SINGLE | SWT.MULTI);
-	style |= single ? SWT.SINGLE : SWT.MULTI;
-	if (borderLeft != 0) style |= SWT.BORDER;
-	return style;
-}
-/**
- * Returns the height of the tab
- * 
- * @return the height of the tab
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getTabHeight(){
-	checkWidget();
-	if (fixedTabHeight != SWT.DEFAULT) return fixedTabHeight;
-	return tabHeight - 1; // -1 for line drawn across top of tab
-}
-/**
- * Returns the position of the tab.  Possible values are SWT.TOP or SWT.BOTTOM.
- * 
- * @return the position of the tab
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getTabPosition(){
-	checkWidget();
-	return onBottom ? SWT.BOTTOM : SWT.TOP;
-}
-/**
- * Returns the control in the top right corner of the tab folder. 
- * Typically this is a close button or a composite with a menu and close button.
- *
- * @return the control in the top right corner of the tab folder or null
- * 
- * @exception  SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- *
- * @since 2.1
- */
-public Control getTopRight() {
-	checkWidget();
-	return topRight;
-}
-/**
- * Returns <code>true</code> if the close button appears 
- * when the user hovers over an unselected tabs.
- * 
- * @return <code>true</code> if the close button appears on unselected tabs
- * 
- * @since 3.0
- */
-public boolean getUnselectedCloseVisible() {
-	checkWidget();
-	return showUnselectedClose;
-}
-/**
- * Returns <code>true</code> if an image appears 
- * in unselected tabs.
- * 
- * @return <code>true</code> if an image appears in unselected tabs
- * 
- * @since 3.0
- */
-public boolean getUnselectedImageVisible() {
-	checkWidget();
-	return showUnselectedImage;
-}
-/**
- * Return the index of the specified tab or -1 if the tab is not 
- * in the receiver.
- * 
- * @param item the tab item for which the index is required
- * 
- * @return the index of the specified tab item or -1
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- */
-public int indexOf(CTabItem item) {
-	checkWidget();
-	if (item == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] == item) return i;
-	}
-	return -1;
-}
-void initAccessible() {
-	final Accessible accessible = getAccessible();
-	accessible.addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			String name = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				name = stripMnemonic(items[childID].getText());
-			} else if (childID == items.length + CHEVRON_CHILD_ID) {
-				name = SWT.getMessage("SWT_ShowList"); //$NON-NLS-1$
-			} else if (childID == items.length + MINIMIZE_CHILD_ID) {
-				name = minimized ? SWT.getMessage("SWT_Restore") : SWT.getMessage("SWT_Minimize"); //$NON-NLS-1$ //$NON-NLS-2$
-			} else if (childID == items.length + MAXIMIZE_CHILD_ID) {
-				name = maximized ? SWT.getMessage("SWT_Restore") : SWT.getMessage("SWT_Maximize"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			e.result = name;
-		}
-
-		public void getHelp(AccessibleEvent e) {
-			String help = null;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				help = getToolTipText();
-			} else if (childID >= 0 && childID < items.length) {
-				help = items[childID].getToolTipText();
-			}
-			e.result = help;
-		}
-		
-		public void getKeyboardShortcut(AccessibleEvent e) {
-			String shortcut = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				String text = items[childID].getText();
-				if (text != null) {
-					char mnemonic = _findMnemonic(text);	
-					if (mnemonic != '\0') {
-						shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-					}
-				}
-			}
-			e.result = shortcut;
-		}
-	});
-	
-	accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-		public void getChildAtPoint(AccessibleControlEvent e) {
-			Point testPoint = toControl(e.x, e.y);
-			int childID = ACC.CHILDID_NONE;
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].getBounds().contains(testPoint)) {
-					childID = i;
-					break;
-				}
-			}
-			if (childID == ACC.CHILDID_NONE) {
-				if (showChevron && chevronRect.contains(testPoint)) {
-					childID = items.length + CHEVRON_CHILD_ID;
-				} else if (showMin && minRect.contains(testPoint)) {
-					childID = items.length + MINIMIZE_CHILD_ID;
-				} else if (showMax && maxRect.contains(testPoint)) {
-					childID = items.length + MAXIMIZE_CHILD_ID;
-				} else {
-					Rectangle location = getBounds();
-					location.height = location.height - getClientArea().height;
-					if (location.contains(testPoint)) {
-						childID = ACC.CHILDID_SELF;
-					}
-				}
-			}
-			e.childID = childID;
-		}
-
-		public void getLocation(AccessibleControlEvent e) {
-			Rectangle location = null;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				location = getBounds();
-			} else if (childID >= 0 && childID < items.length) {
-				location = items[childID].getBounds();
-			} else if (showChevron && childID == items.length + CHEVRON_CHILD_ID) {
-				location = chevronRect;
-			} else if (showMin && childID == items.length + MINIMIZE_CHILD_ID) {
-				location = minRect;
-			} else if (showMax && childID == items.length + MAXIMIZE_CHILD_ID) {
-				location = maxRect;
-			}
-			if (location != null) {
-				Point pt = toDisplay(location.x, location.y);
-				e.x = pt.x;
-				e.y = pt.y;
-				e.width = location.width;
-				e.height = location.height;
-			}
-		}
-		
-		public void getChildCount(AccessibleControlEvent e) {
-			e.detail = items.length + EXTRA_CHILD_ID_COUNT;
-		}
-		
-		public void getDefaultAction(AccessibleControlEvent e) {
-			String action = null;
-			int childID = e.childID;
-			if (childID >= 0 && childID < items.length) {
-				action = SWT.getMessage ("SWT_Switch"); //$NON-NLS-1$
-			}
-			if (childID >= items.length && childID < items.length + EXTRA_CHILD_ID_COUNT) {
-				action = SWT.getMessage ("SWT_Press"); //$NON-NLS-1$
-			}
-			e.result = action;
-		}
-
-		public void getFocus(AccessibleControlEvent e) {
-			int childID = ACC.CHILDID_NONE;
-			if (isFocusControl()) {
-				if (selectedIndex == -1) {
-					childID = ACC.CHILDID_SELF;
-				} else {
-					childID = selectedIndex;
-				}
-			}
-			e.childID = childID;
-		}
-
-		public void getRole(AccessibleControlEvent e) {
-			int role = 0;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				role = ACC.ROLE_TABFOLDER;
-			} else if (childID >= 0 && childID < items.length) {
-				role = ACC.ROLE_TABITEM;
-			} else if (childID >= items.length && childID < items.length + EXTRA_CHILD_ID_COUNT) {
-				role = ACC.ROLE_PUSHBUTTON;
-			}
-			e.detail = role;
-		}
-		
-		public void getSelection(AccessibleControlEvent e) {
-			e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE : selectedIndex;
-		}
-		
-		public void getState(AccessibleControlEvent e) {
-			int state = 0;
-			int childID = e.childID;
-			if (childID == ACC.CHILDID_SELF) {
-				state = ACC.STATE_NORMAL;
-			} else if (childID >= 0 && childID < items.length) {
-				state = ACC.STATE_SELECTABLE;
-				if (isFocusControl()) {
-					state |= ACC.STATE_FOCUSABLE;
-				}
-				if (selectedIndex == childID) {
-					state |= ACC.STATE_SELECTED;
-					if (isFocusControl()) {
-						state |= ACC.STATE_FOCUSED;
-					}
-				}
-			} else if (childID == items.length + CHEVRON_CHILD_ID) {
-				state = showChevron ? ACC.STATE_NORMAL : ACC.STATE_INVISIBLE;
-			} else if (childID == items.length + MINIMIZE_CHILD_ID) {
-				state = showMin ? ACC.STATE_NORMAL : ACC.STATE_INVISIBLE;
-			} else if (childID == items.length + MAXIMIZE_CHILD_ID) {
-				state = showMax ? ACC.STATE_NORMAL : ACC.STATE_INVISIBLE;
-			}
-			e.detail = state;
-		}
-		
-		public void getChildren(AccessibleControlEvent e) {
-			int childIdCount = items.length + EXTRA_CHILD_ID_COUNT;
-			Object[] children = new Object[childIdCount];
-			for (int i = 0; i < childIdCount; i++) {
-				children[i] = new Integer(i);
-			}
-			e.children = children;
-		}
-	});
-	
-	addListener(SWT.Selection, new Listener() {
-		public void handleEvent(Event event) {
-			if (isFocusControl()) {
-				if (selectedIndex == -1) {
-					accessible.setFocus(ACC.CHILDID_SELF);
-				} else {
-					accessible.setFocus(selectedIndex);
-				}
-			}
-		}
-	});
-
-	addListener(SWT.FocusIn, new Listener() {
-		public void handleEvent(Event event) {
-			if (selectedIndex == -1) {
-				accessible.setFocus(ACC.CHILDID_SELF);
-			} else {
-				accessible.setFocus(selectedIndex);
-			}
-		}
-	});
-}
-void onKeyDown (Event event) {
-	switch (event.keyCode) {
-		case SWT.ARROW_LEFT:
-		case SWT.ARROW_RIGHT:
-			int count = items.length;
-			if (count == 0) return;
-			if (selectedIndex  == -1) return;
-			int leadKey = (getStyle() & SWT.RIGHT_TO_LEFT) != 0 ? SWT.ARROW_RIGHT : SWT.ARROW_LEFT;
-			int offset =  event.keyCode == leadKey ? -1 : 1;
-			int index;
-			if (!mru) {
-				index = selectedIndex + offset;
-			} else {
-				int[] visible = new int[items.length];
-				int idx = 0;
-				int current = -1;
-				for (int i = 0; i < items.length; i++) {
-					if (items[i].showing) {
-						if (i == selectedIndex) current = idx;
-						visible [idx++] = i;
-					}
-				}
-				if (current + offset >= 0 && current + offset < idx){
-					index = visible [current + offset];
-				} else {
-					if (showChevron) {
-						CTabFolderEvent e = new CTabFolderEvent(this);
-						e.widget = this;
-						e.time = event.time;
-						e.x = chevronRect.x;
-						e.y = chevronRect.y;
-						e.width = chevronRect.width;
-						e.height = chevronRect.height;
-						e.doit = true;
-						for (int i = 0; i < folderListeners.length; i++) {
-							folderListeners[i].showList(e);
-						}
-						if (e.doit && !isDisposed()) {
-							showList(chevronRect);
-						}
-					}
-					return;
-				}
-			}
-			if (index < 0 || index >= count) return;
-			setSelection (index, true);
-			forceFocus();
-	}
-}
-void onDispose(Event event) {
-	removeListener(SWT.Dispose, listener);
-	notifyListeners(SWT.Dispose, event);
-	event.type = SWT.None;
-	/*
-	 * Usually when an item is disposed, destroyItem will change the size of the items array, 
-	 * reset the bounds of all the tabs and manage the widget associated with the tab.
-	 * Since the whole folder is being disposed, this is not necessary.  For speed
-	 * the inDispose flag is used to skip over this part of the item dispose.
-	 */
-	inDispose = true;
-
-	if (showMenu != null && !showMenu.isDisposed()) {
-		showMenu.dispose();
-		showMenu = null;
-	}
-	int length = items.length;
-	for (int i = 0; i < length; i++) {				
-		if (items[i] != null) {
-			items[i].dispose();
-		}
-	}
-	
-	selectionGradientColors = null;
-	selectionGradientPercents = null;
-	selectionBgImage = null;
-
-	selectionBackground = null;
-	selectionForeground = null;
-}
-void onDragDetect(Event event) {
-	boolean consume = false;
-	if (chevronRect.contains(event.x, event.y) ||
-	    minRect.contains(event.x, event.y) ||
-		maxRect.contains(event.x, event.y)){
-		consume = true;
-	} else {
-		for (int i = 0; i < items.length; i++) {
-			if (items[i].closeRect.contains(event.x, event.y)) {
-					consume = true;
-					break;
-			}
-		}
-	}
-	if (consume) {
-		event.type = SWT.None;
-	}
-}
-void onFocus(Event event) {
-	checkWidget();
-	if (selectedIndex >= 0) {
-		redraw();
-	} else {
-		setSelection(0, true);
-	}
-}
-boolean onMnemonic (Event event) {
-	char key = event.character;
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] != null) {
-			char mnemonic = _findMnemonic (items[i].getText ());
-			if (mnemonic != '\0') {
-				if (Character.toLowerCase (key) == mnemonic) {
-					setSelection(i, true);
-					return true;
-				}
-			}
-		}
-	}
-	return false;
-}
-void onMouseDoubleClick(Event event) {	
-	if (event.button != 1 || 
-		(event.stateMask & SWT.BUTTON2) != 0 || 
-		(event.stateMask & SWT.BUTTON3) != 0) return;
-	Event e = new Event();
-	e.item = getItem(new Point(event.x, event.y));
-	if (e.item != null) {
-		notifyListeners(SWT.DefaultSelection, e);
-	}
-}
-void onMouse(Event event) {
-	int x = event.x, y = event.y;
-	switch (event.type) {
-		case SWT.MouseEnter: {
-			setToolTipText(null);
-			break;
-		}
-		case SWT.MouseExit: {
-			if (minImageState != NORMAL) {
-				minImageState = NORMAL;
-				redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-			}
-			if (maxImageState != NORMAL) {
-				maxImageState = NORMAL;
-				redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-			}
-			if (chevronImageState != NORMAL) {
-				chevronImageState = NORMAL;
-				redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
-			}
-			for (int i=0; i<items.length; i++) {
-				CTabItem item = items[i];
-				if (i != selectedIndex && item.closeImageState != NONE) {
-					item.closeImageState = NONE;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-				}
-				if (i == selectedIndex && item.closeImageState != NORMAL) {
-					item.closeImageState = NORMAL;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-				}
-			}
-			break;
-		}
-		case SWT.MouseDown: {
-			if (minRect.contains(x, y)) {
-				if (event.button != 1) return;
-				minImageState = SELECTED;
-				redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-				update();
-				return;
-			}
-			if (maxRect.contains(x, y)) {
-				if (event.button != 1) return;
-				maxImageState = SELECTED;
-				redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-				update();
-				return;
-			}
-			if (chevronRect.contains(x, y)) {
-				if (event.button != 1) return;
-				if (chevronImageState != HOT) {
-					chevronImageState = HOT;
-				} else {
-					chevronImageState = SELECTED;
-				}
-				redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
-				update();
-				return;
-			}
-			CTabItem item = null;
-			if (single) {
-				if (selectedIndex != -1) {
-					Rectangle bounds = items[selectedIndex].getBounds();
-					if (bounds.contains(x, y)){
-						item = items[selectedIndex];
-					}
-				}
-			} else {
-				for (int i=0; i<items.length; i++) {
-					Rectangle bounds = items[i].getBounds();
-					if (bounds.contains(x, y)){
-						item = items[i];
-					}
-				}
-			}
-			if (item != null) {
-				if (item.closeRect.contains(x,y)){
-					if (event.button != 1) return;
-					item.closeImageState = SELECTED;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-					update();
-					return;
-				}
-				int index = indexOf(item);
-				if (item.showing){
-					setSelection(index, true);
-				}
-				return;
-			}
-			break;
-		}
-		case SWT.MouseMove: {
-			_setToolTipText(event.x, event.y);
-			boolean close = false, minimize = false, maximize = false, chevron = false;
-			if (minRect.contains(x, y)) {
-				minimize = true;
-				if (minImageState != SELECTED && minImageState != HOT) {
-					minImageState = HOT;
-					redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-				}
-			}
-			if (maxRect.contains(x, y)) {
-				maximize = true;
-				if (maxImageState != SELECTED && maxImageState != HOT) {
-					maxImageState = HOT;
-					redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-				}
-			}
-			if (chevronRect.contains(x, y)) {
-				chevron = true;
-				if (chevronImageState != SELECTED && chevronImageState != HOT) {
-					chevronImageState = HOT;
-					redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
-				}
-			}
-			if (minImageState != NORMAL && !minimize) {
-				minImageState = NORMAL;
-				redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-			}
-			if (maxImageState != NORMAL && !maximize) {
-				maxImageState = NORMAL;
-				redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-			}
-			if (chevronImageState != NORMAL && !chevron) {
-				chevronImageState = NORMAL;
-				redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
-			}
-			for (int i=0; i<items.length; i++) {
-				CTabItem item = items[i];
-				close = false;
-				if (item.getBounds().contains(x, y)) {
-					close = true;
-					if (item.closeRect.contains(x, y)) {
-						if (item.closeImageState != SELECTED && item.closeImageState != HOT) {
-							item.closeImageState = HOT;
-							redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-						}
-					} else {
-						if (item.closeImageState != NORMAL) {
-							item.closeImageState = NORMAL;
-							redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-						}
-					}
-				} 
-				if (i != selectedIndex && item.closeImageState != NONE && !close) {
-					item.closeImageState = NONE;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-				}
-				if (i == selectedIndex && item.closeImageState != NORMAL && !close) {
-					item.closeImageState = NORMAL;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-				}
-			}
-			break;
-		}
-		case SWT.MouseUp: {
-			if (event.button != 1) return;
-			if (chevronRect.contains(x, y)) {
-				boolean selected = chevronImageState == SELECTED;
-				if (!selected) return;
-				CTabFolderEvent e = new CTabFolderEvent(this);
-				e.widget = this;
-				e.time = event.time;
-				e.x = chevronRect.x;
-				e.y = chevronRect.y;
-				e.width = chevronRect.width;
-				e.height = chevronRect.height;
-				e.doit = true;
-				for (int i = 0; i < folderListeners.length; i++) {
-					folderListeners[i].showList(e);
-				}
-				if (e.doit && !isDisposed()) {
-					showList(chevronRect);
-				}
-				return;
-			}
-			if (minRect.contains(x, y)) {
-				boolean selected = minImageState == SELECTED;
-				minImageState = HOT;
-				redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-				if (!selected) return;
-				CTabFolderEvent e = new CTabFolderEvent(this);
-				e.widget = this;
-				e.time = event.time;
-				for (int i = 0; i < folderListeners.length; i++) {
-					if (minimized) {
-						folderListeners[i].restore(e);
-					} else {
-						folderListeners[i].minimize(e);
-					}
-				}
-				return;
-			}
-			if (maxRect.contains(x, y)) {
-				boolean selected = maxImageState == SELECTED;
-				maxImageState = HOT;
-				redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-				if (!selected) return;
-				CTabFolderEvent e = new CTabFolderEvent(this);
-				e.widget = this;
-				e.time = event.time;
-				for (int i = 0; i < folderListeners.length; i++) {
-					if (maximized) {
-						folderListeners[i].restore(e);
-					} else {
-						folderListeners[i].maximize(e);
-					}
-				}
-				return;
-			}
-			CTabItem item = null;
-			if (single) {
-				if (selectedIndex != -1) {
-					Rectangle bounds = items[selectedIndex].getBounds();
-					if (bounds.contains(x, y)){
-						item = items[selectedIndex];
-					}
-				}
-			} else {
-				for (int i=0; i<items.length; i++) {
-					Rectangle bounds = items[i].getBounds();
-					if (bounds.contains(x, y)){
-						item = items[i];
-					}
-				}
-			}
-			if (item != null) {
-				if (item.closeRect.contains(x,y)) {
-					boolean selected = item.closeImageState == SELECTED;
-					item.closeImageState = HOT;
-					redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
-					if (!selected) return;
-					CTabFolderEvent e = new CTabFolderEvent(this);
-					e.widget = this;
-					e.time = event.time;
-					e.item = item;
-					e.doit = true;
-					for (int j = 0; j < folderListeners.length; j++) {
-						CTabFolder2Listener listener = folderListeners[j];
-						listener.close(e);
-					}
-					for (int j = 0; j < tabListeners.length; j++) {
-						CTabFolderListener listener = tabListeners[j];
-						listener.itemClosed(e);
-					}
-					if (e.doit) {
-						item.dispose();
-						Display display = getDisplay();
-						Point pt = display.getCursorLocation();
-						pt = display.map(null, this, pt.x, pt.y);
-						CTabItem nextItem = getItem(pt);
-						if (nextItem != null) {
-							if (nextItem.closeRect.contains(pt)) {
-								if (nextItem.closeImageState != SELECTED && nextItem.closeImageState != HOT) {
-									nextItem.closeImageState = HOT;
-									redraw(nextItem.closeRect.x, nextItem.closeRect.y, nextItem.closeRect.width, nextItem.closeRect.height, false);
-								}
-							} else {
-								if (nextItem.closeImageState != NORMAL) {
-									nextItem.closeImageState = NORMAL;
-									redraw(nextItem.closeRect.x, nextItem.closeRect.y, nextItem.closeRect.width, nextItem.closeRect.height, false);
-								}
-							} 
-						}
-					}
-					return;
-				}
-			}
-		}
-	}
-}
-boolean onPageTraversal(Event event) {
-	int count = items.length;
-	if (count == 0) return false;
-	int index = selectedIndex; 
-	if (index  == -1) {
-		index = 0;
-	} else {
-		int offset = (event.detail == SWT.TRAVERSE_PAGE_NEXT) ? 1 : -1;
-		if (!mru) {
-			index = (selectedIndex + offset + count) % count;
-		} else {
-			int[] visible = new int[items.length];
-			int idx = 0;
-			int current = -1;
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].showing) {
-					if (i == selectedIndex) current = idx;
-					visible [idx++] = i;
-				}
-			}
-			if (current + offset >= 0 && current + offset < idx){
-				index = visible [current + offset];
-			} else {
-				if (showChevron) {
-					CTabFolderEvent e = new CTabFolderEvent(this);
-					e.widget = this;
-					e.time = event.time;
-					e.x = chevronRect.x;
-					e.y = chevronRect.y;
-					e.width = chevronRect.width;
-					e.height = chevronRect.height;
-					e.doit = true;
-					for (int i = 0; i < folderListeners.length; i++) {
-						folderListeners[i].showList(e);
-					}
-					if (e.doit && !isDisposed()) {
-						showList(chevronRect);
-					}
-				}
-				return true;
-			}
-		}
-	}
-	setSelection (index, true);
-	return true;
-}
-void onPaint(Event event) {
-	Font font = getFont();
-	if (oldFont == null || !oldFont.equals(font)) {
-		// handle case where  default font changes
-		oldFont = font;
-		if (!updateTabHeight(false)) {
-			updateItems();
-			redraw();
-			return;
-		}
-	}
-
-	GC gc = event.gc;
-	Font gcFont = gc.getFont();
-	Color gcBackground = gc.getBackground();
-	Color gcForeground = gc.getForeground();
-	
-// Useful for debugging paint problems
-//{
-//Point size = getSize();	
-//gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_GREEN));
-//gc.fillRectangle(-10, -10, size.x + 20, size.y+20);
-//}
-
-	drawBody(event);
-	
-	gc.setFont(gcFont);
-	gc.setForeground(gcForeground);
-	gc.setBackground(gcBackground);
-	
-	drawTabArea(event);
-	
-	gc.setFont(gcFont);
-	gc.setForeground(gcForeground);
-	gc.setBackground(gcBackground);	
-}
-
-void onResize() {
-	if (updateItems()) redrawTabs();
-	
-	Point size = getSize();
-	if (oldSize == null) {
-		redraw();
-	} else {
-		if (onBottom && size.y != oldSize.y) {
-			redraw();
-		} else {
-			int x1 = Math.min(size.x, oldSize.x);
-			if (size.x != oldSize.x) x1 -= borderRight + highlight_margin;
-			if (!simple) x1 -= 5; // rounded top right corner
-			int y1 = Math.min(size.y, oldSize.y);
-			if (size.y != oldSize.y) y1 -= borderBottom + highlight_margin;
-			int x2 = Math.max(size.x, oldSize.x);
-			int y2 = Math.max(size.y, oldSize.y);		
-			redraw(0, y1, x2, y2 - y1, false);
-			redraw(x1, 0, x2 - x1, y2, false);
-		}
-	}
-	oldSize = size;
-}
-void onTraverse (Event event) {
-	switch (event.detail) {
-		case SWT.TRAVERSE_ESCAPE:
-		case SWT.TRAVERSE_RETURN:
-		case SWT.TRAVERSE_TAB_NEXT:
-		case SWT.TRAVERSE_TAB_PREVIOUS:
-			Control focusControl = getDisplay().getFocusControl();
-			if (focusControl == this) event.doit = true;
-			break;
-		case SWT.TRAVERSE_MNEMONIC:
-			event.doit = onMnemonic(event);
-			if (event.doit) event.detail = SWT.TRAVERSE_NONE;
-			break;
-		case SWT.TRAVERSE_PAGE_NEXT:
-		case SWT.TRAVERSE_PAGE_PREVIOUS:
-			event.doit = onPageTraversal(event);
-			event.detail = SWT.TRAVERSE_NONE;
-			break;
-	}
-}
-void redrawTabs() {
-	Point size = getSize();
-	if (onBottom) {
-		redraw(0, size.y - borderBottom - tabHeight - highlight_header - 1, size.x, borderBottom + tabHeight + highlight_header + 1, false);
-	} else {
-		redraw(0, 0, size.x, borderTop + tabHeight + highlight_header + 1, false);
-	}
-}
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @see #addCTabFolder2Listener(CTabFolder2Listener)
- * 
- * @since 3.0
- */
-public void removeCTabFolder2Listener(CTabFolder2Listener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (folderListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < folderListeners.length; i++) {
-		if (listener == folderListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (folderListeners.length == 1) {
-		folderListeners = new CTabFolder2Listener[0];
-		return;
-	}
-	CTabFolder2Listener[] newTabListeners = new CTabFolder2Listener[folderListeners.length - 1];
-	System.arraycopy(folderListeners, 0, newTabListeners, 0, index);
-	System.arraycopy(folderListeners, index + 1, newTabListeners, index, folderListeners.length - index - 1);
-	folderListeners = newTabListeners;
-}
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @deprecated see removeCTabFolderCloseListener(CTabFolderListener)
- */
-public void removeCTabFolderListener(CTabFolderListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (tabListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < tabListeners.length; i++) {
-		if (listener == tabListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (tabListeners.length == 1) {
-		tabListeners = new CTabFolderListener[0];
-		return;
-	}
-	CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length - 1];
-	System.arraycopy(tabListeners, 0, newTabListeners, 0, index);
-	System.arraycopy(tabListeners, index + 1, newTabListeners, index, tabListeners.length - index - 1);
-	tabListeners = newTabListeners;
-}
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- */
-public void removeSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection, listener);	
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	redraw();
-}
-/**
- * Specify a gradient of colours to be drawn in the background of the unselected tabs.
- * For example to draw a gradient that varies from dark blue to blue and then to
- * white, use the following call to setBackground:
- * <pre>
- *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		               new int[] {25, 50, 100});
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance left to right.  The value <code>null</code> clears the
- *               background gradient. The value <code>null</code> can be used inside the array of 
- *               Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change.  The size of the percents array must be one 
- *                 less than the size of the colors array.
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- *
- * @since 3.0
- */
-void setBackground(Color[] colors, int[] percents) {
-	setBackground(colors, percents, false);
-}
-/**
- * Specify a gradient of colours to be drawn in the background of the unselected tab.
- * For example to draw a vertical gradient that varies from dark blue to blue and then to
- * white, use the following call to setBackground:
- * <pre>
- *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		                  new int[] {25, 50, 100}, true);
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance left to right.  The value <code>null</code> clears the
- *               background gradient. The value <code>null</code> can be used inside the array of 
- *               Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change.  The size of the percents array must be one 
- *                 less than the size of the colors array.
- * 
- * @param vertical indicate the direction of the gradient.  True is vertical and false is horizontal. 
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- *
- * @since 3.0
- */
-void setBackground(Color[] colors, int[] percents, boolean vertical) {
-	checkWidget();
-	if (colors != null) {
-		if (percents == null || percents.length != colors.length - 1) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		for (int i = 0; i < percents.length; i++) {
-			if (percents[i] < 0 || percents[i] > 100) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-			if (i > 0 && percents[i] < percents[i-1]) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-		}
-		if (getDisplay().getDepth() < 15) {
-			// Don't use gradients on low color displays
-			colors = new Color[] {colors[colors.length - 1]};
-			percents = new int[] {};
-		}
-	}
-	
-	// Are these settings the same as before?
-	if (bgImage == null) {
-		if ((gradientColors != null) && (colors != null) && 
-			(gradientColors.length == colors.length)) {
-			boolean same = false;
-			for (int i = 0; i < gradientColors.length; i++) {
-				if (gradientColors[i] == null) {
-					same = colors[i] == null;
-				} else {
-					same = gradientColors[i].equals(colors[i]);
-				}
-				if (!same) break;
-			}
-			if (same) {
-				for (int i = 0; i < gradientPercents.length; i++) {
-					same = gradientPercents[i] == percents[i];
-					if (!same) break;
-				}
-			}
-			if (same && this.gradientVertical == vertical) return;
-		}
-	} else {
-		bgImage = null;
-	}
-	// Store the new settings
-	if (colors == null) {
-		gradientColors = null;
-		gradientPercents = null;
-		gradientVertical = false;
-		setBackground((Color)null);
-	} else {
-		gradientColors = new Color[colors.length];
-		for (int i = 0; i < colors.length; ++i) {
-			gradientColors[i] = colors[i];
-		}
-		gradientPercents = new int[percents.length];
-		for (int i = 0; i < percents.length; ++i) {
-			gradientPercents[i] = percents[i];
-		}
-		gradientVertical = vertical;
-		setBackground(gradientColors[gradientColors.length-1]);
-	}
-
-	// Refresh with the new settings
-	redraw();
-}
-
-/**
- * Set the image to be drawn in the background of the unselected tab.  Image
- * is stretched or compressed to cover entire unselected tab area.
- * 
- * @param image the image to be drawn in the background
- * 
- * @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>
- *
- * @since 3.0
- */
-void setBackground(Image image) {
-	checkWidget();
-	if (image == bgImage) return;
-	if (image != null) {
-		gradientColors = null;
-		gradientPercents = null;
-	}
-	bgImage = image;
-	redraw();
-}
-/**
- * Toggle the visibility of the border
- * 
- * @param show true if the border should be displayed
- * 
- * @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 setBorderVisible(boolean show) {
-	checkWidget();
-	if ((borderLeft == 1) == show) return;
-	borderLeft = borderRight = show ? 1 : 0;
-	borderTop = onBottom ? borderLeft : 0;
-	borderBottom = onBottom ? 0 : borderLeft;
-	Rectangle rectBefore = getClientArea();
-	updateItems();
-	Rectangle rectAfter = getClientArea();
-	if (!rectBefore.equals(rectAfter)) {
-		notifyListeners(SWT.Resize, new Event());
-	}
-	redraw();
-}
-void setButtonBounds() {
-	Point size = getSize();
-	int oldX, oldY, oldWidth, oldHeight;
-	// max button
-	oldX = maxRect.x;
-	oldY = maxRect.y;
-	oldWidth = maxRect.width;
-	oldHeight = maxRect.height;
-	maxRect.x = maxRect.y = maxRect.width = maxRect.height = 0;
-	if (showMax) {
-		maxRect.x = size.x - borderRight - BUTTON_SIZE - 3;
-		if (borderRight > 0) maxRect.x += 1;
-		maxRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
-		maxRect.width = BUTTON_SIZE;
-		maxRect.height = BUTTON_SIZE;
-	}
-	if (oldX != maxRect.x || oldWidth != maxRect.width ||
-	    oldY != maxRect.y || oldHeight != maxRect.height) {
-		int left = Math.min(oldX, maxRect.x);
-		int right = Math.max(oldX + oldWidth, maxRect.x + maxRect.width);
-		int top = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
-		redraw(left, top, right - left, tabHeight, false); 
-	}
-	
-	// min button
-	oldX = minRect.x;
-	oldY = minRect.y;
-	oldWidth = minRect.width;
-	oldHeight = minRect.height;
-	minRect.x = minRect.y = minRect.width = minRect.height = 0;
-	if (showMin) {
-		minRect.x = size.x - borderRight - maxRect.width - BUTTON_SIZE - 3;
-		if (borderRight > 0) minRect.x += 1;
-		minRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
-		minRect.width = BUTTON_SIZE;
-		minRect.height = BUTTON_SIZE;
-	}
-	if (oldX != minRect.x || oldWidth != minRect.width ||
-	    oldY != minRect.y || oldHeight != minRect.height) {
-		int left = Math.min(oldX, minRect.x);
-		int right = Math.max(oldX + oldWidth, minRect.x + minRect.width);
-		int top = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
-		redraw(left, top, right - left, tabHeight, false);
-	}
-	
-	// top right control
-	oldX = topRightRect.x;
-	oldY = topRightRect.y;
-	oldWidth = topRightRect.width;
-	oldHeight = topRightRect.height;
-	topRightRect.x = topRightRect.y = topRightRect.width = topRightRect.height = 0;
-	if (topRight != null) {
-		switch (topRightAlignment) {
-			case SWT.FILL: {
-				int rightEdge = size.x - borderRight - 3 - maxRect.width - minRect.width;
-				if (!simple && borderRight > 0 && !showMax && !showMin) rightEdge -= 2;
-				if (single) {
-					if (items.length == 0 || selectedIndex == -1) {
-						topRightRect.x = borderLeft + 3;
-						topRightRect.width = rightEdge - topRightRect.x;
-					} else {
-						// fill size is 0 if item compressed
-						CTabItem item = items[selectedIndex];
-						if (item.x + item.width + 7 + 3*BUTTON_SIZE/2 >= rightEdge) break;
-						topRightRect.x = item.x + item.width + 7 + 3*BUTTON_SIZE/2;
-						topRightRect.width = rightEdge - topRightRect.x;
-					}
-				} else {
-					// fill size is 0 if chevron showing
-					if (showChevron) break;
-					if (items.length == 0) {
-						topRightRect.x = borderLeft + 3;
-					} else {
-						CTabItem item = items[items.length - 1];
-						topRightRect.x = item.x + item.width;
-						if (!simple && items.length - 1 == selectedIndex) topRightRect.x += curveWidth - curveIndent;
-					}
-					topRightRect.width = Math.max(0, rightEdge - topRightRect.x);
-				}
-				topRightRect.y = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
-				topRightRect.height = tabHeight - 1;
-				break;
-			}
-			case SWT.RIGHT: {
-				Point topRightSize = topRight.computeSize(SWT.DEFAULT, tabHeight, false);
-				int rightEdge = size.x - borderRight - 3 - maxRect.width - minRect.width;
-				if (!simple && borderRight > 0 && !showMax && !showMin) rightEdge -= 2;
-				topRightRect.x = rightEdge - topRightSize.x;
-				topRightRect.width = topRightSize.x;
-				topRightRect.y = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
-				topRightRect.height = tabHeight - 1;
-			}
-		}
-		topRight.setBounds(topRightRect);
-	}
-	if (oldX != topRightRect.x || oldWidth != topRightRect.width ||
-		oldY != topRightRect.y || oldHeight != topRightRect.height) {	
-		int left = Math.min(oldX, topRightRect.x);
-		int right = Math.max(oldX + oldWidth, topRightRect.x + topRightRect.width);
-		int top = onBottom ? size.y - borderBottom - tabHeight : borderTop + 1;
-		redraw(left, top, right - left, tabHeight, false);
-	}
-	
-	// chevron button
-	oldX = chevronRect.x;
-	oldY = chevronRect.y;
-	oldWidth = chevronRect.width;
-	oldHeight = chevronRect.height;
-	chevronRect.x = chevronRect.y = chevronRect.height = chevronRect.width = 0;
-	if (single) {
-		if (selectedIndex == -1 || items.length > 1) {
-			chevronRect.width = 3*BUTTON_SIZE/2;
-			chevronRect.height = BUTTON_SIZE;
-			chevronRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - chevronRect.height)/2 : borderTop + (tabHeight - chevronRect.height)/2;
-			if (selectedIndex == -1) {
-				chevronRect.x = size.x - borderRight - 3 - minRect.width - maxRect.width - topRightRect.width - chevronRect.width;
-			} else {
-				CTabItem item = items[selectedIndex];
-				int w = size.x - borderRight - 3 - minRect.width - maxRect.width - chevronRect.width;
-				if (topRightRect.width > 0) w -= topRightRect.width + 3;
-				chevronRect.x = Math.min(item.x + item.width + 3, w);
-			}
-			if (borderRight > 0) chevronRect.x += 1;
-		}
-	} else {
-		if (showChevron) {
-			chevronRect.width = 3*BUTTON_SIZE/2;
-			chevronRect.height = BUTTON_SIZE;
-			int i = 0, lastIndex = -1;
-			while (i < priority.length && items[priority[i]].showing) {
-				lastIndex = Math.max(lastIndex, priority[i++]);
-			}
-			if (lastIndex == -1) lastIndex = firstIndex;
-			CTabItem lastItem = items[lastIndex];
-			int w = lastItem.x + lastItem.width + 3;
-			if (!simple && lastIndex == selectedIndex) w += curveWidth - 2*curveIndent;
-			chevronRect.x = Math.min(w, getRightItemEdge());
-			chevronRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - chevronRect.height)/2 : borderTop + (tabHeight - chevronRect.height)/2;
-		}
-	}
-	if (oldX != chevronRect.x || oldWidth != chevronRect.width ||
-	    oldY != chevronRect.y || oldHeight != chevronRect.height) {
-		int left = Math.min(oldX, chevronRect.x);
-		int right = Math.max(oldX + oldWidth, chevronRect.x + chevronRect.width);
-		int top = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
-		redraw(left, top, right - left, tabHeight, false);
-	}
-}
-public void setFont(Font font) {
-	checkWidget();
-	if (font != null && font.equals(getFont())) return;
-	super.setFont(font);
-	oldFont = getFont();
-	if (!updateTabHeight(false)) {
-		updateItems();
-		redraw();
-	}
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	redraw();
-}
-/**
- * Display an insert marker before or after the specified tab item. 
- * 
- * A value of null will clear the mark.
- * 
- * @param item the item with which the mark is associated or null
- * 
- * @param after true if the mark should be displayed after the specified item
- * 
- * @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 setInsertMark(CTabItem item, boolean after) {
-	checkWidget();
-}
-/**
- * Display an insert marker before or after the specified tab item.
- * 
- * A value of -1 will clear the mark.
- * 
- * @param index the index of the item with which the mark is associated or null
- * 
- * @param after true if the mark should be displayed after the specified item
- * 
- * @exception IllegalArgumentException<ul>
- * </ul>
- * 
- * @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 setInsertMark(int index, boolean after) {
-	checkWidget();
-	if (index < -1 || index >= getItemCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-}
-boolean setItemLocation() {
-	boolean changed = false;
-	if (items.length == 0) return false;
-	Point size = getSize();
-	int y = onBottom ? Math.max(borderBottom, size.y - borderBottom - tabHeight) : borderTop;
-	if (single) {
-		int defaultX = getDisplay().getBounds().width + 10; // off screen
-		for (int i = 0; i < items.length; i++) {
-			CTabItem item = items[i];
-			if (i == selectedIndex) {
-				firstIndex = selectedIndex;
-				int oldX = item.x, oldY = item.y;
-				item.x = borderLeft;
-				item.y = y;
-				item.showing = true;
-				if (showClose || item.showClose) {
-					item.closeRect.x = borderLeft + CTabItem.LEFT_MARGIN;
-					item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
-				}
-				if (item.x != oldX || item.y != oldY) changed = true;
-			} else {
-				item.x = defaultX;
-				item.showing = false;
-			}
-		}
-	} else {
-		int rightItemEdge = getRightItemEdge();
-		int maxWidth = rightItemEdge - borderLeft;
-		int width = 0;
-		for (int i = 0; i < priority.length; i++) {
-			CTabItem item = items[priority[i]];
-			width += item.width;
-			item.showing = i == 0 ? true : item.width > 0 && width <= maxWidth;
-			if (!simple && priority[i] == selectedIndex) width += curveWidth - 2*curveIndent;
-		}
-		int x = 0;
-		int defaultX = getDisplay().getBounds().width + 10; // off screen
-		firstIndex = items.length - 1;
-		for (int i = 0; i < items.length; i++) {
-			CTabItem item = items[i];
-			if (!item.showing) {
-				if (item.x != defaultX) changed = true;
-				item.x = defaultX;
-			} else {
-				firstIndex = Math.min(firstIndex, i);
-				if (item.x != x || item.y != y) changed = true;
-				item.x = x;
-				item.y = y;
-				if (i == selectedIndex) {
-					int edge = Math.min(item.x + item.width, rightItemEdge);
-					item.closeRect.x = edge - CTabItem.RIGHT_MARGIN - BUTTON_SIZE;
-				} else {
-					item.closeRect.x = item.x + item.width - CTabItem.RIGHT_MARGIN - BUTTON_SIZE;
-				}
-				item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
-				x = x + item.width;
-				if (!simple && i == selectedIndex) x += curveWidth - 2*curveIndent;
-			}
-		}
-	}
-	return changed;
-}
-boolean setItemSize() {
-	boolean changed = false;
-	if (isDisposed()) return changed;
-	Point size = getSize();
-	if (size.x <= 0 || size.y <= 0) return changed;
-	xClient = borderLeft + marginWidth + highlight_margin;
-	if (onBottom) {
-		yClient = borderTop + highlight_margin + marginHeight;
-	} else {
-		yClient = borderTop + tabHeight + highlight_header + marginHeight; 
-	}
-	showChevron = false;
-	if (single) {
-		showChevron = true;
-		if (selectedIndex != -1) {
-			CTabItem tab = items[selectedIndex];
-			GC gc = new GC(this);
-			int width = tab.preferredWidth(gc, true, false);
-			gc.dispose();
-			width = Math.min(width, getRightItemEdge() - borderLeft);
-			if (tab.height != tabHeight || tab.width != width) {
-				changed = true;
-				tab.shortenedText = null;
-				tab.shortenedTextWidth = 0;
-				tab.height = tabHeight;
-				tab.width = width;
-				tab.closeRect.width = tab.closeRect.height = 0;
-				if (showClose || tab.showClose) {
-					tab.closeRect.width = BUTTON_SIZE;
-					tab.closeRect.height = BUTTON_SIZE;
-				}
-			}
-		}
-		return changed;
-	}
-	
-	if (items.length == 0) return changed;
-
-	int[] widths;
-	GC gc = new GC(this);
-	int tabAreaWidth = size.x - borderLeft - borderRight - 3;
-	if (showMin) tabAreaWidth -= BUTTON_SIZE;
-	if (showMax) tabAreaWidth -= BUTTON_SIZE;
-	if (topRightAlignment == SWT.RIGHT && topRight != null) {
-		Point rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
-		tabAreaWidth -= rightSize.x + 3;
-	}
-	if (!simple) tabAreaWidth -= curveWidth - 2*curveIndent;
-	tabAreaWidth = Math.max(0, tabAreaWidth);
-	
-	// First, try the minimum tab size at full compression.
-	int minWidth = 0;
-	int[] minWidths = new int[items.length];	
-	for (int i = 0; i < priority.length; i++) {
-		int index = priority[i];
-		minWidths[index] = items[index].preferredWidth(gc, index == selectedIndex, true);
-		minWidth += minWidths[index];
-		if (minWidth > tabAreaWidth) break;
-	}
-	if (minWidth > tabAreaWidth) {
-		// full compression required and a chevron
-		showChevron = items.length > 1;
-		if (showChevron) tabAreaWidth -= 3*BUTTON_SIZE/2;
-		widths = minWidths;
-		int index = selectedIndex != -1 ? selectedIndex : 0;
-		if (tabAreaWidth < widths[index]) {
-			widths[index] = Math.max(0, tabAreaWidth);
-		}
-	} else {
-		int maxWidth = 0;
-		int[] maxWidths = new int[items.length];
-		for (int i = 0; i < items.length; i++) {
-			maxWidths[i] = items[i].preferredWidth(gc, i == selectedIndex, false);
-			maxWidth += maxWidths[i];
-		}
-		if (maxWidth <= tabAreaWidth) {
-			// no compression required
-			widths = maxWidths;
-		} else {
-			// determine compression for each item
-			int extra = (tabAreaWidth - minWidth) / items.length;
-			while (true) {
-				int large = 0, totalWidth = 0;
-				for (int i = 0 ; i < items.length; i++) {
-					if (maxWidths[i] > minWidths[i] + extra) {
-						totalWidth += minWidths[i] + extra;
-						large++;
-					} else {
-						totalWidth += maxWidths[i];
-					}
-				}
-				if (totalWidth >= tabAreaWidth) {
-					extra--;
-					break;
-				}
-				if (large == 0 || tabAreaWidth - totalWidth < large) break;
-				extra++;
-			}
-			widths = new int[items.length];
-			for (int i = 0; i < items.length; i++) {
-				widths[i] = Math.min(maxWidths[i], minWidths[i] + extra);
-			}
-		}
-	}
-	gc.dispose();
-
-	for (int i = 0; i < items.length; i++) {
-		CTabItem tab = items[i];
-		int width = widths[i];
-		if (tab.height != tabHeight || tab.width != width) {
-			changed = true;
-			tab.shortenedText = null;
-			tab.shortenedTextWidth = 0;
-			tab.height = tabHeight;
-			tab.width = width;
-			tab.closeRect.width = tab.closeRect.height = 0;
-			if (showClose || tab.showClose) {
-				if (i == selectedIndex || showUnselectedClose) {
-					tab.closeRect.width = BUTTON_SIZE;
-					tab.closeRect.height = BUTTON_SIZE;
-				}
-			}
-		}
-	}
-	return changed;
-}
-/**
- * Marks the receiver's maximize button as visible if the argument is <code>true</code>,
- * and marks it invisible otherwise. 
- *
- * @param visible the new visibility state
- *
- * @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>
- * 
- * @since 3.0
- */
-public void setMaximizeVisible(boolean visible) {
-	checkWidget();
-	if (showMax == visible) return;
-	// display maximize button
-	showMax = visible;
-	updateItems();
-	redraw();
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-/**
- * Sets the maximized state of the receiver.
- *
- * @param maximize the new maximized state
- *
- * @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>
- *
- * @since 3.0
- */
-public void setMaximized(boolean maximize) {
-	checkWidget ();
-	if (this.maximized == maximize) return;
-	if (maximize && this.minimized) setMinimized(false);
-	this.maximized = maximize;
-	redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
-}
-/**
- * Marks the receiver's minimize button as visible if the argument is <code>true</code>,
- * and marks it invisible otherwise. 
- *
- * @param visible the new visibility state
- *
- * @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>
- * 
- * @since 3.0
- */
-public void setMinimizeVisible(boolean visible) {
-	checkWidget();
-	if (showMin == visible) return;
-	// display minimize button
-	showMin = visible;
-	updateItems();
-	redraw();
-}
-/**
- * Sets the minimized state of the receiver.
- *
- * @param minimize the new minimized state
- *
- * @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>
- *
- * @since 3.0
- */
-public void setMinimized(boolean minimize) {
-	checkWidget ();
-	if (this.minimized == minimize) return;
-	if (minimize && this.maximized) setMaximized(false);
-	this.minimized = minimize;
-	redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
-}
-
-/**
- * Sets the minimum number of characters that will 
- * be displayed in a fully compressed tab.
- * 
- * @param count the minimum number of characters that will be displayed in a fully compressed tab
- *
- * @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>
- *    <li>ERROR_INVALID_RANGE - if the count is less than zero</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void setMinimumCharacters(int count) {
-	checkWidget ();
-	if (count < 0) SWT.error(SWT.ERROR_INVALID_RANGE);
-	if (minChars == count) return;
-	minChars = count;
-	if (updateItems()) redrawTabs();
-}
-
-/**
- * When there is not enough horizontal space to show all the tabs,
- * by default, tabs are shown sequentially from left to right in 
- * order of their index.  When the MRU visibility is turned on,
- * the tabs that are visible will be the tabs most recently selected.
- * Tabs will still maintain their left to right order based on index 
- * but only the most recently selected tabs are visible.
- * <p>
- * For example, consider a CTabFolder that contains "Tab 1", "Tab 2",
- * "Tab 3" and "Tab 4" (in order by index).  The user selects
- * "Tab 1" and then "Tab 3".  If the CTabFolder is now
- * compressed so that only two tabs are visible, by default, 
- * "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently 
- * selected and "Tab 2" because it is the previous item in index order).
- * If MRU visibility is enabled, the two visible tabs will be "Tab 1"
- * and "Tab 3" (in that order from left to right).</p>
- *
- * @param show the new visibility state
- *
- * @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>
- * 
- * @since 3.1
- */
-public void setMRUVisible(boolean show) {
-	checkWidget();
-	if (mru == show) return;
-	mru = show;
-	if (!mru) {
-		int idx = firstIndex;
-		int next = 0;
-		for (int i = firstIndex; i < items.length; i++) {
-			priority[next++] = i;
-		}
-		for (int i = 0; i < idx; i++) {
-			priority[next++] = i;
-		}
-		if (updateItems()) redrawTabs();
-	}
-}
-/**
- * Set the selection to the tab at the specified item.
- * 
- * @param item the tab item to be selected
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- */
-public void setSelection(CTabItem item) {
-	checkWidget();
-	if (item == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	int index = indexOf(item);
-	setSelection(index);
-}
-/**
- * Set the selection to the tab at the specified index.
- * 
- * @param index the index of the tab item to be selected
- * 
- * @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 setSelection(int index) {
-	checkWidget();
-	if (index < 0 || index >= items.length) return;
-	CTabItem selection = items[index];
-	if (selectedIndex == index) {
-		showItem(selection);
-		return;
-	}
-	
-	int oldIndex = selectedIndex;
-	selectedIndex = index;
-	if (oldIndex != -1) {
-		items[oldIndex].closeImageState = NONE;
-	}
-	selection.closeImageState = NORMAL;
-	selection.showing = false;
-
-	Control control = selection.control;
-	if (control != null && !control.isDisposed()) {
-		control.setBounds(getClientArea());
-		control.setVisible(true);
-	}
-	
-	if (oldIndex != -1) {
-		control = items[oldIndex].control;
-		if (control != null && !control.isDisposed()) {
-			control.setVisible(false);
-		}
-	}
-	showItem(selection);
-	redraw();
-}
-void setSelection(int index, boolean notify) {	
-	int oldSelectedIndex = selectedIndex;
-	setSelection(index);
-	if (notify && selectedIndex != oldSelectedIndex && selectedIndex != -1) {
-		Event event = new Event();
-		event.item = getItem(selectedIndex);
-		notifyListeners(SWT.Selection, event);
-	}
-}
-/**
- * Sets the receiver's selection background color to the color specified
- * by the argument, or to the default system color for the control
- * if the argument is null.
- *
- * @param color the new color (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- *
- * @since 3.0
- */
-public void setSelectionBackground (Color color) {
-	checkWidget();
-	if (selectionBackground == color) return;
-	if (color == null) color = getDisplay().getSystemColor(SELECTION_BACKGROUND);
-	selectionBackground = color;
-	if (selectedIndex > -1) redraw();
-}
-/**
- * Specify a gradient of colours to be draw in the background of the selected tab.
- * For example to draw a gradient that varies from dark blue to blue and then to
- * white, use the following call to setBackground:
- * <pre>
- *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		               new int[] {25, 50, 100});
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance left to right.  The value <code>null</code> clears the
- *               background gradient. The value <code>null</code> can be used inside the array of 
- *               Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change.  The size of the percents array must be one 
- *                 less than the size of the colors array.
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public void setSelectionBackground(Color[] colors, int[] percents) {
-	setSelectionBackground(colors, percents, false);
-}
-/**
- * Specify a gradient of colours to be draw in the background of the selected tab.
- * For example to draw a vertical gradient that varies from dark blue to blue and then to
- * white, use the following call to setBackground:
- * <pre>
- *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
- *		                           display.getSystemColor(SWT.COLOR_BLUE),
- *		                           display.getSystemColor(SWT.COLOR_WHITE), 
- *		                           display.getSystemColor(SWT.COLOR_WHITE)},
- *		                  new int[] {25, 50, 100}, true);
- * </pre>
- *
- * @param colors an array of Color that specifies the colors to appear in the gradient 
- *               in order of appearance left to right.  The value <code>null</code> clears the
- *               background gradient. The value <code>null</code> can be used inside the array of 
- *               Color to specify the background color.
- * @param percents an array of integers between 0 and 100 specifying the percent of the width 
- *                 of the widget at which the color should change.  The size of the percents array must be one 
- *                 less than the size of the colors array.
- * 
- * @param vertical indicate the direction of the gradient.  True is vertical and false is horizontal. 
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- *
- * @since 3.0
- */
-public void setSelectionBackground(Color[] colors, int[] percents, boolean vertical) {
-	checkWidget();
-	if (colors != null) {
-		if (percents == null || percents.length != colors.length - 1) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		for (int i = 0; i < percents.length; i++) {
-			if (percents[i] < 0 || percents[i] > 100) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-			if (i > 0 && percents[i] < percents[i-1]) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-		}
-		if (getDisplay().getDepth() < 15) {
-			// Don't use gradients on low color displays
-			colors = new Color[] {colors[colors.length - 1]};
-			percents = new int[] {};
-		}
-	}
-	
-	// Are these settings the same as before?
-	if (selectionBgImage == null) {
-		if ((selectionGradientColors != null) && (colors != null) && 
-			(selectionGradientColors.length == colors.length)) {
-			boolean same = false;
-			for (int i = 0; i < selectionGradientColors.length; i++) {
-				if (selectionGradientColors[i] == null) {
-					same = colors[i] == null;
-				} else {
-					same = selectionGradientColors[i].equals(colors[i]);
-				}
-				if (!same) break;
-			}
-			if (same) {
-				for (int i = 0; i < selectionGradientPercents.length; i++) {
-					same = selectionGradientPercents[i] == percents[i];
-					if (!same) break;
-				}
-			}
-			if (same && this.selectionGradientVertical == vertical) return;
-		}
-	} else {
-		selectionBgImage = null;
-	}
-	// Store the new settings
-	if (colors == null) {
-		selectionGradientColors = null;
-		selectionGradientPercents = null;
-		selectionGradientVertical = false;
-		setSelectionBackground((Color)null);
-	} else {
-		selectionGradientColors = new Color[colors.length];
-		for (int i = 0; i < colors.length; ++i) {
-			selectionGradientColors[i] = colors[i];
-		}
-		selectionGradientPercents = new int[percents.length];
-		for (int i = 0; i < percents.length; ++i) {
-			selectionGradientPercents[i] = percents[i];
-		}
-		selectionGradientVertical = vertical;
-		setSelectionBackground(selectionGradientColors[selectionGradientColors.length-1]);
-	}
-
-	// Refresh with the new settings
-	if (selectedIndex > -1) redraw();
-}
-
-/**
- * Set the image to be drawn in the background of the selected tab.  Image
- * is stretched or compressed to cover entire selection tab area.
- * 
- * @param image the image to be drawn in the background
- * 
- * @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 setSelectionBackground(Image image) {
-	checkWidget();
-	if (image == selectionBgImage) return;
-	if (image != null) {
-		selectionGradientColors = null;
-		selectionGradientPercents = null;
-	}
-	selectionBgImage = image;
-	if (selectedIndex > -1) redraw();
-}
-/**
- * Set the foreground color of the selected tab.
- * 
- * @param color the color of the text displayed in the selected tab
- * 
- * @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 setSelectionForeground (Color color) {
-	checkWidget();
-	if (selectionForeground == color) return;
-	if (color == null) color = getDisplay().getSystemColor(SELECTION_FOREGROUND);
-	selectionForeground = color;
-	if (selectedIndex > -1) redraw();
-}
-/**
- * Sets the shape that the CTabFolder will use to render itself.  
- * 
- * @param simple <code>true</code> if the CTabFolder should render itself in a simple, traditional style
- * 
- * @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>
- *
- * @since 3.0
- */
-public void setSimple(boolean simple) {
-	checkWidget();
-	if (this.simple != simple) {
-		this.simple = simple;
-		Rectangle rectBefore = getClientArea();
-		updateItems();
-		Rectangle rectAfter = getClientArea();
-		if (!rectBefore.equals(rectAfter)) {
-			notifyListeners(SWT.Resize, new Event());
-		}
-		redraw();
-	}
-}
-/**
- * Sets the number of tabs that the CTabFolder should display
- * 
- * @param single <code>true</code> if only the selected tab should be displayed otherwise, multiple tabs will be shown.
- * 
- * @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>
- * 
- * @since 3.0
- */
-public void setSingle(boolean single) {
-	checkWidget();
-	if (this.single != single) {
-		this.single = single;
-		if (!single) {
-			for (int i = 0; i < items.length; i++) {
-				if (i != selectedIndex && items[i].closeImageState == NORMAL) {
-					items[i].closeImageState = NONE;
-				}
-			}
-		}
-		Rectangle rectBefore = getClientArea();
-		updateItems();
-		Rectangle rectAfter = getClientArea();
-		if (!rectBefore.equals(rectAfter)) {
-			notifyListeners(SWT.Resize, new Event());
-		}
-		redraw();
-	}
-}
-/**
- * Specify a fixed height for the tab items.  If no height is specified,
- * the default height is the height of the text or the image, whichever 
- * is greater. Specifying a height of -1 will revert to the default height.
- * 
- * @param height the pixel value of the height or -1
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if called with a height of less than 0</li>
- * </ul>
- */
-public void setTabHeight(int height) {
-	checkWidget();
-	if (height < -1) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	fixedTabHeight = height;
-	updateTabHeight(false);
-}
-/**
- * Specify whether the tabs should appear along the top of the folder 
- * or along the bottom of the folder.
- * 
- * @param position <code>SWT.TOP</code> for tabs along the top or <code>SWT.BOTTOM</code> for tabs along the bottom
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the position value is not either SWT.TOP or SWT.BOTTOM</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void setTabPosition(int position) {
-	checkWidget();
-	if (position != SWT.TOP && position != SWT.BOTTOM) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (onBottom != (position == SWT.BOTTOM)) {
-		onBottom = position == SWT.BOTTOM;
-		borderTop = onBottom ? borderLeft : 0;
-		borderBottom = onBottom ? 0 : borderRight;
-		updateTabHeight(true);
-		Rectangle rectBefore = getClientArea();
-		updateItems();
-		Rectangle rectAfter = getClientArea();
-		if (!rectBefore.equals(rectAfter)) {
-			notifyListeners(SWT.Resize, new Event());
-		}
-		redraw();
-	}
-}
-/**
- * Set the control that appears in the top right corner of the tab folder.
- * Typically this is a close button or a composite with a Menu and close button. 
- * The topRight control is optional.  Setting the top right control to null will 
- * remove it from the tab folder.
- * 
- * @param control the control to be displayed in the top right corner or null
- *
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder</li>
- * </ul>
- * 
- * @since 2.1
- */
-public void setTopRight(Control control) {
-	setTopRight(control, SWT.RIGHT);
-}
-/**
- * Set the control that appears in the top right corner of the tab folder.
- * Typically this is a close button or a composite with a Menu and close button. 
- * The topRight control is optional.  Setting the top right control to null 
- * will remove it from the tab folder.
- * <p>
- * The alignment parameter sets the layout of the control in the tab area.
- * <code>SWT.RIGHT</code> will cause the control to be positioned on the far 
- * right of the folder and it will have its default size.  <code>SWT.FILL</code> 
- * will size the control to fill all the available space to the right of the
- * last tab.  If there is no available space, the control will not be visible.
- * </p>
- *
- * @param control the control to be displayed in the top right corner or null
- * @param alignment <code>SWT.RIGHT</code> or <code>SWT.FILL</code> 
- *
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void setTopRight(Control control, int alignment) {
-	checkWidget();
-	if (alignment != SWT.RIGHT && alignment != SWT.FILL) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (control != null && control.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	topRight = control;
-	topRightAlignment = alignment;
-	if (updateItems()) redraw();
-}
-/**
- * Specify whether the close button appears 
- * when the user hovers over an unselected tabs.
- * 
- * @param visible <code>true</code> makes the close button appear
- * 
- * @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>
- * 
- * @since 3.0
- */
-public void setUnselectedCloseVisible(boolean visible) {
-	checkWidget();
-	if (showUnselectedClose == visible) return;
-	// display close button when mouse hovers
-	showUnselectedClose = visible;
-	updateItems();
-	redraw();
-}
-/**
- * Specify whether the image appears on unselected tabs.
- * 
- * @param visible <code>true</code> makes the image appear
- * 
- * @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>
- * 
- * @since 3.0
- */
-public void setUnselectedImageVisible(boolean visible) {
-	checkWidget();
-	if (showUnselectedImage == visible) return;
-	// display image on unselected items
-	showUnselectedImage = visible;
-	updateItems();
-	redraw();
-}
-/**
- * Shows the item.  If the item is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled until
- * the item is visible.
- * 
- * @param item the item to be shown
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the item is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li>
- * </ul>
- * @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>
- *
- * @see CTabFolder#showSelection()
- *
- * @since 2.0
- */
-public void showItem (CTabItem item) {
-	checkWidget();
-	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (item.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	int index = indexOf(item);
-	if (index == -1) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	int idx = -1;
-	for (int i = 0; i < priority.length; i++) {
-		if (priority[i] == index) {
-			idx = i;
-			break;
-		}
-	}
-	if (mru) {
-		// move to front of mru order
-		int[] newPriority = new int[priority.length];
-		System.arraycopy(priority, 0, newPriority, 1, idx);
-		System.arraycopy(priority, idx+1, newPriority, idx+1, priority.length - idx - 1);
-		newPriority[0] = index;
-		priority = newPriority;
-	}
-	if (item.isShowing()) return;
-	updateItems(index);
-	redrawTabs();
-}
-void showList (Rectangle rect) {
-	if (items.length == 0 || !showChevron) return;
-	if (showMenu == null || showMenu.isDisposed()) {
-		showMenu = new Menu(this);
-	} else {
-		MenuItem[] items = showMenu.getItems();
-		for (int i = 0; i < items.length; i++) {
-			items[i].dispose();
-		}
-	}
-	final String id = "CTabFolder_showList_Index"; //$NON-NLS-1$
-	for (int i = 0; i < items.length; i++) {
-		CTabItem tab = items[i];
-		if (tab.showing) continue;
-		MenuItem item = new MenuItem(showMenu, SWT.NONE);
-		item.setText(tab.getText());
-		item.setImage(tab.getImage());
-		item.setData(id, tab);
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MenuItem menuItem = (MenuItem)e.widget;
-				int index = indexOf((CTabItem)menuItem.getData(id));
-				CTabFolder.this.setSelection(index, true);
-			}
-		});
-	}
-	int x = rect.x;
-	int y = rect.y + rect.height;
-	Point location = getDisplay().map(this, null, x, y);
-	showMenu.setLocation(location.x, location.y);
-	showMenu.setVisible(true);
-}
-/**
- * Shows the selection.  If the selection is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled until
- * the selection is visible.
- *
- * @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>
- *
- * @see CTabFolder#showItem(CTabItem)
- * 
- * @since 2.0
- */
-public void showSelection () {
-	checkWidget (); 
-	if (selectedIndex != -1) {
-		showItem(getSelection());
-	}
-}
-
-void _setToolTipText (int x, int y) {
-	String oldTip = getToolTipText();
-	String newTip = _getToolTip(x, y);
-	if (newTip == null || !newTip.equals(oldTip)) {
-		setToolTipText(newTip);
-	}
-}
-
-boolean updateItems() {
-	return updateItems(selectedIndex);
-}
-
-boolean updateItems(int showIndex) {
-	if (!single && !mru && showIndex != -1) {
-		// make sure selected item will be showing
-		int firstIndex = showIndex;
-		if (priority[0] < showIndex) {
-			int maxWidth = getRightItemEdge() - borderLeft;
-			if (!simple) maxWidth -= curveWidth - 2*curveIndent;
-			int width = 0;
-			int[] widths = new int[items.length];
-			GC gc = new GC(this);
-			for (int i = priority[0]; i <= showIndex; i++) {
-				widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
-				width += widths[i];
-				if (width > maxWidth) break;
-			}
-			if (width > maxWidth) {
-				width = 0;
-				for (int i = showIndex; i >= 0; i--) {
-					if (widths[i] == 0) widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
-					width += widths[i];
-					if (width > maxWidth) break;
-					firstIndex = i;
-				}
-			} else {
-				firstIndex = priority[0];
-				for (int i = showIndex + 1; i < items.length; i++) {
-					widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
-					width += widths[i];
-					if (width >= maxWidth) break;
-				}
-				if (width < maxWidth) {
-					for (int i = priority[0] - 1; i >= 0; i--) {
-						if (widths[i] == 0) widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
-						width += widths[i];
-						if (width > maxWidth) break;
-						firstIndex = i;
-					}
-				}
-			}
-			gc.dispose();
-		}
-		if (firstIndex != priority[0]) {
-			int index = 0;
-			for (int i = firstIndex; i < items.length; i++) {
-				priority[index++] = i;
-			}
-			for (int i = 0; i < firstIndex; i++) {
-				priority[index++] = i;
-			}
-		}
-	}
-	
-	boolean oldShowChevron = showChevron;
-	boolean changed = setItemSize();
-	changed |= setItemLocation();
-	setButtonBounds();
-	changed |= showChevron != oldShowChevron;
-	if (changed && getToolTipText() != null) {
-		Point pt = getDisplay().getCursorLocation();
-		pt = toControl(pt);
-		_setToolTipText(pt.x, pt.y);
-	}
-	return changed;
-}
-boolean updateTabHeight(boolean force){
-	int oldHeight = tabHeight;
-	if (fixedTabHeight != SWT.DEFAULT) {
-		tabHeight = fixedTabHeight == 0 ? 0 : fixedTabHeight + 1; // +1 for line drawn across top of tab
-	} else {
-		int tempHeight = 0;
-		GC gc = new GC(this);
-		if (items.length == 0) {
-			tempHeight = gc.textExtent("Default", CTabItem.FLAGS).y + CTabItem.TOP_MARGIN + CTabItem.BOTTOM_MARGIN; //$NON-NLS-1$
-		} else {
-			for (int i=0; i < items.length; i++) {
-				tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
-			}
-		}
-		gc.dispose();
-		tabHeight =  tempHeight;
-	}
-	if (!force && tabHeight == oldHeight) return false;
-	
-	oldSize = null;
-	if (onBottom) {
-		int d = tabHeight - 12;
-		curve = new int[]{0,13+d, 0,12+d, 2,12+d, 3,11+d, 5,11+d, 6,10+d, 7,10+d, 9,8+d, 10,8+d,
-				          11,7+d, 11+d,7,
-						  12+d,6, 13+d,6, 15+d,4, 16+d,4, 17+d,3, 19+d,3, 20+d,2, 22+d,2, 23+d,1}; 
-		curveWidth = 26+d;
-		curveIndent = curveWidth/3;	
-	} else {
-		int d = tabHeight - 12;
-		curve = new int[]{0,0, 0,1, 2,1, 3,2, 5,2, 6,3, 7,3, 9,5, 10,5,
-				          11,6, 11+d,6+d,
-				          12+d,7+d, 13+d,7+d, 15+d,9+d, 16+d,9+d, 17+d,10+d, 19+d,10+d, 20+d,11+d, 22+d,11+d, 23+d,12+d};
-		curveWidth = 26+d;
-		curveIndent = curveWidth/3;
-	}
-	notifyListeners(SWT.Resize, new Event());
-	return true;
-}
-String _getToolTip(int x, int y) {
-	if (showMin && minRect.contains(x, y)) return minimized ? SWT.getMessage("SWT_Restore") : SWT.getMessage("SWT_Minimize"); //$NON-NLS-1$ //$NON-NLS-2$
-	if (showMax && maxRect.contains(x, y)) return maximized ? SWT.getMessage("SWT_Restore") : SWT.getMessage("SWT_Maximize"); //$NON-NLS-1$ //$NON-NLS-2$
-	if (showChevron && chevronRect.contains(x, y)) return SWT.getMessage("SWT_ShowList"); //$NON-NLS-1$
-	CTabItem item = getItem(new Point (x, y));
-	if (item == null) return null;
-	if (!item.showing) return null;
-	if ((showClose || item.showClose) && item.closeRect.contains(x, y)) {
-		return SWT.getMessage("SWT_Close"); //$NON-NLS-1$
-	}
-	return item.getToolTipText();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Adapter.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Adapter.java
deleted file mode 100644
index e9ada74..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Adapter.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.custom;
-
-/**
- * This adapter class provides default implementations for the
- * methods described by the <code>CTabFolder2Listener</code> interface.
- * <p>
- * Classes that wish to deal with <code>CTabFolderEvent</code>s can
- * extend this class and override only the methods which they are
- * interested in.
- * </p>
- *
- * @see CTabFolder2Listener
- * @see CTabFolderEvent
- * 
- * @since 3.0
- */
-public class CTabFolder2Adapter implements CTabFolder2Listener {
-	
-/**
- * Sent when the user clicks on the close button of an item in the CTabFolder.  The item being closed is specified
- * in the event.item field. Setting the event.doit field to false will stop  the CTabItem from closing. 
- * When the CTabItem is closed, it is disposed.  The contents of the CTabItem (see CTabItem#setControl) will be 
- * made not visible when the CTabItem is closed.
- * <p>
- * The default behaviour is to close the CTabItem.
- * </p>
- * 
- * @param event an event indicating the item being closed
- */
-public void close(CTabFolderEvent event){}
-
-/**
- * Sent when the user clicks on the minimize button of a CTabFolder.
- * <p>
- * The default behaviour is to do nothing.
- * </p>
- * 
- * @param event an event containing information about the minimize
- */
-public void minimize(CTabFolderEvent event){}
-
-/**
- * Sent when the user clicks on the maximize button of a CTabFolder.
- * <p>
- * The default behaviour is to do nothing.
- * </p>
- * 
- * @param event an event containing information about the maximize
- */
-public void maximize(CTabFolderEvent event){}
-
-/**
- * Sent when the user clicks on the restore button of a CTabFolder.
- * <p>
- * The default behaviour is to do nothing.
- * </p>
- * 
- * @param event an event containing information about the restore
- */
-public void restore(CTabFolderEvent event){}
-
-/**
- * Sent when the user clicks on the chevron button of a CTabFolder.
- * <p>
- * The default behaviour is to show a list of items that are not currently 
- * visible and to change the selection based on the item selected from the list.
- * </p>
- * 
- * @param event an event containing information about the show list
- */
-public void showList(CTabFolderEvent event){}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.java
deleted file mode 100644
index 4affcd4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolder2Listener.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.custom;
-
-import org.eclipse.swt.internal.*;
-
-/**
- * Classes which implement this interface provide methods
- * that deal with the events that are generated by the CTabFolder 
- * control.
- * <p>
- * After creating an instance of a class that implements
- * this interface it can be added to a CTabFolder using the
- * <code>addCTabFolder2Listener</code> method and removed using
- * the <code>removeCTabFolder2Listener</code> method. When
- * events occurs in a CTabFolder the appropriate method
- * will be invoked.
- * </p>
- *
- * @see CTabFolder2Adapter
- * @see CTabFolderEvent
- * 
- * @since 3.0
- */
-public interface CTabFolder2Listener extends SWTEventListener {
-	
-/**
- * Sent when the user clicks on the close button of an item in the CTabFolder.
- * The item being closed is specified in the event.item field. 
- * Setting the event.doit field to false will stop the CTabItem from closing. 
- * When the CTabItem is closed, it is disposed.  The contents of the 
- * CTabItem (see CTabItem.setControl) will be made not visible when
- * the CTabItem is closed.
- * 
- * @param event an event indicating the item being closed
- */
-public void close(CTabFolderEvent event);
-
-/**
- * Sent when the user clicks on the minimize button of a CTabFolder.
- * The state of the CTabFolder does not change automatically - it 
- * is up to the application to change the state of the CTabFolder
- * in response to this event using CTabFolder.setMinimized(true).
- * 
- * @param event an event containing information about the minimize
- * 
- * @see CTabFolder#getMinimized()
- * @see CTabFolder#setMinimized(boolean)
- * @see CTabFolder#setMinimizeVisible(boolean)
- */
-public void minimize(CTabFolderEvent event);
-
-/**
- * Sent when the user clicks on the maximize button of a CTabFolder.
- * The state of the CTabFolder does not change automatically - it 
- * is up to the application to change the state of the CTabFolder
- * in response to this event using CTabFolder.setMaximized(true).
- * 
- * @param event an event containing information about the maximize
- * 
- * @see CTabFolder#getMaximized()
- * @see CTabFolder#setMaximized(boolean)
- * @see CTabFolder#setMaximizeVisible(boolean)
- */
-public void maximize(CTabFolderEvent event);
-
-/**
- * Sent when the user clicks on the restore button of a CTabFolder.
- * This event is sent either to restore the CTabFolder from the 
- * minimized state or from the maximized state.  To determine
- * which restore is requested, use CTabFolder.getMinimized() or
- * CTabFolder.getMaximized() to determine the current state.
- * The state of the CTabFolder does not change automatically - it 
- * is up to the application to change the state of the CTabFolder
- * in response to this event using CTabFolder.setMaximized(false)
- * or CTabFolder.setMinimized(false).
- * 
- * @param event an event containing information about the restore
- * 
- * @see CTabFolder#getMinimized()
- * @see CTabFolder#getMaximized()
- * @see CTabFolder#setMinimized(boolean)
- * @see CTabFolder#setMinimizeVisible(boolean)
- * @see CTabFolder#setMaximized(boolean)
- * @see CTabFolder#setMaximizeVisible(boolean)
- */
-public void restore(CTabFolderEvent event);
-
-/**
- * Sent when the user clicks on the chevron button of the CTabFolder.
- * A chevron appears in the CTabFolder when there are more tabs 
- * than can be displayed at the current widget size.  To select a 
- * tab that is not currently visible, the user clicks on the
- * chevron and selects a tab item from a list.  By default, the
- * CTabFolder provides a list of all the items that are not currently
- * visible, however, the application can provide its own list by setting 
- * the event.doit field to <code>false</code> and displaying a selection list.
- * 
- * @param event an event containing information about the show list  
- * 
- * @see CTabFolder#setSelection(CTabItem)
- */
-public void showList(CTabFolderEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderAdapter.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderAdapter.java
deleted file mode 100755
index f70f2e3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderAdapter.java
+++ /dev/null
@@ -1,16 +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.custom;
-
-
-public class CTabFolderAdapter implements CTabFolderListener {
-	public void itemClosed(CTabFolderEvent event){}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderEvent.java
deleted file mode 100755
index 6de46a1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderEvent.java
+++ /dev/null
@@ -1,90 +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.custom;
-
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * 
- */
-public class CTabFolderEvent extends TypedEvent {
-	/**
-	 * The tab item for the operation.
-	 */
- 	public Widget item;
-
- 	/**
-	 * A flag indicating whether the operation should be allowed.
-	 * Setting this field to <code>false</code> will cancel the operation.
-	 * Applies to the close and showList events.
-	 */
- 	public boolean doit;
-
-	/**
-	 * The widget-relative, x coordinate of the chevron button
-	 * at the time of the event.  Applies to the showList event.
-	 * 
- 	 * @since 3.0
-	 */
- 	public int x;
- 	/**
- 	 * The widget-relative, y coordinate of the chevron button
-	 * at the time of the event.  Applies to the showList event.
-	 * 
-	 * @since 3.0
-	 */
-	public int y;
-	/**
-	 * The width of the chevron button at the time of the event.
-	 * Applies to the showList event.
-	 * 
-	 * @since 3.0
-	 */
-	public int width;
-	/**
-	 * The height of the chevron button at the time of the event.
-	 * Applies to the showList event.
-	 * 
-	 * @since 3.0
-	 */
-	public int height;
-
-	static final long serialVersionUID = 3760566386225066807L;
-	
-/**
- * Constructs a new instance of this class.
- *
- * @param w the widget that fired the event
- */
-CTabFolderEvent(Widget w) {
-	super(w);
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the event
- */
-public String toString() {
-	String string = super.toString ();
-	return string.substring (0, string.length() - 1) // remove trailing '}'
-		+ " item=" + item
-		+ " doit=" + doit
-		+ " x=" + x
-		+ " y=" + y
-		+ " width=" + width
-		+ " height=" + height
-		+ "}";
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderLayout.java
deleted file mode 100644
index e01fac6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderLayout.java
+++ /dev/null
@@ -1,82 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for CTabFolder
- * 
- * @see CTabFolder
- */
-class CTabFolderLayout extends Layout {
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	CTabFolder folder = (CTabFolder)composite;
-	CTabItem[] items = folder.items;
-	// preferred width of tab area to show all tabs
-	int tabW = 0;
-	GC gc = new GC(folder);
-	for (int i = 0; i < items.length; i++) {
-		if (folder.single) {
-			tabW = Math.max(tabW, items[i].preferredWidth(gc, true, false));
-		} else {
-			tabW += items[i].preferredWidth(gc, i == folder.selectedIndex, false);
-		}
-	}
-	gc.dispose();
-	tabW += 3;
-	if (folder.showMax) tabW += CTabFolder.BUTTON_SIZE;
-	if (folder.showMin) tabW += CTabFolder.BUTTON_SIZE;
-	if (folder.single) tabW += 3*CTabFolder.BUTTON_SIZE/2; //chevron
-	if (folder.topRight != null) {
-		Point pt = folder.topRight.computeSize(SWT.DEFAULT, folder.tabHeight, flushCache);
-		tabW += 3 + pt.x;
-	}
-	if (!folder.single && !folder.simple) tabW += folder.curveWidth - 2*folder.curveIndent;
-	
-	int controlW = 0;
-	int controlH = 0;
-	// preferred size of controls in tab items
-	for (int i = 0; i < items.length; i++) {
-		Control control = items[i].getControl();
-		if (control != null && !control.isDisposed()){
-			Point size = control.computeSize (wHint, hHint, flushCache);
-			controlW = Math.max (controlW, size.x);
-			controlH = Math.max (controlH, size.y);
-		}
-	}
-
-	int minWidth = Math.max(tabW, controlW);
-	int minHeight = (folder.minimized) ? 0 : controlH;
-	if (minWidth == 0) minWidth = CTabFolder.DEFAULT_WIDTH;
-	if (minHeight == 0) minHeight = CTabFolder.DEFAULT_HEIGHT;
-	
-	if (wHint != SWT.DEFAULT) minWidth  = wHint;
-	if (hHint != SWT.DEFAULT) minHeight = hHint;
-	
-	return new Point (minWidth, minHeight);
-}
-protected boolean flushCache(Control control) {
-	return true;
-}
-protected void layout(Composite composite, boolean flushCache) {
-	CTabFolder folder = (CTabFolder)composite;
-	// resize content
-	if (folder.selectedIndex != -1) {
-		Control control = folder.items[folder.selectedIndex].getControl();
-		if (control != null && !control.isDisposed()) {
-			control.setBounds(folder.getClientArea());
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java
deleted file mode 100755
index 4fdeab5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabFolderListener.java
+++ /dev/null
@@ -1,41 +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.custom;
-
-import org.eclipse.swt.internal.*;
-
-/**
- * Classes which implement this interface provide a method
- * that deals with events generated in the CTabFolder.
- * <p>
- * After creating an instance of a class that implements
- * this interface it can be added to a CTabFolder using the
- * <code>addCTabFolderListener</code> method and removed using
- * the <code>removeCTabFolderListener</code> method. When a
- * tab item is closed, the itemClosed method will be invoked.
- * </p>
- *
- * @see CTabFolderEvent
- */
-public interface CTabFolderListener extends SWTEventListener {
-	
-/**
- * Sent when the user clicks on the close button of an item in the CTabFolder.  The item being closed is specified
- * in the event.item field. Setting the event.doit field to false will stop the CTabItem from closing. 
- * When the CTabItem is closed, it is disposed.  The contents of the CTabItem (see CTabItem.setControl) will be 
- * made not visible when the CTabItem is closed.
- * 
- * @param event an event indicating the item being closed
- * 
- * @see CTabItem#setControl
- */
-public void itemClosed(CTabFolderEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabItem.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabItem.java
deleted file mode 100755
index 669bd07..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/CTabItem.java
+++ /dev/null
@@ -1,781 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Instances of this class represent a selectable user interface object
- * that represent a page in a notebook widget.
- * 
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>SWT.CLOSE</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(none)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-public class CTabItem extends Item {
-	CTabFolder parent;
-	int x,y,width,height = 0;
-	Control control; // the tab page
-	
-	String toolTipText;
-	String shortenedText;
-	int shortenedTextWidth;
-	
-	// Appearance
-	Font font;
-	Image disabledImage; 
-	
-	Rectangle closeRect = new Rectangle(0, 0, 0, 0);
-	int closeImageState = CTabFolder.NONE;
-	boolean showClose = false;
-	boolean showing = false;
-
-	// internal constants
-	static final int TOP_MARGIN = 2;
-	static final int BOTTOM_MARGIN = 2;
-	static final int LEFT_MARGIN = 4;
-	static final int RIGHT_MARGIN = 4;
-	static final int INTERNAL_SPACING = 4;
-	static final int FLAGS = SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC;
-	static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
-	
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>CTabFolder</code>) and a style value
- * describing its behavior and appearance. The item is added
- * to the end of the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public CTabItem (CTabFolder parent, int style) {
-	this(parent, style, parent.getItemCount());
-}
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>CTabFolder</code>), a style value
- * describing its behavior and appearance, and the index
- * at which to place it in the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- * @param index the zero-relative index to store the receiver in its parent
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the parent (inclusive)</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public CTabItem (CTabFolder parent, int style, int index) {
-	super (parent, checkStyle(style));
-	showClose = (style & SWT.CLOSE) != 0;
-	parent.createItem (this, index);
-}
-static int checkStyle(int style) {
-	return SWT.NONE;
-}
-static String shortenText(GC gc, String text, int width) {
-	if (gc.textExtent(text, FLAGS).x <= width) return text;
-	int ellipseWidth = gc.textExtent(ELLIPSIS, FLAGS).x;
-	int length = text.length();
-	int end = length - 1;
-	while (end > 0) {
-		text = text.substring(0, end);
-		int l = gc.textExtent(text, FLAGS).x;
-		if (l + ellipseWidth <= width) {
-			return text + ELLIPSIS;
-		}
-		end--;
-	}
-	return text.substring(0,1);
-}
-public void dispose() {
-	if (isDisposed ()) return;
-	//if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	parent.destroyItem(this);
-	super.dispose();
-	parent = null;
-	control = null;
-	toolTipText = null;
-	shortenedText = null;
-	font = null;
-}
-void drawClose(GC gc) {
-	if (closeRect.width == 0 || closeRect.height == 0) return;
-	Display display = getDisplay();
-
-	// draw X 9x9
-	int indent = Math.max(1, (CTabFolder.BUTTON_SIZE-9)/2);
-	int x = closeRect.x + indent;
-	int y = closeRect.y + indent;
-	y += parent.onBottom ? -1 : 1;
-	
-	Color closeBorder = display.getSystemColor(CTabFolder.BUTTON_BORDER);
-	switch (closeImageState) {
-		case CTabFolder.NORMAL: {
-			int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y, 
-					                 x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
-			                         x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
-			                         x,y+7, x+2,y+5, x+2,y+4, x,y+2};
-			gc.setBackground(display.getSystemColor(CTabFolder.BUTTON_FILL));
-			gc.fillPolygon(shape);
-			gc.setForeground(closeBorder);
-			gc.drawPolygon(shape);
-			break;
-		}
-		case CTabFolder.HOT: {
-			int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y, 
-					                 x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
-			                         x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
-			                         x,y+7, x+2,y+5, x+2,y+4, x,y+2};
-			Color fill = new Color(display, CTabFolder.CLOSE_FILL);
-			gc.setBackground(fill);
-			gc.fillPolygon(shape);
-			fill.dispose();
-			gc.setForeground(closeBorder);
-			gc.drawPolygon(shape);
-			break;
-		}
-		case CTabFolder.SELECTED: {
-			int[] shape = new int[] {x+1,y+1, x+3,y+1, x+5,y+3, x+6,y+3, x+8,y+1, x+10,y+1, 
-					                 x+10,y+3, x+8,y+5, x+8,y+6, x+10,y+8, x+10,y+10,
-			                         x+8,y+10, x+6,y+8, x+5,y+8, x+3,y+10, x+1,y+10,
-			                         x+1,y+8, x+3,y+6, x+3,y+5, x+1,y+3};
-			Color fill = new Color(display, CTabFolder.CLOSE_FILL);
-			gc.setBackground(fill);
-			gc.fillPolygon(shape);
-			fill.dispose();
-			gc.setForeground(closeBorder);
-			gc.drawPolygon(shape);
-			break;
-		}
-		case CTabFolder.NONE: {
-			int[] shape = new int[] {x,y, x+10,y, x+10,y+10, x,y+10};
-			if (parent.gradientColors != null && !parent.gradientVertical) {
-				parent.drawBackground(gc, shape, false);
-			} else {
-				Color defaultBackground = parent.getBackground();
-				Image image = parent.bgImage;
-				Color[] colors = parent.gradientColors;
-				int[] percents = parent.gradientPercents;
-				boolean vertical = parent.gradientVertical; 
-				parent.drawBackground(gc, shape, x, y, 10, 10, defaultBackground, image, colors, percents, vertical);
-			}
-			break;
-		}
-	}
-}
-void drawSelected(GC gc ) {
-	Point size = parent.getSize();
-	int rightEdge = Math.min (x + width, parent.getRightItemEdge());
-	
-	//	 Draw selection border across all tabs
-	int xx = parent.borderLeft;
-	int yy = parent.onBottom ? size.y - parent.borderBottom - parent.tabHeight - parent.highlight_header : parent.borderTop + parent.tabHeight + 1;
-	int ww = size.x - parent.borderLeft - parent.borderRight;
-	int hh = parent.highlight_header - 1;
-	int[] shape = new int[] {xx,yy, xx+ww,yy, xx+ww,yy+hh, xx,yy+hh};
-	if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
-		parent.drawBackground(gc, shape, true);
-	} else {
-		gc.setBackground(parent.selectionBackground);
-		gc.fillRectangle(xx, yy, ww, hh);
-	}
-	
-	if (parent.single) {
-		if (!showing) return;
-	} else {
-		// if selected tab scrolled out of view or partially out of view
-		// just draw bottom line
-		if (!showing){
-			int x1 = Math.max(0, parent.borderLeft - 1);
-			int y1 = (parent.onBottom) ? y - 1 : y + height;
-			int x2 = size.x - parent.borderRight;
-			gc.setForeground(CTabFolder.borderColor);
-			gc.drawLine(x1, y1, x2, y1);
-			return;
-		}
-			
-		// draw selected tab background and outline
-		shape = null;
-		if (this.parent.onBottom) {
-			int[] left = parent.simple ? CTabFolder.SIMPLE_BOTTOM_LEFT_CORNER : CTabFolder.BOTTOM_LEFT_CORNER;
-			int[] right = parent.simple ? CTabFolder.SIMPLE_BOTTOM_RIGHT_CORNER : parent.curve;
-			if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
-				left = new int[]{x, y+height};
-			}
-			shape = new int[left.length+right.length+8];
-			int index = 0;
-			shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
-			shape[index++] = y - 1;
-			shape[index++] = x;
-			shape[index++] = y - 1;
-			for (int i = 0; i < left.length/2; i++) {
-				shape[index++] = x + left[2*i];
-				shape[index++] = y + height + left[2*i+1] - 1;
-			}
-			for (int i = 0; i < right.length/2; i++) {
-				shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - parent.curveIndent + right[2*i];
-				shape[index++] = parent.simple ? y + height + right[2*i+1] - 1 : y + right[2*i+1] - 2;
-			}
-			shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
-			shape[index++] = y - 1;
-			shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
-			shape[index++] = y - 1;
-		} else {
-			int[] left = parent.simple ? CTabFolder.SIMPLE_TOP_LEFT_CORNER : CTabFolder.TOP_LEFT_CORNER;
-			int[] right = parent.simple ? CTabFolder.SIMPLE_TOP_RIGHT_CORNER : parent.curve;
-			if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
-				left = new int[]{x, y};
-			}
-			shape = new int[left.length+right.length+8];
-			int index = 0;
-			shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
-			shape[index++] = y + height + 1;
-			shape[index++] = x;
-			shape[index++] = y + height + 1;
-			for (int i = 0; i < left.length/2; i++) {
-				shape[index++] = x + left[2*i];
-				shape[index++] = y + left[2*i+1];
-			}
-			for (int i = 0; i < right.length/2; i++) {
-				shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - parent.curveIndent + right[2*i];
-				shape[index++] = y + right[2*i+1];
-			}
-			shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
-			shape[index++] = y + height + 1;
-			shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
-			shape[index++] = y + height + 1;
-		}
-		
-		Rectangle clipping = gc.getClipping();
-		Rectangle bounds = getBounds();
-		bounds.height += 1;
-		if (parent.onBottom) bounds.y -= 1;
-		boolean tabInPaint = clipping.intersects(bounds);
-		
-		if (tabInPaint) {
-			// fill in tab background
-			if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
-				parent.drawBackground(gc, shape, true);
-			} else {
-				Color defaultBackground = parent.selectionBackground;
-				Image image = parent.selectionBgImage;
-				Color[] colors = parent.selectionGradientColors;
-				int[] percents = parent.selectionGradientPercents;
-				boolean vertical = parent.selectionGradientVertical;
-				xx = x;
-				yy = parent.onBottom ? y -1 : y + 1;
-				ww = width;
-				hh = height;
-				if (!parent.single && !parent.simple) ww += parent.curveWidth - parent.curveIndent;
-				parent.drawBackground(gc, shape, xx, yy, ww, hh, defaultBackground, image, colors, percents, vertical);
-			}
-		}
-		
-		// draw outline
-		shape[0] = Math.max(0, parent.borderLeft - 1);
-		if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
-			shape[1] = parent.onBottom ? y + height - 1 : y; 
-			shape[5] = shape[3] = shape[1];
-		}
-		shape[shape.length - 2] = size.x - parent.borderRight + 1;
-		for (int i = 0; i < shape.length/2; i++) {
-			if (shape[2*i + 1] == y + height + 1) shape[2*i + 1] -= 1;
-		}
-		RGB inside = parent.selectionBackground.getRGB();
-		if (parent.selectionBgImage != null || 
-		    (parent.selectionGradientColors != null && parent.selectionGradientColors.length > 1)) {
-		    inside = null;
-		}
-		RGB outside = parent.getBackground().getRGB();		
-		if (parent.bgImage != null || 
-		    (parent.gradientColors != null && parent.gradientColors.length > 1)) {
-		    outside = null;
-		}
-		parent.antialias(shape, CTabFolder.borderColor.getRGB(), inside, outside, gc);
-		gc.setForeground(CTabFolder.borderColor);
-		gc.drawPolyline(shape);
-		
-		if (!tabInPaint) return;
-	}
-	
-	// draw Image
-	int xDraw = x + LEFT_MARGIN;
-	if (parent.single && (parent.showClose || showClose)) xDraw += CTabFolder.BUTTON_SIZE; 
-	Image image = getImage();
-	if (image != null) {
-		Rectangle imageBounds = image.getBounds();
-		// only draw image if it won't overlap with close button
-		int maxImageWidth = rightEdge - xDraw - RIGHT_MARGIN;
-		if (!parent.single && closeRect.width > 0) maxImageWidth -= closeRect.width + INTERNAL_SPACING;
-		if (imageBounds.width < maxImageWidth) {
-			int imageX = xDraw;
-			int imageY = y + (height - imageBounds.height) / 2;
-			imageY += parent.onBottom ? -1 : 1;
-			gc.drawImage(image, imageX, imageY);
-			xDraw += imageBounds.width + INTERNAL_SPACING;
-		}
-	}
-	
-	// draw Text
-	int textWidth = rightEdge - xDraw - RIGHT_MARGIN;
-	if (!parent.single && closeRect.width > 0) textWidth -= closeRect.width + INTERNAL_SPACING;
-	if (textWidth > 0) {
-		Font gcFont = gc.getFont();
-		gc.setFont(font == null ? parent.getFont() : font);
-		
-		if (shortenedText == null || shortenedTextWidth != textWidth) {
-			shortenedText = shortenText(gc, getText(), textWidth);
-			shortenedTextWidth = textWidth;
-		}
-		Point extent = gc.textExtent(shortenedText, FLAGS);	
-		int textY = y + (height - extent.y) / 2;
-		textY += parent.onBottom ? -1 : 1;
-		
-		gc.setForeground(parent.selectionForeground);
-		gc.drawText(shortenedText, xDraw, textY, FLAGS);
-		gc.setFont(gcFont);
-		
-		// draw a Focus rectangle
-		if (parent.isFocusControl()) {
-			Display display = getDisplay();
-			if (parent.simple || parent.single) {
-				gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-				gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-				gc.drawFocus(xDraw-1, textY-1, extent.x+2, extent.y+2);
-			} else {
-				gc.setForeground(display.getSystemColor(CTabFolder.BUTTON_BORDER));
-				gc.drawLine(xDraw, textY+extent.y+1, xDraw+extent.x+1, textY+extent.y+1);
-			}
-		}
-	}
-	if (parent.showClose || showClose) drawClose(gc);
-}
-void drawUnselected(GC gc) {
-	// Do not draw partial items
-	if (!showing) return;
-	
-	Rectangle clipping = gc.getClipping();
-	Rectangle bounds = getBounds();
-	if (!clipping.intersects(bounds)) return;
-	
-	// draw border
-	int nextVisible = -1;
-	for (int i = parent.indexOf(this)+1; i < parent.items.length; i++) {
-		if (parent.items[i].showing) {
-			nextVisible = i;
-			break;
-		}
-	}
-	if (nextVisible == -1 || nextVisible != parent.selectedIndex) {
-		gc.setForeground(CTabFolder.borderColor);
-		gc.drawLine(x + width - 1, y, x + width - 1, y + height);
-	}
-	// draw Image
-	int xDraw = x + LEFT_MARGIN;
-	Image image = getImage();
-	if (image != null && parent.showUnselectedImage) {
-		Rectangle imageBounds = image.getBounds();
-		// only draw image if it won't overlap with close button
-		int maxImageWidth = x + width - xDraw - RIGHT_MARGIN;
-		if (parent.showUnselectedClose && (parent.showClose || showClose)) {
-			maxImageWidth -= closeRect.width + INTERNAL_SPACING;
-		}
-		if (imageBounds.width < maxImageWidth) {		
-			int imageX = xDraw;
-			int imageHeight = imageBounds.height;
-			int imageY = y + (height - imageHeight) / 2;
-			imageY += parent.onBottom ? -1 : 1;
-			int imageWidth = imageBounds.width * imageHeight / imageBounds.height;
-			gc.drawImage(image, 
-				         imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height,
-				         imageX, imageY, imageWidth, imageHeight);
-			xDraw += imageWidth + INTERNAL_SPACING;
-		}
-	}
-	// draw Text
-	int textWidth = x + width - xDraw - RIGHT_MARGIN;
-	if (parent.showUnselectedClose && (parent.showClose || showClose)) {
-		textWidth -= closeRect.width + INTERNAL_SPACING;
-	}
-	if (textWidth > 0) {
-		Font gcFont = gc.getFont();
-		gc.setFont(font == null ? parent.getFont() : font);
-		if (shortenedText == null || shortenedTextWidth != textWidth) {
-			shortenedText = shortenText(gc, getText(), textWidth);
-			shortenedTextWidth = textWidth;
-		}	
-		Point extent = gc.textExtent(shortenedText, FLAGS);
-		int textY = y + (height - extent.y) / 2;
-		textY += parent.onBottom ? -1 : 1;
-		gc.setForeground(parent.getForeground());
-		gc.drawText(shortenedText, xDraw, textY, FLAGS);
-		gc.setFont(gcFont);
-	}
-	// draw close
-	if (parent.showUnselectedClose && (parent.showClose || showClose)) drawClose(gc);
-}
-/**
- * Returns a rectangle describing the receiver's size and location
- * relative to its parent.
- *
- * @return the receiver's bounding column rectangle
- *
- * @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 Rectangle getBounds () {
-	//checkWidget();
-	int w = width;
-	if (!parent.simple && !parent.single && parent.indexOf(this) == parent.selectedIndex) w += parent.curveWidth - parent.curveIndent;
-	return new Rectangle(x, y, w, height);
-}
-/**
-* Gets the control that is displayed in the content area of the tab item.
-*
-* @return the control
-*
-* @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 Control getControl () {
-	checkWidget();
-	return control;
-}
-/**
- * Get the image displayed in the tab if the tab is disabled.
- * 
- * @return the disabled image or null
- * 
- * @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>
- * 
- * @deprecated the disabled image is not used
- */
-public Image getDisabledImage(){
-	checkWidget();
-	return disabledImage;
-}
-/**
- * Returns the font that the receiver will use to paint textual information.
- *
- * @return the receiver's font
- *
- * @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>
- * 
- *  @since 3.0
- */
-public Font getFont() {
-	checkWidget();
-	if (font != null) return font;
-	return parent.getFont();
-}
-/**
- * Returns the receiver's parent, which must be a <code>CTabFolder</code>.
- *
- * @return the receiver's parent
- * 
- * @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 CTabFolder getParent () {
-	//checkWidget();
-	return parent;
-}
-/**
- * Returns the receiver's tool tip text, or null if it has
- * not been set.
- *
- * @return the receiver's tool tip text
- *
- * @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 String getToolTipText () {
-	checkWidget();
-	if (toolTipText == null && shortenedText != null) {
-		String text = getText();
-		if (!shortenedText.equals(text)) return text;
-	}
-	return toolTipText;
-}
-/**
-* Returns <code>true</code> if the item will be rendered in the visible area of the CTabFolder. Returns false otherwise.
-* 
-*  @return <code>true</code> if the item will be rendered in the visible area of the CTabFolder. Returns 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>
- * 
-* @since 3.0
-*/
-public boolean isShowing () {
-	checkWidget();
-	return showing;
-}
-void onPaint(GC gc, boolean isSelected) {
-	if (width == 0 || height == 0) return;
-	if (isSelected) {
-		drawSelected(gc);
-	} else {
-		drawUnselected(gc);
-	}
-}
-int preferredHeight(GC gc) {
-	Image image = getImage();
-	int h = (image == null) ? 0 : image.getBounds().height;
-	String text = getText();
-	if (font == null) {
-		h = Math.max(h, gc.textExtent(text, FLAGS).y);
-	} else {
-		Font gcFont = gc.getFont();
-		gc.setFont(font);
-		h = Math.max(h, gc.textExtent(text, FLAGS).y);
-		gc.setFont(gcFont);
-	}
-	return h + TOP_MARGIN + BOTTOM_MARGIN;
-}
-int preferredWidth(GC gc, boolean isSelected, boolean minimum) {
-	// NOTE: preferred width does not include the "dead space" caused
-	// by the curve.
-	if (isDisposed()) return 0;
-	int w = 0;
-	Image image = getImage();
-	if (image != null && (isSelected || parent.showUnselectedImage)) {
-		w += image.getBounds().width;
-	}
-	String text = null;
-	if (minimum) {
-		int minChars = parent.minChars;
-		text = minChars == 0 ? null : getText();
-		if (text != null && text.length() > minChars) {
-			int end = minChars < ELLIPSIS.length() + 1 ? minChars : minChars - ELLIPSIS.length();
-			text = text.substring(0, end);
-			if (minChars > ELLIPSIS.length() + 1) text += ELLIPSIS;
-		}
-	} else {
-		text = getText();
-	}
-	if (text != null) {
-		if (w > 0) w += INTERNAL_SPACING;
-		if (font == null) {
-			w += gc.textExtent(text, FLAGS).x;
-		} else {
-			Font gcFont = gc.getFont();
-			gc.setFont(font);
-			w += gc.textExtent(text, FLAGS).x;
-			gc.setFont(gcFont);
-		}
-	}
-	if (parent.showClose || showClose) {
-		if (isSelected || parent.showUnselectedClose) {
-			if (w > 0) w += INTERNAL_SPACING;
-			w += CTabFolder.BUTTON_SIZE;
-		}
-	}
-	return w + LEFT_MARGIN + RIGHT_MARGIN;
-}
-/**
- * Sets the control that is used to fill the client area of
- * the tab folder when the user selects the tab item.
- *
- * @param control the new control (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the control has been disposed</li> 
- *    <li>ERROR_INVALID_PARENT - if the control is not in the same widget tree</li>
- * </ul>
- * @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 setControl (Control control) {
-	checkWidget();
-	if (control != null) {
-		if (control.isDisposed()) SWT.error (SWT.ERROR_INVALID_ARGUMENT);
-		if (control.getParent() != parent) SWT.error (SWT.ERROR_INVALID_PARENT);
-	}
-	if (this.control != null && !this.control.isDisposed()) {
-		this.control.setVisible(false);
-	}
-	this.control = control;
-	if (this.control != null) {
-		int index = parent.indexOf (this);
-		if (index == parent.getSelectionIndex ()){
-			this.control.setBounds(parent.getClientArea ());
-			this.control.setVisible(true);
-		} else {
-			this.control.setVisible(false);
-		}
-	}
-}
-/**
- * Sets the image that is displayed if the tab item is disabled.
- * Null will clear the image.
- * 
- * @param image the image to be displayed when the item is disabled or null
- *
- * @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>
- * 
- * @deprecated This image is not used
- */
-public void setDisabledImage (Image image) {
-	checkWidget();
-	if (image != null && image.isDisposed ()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	this.disabledImage = image;
-}
-/**
- * Sets the font that the receiver will use to paint textual information
- * for this item to the font specified by the argument, or to the default font
- * for that kind of control if the argument is null.
- *
- * @param font the new font (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * 
- * @since 3.0
- */
-public void setFont (Font font){
-	checkWidget();
-	if (font != null && font.isDisposed ()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (font == null && this.font == null) return;
-	if (font != null && font.equals(this.font)) return;
-	this.font = font;
-	if (!parent.updateTabHeight(false)) {
-		parent.updateItems();
-		parent.redrawTabs();
-	}
-}
-public void setImage (Image image) {
-	checkWidget();
-	if (image != null && image.isDisposed ()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	Image oldImage = getImage();
-	if (image == null && oldImage == null) return;
-	if (image != null && image.equals(oldImage)) return;
-	super.setImage(image);
-	if (!parent.updateTabHeight(false)) {
-		// If image is the same size as before, 
-		// redraw only the image
-		if (oldImage != null && image != null) {
-			Rectangle oldBounds = oldImage.getBounds();
-			Rectangle bounds = image.getBounds();
-			if (bounds.width == oldBounds.width && bounds.height == oldBounds.height) {
-				if (showing) parent.redraw(x, y, width, height, false);
-				return;
-			}
-		} 
-		parent.updateItems();
-		parent.redrawTabs();
-	}
-}
-public void setText (String string) {
-	checkWidget();
-	if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (string.equals(getText())) return;
-	super.setText(string);
-	shortenedText = null;
-	shortenedTextWidth = 0;
-	if (!parent.updateTabHeight(false)) {
-		parent.updateItems();
-		parent.redrawTabs();
-	}
-}
-/**
- * Sets the receiver's tool tip text to the argument, which
- * may be null indicating that no tool tip text should be shown.
- *
- * @param string the new tool tip text (or null)
- *
- * @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 setToolTipText (String string) {
-	checkWidget();
-	toolTipText = string;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ControlEditor.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ControlEditor.java
deleted file mode 100755
index e49735c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ControlEditor.java
+++ /dev/null
@@ -1,250 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
-*
-* A ControlEditor is a manager for a Control that appears above a composite and tracks with the
-* moving and resizing of that composite.  It can be used to display one control above 
-* another control.  This could be used when editing a control that does not have editing 
-* capabilities by using a text editor or for launching a dialog by placing a button 
-* above a control.
-*
-* <p> Here is an example of using a ControlEditor:
-*
-* <code><pre>
-* Canvas canvas = new Canvas(shell, SWT.BORDER);
-* canvas.setBounds(10, 10, 300, 300);	
-* Color color = new Color(null, 255, 0, 0);
-* canvas.setBackground(color);
-* ControlEditor editor = new ControlEditor (canvas);
-* // The editor will be a button in the bottom right corner of the canvas.
-* // When selected, it will launch a Color dialog that will change the background 
-* // of the canvas.
-* Button button = new Button(canvas, SWT.PUSH);
-* button.setText("Select Color...");
-* button.addSelectionListener (new SelectionAdapter() {
-* 	public void widgetSelected(SelectionEvent e) {
-* 		ColorDialog dialog = new ColorDialog(shell);
-* 		dialog.open();
-* 		RGB rgb = dialog.getRGB();
-* 		if (rgb != null) {
-* 			if (color != null) color.dispose();
-* 			color = new Color(null, rgb);
-* 			canvas.setBackground(color);
-* 		}
-* 		
-* 	}
-* });
-*
-* editor.horizontalAlignment = SWT.RIGHT;
-* editor.verticalAlignment = SWT.BOTTOM;
-* editor.grabHorizontal = false;
-* editor.grabVertical = false;
-* Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-* editor.minimumWidth = size.x;
-* editor.minimumHeight = size.y;
-* editor.setEditor (button);
-* </pre></code>
-*/
-public class ControlEditor {
-
-	/**
-	* Specifies how the editor should be aligned relative to the control.  Allowed values
-	* are SWT.LEFT, SWT.RIGHT and SWT.CENTER.  The default value is SWT.CENTER.
-	*/
-	public int horizontalAlignment = SWT.CENTER;
-	
-	/**
-	* Specifies whether the editor should be sized to use the entire width of the control.
-	* True means resize the editor to the same width as the cell.  False means do not adjust 
-	* the width of the editor.	The default value is false.
-	*/
-	public boolean grabHorizontal = false;
-	
-	/**
-	* Specifies the minimum width the editor can have.  This is used in association with
-	* a true value of grabHorizontal.  If the cell becomes smaller than the minimumWidth, the 
-	* editor will not made smaller than the minimum width value.  The default value is 0.
-	*/
-	public int minimumWidth = 0;
-	
-	/**
-	* Specifies how the editor should be aligned relative to the control.  Allowed values
-	* are SWT.TOP, SWT.BOTTOM and SWT.CENTER.  The default value is SWT.CENTER.
-	*/
-	public int verticalAlignment = SWT.CENTER;
-	
-	/**
-	* Specifies whether the editor should be sized to use the entire height of the control.
-	* True means resize the editor to the same height as the underlying control.  False means do not adjust 
-	* the height of the editor.	The default value is false.
-	*/
-	public boolean grabVertical = false;
-	
-	/**
-	* Specifies the minimum height the editor can have.  This is used in association with
-	* a true value of grabVertical.  If the control becomes smaller than the minimumHeight, the 
-	* editor will not made smaller than the minimum height value.  The default value is 0.
-	*/
-	public int minimumHeight = 0;
-
-	Composite parent;
-	Control editor;
-	private boolean hadFocus;
-	private Listener tableListener;
-	private Listener scrollbarListener;
-/**
-* Creates a ControlEditor for the specified Composite.
-*
-* @param parent the Composite above which this editor will be displayed
-*
-*/
-public ControlEditor (Composite parent) {
-	this.parent = parent;
-
-	tableListener = new Listener() {
-		public void handleEvent(Event e) {
-			_resize ();
-		}
-	};	
-	parent.addListener (SWT.Resize, tableListener);
-	
-	scrollbarListener = new Listener() {
-		public void handleEvent(Event e) {
-			scroll (e);
-		}
-	};			
-	ScrollBar hBar = parent.getHorizontalBar ();
-	if (hBar != null) hBar.addListener (SWT.Selection, scrollbarListener);
-	ScrollBar vBar = parent.getVerticalBar ();
-	if (vBar != null) vBar.addListener (SWT.Selection, scrollbarListener);
-}
-Rectangle computeBounds () {
-	Rectangle clientArea = parent.getClientArea();
-	Rectangle editorRect = new Rectangle(clientArea.x, clientArea.y, minimumWidth, minimumHeight);
-	
-	if (grabHorizontal)
-		editorRect.width = Math.max(clientArea.width, minimumWidth);
-	
-	if (grabVertical)
-		editorRect.height = Math.max(clientArea.height, minimumHeight);
-
-	switch (horizontalAlignment) {
-		case SWT.RIGHT:
-			editorRect.x += clientArea.width - editorRect.width;
-			break;
-		case SWT.LEFT:
-			// do nothing - clientArea.x is the right answer
-			break;
-		default:
-			// default is CENTER
-			editorRect.x += (clientArea.width - editorRect.width)/2;
-	}
-	
-	switch (verticalAlignment) {
-		case SWT.BOTTOM:
-			editorRect.y += clientArea.height - editorRect.height;
-			break;
-		case SWT.TOP:
-			// do nothing - clientArea.y is the right answer
-			break;
-		default :
-			// default is CENTER
-			editorRect.y += (clientArea.height - editorRect.height)/2;
-	}
-
-	
-	return editorRect;
-
-}
-/**
- * Removes all associations between the Editor and the underlying composite.  The
- * composite and the editor Control are <b>not</b> disposed.
- */
-public void dispose () {
-	if (!parent.isDisposed()) {
-		parent.removeListener (SWT.Resize, tableListener);
-		ScrollBar hBar = parent.getHorizontalBar ();
-		if (hBar != null) hBar.removeListener (SWT.Selection, scrollbarListener);
-		ScrollBar vBar = parent.getVerticalBar ();
-		if (vBar != null) vBar.removeListener (SWT.Selection, scrollbarListener);
-	}
-	
-	parent = null;
-	editor = null;
-	hadFocus = false;
-	tableListener = null;
-	scrollbarListener = null;
-}
-/**
-* Returns the Control that is displayed above the composite being edited.
-*
-* @return the Control that is displayed above the composite being edited
-*/
-public Control getEditor () {
-	return editor;
-}
-/**
- * Lays out the control within the underlying composite.  This
- * method should be called after changing one or more fields to
- * force the Editor to resize.
- * 
- * @since 2.1
- */
-public void layout () {
-	_resize();
-}
-void _resize () {
-	if (editor == null || editor.isDisposed()) return;
-	if (editor.getVisible ()) {
-		hadFocus = editor.isFocusControl();
-	} // this doesn't work because
-	  // resizing the column takes the focus away
-	  // before we get here
-	editor.setBounds (computeBounds ());
-	if (hadFocus) {
-		if (editor == null || editor.isDisposed()) return;
-		editor.setFocus ();
-	}
-}
-void scroll (Event e) {
-	if (editor == null || editor.isDisposed()) return;
-	editor.setBounds (computeBounds ());
-}
-/**
-* Specify the Control that is to be displayed.
-*
-* <p>Note: The Control provided as the editor <b>must</b> be created with its parent 
-* being the Composite specified in the ControlEditor constructor.
-* 
-* @param editor the Control that is displayed above the composite being edited
-*/
-public void setEditor (Control editor) {
-	
-	if (editor == null) {
-		// this is the case where the caller is setting the editor to be blank
-		// set all the values accordingly
-		this.editor = null;
-		return;
-	}
-	
-	this.editor = editor;
-	_resize();
-	if (this.editor == null || this.editor.isDisposed()) return;
-	editor.setVisible(true);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/DefaultContent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/DefaultContent.java
deleted file mode 100755
index 0c8ef51..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/DefaultContent.java
+++ /dev/null
@@ -1,880 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.Compatibility;
-import org.eclipse.swt.widgets.*;
-import java.util.Vector;
-
-class DefaultContent implements StyledTextContent {
-	private final static String LineDelimiter = System.getProperty("line.separator");
-
-	Vector textListeners = new Vector(); // stores text listeners for event sending
-	char[] textStore = new char[0];	// stores the actual text
-	int gapStart = -1;	// the character position start of the gap
-	int gapEnd = -1;	// the character position after the end of the gap
-	int gapLine = -1;	// the line on which the gap exists, the gap will always be associated with one line
-	int highWatermark = 300;	
-	int lowWatermark = 50;		
-	
-	int[][] lines = new int[50][2];	// array of character positions and lengths representing the lines of text
-	int lineCount = 0;	// the number of lines of text	
-	int expandExp = 1; 	// the expansion exponent, used to increase the lines array exponentially
-	int replaceExpandExp = 1; 	// the expansion exponent, used to increase the lines array exponentially
-
-/** 
- * Creates a new DefaultContent and initializes it.  A <code>StyledTextContent</> will always have
- * at least one empty line.
- */
-DefaultContent() {
-	super();
-	setText("");
-}
-/** 
- * Adds a line to the end of the line indexes array.  Increases the size of the array if necessary.
- * <code>lineCount</code> is updated to reflect the new entry.
- * <p>
- *
- * @param start the start of the line
- * @param length the length of the line
- */
-void addLineIndex(int start, int length) {
-	int size = lines.length;
-	if (lineCount == size) {
-		// expand the lines by powers of 2
-		int[][] newLines = new int[size+Compatibility.pow2(expandExp)][2];
-		System.arraycopy(lines, 0, newLines, 0, size);
-		lines = newLines;
-		expandExp++;
-	}
-	int[] range = new int[] {start, length};
-	lines[lineCount] = range;
-	lineCount++;
-}
-/** 
- * Adds a line index to the end of <code>linesArray</code>.  Increases the 
- * size of the array if necessary and returns a new array.
- * <p>
- *
- * @param start the start of the line
- * @param length the length of the line
- * @param linesArray the array to which to add the line index
- * @param count the position at which to add the line
- * @return a new array of line indexes
- */
-int[][] addLineIndex(int start, int length, int[][] linesArray, int count) {
-	int size = linesArray.length;
-	int[][] newLines = linesArray;
-	if (count == size) {
-		newLines = new int[size+Compatibility.pow2(replaceExpandExp)][2];
-		replaceExpandExp++;
-		System.arraycopy(linesArray, 0, newLines, 0, size);
-	}
-	int[] range = new int[] {start, length};
-	newLines[count] = range;
-	return newLines;
-}
-/**
- * Adds a <code>TextChangeListener</code> listening for 
- * <code>TextChangingEvent</code> and <code>TextChangedEvent</code>. A 
- * <code>TextChangingEvent</code> is sent before changes to the text occur.
- * A <code>TextChangedEvent</code> is sent after changes to the text 
- * occured.
- * <p>
- *
- * @param listener the listener
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addTextChangeListener(TextChangeListener listener) {
-	if (listener == null) error(SWT.ERROR_NULL_ARGUMENT);
-	StyledTextListener typedListener = new StyledTextListener(listener);
-	textListeners.addElement(typedListener);	
-}	
-/**
- * Adjusts the gap to accomodate a text change that is occurring.
- * <p>
- *
- * @param position the position at which a change is occurring
- * @param sizeHint the size of the change
- * @param line the line where the gap will go
- */
-void adjustGap(int position, int sizeHint, int line) {
-	if (position == gapStart) {
-		// text is being inserted at the gap position
-		int size = (gapEnd - gapStart) - sizeHint;
-		if (lowWatermark <= size && size <= highWatermark)
-			return;
-	} else if ((position + sizeHint == gapStart) && (sizeHint < 0)) {
-		// text is being deleted at the gap position
-		int size = (gapEnd - gapStart) - sizeHint;
-		if (lowWatermark <= size && size <= highWatermark)
-			return;
-	}
-	moveAndResizeGap(position, sizeHint, line);
-}
-/**
- * Calculates the indexes of each line in the text store.  Assumes no gap exists.  
- * Optimized to do less checking.
- */
-void indexLines(){
-	int start = 0;
-	lineCount = 0;
-	int textLength = textStore.length;
-	int i;
-	for (i = start; i < textLength; i++) {
-		char ch = textStore[i];					
-		if (ch == SWT.CR) {
-			// see if the next character is a LF
-			if (i + 1 < textLength) {
-				ch = textStore[i+1];
-				if (ch == SWT.LF) {
-					i++;
-				}
-			}
-			addLineIndex(start, i - start + 1);
-			start = i + 1;
-		} else if (ch == SWT.LF) {
-			addLineIndex(start, i - start + 1);
-			start = i + 1;
-		}
-	}
-	addLineIndex(start, i - start);
-}
-/** 
- * Returns whether or not the given character is a line delimiter.  Both CR and LF 
- * are valid line delimiters.
- * <p>
- *
- * @param ch the character to test
- * @return true if ch is a delimiter, false otherwise
- */
-boolean isDelimiter(char ch) {
-	if (ch == SWT.CR) return true;
-	if (ch == SWT.LF) return true;
-	return false;
-}	
-/**
- * Determine whether or not the replace operation is valid.  DefaultContent will not allow
- * the /r/n line delimiter to be split or partially deleted.
- * <p>
- *
- * @param start	start offset of text to replace
- * @param replaceLength start offset of text to replace
- * @param newText start offset of text to replace
- * @return a boolean specifying whether or not the replace operation is valid
- */
-protected boolean isValidReplace(int start, int replaceLength, String newText){
-	if (replaceLength == 0) {
-		// inserting text, see if the \r\n line delimiter is being split
-		if (start == 0) return true;
-		if (start == getCharCount()) return true;
-		char before = getTextRange(start - 1, 1).charAt(0);
-		if (before == '\r') {
-			char after = getTextRange(start, 1).charAt(0);
-			if (after == '\n') return false;
-		}
-	} else {
-		// deleting text, see if part of a \r\n line delimiter is being deleted
-		char startChar = getTextRange(start, 1).charAt(0);
-		if (startChar == '\n') {
-			// see if char before delete position is \r
-			if (start != 0) {
-				char before = getTextRange(start - 1, 1).charAt(0);
-				if (before == '\r') return false;
-			}
-		}
-		char endChar = getTextRange(start + replaceLength - 1, 1).charAt(0);
-		if (endChar == '\r') {
-			// see if char after delete position is \n
-			if (start + replaceLength != getCharCount()) {
-				char after = getTextRange(start + replaceLength, 1).charAt(0);
-				if (after == '\n') return false;
-			}
-		}
-	} 
-	return true;
-}
-/**
- * Calculates the indexes of each line of text in the given range.
- * <p>
- *
- * @param offset the logical start offset of the text lineate
- * @param length the length of the text to lineate, includes gap
- * @param numLines the number of lines to initially allocate for the line index array,
- *	passed in for efficiency (the exact number of lines may be known)
- * @return a line indexes array where each line is identified by a start offset and 
- * 	a length
- */
-int[][] indexLines(int offset, int length, int numLines){
-	int[][] indexedLines = new int[numLines][2];
-	int start = 0;
-	int lineCount = 0;
-	int i;
-	replaceExpandExp = 1;
-	for (i = start; i < length; i++) {
-		int location = i + offset; 
-		if ((location >= gapStart) && (location < gapEnd)) {
-			// ignore the gap
-		} else {
-			char ch = textStore[location];				
-			if (ch == SWT.CR) {
-				// see if the next character is a LF
-				if (location+1 < textStore.length) {
-					ch = textStore[location+1];
-					if (ch == SWT.LF) {
-						i++;
-					} 
-				}
-				indexedLines = addLineIndex(start, i - start + 1, indexedLines, lineCount);
-				lineCount++;
-				start = i + 1;
-			} else if (ch == SWT.LF) {
-				indexedLines = addLineIndex(start, i - start + 1, indexedLines, lineCount);
-				lineCount++;
-				start = i + 1;
-			}
-		}
-	}
-	int[][] newLines = new int[lineCount+1][2];
-	System.arraycopy(indexedLines, 0, newLines, 0, lineCount);
-	int[] range = new int[] {start, i - start};
-	newLines[lineCount] = range;
-	return newLines; 
-}
-/**
- * Inserts text.
- * <p>
- *
- * @param position the position at which to insert the text
- * @param text the text to insert
- */
-void insert(int position, String text) {	
-	if (text.length() == 0) return;
-				
-	int startLine = getLineAtOffset(position);
-	int change = text.length();
-	boolean endInsert = position == getCharCount();
-	adjustGap(position, change, startLine);
-
-	// during an insert the gap will be adjusted to start at
-	// position and it will be associated with startline, the
-	// inserted text will be placed in the gap		
-	int startLineOffset = getOffsetAtLine(startLine);
-	// at this point, startLineLength will include the start line
-	// and all of the newly inserted text
-	int	startLineLength = getPhysicalLine(startLine).length();
-	
-	if (change > 0) {
-		// shrink gap 
-		gapStart += (change);
-		for (int i = 0; i < text.length(); i++) {
-			textStore[position + i]= text.charAt(i);
-		}
-	}
-		
-	// figure out the number of new lines that have been inserted
-	int [][] newLines = indexLines(startLineOffset, startLineLength, 10);
-	// only insert an empty line if it is the last line in the text
-	int numNewLines = newLines.length - 1;
-	if (newLines[numNewLines][1] == 0) {
-		// last inserted line is a new line
-		if (endInsert) {
-			// insert happening at end of the text, leave numNewLines as
-			// is since the last new line will not be concatenated with another
-			// line 
-			numNewLines += 1;
-		} else {
-			numNewLines -= 1;
-		}
-	}
-	
-	// make room for the new lines
-	expandLinesBy(numNewLines);
-	// shift down the lines after the replace line
-	for (int i = lineCount - 1; i > startLine; i--) {
-		lines[i + numNewLines]=lines[i];
-	}
-	// insert the new lines
-	for (int i = 0; i < numNewLines; i++) {
-		newLines[i][0] += startLineOffset;
-		lines[startLine + i]=newLines[i];
-	}
-	// update the last inserted line
-	if (numNewLines < newLines.length) {
-		newLines[numNewLines][0] += startLineOffset;
-		lines[startLine + numNewLines] = newLines[numNewLines];
-	}
-	
-	lineCount += numNewLines;
-	gapLine = getLineAtPhysicalOffset(gapStart);
-}
-/**
- * Moves the gap and adjusts its size in anticipation of a text change.  
- * The gap is resized to actual size + the specified size and moved to the given 
- * position.
- * <p>
- *
- * @param position the position at which a change is occurring
- * @param size the size of the change
- * @param newGapLine the line where the gap should be put
- */
-void moveAndResizeGap(int position, int size, int newGapLine) {
-	char[] content = null;
-	int oldSize = gapEnd - gapStart;
-	int newSize;
-	if (size > 0) {
-		newSize = highWatermark + size;
-	} else {
-		newSize = lowWatermark - size;
-	}
-	// remove the old gap from the lines information
-	if (gapExists()) {
-		// adjust the line length
-		lines[gapLine][1] = lines[gapLine][1] - oldSize;
-		// adjust the offsets of the lines after the gapLine
-		for (int i = gapLine + 1; i < lineCount; i++) {
-			lines[i][0] = lines[i][0] - oldSize;
-		}
-	}
-	
-	if (newSize < 0) {
-		if (oldSize > 0) {
-			// removing the gap
-			content = new char[textStore.length - oldSize];
-			System.arraycopy(textStore, 0, content, 0, gapStart);
-			System.arraycopy(textStore, gapEnd, content, gapStart, content.length - gapStart);
-			textStore = content;
-		}
-		gapStart = gapEnd = position;
-		return;
-	}
-	content = new char[textStore.length + (newSize - oldSize)];
-	int newGapStart = position;
-	int newGapEnd = newGapStart + newSize;
-	if (oldSize == 0) {
-		System.arraycopy(textStore, 0, content, 0, newGapStart);
-		System.arraycopy(textStore, newGapStart, content, newGapEnd, content.length - newGapEnd);	
-	} else if (newGapStart < gapStart) {
-		int delta = gapStart - newGapStart;
-		System.arraycopy(textStore, 0, content, 0, newGapStart);
-		System.arraycopy(textStore, newGapStart, content, newGapEnd, delta);
-		System.arraycopy(textStore, gapEnd, content, newGapEnd + delta, textStore.length - gapEnd);
-	} else {
-		int delta = newGapStart - gapStart;
-		System.arraycopy(textStore, 0, content, 0, gapStart);
-		System.arraycopy(textStore, gapEnd, content, gapStart, delta);
-		System.arraycopy(textStore, gapEnd + delta, content, newGapEnd, content.length - newGapEnd);
-	}
-	textStore = content;
-	gapStart = newGapStart;
-	gapEnd = newGapEnd;
-	
-	// add the new gap to the lines information
-	if (gapExists()) {
-		gapLine = newGapLine;
-		// adjust the line length
-		int gapLength = gapEnd - gapStart;
-		lines[gapLine][1] = lines[gapLine][1] + (gapLength);
-		// adjust the offsets of the lines after the gapLine
-		for (int i = gapLine + 1; i < lineCount; i++) {
-			lines[i][0] = lines[i][0] + gapLength;
-		}
-	}
-}
-/** 
- * Returns the number of lines that are in the specified text.
- * <p>
- *
- * @param startOffset the start of the text to lineate
- * @param length the length of the text to lineate
- * @return number of lines
- */
-int lineCount(int startOffset, int length){
-	if (length == 0) {
-		return 0;
-	}
-	int lineCount = 0;
-	int count = 0;
-	int i = startOffset;
-	if (i >= gapStart) {
-		i += gapEnd - gapStart;
-	}
-	while (count < length) {
-		if ((i >= gapStart) && (i < gapEnd)) {
-			// ignore the gap
-		} else {
-			char ch = textStore[i];			
-			if (ch == SWT.CR) {
-				// see if the next character is a LF
-				if (i + 1 < textStore.length) {
-					ch = textStore[i+1];
-					if (ch == SWT.LF) {
-						i++;
-						count++;
-					} 
-				} 
-				lineCount++;
-			} else if (ch == SWT.LF) {
-				lineCount++;
-			}
-			count++;
-		}
-		i++;
-	}
-	return lineCount;
-}
-/** 
- * Returns the number of lines that are in the specified text.
- * <p>
- *
- * @param text the text to lineate
- * @return number of lines in the text
- */
-int lineCount(String text){
-	int lineCount = 0;
-	int length = text.length();
-	for (int i = 0; i < length; i++) {
-		char ch = text.charAt(i);
-		if (ch == SWT.CR) {
-			if (i + 1 < length && text.charAt(i + 1) == SWT.LF) {
-				i++;
-			}
-			lineCount++;
-		} else if (ch == SWT.LF) {
-			lineCount++;
-		}
-	}
-	return lineCount;	
-}
-/**
- * @return the logical length of the text store
- */
-public int getCharCount() {
-	int length = gapEnd - gapStart;
-	return (textStore.length - length);
-}
-/**
- * Returns the line at <code>index</code> without delimiters.
- * <p>
- *
- * @param index	the index of the line to return
- * @return the logical line text (i.e., without the gap)
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when index is out of range</li>
- * </ul>
- */
-public String getLine(int index) {
-	if ((index >= lineCount) || (index < 0)) error(SWT.ERROR_INVALID_ARGUMENT);
-	int start = lines[index][0];
-	int length = lines[index][1];
-	int end = start + length - 1;
-	if (!gapExists() || (end < gapStart) || (start >= gapEnd)) {
-		// line is before or after the gap
-		while ((length - 1 >= 0) && isDelimiter(textStore[start+length-1])) {
-			length--;
-		}
-		return new String(textStore, start, length);
-	} else {
-		// gap is in the specified range, strip out the gap
-		StringBuffer buf = new StringBuffer();
-		int gapLength = gapEnd - gapStart;
-		buf.append(textStore, start, gapStart - start);
-		buf.append(textStore, gapEnd, length - gapLength - (gapStart - start));
-		length = buf.length();
-		while ((length - 1 >=0) && isDelimiter(buf.charAt(length - 1))) {
-			length--;
-		}
-		return buf.toString().substring(0, length);
-	}
-}
-/**
- * Returns the line delimiter that should be used by the StyledText 
- * widget when inserting new lines.  This delimiter may be different than the
- * delimiter that is used by the <code>StyledTextContent</code> interface.
- * <p>
- *
- * @return the platform line delimiter as specified in the line.separator
- * 	system property.
- */
-public String getLineDelimiter() {
-	return LineDelimiter;
-}
-/**
- * Returns the line at the given index with delimiters.
- * <p>
- * @param index	the index of the line to return
- * @return the logical line text (i.e., without the gap) with delimiters
- */
-String getFullLine(int index) {
-	int start = lines[index][0];
-	int length = lines[index][1];
-	int end = start + length - 1;
-	if (!gapExists() || (end < gapStart) || (start >= gapEnd)) {
-		// line is before or after the gap
-		return new String(textStore, start, length);
-	} else {
-		// gap is in the specified range, strip out the gap
-		StringBuffer buffer = new StringBuffer();
-		int gapLength = gapEnd - gapStart;
-		buffer.append(textStore, start, gapStart - start);
-		buffer.append(textStore, gapEnd, length - gapLength - (gapStart - start));
-		return buffer.toString();
-	}
-}
-/**
- * Returns the physical line at the given index (i.e., with delimiters and the gap).
- * <p>
- *
- * @param index the line index
- * @return the physical line 
- */
-String getPhysicalLine(int index) {
-	int start = lines[index][0];
-	int length = lines[index][1];
-	return getPhysicalText(start, length);
-}
-/**
- * @return the number of lines in the text store
- */
-public int getLineCount(){
-	return lineCount;
-}
-/**
- * Returns the line at the given offset.
- * <p>
- *
- * @param charPosition logical character offset (i.e., does not include gap)
- * @return the line index
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when charPosition is out of range</li>
- * </ul>
- */
-public int getLineAtOffset(int charPosition){
-	if ((charPosition > getCharCount()) || (charPosition < 0)) error(SWT.ERROR_INVALID_ARGUMENT);
-	int position;
-	if (charPosition < gapStart) {
-		// position is before the gap
-		position = charPosition;
-	} else {
-		// position includes the gap
-		position = charPosition + (gapEnd - gapStart);
-	}
-
-	// if last line and the line is not empty you can ask for 
-	// a position that doesn't exist (the one to the right of the 
-	// last character) - for inserting
-	if (lineCount > 0) {
-		int lastLine = lineCount - 1;
-		if (position == lines[lastLine][0] + lines[lastLine][1]) 
-			return lastLine;
-	}
-
-	int high = lineCount;
-	int low = -1;
-	int index = lineCount;
-	while (high - low > 1) {
-		index = (high + low) / 2;
-		int lineStart = lines[index][0];
-		int lineEnd = lineStart + lines[index][1] - 1;
-		if (position <= lineStart) {
-			high = index;
-		} else if (position <= lineEnd) {
-			high = index;
-			break;
-		} else {
-			low = index;
-		}
-	}
-	return high;
-}
-/**
- * Returns the line index at the given physical offset.
- * <p>
- *
- * @param position physical character offset (i.e., includes gap)
- * @return the line index
- */
-int getLineAtPhysicalOffset(int position){
-	int high = lineCount;
-	int low = -1;
-	int index = lineCount;
-	while (high - low > 1) {
-		index = (high + low) / 2;
-		int lineStart = lines[index][0];
-		int lineEnd = lineStart + lines[index][1] - 1;
-		if (position <= lineStart) {
-			high = index;
-		} else if (position <= lineEnd) {
-			high = index;
-			break;
-		} else {
-			low = index;
-		}
-	}
-	return high;
-}
-/**
- * Returns the logical offset of the given line.
- * <p>
- *
- * @param lineIndex index of line 
- * @return the logical starting offset of the line.  When there are not any lines,
- * 	getOffsetAtLine(0) is a valid call that should answer 0.
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when lineIndex is out of range</li>
- * </ul>
- */
-public int getOffsetAtLine(int lineIndex) {
-	if (lineIndex == 0) return 0;
-	if ((lineIndex >= lineCount) || (lineIndex < 0)) error(SWT.ERROR_INVALID_ARGUMENT);
-	int start = lines[lineIndex][0];
-	if (start > gapEnd) {
-		return start - (gapEnd - gapStart);
-	} else {
-		return start;
-	}
-}	
-/**
- * Increases the line indexes array to accomodate more lines.
- * <p>
- *
- * @param numLines the number to increase the array by
- */
-void expandLinesBy(int numLines) {
-	int size = lines.length;
-	if (size - lineCount >= numLines) {
-		return;
-	}
-	int[][] newLines = new int[size+Math.max(10, numLines)][2];
-	System.arraycopy(lines, 0, newLines, 0, size);
-	lines = newLines;
-}
-/**	 
- * Reports an SWT error.
- * <p>
- *
- * @param code the error code
- */
-void error (int code) {
-	SWT.error(code);
-}
-/** 
- * Returns whether or not a gap exists in the text store.
- * <p>
- *
- * @return true if gap exists, false otherwise
- */
-boolean gapExists() {
-	return gapStart != gapEnd;
-}
-/**
- * Returns a string representing the continous content of
- * the text store.
- * <p>
- *
- * @param start	the physical start offset of the text to return
- * @param length the physical length of the text to return
- * @return the text
- */
-String getPhysicalText(int start, int length) {
-	return new String(textStore, start, length);
-}
-/**
- * Returns a string representing the logical content of
- * the text store (i.e., gap stripped out).
- * <p>
- *
- * @param start the logical start offset of the text to return
- * @param length the logical length of the text to return
- * @return the text
- */
-public String getTextRange(int start, int length) {
-	if (textStore == null)
-		return "";
-	if (length == 0)
-		return "";
-	int end= start + length;
-	if (!gapExists() || (end < gapStart))
-		return new String(textStore, start, length);
-	if (gapStart < start) {
-		int gapLength= gapEnd - gapStart;
-		return new String(textStore, start + gapLength , length);
-	}
-	StringBuffer buf = new StringBuffer();
-	buf.append(textStore, start, gapStart - start);
-	buf.append(textStore, gapEnd, end - gapStart);
-	return buf.toString();
-}
-/**
- * Removes the specified <code>TextChangeListener</code>.
- * <p>
- *
- * @param listener the listener
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeTextChangeListener(TextChangeListener listener){
-	if (listener == null) error(SWT.ERROR_NULL_ARGUMENT);
-	for (int i = 0; i < textListeners.size(); i++) {
-		TypedListener typedListener = (TypedListener) textListeners.elementAt(i);
-		if (typedListener.getEventListener () == listener) {
-			textListeners.removeElementAt(i);
-			break;
-		}
-	}
-}
-/**
- * Replaces the text with <code>newText</code> starting at position <code>start</code> 
- * for a length of <code>replaceLength</code>.  Notifies the appropriate listeners.
- * <p>
- *
- * When sending the TextChangingEvent, <code>newLineCount</code> is the number of 
- * lines that are going to be inserted and <code>replaceLineCount</code> is 
- * the number of lines that are going to be deleted, based on the change 
- * that occurs visually.  For example:
- * <ul>
- * <li>(replaceText,newText) ==> (replaceLineCount,newLineCount)
- * <li>("","\n") ==> (0,1)
- * <li>("\n\n","a") ==> (2,0)
- * </ul>
- * </p>
- *
- * @param start	start offset of text to replace
- * @param replaceLength start offset of text to replace
- * @param newText start offset of text to replace
- * 
- * @exception SWTException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the text change results in a multi byte
- *      line delimiter being split or partially deleted.  Splitting a line 
- *      delimiter by inserting text between the CR and LF characters of the 
- *      \r\n delimiter or deleting part of this line delimiter is not supported</li>
- * </ul>
- */
-public void replaceTextRange(int start, int replaceLength, String newText){
-	// check for invalid replace operations
-	if (!isValidReplace(start, replaceLength, newText)) SWT.error(SWT.ERROR_INVALID_ARGUMENT);		
-
-	// inform listeners
-	StyledTextEvent event = new StyledTextEvent(this);
-	event.type = StyledText.TextChanging;
-	event.start = start;
-	event.replaceLineCount = lineCount(start, replaceLength);
-	event.text = newText;
-	event.newLineCount = lineCount(newText);
-	event.replaceCharCount = replaceLength;
-	event.newCharCount = newText.length();
-	sendTextEvent(event);
-
-	// first delete the text to be replaced
-	delete(start, replaceLength, event.replaceLineCount + 1);
-	// then insert the new text
-	insert(start, newText);
-	// inform listeners
-	event = new StyledTextEvent(this);
-	event.type = StyledText.TextChanged;
-	sendTextEvent(event);
-}
-/**
- * Sends the text listeners the TextChanged event.
- */
-void sendTextEvent(StyledTextEvent event) {
-	for (int i = 0; i < textListeners.size(); i++) {
-		((StyledTextListener)textListeners.elementAt(i)).handleEvent(event);
-	}
-}		
-/**
- * Sets the content to text and removes the gap since there are no sensible predictions 
- * about where the next change will occur.
- * <p>
- *
- * @param text the text
- */
-public void setText (String text){
-	textStore = text.toCharArray();
-	gapStart = -1;
-	gapEnd = -1;
-	expandExp = 1;
-	indexLines();
-	StyledTextEvent event = new StyledTextEvent(this);
-	event.type = StyledText.TextSet;
-	event.text = "";
-	sendTextEvent(event);
-}
-/**
- * Deletes text.
- * <p>
- * @param position the position at which the text to delete starts
- * @param length the length of the text to delete
- * @param numLines the number of lines that are being deleted
- */
-void delete(int position, int length, int numLines) {
-	if (length == 0) return;
-		
-	int startLine = getLineAtOffset(position);
-	int startLineOffset = getOffsetAtLine(startLine);
-	int endLine = getLineAtOffset(position + length);
-
-	String endText = "";
-	boolean splittingDelimiter = false;
-	if (position + length < getCharCount()) {
-		endText = getTextRange(position + length - 1, 2);
-		if ((endText.charAt(0) == SWT.CR) && (endText.charAt(1) == SWT.LF)) {
-			splittingDelimiter = true;
-		}
-	}
-
-	adjustGap(position + length, -length, startLine);
-	int [][] oldLines = indexLines(position, length + (gapEnd - gapStart), numLines);
-	
-	// enlarge the gap - the gap can be enlarged either to the
-	// right or left
-	if (position + length == gapStart) {
-		gapStart -= length;
-	} else {
-		gapEnd += length;
-	}		
-
-	// figure out the length of the new concatenated line, do so by
-	// finding the first line delmiter after position
-	int j = position;
-	boolean eol = false;
-	while (j < textStore.length && !eol) {
-		if (j < gapStart || j >= gapEnd) {
-			char ch = textStore[j];
-			if (isDelimiter(ch)) {
-				if (j + 1 < textStore.length) {
-					if (ch == SWT.CR && (textStore[j+1] == SWT.LF)) {
-						j++;
-					}
-				}
-				eol = true;
-			} 
-		}
-		j++;
-	}
-	// update the line where the deletion started
-	lines[startLine][1] = (position - startLineOffset) + (j - position);
-	// figure out the number of lines that have been deleted
-	int numOldLines = oldLines.length - 1;
-	if (splittingDelimiter) numOldLines -= 1;
-	// shift up the lines after the last deleted line, no need to update
-	// the offset or length of the lines
-	for (int i = endLine + 1; i < lineCount; i++) {
-		lines[i - numOldLines] = lines[i];
-	}
-	lineCount -= numOldLines;
-	gapLine = getLineAtPhysicalOffset(gapStart);		
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyEvent.java
deleted file mode 100755
index e346a13..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyEvent.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.custom;
-
-import org.eclipse.swt.events.*;
-
-/**
- * This event is sent after a text change occurs.
- */
-public final class ExtendedModifyEvent extends TypedEvent {
-	/** start offset of the new text */
-	public int start;			
-	/** length of the new text */
-	public int length;
-	/** replaced text or empty string if no text was replaced */
-	public String replacedText;
-	
-	static final long serialVersionUID = 3258696507027830832L;
-	
-public ExtendedModifyEvent(StyledTextEvent e) {
-	super(e);
-	start = e.start;
-	length = e.end - e.start;
-	replacedText = e.text;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java
deleted file mode 100755
index 3b251dc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ExtendedModifyListener.java
+++ /dev/null
@@ -1,31 +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.custom;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-public interface ExtendedModifyListener extends SWTEventListener {
-/**
- * This method is called after a text change occurs.
- * <p>
- * The following event fields are used:<ul>
- * <li>event.start the start offset of the new text (input)</li>
- * <li>event.length the length of the new text (input)</li>
- * <li>event.replacedText the replaced text (input)</li>
- * </ul>
- *
- * @param event the given event
- * @see ExtendedModifyEvent
- */
-public void modifyText(ExtendedModifyEvent event);
-}
-
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundEvent.java
deleted file mode 100755
index b4f9764..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundEvent.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.custom;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This event is sent when a line is about to be drawn.
- */
-public class LineBackgroundEvent extends TypedEvent {
-	
-	/**
-	 * line start offset
-	 */
-	public int lineOffset;
-	
-	/**
-	 * line text
-	 */
-	public String lineText;
-	
-	/**
-	 * line background color
-	 */
-	public Color lineBackground; 
-	
-	static final long serialVersionUID = 3978711687853324342L;
-	
-public LineBackgroundEvent(StyledTextEvent e) {
-	super(e);
-	lineOffset = e.detail;
-	lineText = e.text;
-}
-}
-
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java
deleted file mode 100755
index ec448d8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineBackgroundListener.java
+++ /dev/null
@@ -1,31 +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.custom;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-public interface LineBackgroundListener extends SWTEventListener {
-	
-/**
- * This method is called when a line is about to be drawn in order to get its
- * background color.
- * <p>
- * The following event fields are used:<ul>
- * <li>event.lineOffset line start offset (input)</li>
- * <li>event.lineText line text (input)</li>
- * <li>event.lineBackground line background color (output)</li>
- * </ul>
- *
- * @param event the given event
- * @see LineBackgroundEvent
- */
-public void lineGetBackground(LineBackgroundEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleEvent.java
deleted file mode 100755
index 877a475..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleEvent.java
+++ /dev/null
@@ -1,93 +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.custom;
-
-import org.eclipse.swt.events.*;
-
-/**
- * This event is sent when a line is about to be drawn.
- */
-public class LineStyleEvent extends TypedEvent {
-	
-	/**
-	 * line start offset (input)
-	 */
-	public int lineOffset;
-	
-	/**
-	 * line text (input)
-	 */
-	public String lineText;
-	
-	/**
-	 * line ranges (output)
-	 * 
-	 * @since 3.2
-	 */
-	public int[] ranges;
-	
-	/**
-	 * line styles (output)
-	 * 
-	 * Note: Because a StyleRange includes the start and length, the
-	 * same instance cannot occur multiple times in the array of styles.
-	 * If the same style attributes, such as font and color, occur in
-	 * multiple StyleRanges, <code>ranges</code> can be used to share
-	 * styles and reduce memory usage.
-	 */
-	public StyleRange[] styles;
-
-	/** 
-	 * line alignment (input, output)
-	 * 
-	 * @since 3.2
-	 */
-	public int alignment;
-
-	/**
-	 * line indent (input, output)
-	 * 
-	 * @since 3.2
-	 */
-	public int indent;
-
-	/** 
-	 * line justification (input, output)
-	 * 
-	 * @since 3.2
-	 */
-	public boolean justify;
-
-	/**
-	 * line bullet (output)
-	 * @since 3.2
-	 */
-	public Bullet bullet;
-
-	/**
-	 * line bullet index (output)
-	 * @since 3.2
-	 */
-	public int bulletIndex;
-	
-	static final long serialVersionUID = 3906081274027192884L;
-	
-public LineStyleEvent(StyledTextEvent e) {
-	super(e);
-	lineOffset = e.detail;
-	lineText = e.text;
-	alignment = e.alignment;
-	justify = e.justify;
-	indent = e.indent;
-	bullet = e.bullet;
-	bulletIndex = e.bulletIndex;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java
deleted file mode 100755
index b431dba..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/LineStyleListener.java
+++ /dev/null
@@ -1,30 +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.custom;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-public interface LineStyleListener extends SWTEventListener {
-/**
- * This method is called when a line is about to be drawn in order to get the
- * line's style information.
- * <p>
- * The following event fields are used:<ul>
- * <li>event.lineOffset line start offset (input)</li>
- * <li>event.lineText line text (input)</li>
- * <li>event.styles array of StyleRanges, need to be in order (output)</li>
- * </ul>
- *
- * @param event the given event
- * @see LineStyleEvent
- */
-public void lineGetStyle(LineStyleEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectEvent.java
deleted file mode 100644
index 7f0f2b8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectEvent.java
+++ /dev/null
@@ -1,76 +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.custom;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This event is sent when an object needs to be drawn.
- * 
- * @since 3.2
- */
-public class PaintObjectEvent extends TypedEvent {
-	
-	/**
-	 * the GC
-	 */
-	public GC gc;
-	
-	/**
-	 * the x location
-	 */
-	public int x;
-	
-	/**
-	 * the y location
-	 */
-	public int y;
-	
-	/**
-	 * the line ascent
-	 */
-	public int ascent;
-	
-	/**
-	 * the line descent
-	 */
-	public int descent;
-	
-	/**
-	 * the StyleRange
-	 */
-	public StyleRange style;
-	
-	/**
-	 * the Bullet
-	 */
-	public Bullet bullet;
-	
-	/**
-	 * the bullet index
-	 */
-	public int bulletIndex;
-	
-	static final long serialVersionUID = 3906081274027192855L;
-	
-public PaintObjectEvent(StyledTextEvent e) {
-	super(e);
-	gc = e.gc;
-	x = e.x;
-	y = e.y;
-	ascent = e.ascent;
-	descent = e.descent;
-	style = e.style;
-	bullet = e.bullet;
-	bulletIndex = e.bulletIndex;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java
deleted file mode 100644
index fc8ac01..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PaintObjectListener.java
+++ /dev/null
@@ -1,40 +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.custom;
-
-
-import org.eclipse.swt.internal.SWTEventListener;
-/**
- * This listener is invoked when an object needs to be drawn.
- *
- * @since 3.2
- */
-public interface PaintObjectListener extends SWTEventListener {
-/**
- * This method is called when an object needs to be drawn.
- * 
- * <p>
- * The following event fields are used:<ul>
- * <li>event.x the x location (input)</li>
- * <li>event.y the y location (input)</li>
- * <li>event.ascent the line ascent (input)</li>
- * <li>event.descent the line descent (input)</li>
- * <li>event.gc the gc (input)</li>
- * <li>event.style the style (input)</li>
- * </ul>
- *
- * @param event the event
- * 
- * @see PaintObjectEvent
- * @see StyledText#addPaintObjectListener(PaintObjectListener)
- */
-public void paintObject(PaintObjectEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PopupList.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PopupList.java
deleted file mode 100755
index 7f79967..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/PopupList.java
+++ /dev/null
@@ -1,271 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-/**
-* A PopupList is a list of selectable items that appears in its own shell positioned above
-* its parent shell.  It is used for selecting items when editing a Table cell (similar to the
-* list that appears when you open a Combo box).
-*
-* The list will be positioned so that it does not run off the screen and the largest number of items
-* are visible.  It may appear above the current cursor location or below it depending how close you 
-* are to the edge of the screen.
-*/
-public class PopupList {
-	Shell  shell;
-	List   list;
-	int    minimumWidth;
-/** 
-* Creates a PopupList above the specified shell.
-* 
-* @param parent a Shell control which will be the parent of the new instance (cannot be null)
-*/
-public PopupList(Shell parent) {
-	this (parent, 0);
-}
-/** 
-* Creates a PopupList above the specified shell.
-* 
-* @param parent a widget which will be the parent of the new instance (cannot be null)
-* @param style the style of widget to construct
-* 
-* @since 3.0 
-*/
-public PopupList(Shell parent, int style) {
-	shell = new Shell(parent, checkStyle(style));
-	
-	list = new List(shell, SWT.SINGLE | SWT.V_SCROLL);	
-
-	// close dialog if user selects outside of the shell
-	shell.addListener(SWT.Deactivate, new Listener() {
-		public void handleEvent(Event e){	
-			shell.setVisible (false);
-		}
-	});
-	
-	// resize shell when list resizes
-	shell.addControlListener(new ControlListener() {
-		public void controlMoved(ControlEvent e){}
-		public void controlResized(ControlEvent e){
-			Rectangle shellSize = shell.getClientArea();
-			list.setSize(shellSize.width, shellSize.height);
-		}
-	});
-	
-	// return list selection on Mouse Up or Carriage Return
-	list.addMouseListener(new MouseListener() {
-		public void mouseDoubleClick(MouseEvent e){}
-		public void mouseDown(MouseEvent e){}
-		public void mouseUp(MouseEvent e){
-			shell.setVisible (false);
-		}
-	});
-	list.addKeyListener(new KeyListener() {
-		public void keyReleased(KeyEvent e){}
-		public void keyPressed(KeyEvent e){
-			if (e.character == '\r'){
-				shell.setVisible (false);
-			}
-		}
-	});
-	
-}
-private static int checkStyle (int style) {
-	int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-/**
-* Gets the widget font.
-* <p>
-* @return the widget font
-*
-* @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 Font getFont () {
-	return list.getFont();
-}
-/**
-* Gets the items.
-* <p>
-* This operation will fail if the items cannot
-* be queried from the OS.
-*
-* @return the items in the widget
-*
-* @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 String[] getItems () {
-	return list.getItems();
-}
-/**
-* Gets the minimum width of the list.
-*
-* @return the minimum width of the list
-*/
-public int getMinimumWidth () {
-	return minimumWidth;
-}
-/**
-* Launches the Popup List, waits for an item to be selected and then closes the PopupList.
-*
-* @param rect the initial size and location of the PopupList; the dialog will be
-*        positioned so that it does not run off the screen and the largest number of items are visible
-*
-* @return the text of the selected item or null if no item is selected
-*/
-public String open (Rectangle rect) {
-
-	Point listSize = list.computeSize (rect.width, SWT.DEFAULT, false);
-	Rectangle screenSize = shell.getDisplay().getBounds();
-
-	// Position the dialog so that it does not run off the screen and the largest number of items are visible
-	int spaceBelow = screenSize.height - (rect.y + rect.height) - 30;
-	int spaceAbove = rect.y - 30;
-
-	int y = 0;
-	if (spaceAbove > spaceBelow && listSize.y > spaceBelow) {
-		// place popup list above table cell
-		if (listSize.y > spaceAbove){
-			listSize.y = spaceAbove;
-		} else {
-			listSize.y += 2;
-		}
-		y = rect.y - listSize.y;
-		
-	} else {
-		// place popup list below table cell
-		if (listSize.y > spaceBelow){
-			listSize.y = spaceBelow;
-		} else {
-			listSize.y += 2;
-		}
-		y = rect.y + rect.height;
-	}
-	
-	// Make dialog as wide as the cell
-	listSize.x = rect.width;
-	// dialog width should not be les than minimumwidth
-	if (listSize.x < minimumWidth)
-		listSize.x = minimumWidth;
-	
-	// Align right side of dialog with right side of cell
-	int x = rect.x + rect.width - listSize.x;
-	
-	shell.setBounds(x, y, listSize.x, listSize.y);
-	
-	shell.open();
-	list.setFocus();
-
-	Display display = shell.getDisplay();
-	while (!shell.isDisposed () && shell.isVisible ()) {
-		if (!display.readAndDispatch()) display.sleep();
-	}
-	
-	String result = null;
-	if (!shell.isDisposed ()) {
-		String [] strings = list.getSelection ();
-		shell.dispose();
-		if (strings.length != 0) result = strings [0];
-	}
-	return result;
-}
-/**
-* Selects an item with text that starts with specified String.
-* <p>
-* If the item is not currently selected, it is selected.  
-* If the item at an index is selected, it remains selected.  
-* If the string is not matched, it is ignored.
-*
-* @param string the text of the item
-*
-* @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 select(String string) {
-	String[] items = list.getItems();
-
-	// find the first entry in the list that starts with the
-	// specified string
-	if (string != null){
-		for (int i = 0; i < items.length; i++) {
-			if (items[i].startsWith(string)){
-				int index = list.indexOf(items[i]);
-				list.select(index);
-				break;
-			}
-		}
-	}
-}
-/**
-* Sets the widget font.
-* <p>
-* When new font is null, the font reverts
-* to the default system font for the widget.
-*
-* @param font the new font (or null)
-* 
-* @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 setFont (Font font) {
-	list.setFont(font);
-}
-/**
-* Sets all items.
-* <p>
-* The previous selection is cleared.
-* The previous items are deleted.
-* The new items are added.
-* The top index is set to 0.
-*
-* @param strings the array of items
-*
-* This operation will fail when an item is null
-* or could not be added in the OS.
-* 
-* @exception IllegalArgumentException <ul>
-*    <li>ERROR_NULL_ARGUMENT - if the items array is null</li>
-*    <li>ERROR_INVALID_ARGUMENT - if an item in the items array is null</li>
-* </ul>
-* @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 setItems (String[] strings) {
-	list.setItems(strings);
-}
-/**
-* Sets the minimum width of the list.
-*
-* @param width the minimum width of the list
-*/
-public void setMinimumWidth (int width) {
-	if (width < 0)
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		
-	minimumWidth = width;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ST.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ST.java
deleted file mode 100755
index f149c11..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ST.java
+++ /dev/null
@@ -1,129 +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.custom;
-
-
-/**
- * This class provides access to the public constants provided by <code>StyledText</code>.
- */
-public class ST {
-	 
-	/*
-	 *  Navigation Key Actions. Key bindings for the actions are set
-	 *  by the StyledText widget.
-	 */	
-	public static final int LINE_UP = 16777217; 			// binding = SWT.ARROW_UP
-	public static final int LINE_DOWN = 16777218; 		// binding = SWT.ARROW_DOWN
-	public static final int LINE_START = 16777223; 		// binding = SWT.HOME
-	public static final int LINE_END = 16777224; 		// binding = SWT.END
-	public static final int COLUMN_PREVIOUS = 16777219; 	// binding = SWT.ARROW_LEFT
-	public static final int COLUMN_NEXT = 16777220; 		// binding = SWT.ARROW_RIGHT
-	public static final int PAGE_UP = 16777221; 			// binding = SWT.PAGE_UP
-	public static final int PAGE_DOWN = 16777222; 		// binding = SWT.PAGE_DOWN
-	public static final int WORD_PREVIOUS = 17039363;	// binding = SWT.MOD1 + SWT.ARROW_LEFT
-	public static final int WORD_NEXT = 17039364; 		// binding = SWT.MOD1 + SWT.ARROW_RIGHT
-	public static final int TEXT_START = 17039367; 		// binding = SWT.MOD1 + SWT.HOME
-	public static final int TEXT_END = 17039368; 		// binding = SWT.MOD1 + SWT.END
-	public static final int WINDOW_START = 17039365; 	// binding = SWT.MOD1 + SWT.PAGE_UP
-	public static final int WINDOW_END = 17039366; 		// binding = SWT.MOD1 + SWT.PAGE_DOWN
-
-	/* 
-	 * Selection Key Actions 
-	 */
-	public static final int SELECT_ALL = 262209; 				// binding = SWT.MOD1 + 'A'
-	public static final int SELECT_LINE_UP = 16908289; 			// binding = SWT.MOD2 + SWT.ARROW_UP
-	public static final int SELECT_LINE_DOWN = 16908290; 		// binding = SWT.MOD2 + SWT.ARROW_DOWN
-	public static final int SELECT_LINE_START = 16908295; 		// binding = SWT.MOD2 + SWT.HOME
-	public static final int SELECT_LINE_END = 16908296; 			// binding = SWT.MOD2 + SWT.END
-	public static final int SELECT_COLUMN_PREVIOUS = 16908291;	// binding = SWT.MOD2 + SWT.ARROW_LEFT
-	public static final int SELECT_COLUMN_NEXT = 16908292; 		// binding = SWT.MOD2 + SWT.ARROW_RIGHT
-	public static final int SELECT_PAGE_UP = 16908293; 			// binding = SWT.MOD2 + SWT.PAGE_UP
-	public static final int SELECT_PAGE_DOWN = 16908294; 		// binding = SWT.MOD2 + SWT.PAGE_DOWN
-	public static final int SELECT_WORD_PREVIOUS = 17170435;		// binding = SWT.MOD1 + SWT.MOD2 + SWT.ARROW_LEFT
-	public static final int SELECT_WORD_NEXT = 17170436; 		// binding = SWT.MOD1 + SWT.MOD2 + SWT.ARROW_RIGHT
-	public static final int SELECT_TEXT_START = 17170439; 		// binding = SWT.MOD1 + SWT.MOD2 + SWT.HOME
-	public static final int SELECT_TEXT_END = 17170440; 			// binding = SWT.MOD1 + SWT.MOD2 + SWT.END
-	public static final int SELECT_WINDOW_START = 17170437; 		// binding = SWT.MOD1 + SWT.MOD2 + SWT.PAGE_UP
-	public static final int SELECT_WINDOW_END = 17170438; 		// binding = SWT.MOD1 + SWT.MOD2 + SWT.PAGE_DOWN
-
-	/*
-	 *  Modification Key Actions 
-	 */
-	public static final int CUT = 131199; 			// binding = SWT.MOD2 + SWT.DEL
-	public static final int COPY = 17039369; 		// binding = SWT.MOD1 + SWT.INSERT;
-	public static final int PASTE = 16908297;		// binding = SWT.MOD2 + SWT.INSERT ;
-	public static final int DELETE_PREVIOUS = '\b'; 	// binding = SWT.BS;
-	public static final int DELETE_NEXT = 0x7F; 		// binding = SWT.DEL;
-	public static final int DELETE_WORD_PREVIOUS = 262152;	// binding = SWT.BS | SWT.MOD1;
-	public static final int DELETE_WORD_NEXT = 262271;	// binding = SWT.DEL | SWT.MOD1;
-
-	/* 
-	 * Miscellaneous Key Actions 
-	 */
-	public static final int TOGGLE_OVERWRITE = 16777225; // binding = SWT.INSERT;
-	
-	/**
-	 *  Bullet style dot.
-	 * 
-	 *  @see Bullet
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_DOT = 1 << 0;
-
-	/**
-	 *  Bullet style number.
-	 * 
-	 *  @see Bullet
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_NUMBER = 1 << 1;
-
-	/**
-	 *  Bullet style lower case letter.
-	 * 
-	 *  @see Bullet
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_LETTER_LOWER = 1 << 2;
-
-	/**
-	 *  Bullet style upper case letter.
-	 * 
-	 *  @see Bullet
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_LETTER_UPPER = 1 << 3;
-
-	/**
-	 *  Bullet style text.
-	 * 
-	 *  @see Bullet
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_TEXT = 1 << 4;
-
-	/**
-	 *  Bullet style custom draw.
-	 *  
-	 *  @see StyledText#addPaintObjectListener(PaintObjectListener)
-	 *  @see StyledText#removePaintObjectListener(PaintObjectListener)
-	 *  @see Bullet 
-	 *  
-	 *  @since 3.2
-	 */
-	public static final int BULLET_CUSTOM = 1 << 5;
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashForm.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashForm.java
deleted file mode 100755
index cf28899..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashForm.java
+++ /dev/null
@@ -1,390 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * The SashForm lays out its children in a Row or Column arrangement (as specified
- * by the orientation) and places a Sash between the children.
- * One child may be maximized to occupy the entire size of the SashForm.
- * The relative sizes of the children may be specfied using weights.
- *
- * <p>
- * <dl>
- * <dt><b>Styles:</b><dd>HORIZONTAL, VERTICAL, SMOOTH
- * </dl>
- */
-public class SashForm extends Composite {
-
-	public int SASH_WIDTH = 3;
-
-	int sashStyle;
-	Sash[] sashes = new Sash[0];
-	// Remember background and foreground
-	// colors to determine whether to set
-	// sashes to the default color (null) or
-	// a specific color
-	Color background = null;
-	Color foreground = null;
-	Control[] controls = new Control[0];
-	Control maxControl = null;
-	Listener sashListener;
-	static final int DRAG_MINIMUM = 20;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#HORIZONTAL
- * @see SWT#VERTICAL
- * @see #getStyle()
- */
-public SashForm(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	super.setLayout(new SashFormLayout());
-	sashStyle = ((style & SWT.VERTICAL) != 0) ? SWT.HORIZONTAL : SWT.VERTICAL;
-	if ((style & SWT.BORDER) != 0) sashStyle |= SWT.BORDER;
-	if ((style & SWT.SMOOTH) != 0) sashStyle |= SWT.SMOOTH;
-	sashListener = new Listener() {
-		public void handleEvent(Event e) {
-			onDragSash(e);
-		}
-	};
-}
-static int checkStyle (int style) {
-	int mask = SWT.BORDER | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-/**
- * Returns SWT.HORIZONTAL if the controls in the SashForm are laid out side by side
- * or SWT.VERTICAL   if the controls in the SashForm are laid out top to bottom.
- * 
- * @return SWT.HORIZONTAL or SWT.VERTICAL
- */
-public int getOrientation() {
-	//checkWidget();
-	return (sashStyle & SWT.VERTICAL) != 0 ? SWT.HORIZONTAL : SWT.VERTICAL;
-}
-public int getStyle() {
-	int style = super.getStyle();
-	style |= getOrientation() == SWT.VERTICAL ? SWT.VERTICAL : SWT.HORIZONTAL;
-	if ((sashStyle & SWT.SMOOTH) != 0) style |= SWT.SMOOTH;
-	return style;
-}
-/**
- * Answer the control that currently is maximized in the SashForm.  
- * This value may be null.
- * 
- * @return the control that currently is maximized or null
- */
-public Control getMaximizedControl(){
-	//checkWidget();
-	return this.maxControl;
-}
-/**
- * Answer the relative weight of each child in the SashForm.  The weight represents the
- * percent of the total width (if SashForm has Horizontal orientation) or 
- * total height (if SashForm has Vertical orientation) each control occupies.
- * The weights are returned in order of the creation of the widgets (weight[0]
- * corresponds to the weight of the first child created).
- * 
- * @return the relative weight of each child
- * 
- * @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 int[] getWeights() {
-	checkWidget();
-	Control[] cArray = getControls(false);
-	int[] ratios = new int[cArray.length];
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = (int)(((SashFormData)data).weight * 1000 >> 16);
-		} else {
-			ratios[i] = 200;
-		}
-	}
-	return ratios;
-}
-Control[] getControls(boolean onlyVisible) {
-	Control[] children = getChildren();
-	Control[] result = new Control[0];
-	for (int i = 0; i < children.length; i++) {
-		if (children[i] instanceof Sash) continue;
-		if (onlyVisible && !children[i].getVisible()) continue;
-
-		Control[] newResult = new Control[result.length + 1];
-		System.arraycopy(result, 0, newResult, 0, result.length);
-		newResult[result.length] = children[i];
-		result = newResult;
-	}
-	return result;
-}
-void onDragSash(Event event) {
-	Sash sash = (Sash)event.widget;
-	int sashIndex = -1;
-	for (int i= 0; i < sashes.length; i++) {
-		if (sashes[i] == sash) {
-			sashIndex = i;
-			break;
-		}
-	}
-	if (sashIndex == -1) return;
-
-	Control c1 = controls[sashIndex];
-	Control c2 = controls[sashIndex + 1];
-	Rectangle b1 = c1.getBounds();
-	Rectangle b2 = c2.getBounds();
-	
-	Rectangle sashBounds = sash.getBounds();
-	Rectangle area = getClientArea();
-	boolean correction = false;
-	if (getOrientation() == SWT.HORIZONTAL) {
-		correction = b1.width < DRAG_MINIMUM || b2.width < DRAG_MINIMUM;
-		int totalWidth = b2.x + b2.width - b1.x; 
-		int shift = event.x - sashBounds.x;
-		b1.width += shift;
-		b2.x += shift;
-		b2.width -= shift;
-		if (b1.width < DRAG_MINIMUM) {
-			b1.width = DRAG_MINIMUM;
-			b2.x = b1.x + b1.width + sashBounds.width;
-			b2.width = totalWidth - b2.x;
-			event.x = b1.x + b1.width;
-			event.doit = false;
-		}
-		if (b2.width < DRAG_MINIMUM) {
-			b1.width = totalWidth - DRAG_MINIMUM - sashBounds.width;
-			b2.x = b1.x + b1.width + sashBounds.width;
-			b2.width = DRAG_MINIMUM;
-			event.x = b1.x + b1.width;
-			event.doit = false;
-		}
-		Object data1 = c1.getLayoutData();
-		if (data1 == null || !(data1 instanceof SashFormData)) {
-			data1 = new SashFormData();
-			c1.setLayoutData(data1);
-		}
-		Object data2 = c2.getLayoutData();
-		if (data2 == null || !(data2 instanceof SashFormData)) {
-			data2 = new SashFormData();
-			c2.setLayoutData(data2);
-		}
-		((SashFormData)data1).weight = (((long)b1.width << 16) + area.width - 1) / area.width;
-		((SashFormData)data2).weight = (((long)b2.width << 16) + area.width - 1) / area.width;
-	} else {
-		correction = b1.height < DRAG_MINIMUM || b2.height < DRAG_MINIMUM;
-		int totalHeight = b2.y + b2.height - b1.y;
-		int shift = event.y - sashBounds.y;
-		b1.height += shift;
-		b2.y += shift;
-		b2.height -= shift;
-		if (b1.height < DRAG_MINIMUM) {
-			b1.height = DRAG_MINIMUM;
-			b2.y = b1.y + b1.height + sashBounds.height;
-			b2.height = totalHeight - b2.y;
-			event.y = b1.y + b1.height;
-			event.doit = false;
-		}
-		if (b2.height < DRAG_MINIMUM) {
-			b1.height = totalHeight - DRAG_MINIMUM - sashBounds.height;
-			b2.y = b1.y + b1.height + sashBounds.height;
-			b2.height = DRAG_MINIMUM;
-			event.y = b1.y + b1.height;
-			event.doit = false;
-		}
-		Object data1 = c1.getLayoutData();
-		if (data1 == null || !(data1 instanceof SashFormData)) {
-			data1 = new SashFormData();
-			c1.setLayoutData(data1);
-		}
-		Object data2 = c2.getLayoutData();
-		if (data2 == null || !(data2 instanceof SashFormData)) {
-			data2 = new SashFormData();
-			c2.setLayoutData(data2);
-		}
-		((SashFormData)data1).weight = (((long)b1.height << 16) + area.height - 1) / area.height;
-		((SashFormData)data2).weight = (((long)b2.height << 16) + area.height - 1) / area.height;
-	}
-	if (correction || (event.doit && event.detail != SWT.DRAG)) {
-		c1.setBounds(b1);
-		sash.setBounds(event.x, event.y, event.width, event.height);
-		c2.setBounds(b2);
-	}
-}
-/**
- * If orientation is SWT.HORIZONTAL, lay the controls in the SashForm 
- * out side by side.  If orientation is SWT.VERTICAL, lay the 
- * controls in the SashForm out top to bottom.
- * 
- * @param orientation SWT.HORIZONTAL or SWT.VERTICAL
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the value of orientation is not SWT.HORIZONTAL or SWT.VERTICAL
- * </ul>
- */
-public void setOrientation(int orientation) {
-	checkWidget();
-	if (getOrientation() == orientation) return;
-	if (orientation != SWT.HORIZONTAL && orientation != SWT.VERTICAL) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	sashStyle &= ~(SWT.HORIZONTAL | SWT.VERTICAL);
-	sashStyle |= orientation == SWT.VERTICAL ? SWT.HORIZONTAL : SWT.VERTICAL;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].dispose();
-		sashes[i] = new Sash(this, sashStyle);
-		sashes[i].setBackground(background);
-		sashes[i].setForeground(foreground);
-		sashes[i].addListener(SWT.Selection, sashListener);
-	}
-	layout(false);
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	background = color;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].setBackground(background);
-	}
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	foreground = color;
-	for (int i = 0; i < sashes.length; i++) {
-		sashes[i].setForeground(foreground);
-	}
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-/**
- * Specify the control that should take up the entire client area of the SashForm.  
- * If one control has been maximized, and this method is called with a different control, 
- * the previous control will be minimized and the new control will be maximized.
- * If the value of control is null, the SashForm will minimize all controls and return to
- * the default layout where all controls are laid out separated by sashes.
- * 
- * @param control the control to be maximized or null
- * 
- * @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 setMaximizedControl(Control control){
-	checkWidget();
-	if (control == null) {
-		if (maxControl != null) {
-			this.maxControl = null;
-			layout(false);
-			for (int i= 0; i < sashes.length; i++){
-				sashes[i].setVisible(true);
-			}
-		}
-		return;
-	}
-	
-	for (int i= 0; i < sashes.length; i++){
-		sashes[i].setVisible(false);
-	}
-	maxControl = control;
-	layout(false);
-}
-
-/**
- * Specify the relative weight of each child in the SashForm.  This will determine
- * what percent of the total width (if SashForm has Horizontal orientation) or 
- * total height (if SashForm has Vertical orientation) each control will occupy.
- * The weights must be positive values and there must be an entry for each
- * non-sash child of the SashForm.
- * 
- * @param weights the relative weight of each child
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - if the weights value is null or of incorrect length (must match the number of children)</li>
- * </ul>
- */
-public void setWeights(int[] weights) {
-	checkWidget();
-	Control[] cArray = getControls(false);
-	if (weights == null || weights.length != cArray.length) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	
-	int total = 0;
-	for (int i = 0; i < weights.length; i++) {
-		if (weights[i] < 0) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		total += weights[i];
-	}
-	if (total == 0) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data == null || !(data instanceof SashFormData)) {
-			data = new SashFormData();
-			cArray[i].setLayoutData(data);
-		}
-		((SashFormData)data).weight = (((long)weights[i] << 16) + total - 1) / total;
-	}
-
-	layout(false);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormData.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormData.java
deleted file mode 100644
index eea3b39..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormData.java
+++ /dev/null
@@ -1,33 +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.custom;
-
-class SashFormData {
-
-	long weight;
-
-String getName () {
-	String string = getClass ().getName ();
-	int index = string.lastIndexOf ('.');
-	if (index == -1) return string;
-	return string.substring (index + 1, string.length ());
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the event
- */
-public String toString () {
-	return getName()+" {weight="+weight+"}"; //$NON-NLS-2$
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormLayout.java
deleted file mode 100644
index 3f1842f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/SashFormLayout.java
+++ /dev/null
@@ -1,195 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for SashForm
- * 
- * @see SashForm
- */
-class SashFormLayout extends Layout {
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	SashForm sashForm = (SashForm)composite;
-	Control[] cArray = sashForm.getControls(true);
-	int width = 0;
-	int height = 0;
-	if (cArray.length == 0) {		
-		if (wHint != SWT.DEFAULT) width = wHint;
-		if (hHint != SWT.DEFAULT) height = hHint;
-		return new Point(width, height);
-	}
-	// determine control sizes
-	boolean vertical = sashForm.getOrientation() == SWT.VERTICAL;
-	int maxIndex = 0;
-	int maxValue = 0;
-	for (int i = 0; i < cArray.length; i++) {
-		if (vertical) {
-			Point size = cArray[i].computeSize(wHint, SWT.DEFAULT, flushCache);
-			if (size.y > maxValue) {
-				maxIndex = i;
-				maxValue = size.y;
-			}
-			width = Math.max(width, size.x);
-		} else {
-			Point size = cArray[i].computeSize(SWT.DEFAULT, hHint, flushCache);
-			if (size.x > maxValue) {
-				maxIndex = i;
-				maxValue = size.x;
-			}
-			height = Math.max(height, size.y);
-		}
-	}
-	// get the ratios
-	long[] ratios = new long[cArray.length];
-	long total = 0;
-	for (int i = 0; i < cArray.length; i++) {
-		Object data = cArray[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = ((SashFormData)data).weight;
-		} else {
-			data = new SashFormData();
-			cArray[i].setLayoutData(data);
-			((SashFormData)data).weight = ratios[i] = ((200 << 16) + 999) / 1000;
-			
-		}
-		total += ratios[i];
-	}
-	if (ratios[maxIndex] > 0) {
-		int sashwidth = sashForm.sashes.length > 0 ? sashForm.SASH_WIDTH + sashForm.sashes [0].getBorderWidth() * 2 : sashForm.SASH_WIDTH;
-		if (vertical) {
-			height += (int)(total * maxValue / ratios[maxIndex]) + (cArray.length - 1) * sashwidth;
-		} else {
-			width += (int)(total * maxValue / ratios[maxIndex]) + (cArray.length - 1) * sashwidth;
-		}
-	}
-	width += sashForm.getBorderWidth()*2;
-	height += sashForm.getBorderWidth()*2;
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	return new Point(width, height);
-}
-
-protected boolean flushCache(Control control) {
-	return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
-	SashForm sashForm = (SashForm)composite;
-	Rectangle area = sashForm.getClientArea();
-	if (area.width <= 1 || area.height <= 1) return;
-	
-	Control[] newControls = sashForm.getControls(true);
-	if (sashForm.controls.length == 0 && newControls.length == 0) return;
-	sashForm.controls = newControls;
-	
-	Control[] controls = sashForm.controls;
-	
-	if (sashForm.maxControl != null && !sashForm.maxControl.isDisposed()) {
-		for (int i= 0; i < controls.length; i++){
-			if (controls[i] != sashForm.maxControl) {
-				controls[i].setBounds(-200, -200, 0, 0);
-			} else {
-				controls[i].setBounds(area);
-			}
-		}
-		return;
-	}
-	
-	// keep just the right number of sashes
-	if (sashForm.sashes.length < controls.length - 1) {
-		Sash[] newSashes = new Sash[controls.length - 1];
-		System.arraycopy(sashForm.sashes, 0, newSashes, 0, sashForm.sashes.length);
-		for (int i = sashForm.sashes.length; i < newSashes.length; i++) {
-			newSashes[i] = new Sash(sashForm, sashForm.sashStyle);
-			newSashes[i].setBackground(sashForm.background);
-			newSashes[i].setForeground(sashForm.foreground);
-			newSashes[i].addListener(SWT.Selection, sashForm.sashListener);
-		}
-		sashForm.sashes = newSashes;
-	}
-	if (sashForm.sashes.length > controls.length - 1) {
-		if (controls.length == 0) {
-			for (int i = 0; i < sashForm.sashes.length; i++) {
-				sashForm.sashes[i].dispose();
-			}
-			sashForm.sashes = new Sash[0];
-		} else {
-			Sash[] newSashes = new Sash[controls.length - 1];
-			System.arraycopy(sashForm.sashes, 0, newSashes, 0, newSashes.length);
-			for (int i = controls.length - 1; i < sashForm.sashes.length; i++) {
-				sashForm.sashes[i].dispose();
-			}
-			sashForm.sashes = newSashes;
-		}
-	}
-	if (controls.length == 0) return;
-	Sash[] sashes = sashForm.sashes;
-	// get the ratios
-	long[] ratios = new long[controls.length];
-	long total = 0;
-	for (int i = 0; i < controls.length; i++) {
-		Object data = controls[i].getLayoutData();
-		if (data != null && data instanceof SashFormData) {
-			ratios[i] = ((SashFormData)data).weight;
-		} else {
-			data = new SashFormData();
-			controls[i].setLayoutData(data);
-			((SashFormData)data).weight = ratios[i] = ((200 << 16) + 999) / 1000;
-			
-		}
-		total += ratios[i];
-	}
-	
-	int sashwidth = sashes.length > 0 ? sashForm.SASH_WIDTH + sashes [0].getBorderWidth() * 2 : sashForm.SASH_WIDTH;
-	if (sashForm.getOrientation() == SWT.HORIZONTAL) {
-		int width = (int)(ratios[0] * (area.width - sashes.length * sashwidth) / total);
-		int x = area.x;
-		controls[0].setBounds(x, area.y, width, area.height);
-		x += width;
-		for (int i = 1; i < controls.length - 1; i++) {
-			sashes[i - 1].setBounds(x, area.y, sashwidth, area.height);
-			x += sashwidth;
-			width = (int)(ratios[i] * (area.width - sashes.length * sashwidth) / total);
-			controls[i].setBounds(x, area.y, width, area.height);
-			x += width;
-		}
-		if (controls.length > 1) {
-			sashes[sashes.length - 1].setBounds(x, area.y, sashwidth, area.height);
-			x += sashwidth;
-			width = area.width - x;
-			controls[controls.length - 1].setBounds(x, area.y, width, area.height);
-		}
-	} else {
-		int height = (int)(ratios[0] * (area.height - sashes.length * sashwidth) / total);
-		int y = area.y;
-		controls[0].setBounds(area.x, y, area.width, height);
-		y += height;
-		for (int i = 1; i < controls.length - 1; i++) {
-			sashes[i - 1].setBounds(area.x, y, area.width, sashwidth);
-			y += sashwidth;
-			height = (int)(ratios[i] * (area.height - sashes.length * sashwidth) / total);
-			controls[i].setBounds(area.x, y, area.width, height);
-			y += height;
-		}
-		if (controls.length > 1) {
-			sashes[sashes.length - 1].setBounds(area.x, y, area.width, sashwidth);
-			y += sashwidth;
-			height = area.height - y;
-			controls[controls.length - 1].setBounds(area.x, y, area.width, height);
-		}
-
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledComposite.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledComposite.java
deleted file mode 100755
index e31d094..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledComposite.java
+++ /dev/null
@@ -1,584 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A ScrolledComposite provides scrollbars and will scroll its content when the user
- * uses the scrollbars.
- *
- *
- * <p>There are two ways to use the ScrolledComposite:
- * 
- * <p>
- * 1) Set the size of the control that is being scrolled and the ScrolledComposite 
- * will show scrollbars when the contained control can not be fully seen.
- * 
- * 2) The second way imitates the way a browser would work.  Set the minimum size of
- * the control and the ScrolledComposite will show scroll bars if the visible area is 
- * less than the minimum size of the control and it will expand the size of the control 
- * if the visible area is greater than the minimum size.  This requires invoking 
- * both setMinWidth(), setMinHeight() and setExpandHorizontal(), setExpandVertical().
- * 
- * <code><pre>
- * public static void main (String [] args) {
- *      Display display = new Display ();
- *      Color red = display.getSystemColor(SWT.COLOR_RED);
- *      Color blue = display.getSystemColor(SWT.COLOR_BLUE);
- *      Shell shell = new Shell (display);
- *      shell.setLayout(new FillLayout());
- * 	
- *      // set the size of the scrolled content - method 1
- *      final ScrolledComposite sc1 = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- *      final Composite c1 = new Composite(sc1, SWT.NONE);
- *      sc1.setContent(c1);
- *      c1.setBackground(red);
- *      GridLayout layout = new GridLayout();
- *      layout.numColumns = 4;
- *      c1.setLayout(layout);
- *      Button b1 = new Button (c1, SWT.PUSH);
- *      b1.setText("first button");
- *      c1.setSize(c1.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- *      
- *      // set the minimum width and height of the scrolled content - method 2
- *      final ScrolledComposite sc2 = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- *      sc2.setExpandHorizontal(true);
- *      sc2.setExpandVertical(true);
- *      final Composite c2 = new Composite(sc2, SWT.NONE);
- *      sc2.setContent(c2);
- *      c2.setBackground(blue);
- *      layout = new GridLayout();
- *      layout.numColumns = 4;
- *      c2.setLayout(layout);
- *      Button b2 = new Button (c2, SWT.PUSH);
- *      b2.setText("first button");
- *      sc2.setMinSize(c2.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- *      
- *      Button add = new Button (shell, SWT.PUSH);
- *      add.setText("add children");
- *      final int[] index = new int[]{0};
- *      add.addListener(SWT.Selection, new Listener() {
- *          public void handleEvent(Event e) {
- *              index[0]++;
- *              Button button = new Button(c1, SWT.PUSH);
- *              button.setText("button "+index[0]);
- *              // reset size of content so children can be seen - method 1
- *              c1.setSize(c1.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- *              c1.layout();
- *              
- *              button = new Button(c2, SWT.PUSH);
- *              button.setText("button "+index[0]);
- *              // reset the minimum width and height so children can be seen - method 2
- *              sc2.setMinSize(c2.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- *              c2.layout();
- *          }
- *      });
- * 
- *      shell.open ();
- *      while (!shell.isDisposed ()) {
- *          if (!display.readAndDispatch ()) display.sleep ();
- *      }
- *      display.dispose ();
- * }
- * </pre></code>
- *
- * <dl>
- * <dt><b>Styles:</b><dd>H_SCROLL, V_SCROLL
- * </dl>
- */
-public class ScrolledComposite extends Composite {
-
-	Control content;
-	Listener contentListener;
-	
-	int minHeight = 0;
-	int minWidth = 0;
-	boolean expandHorizontal = false;
-	boolean expandVertical = false;
-	boolean alwaysShowScroll = false;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#H_SCROLL
- * @see SWT#V_SCROLL
- * @see #getStyle()
- */	
-public ScrolledComposite(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	super.setLayout(new ScrolledCompositeLayout());
-	ScrollBar hBar = getHorizontalBar ();
-	if (hBar != null) {
-		hBar.setVisible(false);
-		hBar.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				hScroll();
-			}
-		});
-	}
-	
-	ScrollBar vBar = getVerticalBar ();
-	if (vBar != null) {
-		vBar.setVisible(false);
-		vBar.addListener (SWT.Selection, new Listener () {
-			public void handleEvent (Event e) {
-				vScroll();
-			}
-		});
-	}
-	
-	contentListener = new Listener() {
-		public void handleEvent(Event e) {
-			if (e.type != SWT.Resize) return;
-			layout(false);
-		}
-	};
-}
-
-static int checkStyle (int style) {
-	int mask = SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask;
-}
-
-/**
- * Returns the Always Show Scrollbars flag.  True if the scrollbars are 
- * always shown even if they are not required.  False if the scrollbars are only 
- * visible when some part of the composite needs to be scrolled to be seen.
- * The H_SCROLL and V_SCROLL style bits are also required to enable scrollbars in the 
- * horizontal and vertical directions.
- * 
- * @return the Always Show Scrollbars flag value
- */
-public boolean getAlwaysShowScrollBars() {
-	//checkWidget();
-	return alwaysShowScroll;
-}
-
-/**
- * Returns <code>true</code> if the content control 
- * will be expanded to fill available horizontal space.
- *
- * @return the receiver's horizontal expansion state
- *
- * @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>
- * 
- * @since 3.2
- */
-public boolean getExpandHorizontal() {
-	checkWidget();
-	return expandHorizontal;
-}
-
-/**
- * Returns <code>true</code> if the content control 
- * will be expanded to fill available vertical space.
- *
- * @return the receiver's vertical expansion state
- *
- * @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>
- * 
- * @since 3.2
- */
-public boolean getExpandVertical() {
-	checkWidget();
-	return expandVertical;
-}
-
-/**
- * Returns the minimum width of the content control.
- *
- * @return the minimum width
- *
- * @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>
- * 
- * @since 3.2
- */
-public int getMinWidth() {
-	checkWidget();
-	return minWidth;
-}
-
-/**
- * Returns the minimum height of the content control.
- *
- * @return the minimum height
- *
- * @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>
- * 
- * @since 3.2
- */
-public int getMinHeight() {
-	checkWidget();
-	return minHeight;
-}
-
-/**
- * Get the content that is being scrolled.
- * 
- * @return the control displayed in the content area
- */
-public Control getContent() {
-	//checkWidget();
-	return content;
-}
-
-void hScroll() {
-	if (content == null) return;
-	Point location = content.getLocation ();
-	ScrollBar hBar = getHorizontalBar ();
-	int hSelection = hBar.getSelection ();
-	content.setLocation (-hSelection, location.y);
-}
-boolean needHScroll(Rectangle contentRect, boolean vVisible) {
-	ScrollBar hBar = getHorizontalBar();
-	if (hBar == null) return false;
-	
-	Rectangle hostRect = getBounds();
-	int border = getBorderWidth();
-	hostRect.width -= 2*border;
-	ScrollBar vBar = getVerticalBar();
-	if (vVisible && vBar != null) hostRect.width -= vBar.getSize().x;
-	
-	if (!expandHorizontal && contentRect.width > hostRect.width) return true;
-	if (expandHorizontal && minWidth > hostRect.width) return true;
-	return false;
-}
-
-boolean needVScroll(Rectangle contentRect, boolean hVisible) {
-	ScrollBar vBar = getVerticalBar();
-	if (vBar == null) return false;
-	
-	Rectangle hostRect = getBounds();
-	int border = getBorderWidth();
-	hostRect.height -= 2*border;
-	ScrollBar hBar = getHorizontalBar();
-	if (hVisible && hBar != null) hostRect.height -= hBar.getSize().y;
-	
-	if (!expandVertical && contentRect.height > hostRect.height) return true;
-	if (expandVertical && minHeight > hostRect.height) return true;
-	return false;
-}
-
-/**
- * Return the point in the content that currently appears in the top left 
- * corner of the scrolled composite.
- * 
- * @return the point in the content that currently appears in the top left 
- * corner of the scrolled composite.  If no content has been set, this returns
- * (0, 0).
- * 
- * @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>
- * 
- * @since 2.0
- */
-public Point getOrigin() {
-	checkWidget();
-	if (content == null) return new Point(0, 0);
-	Point location = content.getLocation();
-	return new Point(-location.x, -location.y);
-}
-/**
- * Scrolls the content so that the specified point in the content is in the top 
- * left corner.  If no content has been set, nothing will occur.  
- * 
- * Negative values will be ignored.  Values greater than the maximum scroll 
- * distance will result in scrolling to the end of the scrollbar.
- *
- * @param origin the point on the content to appear in the top left corner 
- * 
- * @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>
- *    <li>ERROR_INVALID_ARGUMENT - value of origin is outside of content
- * </ul>
- * @since 2.0
- */
-public void setOrigin(Point origin) {
-	setOrigin(origin.x, origin.y);
-}
-/**
- * Scrolls the content so that the specified point in the content is in the top 
- * left corner.  If no content has been set, nothing will occur.  
- * 
- * Negative values will be ignored.  Values greater than the maximum scroll 
- * distance will result in scrolling to the end of the scrollbar.
- *
- * @param x the x coordinate of the content to appear in the top left corner 
- * 
- * @param y the y coordinate of the content to appear in the top left corner 
- * 
- * @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>
- * 
- * @since 2.0
- */
-public void setOrigin(int x, int y) {
-	checkWidget();
-	if (content == null) return;
-	ScrollBar hBar = getHorizontalBar ();
-	if (hBar != null) {
-		hBar.setSelection(x);
-		x = -hBar.getSelection ();
-	} else {
-		x = 0;
-	}
-	ScrollBar vBar = getVerticalBar ();
-	if (vBar != null) {
-		vBar.setSelection(y);
-		y = -vBar.getSelection ();
-	} else {
-		y = 0;
-	}
-	content.setLocation(x, y);
-}
-/**
- * Set the Always Show Scrollbars flag.  True if the scrollbars are 
- * always shown even if they are not required.  False if the scrollbars are only 
- * visible when some part of the composite needs to be scrolled to be seen.
- * The H_SCROLL and V_SCROLL style bits are also required to enable scrollbars in the 
- * horizontal and vertical directions.
- * 
- * @param show true to show the scrollbars even when not required, false to show scrollbars only when required
- * 
- * @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 setAlwaysShowScrollBars(boolean show) {
-	checkWidget();
-	if (show == alwaysShowScroll) return;
-	alwaysShowScroll = show;
-	ScrollBar hBar = getHorizontalBar ();
-	if (hBar != null && alwaysShowScroll) hBar.setVisible(true);
-	ScrollBar vBar = getVerticalBar ();
-	if (vBar != null && alwaysShowScroll) vBar.setVisible(true);
-	layout(false);
-}
-
-/**
- * Set the content that will be scrolled.
- * 
- * @param content the control to be displayed in the content area
- * 
- * @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 setContent(Control content) {
-	checkWidget();
-	if (this.content != null && !this.content.isDisposed()) {
-		this.content.removeListener(SWT.Resize, contentListener);
-		this.content.setBounds(new Rectangle(-200, -200, 0, 0));	
-	}
-	
-	this.content = content;
-	ScrollBar vBar = getVerticalBar ();
-	ScrollBar hBar = getHorizontalBar ();
-	if (this.content != null) {
-		if (vBar != null) {
-			vBar.setMaximum (0);
-			vBar.setThumb (0);
-			vBar.setSelection(0);
-		}
-		if (hBar != null) {
-			hBar.setMaximum (0);
-			hBar.setThumb (0);
-			hBar.setSelection(0);
-		}
-		content.setLocation(0, 0);
-		layout(false);
-		this.content.addListener(SWT.Resize, contentListener);
-	} else {
-		if (hBar != null) hBar.setVisible(alwaysShowScroll);
-		if (vBar != null) vBar.setVisible(alwaysShowScroll);
-	}
-}
-/**
- * Configure the ScrolledComposite to resize the content object to be as wide as the 
- * ScrolledComposite when the width of the ScrolledComposite is greater than the
- * minimum width specified in setMinWidth.  If the ScrolledComposite is less than the
- * minimum width, the content will not be resized and instead the horizontal scroll bar will be
- * used to view the entire width.
- * If expand is false, this behaviour is turned off.  By default, this behaviour is turned off.
- * 
- * @param expand true to expand the content control to fill available horizontal space
- * 
- * @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 setExpandHorizontal(boolean expand) {
-	checkWidget();
-	if (expand == expandHorizontal) return;
-	expandHorizontal = expand;
-	layout(false);
-}
-/**
- * Configure the ScrolledComposite to resize the content object to be as tall as the 
- * ScrolledComposite when the height of the ScrolledComposite is greater than the
- * minimum height specified in setMinHeight.  If the ScrolledComposite is less than the
- * minimum height, the content will not be resized and instead the vertical scroll bar will be
- * used to view the entire height.
- * If expand is false, this behaviour is turned off.  By default, this behaviour is turned off.
- * 
- * @param expand true to expand the content control to fill available vertical space
- * 
- * @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 setExpandVertical(boolean expand) {
-	checkWidget();
-	if (expand == expandVertical) return;
-	expandVertical = expand;
-	layout(false);
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-/**
- * Specify the minimum height at which the ScrolledComposite will begin scrolling the
- * content with the vertical scroll bar.  This value is only relevant if  
- * setExpandVertical(true) has been set.
- * 
- * @param height the minimum height or 0 for default height
- * 
- * @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 setMinHeight(int height) {
-	setMinSize(minWidth, height);
-}
-/**
- * Specify the minimum width and height at which the ScrolledComposite will begin scrolling the
- * content with the horizontal scroll bar.  This value is only relevant if  
- * setExpandHorizontal(true) and setExpandVertical(true) have been set.
- * 
- * @param size the minimum size or null for the default size
- * 
- * @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 setMinSize(Point size) {
-	if (size == null) {
-		setMinSize(0, 0);
-	} else {
-		setMinSize(size.x, size.y);
-	}
-}
-/**
- * Specify the minimum width and height at which the ScrolledComposite will begin scrolling the
- * content with the horizontal scroll bar.  This value is only relevant if  
- * setExpandHorizontal(true) and setExpandVertical(true) have been set.
- * 
- * @param width the minimum width or 0 for default width
- * @param height the minimum height or 0 for default height
- * 
- * @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 setMinSize(int width, int height) {
-	checkWidget();
-	if (width == minWidth && height == minHeight) return;
-	minWidth = Math.max(0, width);
-	minHeight = Math.max(0, height);
-	layout(false);
-}
-/**
- * Specify the minimum width at which the ScrolledComposite will begin scrolling the
- * content with the horizontal scroll bar.  This value is only relevant if  
- * setExpandHorizontal(true) has been set.
- * 
- * @param width the minimum width or 0 for default width
- * 
- * @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 setMinWidth(int width) {
-	setMinSize(width, minHeight);
-}
-
-void vScroll() {
-	if (content == null) return;
-	Point location = content.getLocation ();
-	ScrollBar vBar = getVerticalBar ();
-	int vSelection = vBar.getSelection ();
-	content.setLocation (location.x, -vSelection);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledCompositeLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledCompositeLayout.java
deleted file mode 100644
index 81873e3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ScrolledCompositeLayout.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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for ScrolledComposite
- * 
- * @see ScrolledComposite
- */
-class ScrolledCompositeLayout extends Layout {
-	
-	boolean inLayout = false;
-	static final int DEFAULT_WIDTH	= 64;
-	static final int DEFAULT_HEIGHT	= 64;
-	
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	ScrolledComposite sc = (ScrolledComposite)composite;
-	Point size = new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-	if (sc.content != null) {
-		Point preferredSize = sc.content.computeSize(wHint, hHint, flushCache);
-		Point currentSize = sc.content.getSize();
-		size.x = sc.getExpandHorizontal() ? preferredSize.x : currentSize.x;
-		size.y = sc.getExpandVertical() ? preferredSize.y : currentSize.y;
-	}
-	size.x = Math.max(size.x, sc.minWidth);
-	size.y = Math.max(size.y, sc.minHeight);
-	if (wHint != SWT.DEFAULT) size.x = wHint;
-	if (hHint != SWT.DEFAULT) size.y = hHint;
-	return size;
-}
-
-protected boolean flushCache(Control control) {
-	return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
-	if (inLayout) return;
-	ScrolledComposite sc = (ScrolledComposite)composite;
-	if (sc.content == null) return;
-	ScrollBar hBar = sc.getHorizontalBar();
-	ScrollBar vBar = sc.getVerticalBar();
-	if (hBar != null) {
-		if (hBar.getSize().y >= sc.getSize().y) {
-			return;
-		}
-	}
-	if (vBar != null) {
-		if (vBar.getSize().x >= sc.getSize().x) {
-			return;
-		}
-	}
-	inLayout = true;
-	Rectangle contentRect = sc.content.getBounds();
-	if (!sc.alwaysShowScroll) {
-		boolean hVisible = sc.needHScroll(contentRect, false);
-		boolean vVisible = sc.needVScroll(contentRect, hVisible);
-		if (!hVisible && vVisible) hVisible = sc.needHScroll(contentRect, vVisible);
-		if (hBar != null) hBar.setVisible(hVisible);
-		if (vBar != null) vBar.setVisible(vVisible);
-	}
-	Rectangle hostRect = sc.getClientArea();
-	if (sc.expandHorizontal) {
-		contentRect.width = Math.max(sc.minWidth, hostRect.width);	
-	}
-	if (sc.expandVertical) {
-		contentRect.height = Math.max(sc.minHeight, hostRect.height);
-	}
-
-	if (hBar != null) {
-		hBar.setMaximum (contentRect.width);
-		hBar.setThumb (Math.min (contentRect.width, hostRect.width));
-		int hPage = contentRect.width - hostRect.width;
-		int hSelection = hBar.getSelection ();
-		if (hSelection >= hPage) {
-			if (hPage <= 0) {
-				hSelection = 0;
-				hBar.setSelection(0);
-			}
-			contentRect.x = -hSelection;
-		}
-	}
-
-	if (vBar != null) {
-		vBar.setMaximum (contentRect.height);
-		vBar.setThumb (Math.min (contentRect.height, hostRect.height));
-		int vPage = contentRect.height - hostRect.height;
-		int vSelection = vBar.getSelection ();
-		if (vSelection >= vPage) {
-			if (vPage <= 0) {
-				vSelection = 0;
-				vBar.setSelection(0);
-			}
-			contentRect.y = -vSelection;
-		}
-	}
-	
-	sc.content.setBounds (contentRect);
-	inLayout = false;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StackLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StackLayout.java
deleted file mode 100755
index bbe110b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StackLayout.java
+++ /dev/null
@@ -1,144 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This Layout stacks all the controls one on top of the other and resizes all controls
- * to have the same size and location.
- * The control specified in topControl is visible and all other controls are not visible.
- * Users must set the topControl value to flip between the visible items and then call 
- * layout() on the composite which has the StackLayout.
- * 
- * <p> Here is an example which places ten buttons in a stack layout and 
- * flips between them:
- * 
- * <pre><code>
- * 	public static void main(String[] args) {
- * 		Display display = new Display();
- * 		Shell shell = new Shell(display);
- * 		shell.setLayout(new GridLayout());
- * 	
- * 		final Composite parent = new Composite(shell, SWT.NONE);
- * 		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
- * 		final StackLayout layout = new StackLayout();
- * 		parent.setLayout(layout);
- * 		final Button[] bArray = new Button[10];
- * 		for (int i = 0; i &lt; 10; i++) {
- * 			bArray[i] = new Button(parent, SWT.PUSH);
- * 			bArray[i].setText("Button "+i);
- * 		}
- * 		layout.topControl = bArray[0];
- * 	
- * 		Button b = new Button(shell, SWT.PUSH);
- * 		b.setText("Show Next Button");
- * 		final int[] index = new int[1];
- * 		b.addListener(SWT.Selection, new Listener(){
- * 			public void handleEvent(Event e) {
- * 				index[0] = (index[0] + 1) % 10;
- * 				layout.topControl = bArray[index[0]];
- * 				parent.layout();
- * 			}
- * 		});
- * 	
- * 		shell.open();
- * 		while (shell != null && !shell.isDisposed()) {
- * 			if (!display.readAndDispatch())
- * 				display.sleep(); 
- * 		} 	
- * 	}
- * </code></pre>
- */
-
-public class StackLayout extends Layout {
-	
- 	/**
-	 * marginWidth specifies the number of pixels of horizontal margin
-	 * that will be placed along the left and right edges of the layout.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginWidth = 0;
-	/**
-	 * marginHeight specifies the number of pixels of vertical margin
-	 * that will be placed along the top and bottom edges of the layout.
-	 *
-	 * The default value is 0.
-	 */
-	public int marginHeight = 0;
-
- 	/**
- 	 * topControl the Control that is displayed at the top of the stack.
- 	 * All other controls that are children of the parent composite will not be visible.
- 	 */
- 	public Control topControl;
-
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	Control children[] = composite.getChildren();
-	int maxWidth = 0;
-	int maxHeight = 0;
-	for (int i = 0; i < children.length; i++) {
-		Point size = children[i].computeSize(wHint, hHint, flushCache);
-		maxWidth = Math.max(size.x, maxWidth);
-		maxHeight = Math.max(size.y, maxHeight);
-	}
-	int width = maxWidth + 2 * marginWidth;
-	int height = maxHeight + 2 * marginHeight;
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	return new Point(width, height);
-}
-
-protected boolean flushCache(Control control) {
-	return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
-	Control children[] = composite.getChildren();
-	Rectangle rect = composite.getClientArea();
-	rect.x += marginWidth;
-	rect.y += marginHeight;
-	rect.width -= 2 * marginWidth;
-	rect.height -= 2 * marginHeight;
-	for (int i = 0; i < children.length; i++) {
-		children[i].setBounds(rect);
-		children[i].setVisible(children[i] == topControl);
-			
-	}
-}
-
-String getName () {
-	String string = getClass ().getName ();
-	int index = string.lastIndexOf ('.');
-	if (index == -1) return string;
-	return string.substring (index + 1, string.length ());
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the layout
- */
-public String toString () {
- 	String string = getName ()+" {";
- 	if (marginWidth != 0) string += "marginWidth="+marginWidth+" ";
- 	if (marginHeight != 0) string += "marginHeight="+marginHeight+" ";
- 	if (topControl != null) string += "topControl="+topControl+" ";
- 	string = string.trim();
- 	string += "}";
- 	return string;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyleRange.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyleRange.java
deleted file mode 100755
index 72757ab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyleRange.java
+++ /dev/null
@@ -1,190 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.CloneableCompatibility;
-
-public class StyleRange extends TextStyle implements CloneableCompatibility {
-	
-	/**
-	 * the start offset of the range, zero-based from the document start
-	 */
-	public int start;
-	
-	/**
-	 * the length of the range
-	 */
-	public int length;
-
-	/**
-	 * the font style of the range. It may be a combination of
-	 * SWT.NORMAL, SWT.ITALIC or SWT.BOLD
-	 * 
-	 * Note: the font style is not used if the <code>font</code> attribute
-	 * is set
-	 */
-	public int fontStyle = SWT.NORMAL;
-	
-/**
- * Create a new style range with no styles
- * 
- * @since 3.2
- */
-public StyleRange() {
-	super(null, null, null);
-}
-
-/** 
- * Create a new style range.
- *
- * @param start start offset of the style
- * @param length length of the style 
- * @param foreground foreground color of the style, null if none 
- * @param background background color of the style, null if none
- */
-public StyleRange(int start, int length, Color foreground, Color background) {
-	super(null, foreground, background);
-	this.start = start;
-	this.length = length;
-}
-
-/** 
- * Create a new style range.
- *
- * @param start start offset of the style
- * @param length length of the style 
- * @param foreground foreground color of the style, null if none 
- * @param background background color of the style, null if none
- * @param fontStyle font style of the style, may be SWT.NORMAL, SWT.ITALIC or SWT.BOLD
- */
-public StyleRange(int start, int length, Color foreground, Color background, int fontStyle) {
-	this(start, length, foreground, background);
-	this.fontStyle = fontStyle;
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param object the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object object) {
-	if (object == this) return true;
-	if (object instanceof StyleRange) {
-		StyleRange style = (StyleRange)object;
-		if (start != style.start) return false;
-		if (length != style.length) return false;
-		return similarTo(style);
-	}
-	return false;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return super.hashCode() ^ fontStyle;
-}
-boolean isVariableHeight() {
-	return font != null || metrics != null || rise != 0;
-}
-/**
- * Returns whether or not the receiver is unstyled (i.e., does not have any 
- * style attributes specified).
- *
- * @return true if the receiver is unstyled, false otherwise.
- */
-public boolean isUnstyled() {
-	if (font != null) return false;
-	if (rise != 0) return false;
-	if (metrics != null) return false;
-	if (foreground != null) return false;
-	if (background != null) return false;
-	if (fontStyle != SWT.NORMAL) return false;
-	if (underline) return false;
-	if (strikeout) return false;
-	return true;
-}
-
-/**
- * Compares the specified object to this StyleRange and answer if the two 
- * are similar. The object must be an instance of StyleRange and have the
- * same field values for except for start and length.
- *
- * @param style the object to compare with this object
- * @return true if the objects are similar, false otherwise
- */
-public boolean similarTo(StyleRange style) {
-	if (!super.equals(style)) return false;
-	if (fontStyle != style.fontStyle) return false;
-	return true;
-}
-
-/**
- * Returns a new StyleRange with the same values as this StyleRange.
- *
- * @return a shallow copy of this StyleRange
- */	
-public Object clone() {
-	try {
-		return super.clone();
-	} catch (CloneNotSupportedException e) {
-		return null;
-	}
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the StyleRange
- */
-public String toString() {
-	StringBuffer buffer = new StringBuffer();
-	buffer.append("StyleRange {");
-	buffer.append(start);
-	buffer.append(", ");
-	buffer.append(length);
-	buffer.append(", fontStyle=");
-	switch (fontStyle) {
-		case SWT.BOLD:
-			buffer.append("bold");
-			break;
-		case SWT.ITALIC:
-			buffer.append("italic");
-			break;
-		case SWT.BOLD | SWT.ITALIC:
-			buffer.append("bold-italic");
-			break;
-		default:
-			buffer.append("normal");
-	}
-	String str = super.toString();
-	int index = str.indexOf('{');
-	str = str.substring(index + 1);
-	if (str.length() > 1) buffer.append(", ");
-	buffer.append(str);
-	return buffer.toString();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
deleted file mode 100755
index 3f4f3f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
+++ /dev/null
@@ -1,8121 +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.custom;
-
-
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.accessibility.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.printing.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A StyledText is an editable user interface object that displays lines 
- * of text.  The following style attributes can be defined for the text: 
- * <ul>
- * <li>foreground color 
- * <li>background color
- * <li>font style (bold, italic, bold-italic, regular)
- * <li>underline
- * <li>strikeout
- * </ul>
- * <p>
- * In addition to text style attributes, the background color of a line may 
- * be specified.
- * </p><p>
- * There are two ways to use this widget when specifying text style information.  
- * You may use the API that is defined for StyledText or you may define your own 
- * LineStyleListener.  If you define your own listener, you will be responsible 
- * for maintaining the text style information for the widget.  IMPORTANT: You may 
- * not define your own listener and use the StyledText API.  The following
- * StyledText API is not supported if you have defined a LineStyleListener:
- * <ul>
- * <li>getStyleRangeAtOffset(int)
- * <li>getStyleRanges()
- * <li>replaceStyleRanges(int,int,StyleRange[])
- * <li>setStyleRange(StyleRange)
- * <li>setStyleRanges(StyleRange[])
- * </ul>
- * </p><p>
- * There are two ways to use this widget when specifying line background colors.
- * You may use the API that is defined for StyledText or you may define your own 
- * LineBackgroundListener.  If you define your own listener, you will be responsible 
- * for maintaining the line background color information for the widget.  
- * IMPORTANT: You may not define your own listener and use the StyledText API.  
- * The following StyledText API is not supported if you have defined a 
- * LineBackgroundListener:
- * <ul>
- * <li>getLineBackground(int)
- * <li>setLineBackground(int,int,Color)
- * </ul>
- * </p><p>
- * The content implementation for this widget may also be user-defined.  To do so,
- * you must implement the StyledTextContent interface and use the StyledText API
- * setContent(StyledTextContent) to initialize the widget. 
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b><dd>FULL_SELECTION, MULTI, READ_ONLY, SINGLE, WRAP
- * <dt><b>Events:</b><dd>ExtendedModify, LineGetBackground, LineGetSegments, LineGetStyle, Modify, Selection, Verify, VerifyKey
- * </dl>
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-public class StyledText extends Canvas {
-	static final char TAB = '\t';
-	static final String PlatformLineDelimiter = System.getProperty("line.separator");
-	static final int BIDI_CARET_WIDTH = 3;
-	static final int DEFAULT_WIDTH	= 64;
-	static final int DEFAULT_HEIGHT = 64;
-	static final int V_SCROLL_RATE = 50;
-	static final int H_SCROLL_RATE = 10;
-	
-	static final int ExtendedModify = 3000;
-	static final int LineGetBackground = 3001;
-	static final int LineGetStyle = 3002;
-	static final int TextChanging = 3003;
-	static final int TextSet = 3004;
-	static final int VerifyKey = 3005;
-	static final int TextChanged = 3006;
-	static final int LineGetSegments = 3007;
-	static final int PaintObject = 3008;
-	
-	static final int PREVIOUS_OFFSET_TRAILING = 0;
-	static final int OFFSET_LEADING = 1;
-	
-	Color selectionBackground;	// selection background color
-	Color selectionForeground;	// selection foreground color
-	StyledTextContent content;			// native content (default or user specified)
-	StyledTextRenderer renderer;
-	Listener listener;
-	TextChangeListener textChangeListener;	// listener for TextChanging, TextChanged and TextSet events from StyledTextContent
-	int verticalScrollOffset = 0;		// pixel based
-	int horizontalScrollOffset = 0;		// pixel based
-	int topIndex = 0;					// top visible line
-	int topIndexY;
-	int clientAreaHeight = 0;			// the client area height. Needed to calculate content width for new visible lines during Resize callback
-	int clientAreaWidth = 0;			// the client area width. Needed during Resize callback to determine if line wrap needs to be recalculated
-	int tabLength = 4;					// number of characters in a tab
-	int leftMargin;
-	int topMargin;
-	int rightMargin;
-	int bottomMargin;
-	int columnX;						// keep track of the horizontal caret position when changing lines/pages. Fixes bug 5935
-	int caretOffset = 0;
-	int caretAlignment;
-	Point selection = new Point(0, 0);	// x and y are start and end caret offsets of selection
-	Point clipboardSelection;           // x and y are start and end caret offsets of previous selection
-	int selectionAnchor;				// position of selection anchor. 0 based offset from beginning of text
-	Point doubleClickSelection;			// selection after last mouse double click
-	boolean editable = true;
-	boolean wordWrap = false;
-	boolean doubleClickEnabled = true;	// see getDoubleClickEnabled 
-	boolean overwrite = false;			// insert/overwrite edit mode
-	int textLimit = -1;					// limits the number of characters the user can type in the widget. Unlimited by default.
-	Hashtable keyActionMap = new Hashtable();
-	Color background = null;			// workaround for bug 4791
-	Color foreground = null;			//
-	Clipboard clipboard;
-	boolean mouseDown = false;
-	boolean mouseDoubleClick = false;	// true=a double click ocurred. Don't do mouse swipe selection.
-	int autoScrollDirection = SWT.NULL;	// the direction of autoscrolling (up, down, right, left)
-	int autoScrollDistance = 0;
-	int lastTextChangeStart;			// cache data of the 
-	int lastTextChangeNewLineCount;		// last text changing 
-	int lastTextChangeNewCharCount;		// event for use in the 
-	int lastTextChangeReplaceLineCount;	// text changed handler
-	int lastTextChangeReplaceCharCount;
-	int lastLineBottom;					// the bottom pixel of the last line been replaced
-	boolean isMirrored;
-	boolean bidiColoring = false;		// apply the BIDI algorithm on text segments of the same color
-	Image leftCaretBitmap = null;
-	Image rightCaretBitmap = null;
-	int caretDirection = SWT.NULL;
-	Caret defaultCaret = null;
-	boolean updateCaretDirection = true;
-	boolean fixedLineHeight;
-	boolean dragDetect, dragging;
-	
-	int alignment;
-	boolean justify;
-	int indent;
-	int lineSpacing;
-
-	final static boolean IS_CARBON, IS_GTK, IS_MOTIF;
-	static {
-		String platform = SWT.getPlatform();
-		IS_CARBON = "carbon".equals(platform);
-		IS_GTK = "gtk".equals(platform);
-		IS_MOTIF = "motif".equals(platform);
-	}
-
-	/**
-	 * The Printing class implements printing of a range of text.
-	 * An instance of <class>Printing </class> is returned in the 
-	 * StyledText#print(Printer) API. The run() method may be 
-	 * invoked from any thread.
-	 */
-	static class Printing implements Runnable {
-		final static int LEFT = 0;						// left aligned header/footer segment
-		final static int CENTER = 1;					// centered header/footer segment
-		final static int RIGHT = 2;						// right aligned header/footer segment
-
-		Printer printer;
-		StyledTextRenderer printerRenderer;
-		StyledTextPrintOptions printOptions;
-		Rectangle clientArea;
-		FontData fontData;
-		Font printerFont;
-		Hashtable resources;
-		int tabLength;
-		GC gc;											// printer GC
-		int pageWidth;									// width of a printer page in pixels
-		int startPage;									// first page to print
-		int endPage;									// last page to print
-		int startLine;									// first (wrapped) line to print
-		int endLine;									// last (wrapped) line to print
-		boolean singleLine;								// widget single line mode
-		Point selection = null;					// selected text
-		boolean mirrored;						// indicates the printing gc should be mirrored
-		int lineSpacing;
-
-	/**
-	 * Creates an instance of <class>Printing</class>.
-	 * Copies the widget content and rendering data that needs 
-	 * to be requested from listeners.
-	 * </p>
-	 * @param parent StyledText widget to print.
-	 * @param printer printer device to print on.
-	 * @param printOptions print options
-	 */		
-	Printing(StyledText styledText, Printer printer, StyledTextPrintOptions printOptions) {
-		this.printer = printer;
-		this.printOptions = printOptions;
-		this.mirrored = (styledText.getStyle() & SWT.MIRRORED) != 0;
-		singleLine = styledText.isSingleLine();
-		startPage = 1;
-		endPage = Integer.MAX_VALUE;
-		PrinterData data = printer.getPrinterData();
-		if (data.scope == PrinterData.PAGE_RANGE) {
-			startPage = data.startPage;
-			endPage = data.endPage;
-			if (endPage < startPage) {
-				int temp = endPage;
-				endPage = startPage;
-				startPage = temp;
-			}
-		} else if (data.scope == PrinterData.SELECTION) {
-			selection = styledText.getSelectionRange();
-		}
-		printerRenderer = new StyledTextRenderer(printer, null);
-		printerRenderer.setContent(copyContent(styledText.getContent()));
-		cacheLineData(styledText);
-
-	}
-	/**
-	 * Caches all line data that needs to be requested from a listener.
-	 * </p>
-	 * @param printerContent <class>StyledTextContent</class> to request 
-	 * 	line data for.
-	 */
-	void cacheLineData(StyledText styledText) {
-		StyledTextRenderer renderer = styledText.renderer;
-		renderer.copyInto(printerRenderer);
-		fontData = styledText.getFont().getFontData()[0];
-		tabLength = styledText.tabLength;
-		int lineCount = printerRenderer.lineCount;
-		if (styledText.isListening(LineGetBackground) || (styledText.isBidi() && styledText.isListening(LineGetSegments)) || styledText.isListening(LineGetStyle)) {
-			StyledTextContent content = printerRenderer.content;
-			for (int i = 0; i < lineCount; i++) {
-				String line = content.getLine(i);
-				int lineOffset = content.getOffsetAtLine(i);
-				StyledTextEvent event = styledText.getLineBackgroundData(lineOffset, line);
-				if (event != null && event.lineBackground != null) {
-					printerRenderer.setLineBackground(i, 1, event.lineBackground);
-				}
-				if (styledText.isBidi()) {
-					int[] segments = styledText.getBidiSegments(lineOffset, line);
-					printerRenderer.setLineSegments(i, 1, segments);
-				}			
-				event = styledText.getLineStyleData(lineOffset, line);
-				if (event != null) {
-					printerRenderer.setLineIndent(i, 1, event.indent);
-					printerRenderer.setLineAlignment(i, 1, event.alignment);
-					printerRenderer.setLineJustify(i, 1, event.justify);
-					printerRenderer.setLineBullet(i, 1, event.bullet);
-					StyleRange[] styles = event.styles;
-					if (styles != null && styles.length > 0) {
-						printerRenderer.setStyleRanges(event.ranges, styles);
-					}
-				}
-			}
-		}
-		Point screenDPI = styledText.getDisplay().getDPI();
-		Point printerDPI = printer.getDPI();
-		resources = new Hashtable ();
-		for (int i = 0; i < lineCount; i++) {
-			Color color = printerRenderer.getLineBackground(i, null);
-			if (color != null) {
-				if (printOptions.printLineBackground) {
-					Color printerColor = (Color)resources.get(color);
-					if (printerColor == null) {
-						printerColor = new Color (printer, color.getRGB());
-						resources.put(color, printerColor); 
-					}
-					printerRenderer.setLineBackground(i, 1, printerColor);
-				} else {
-					printerRenderer.setLineBackground(i, 1, null);
-				}
-			}
-			int indent = printerRenderer.getLineIndent(i, 0);
-			if (indent != 0) {
-				printerRenderer.setLineIndent(i, 1, indent * printerDPI.x / screenDPI.x);
-			}
-		}
-		StyleRange[] styles = printerRenderer.styles;
-		for (int i = 0; i < printerRenderer.styleCount; i++) {
-			StyleRange style = styles[i];
-			Font font = style.font;
-			if (style.font != null) {
-				Font printerFont = (Font)resources.get(font);
-				if (printerFont == null) {
-					printerFont = new Font (printer, font.getFontData());
-					resources.put(font, printerFont);					
-				}
-				style.font = printerFont;
-			}
-			Color color = style.foreground;
-			if (color != null) {
-				Color printerColor = (Color)resources.get(color);
-				if (printOptions.printTextForeground) {
-					if (printerColor == null) {
-						printerColor = new Color (printer, color.getRGB());
-						resources.put(color, printerColor); 
-					}
-					style.foreground = printerColor;
-				} else {
-					style.foreground = null;
-				}
-			}
-			color = style.background;
-			if (color != null) {
-				Color printerColor = (Color)resources.get(color);
-				if (printOptions.printTextBackground) {
-					if (printerColor == null) {
-						printerColor = new Color (printer, color.getRGB());
-						resources.put(color, printerColor); 
-					}
-					style.background = printerColor;
-				} else {
-					style.background = null;
-				}
-			}
-			if (!printOptions.printTextFontStyle) {
-				style.fontStyle = SWT.NORMAL;
-			}
-			style.rise = style.rise * printerDPI.y / screenDPI.y;
-			GlyphMetrics metrics = style.metrics;
-			if (metrics != null) {
-				metrics.ascent = metrics.ascent * printerDPI.y / screenDPI.y;
-				metrics.descent = metrics.descent * printerDPI.y / screenDPI.y;
-				metrics.width = metrics.width * printerDPI.x / screenDPI.x;
-			}
-		}
-		lineSpacing = styledText.lineSpacing * printerDPI.y / screenDPI.y;
-	}
-	/**
-	 * Copies the text of the specified <class>StyledTextContent</class>.
-	 * </p>
-	 * @param original the <class>StyledTextContent</class> to copy.
-	 */
-	StyledTextContent copyContent(StyledTextContent original) {
-		StyledTextContent printerContent = new DefaultContent();
-		int insertOffset = 0;
-		for (int i = 0; i < original.getLineCount(); i++) {
-			int insertEndOffset;
-			if (i < original.getLineCount() - 1) {
-				insertEndOffset = original.getOffsetAtLine(i + 1);
-			} else {
-				insertEndOffset = original.getCharCount();
-			}
-			printerContent.replaceTextRange(insertOffset, 0, original.getTextRange(insertOffset, insertEndOffset - insertOffset));
-			insertOffset = insertEndOffset;
-		}
-		return printerContent;
-	}
-	/**
-	 * Disposes of the resources and the <class>PrintRenderer</class>.
-	 */
-	void dispose() {
-		if (gc != null) {
-			gc.dispose();
-			gc = null;
-		}
-		if (resources != null) {
-			Enumeration enumeration = resources.elements();			
-			while (enumeration.hasMoreElements()) {
-				Resource resource = (Resource) enumeration.nextElement();
-				resource.dispose();
-			}
-			resources = null;
-		}
-		if (printerFont != null) {
-			printerFont.dispose();
-			printerFont = null;
-		}
-		if (printerRenderer != null) {
-			printerRenderer.dispose();
-			printerRenderer = null;
-		}
-	}
-	void init() {
-		Rectangle trim = printer.computeTrim(0, 0, 0, 0);
-		Point dpi = printer.getDPI();
-		
-		printerFont = new Font(printer, fontData.getName(), fontData.getHeight(), SWT.NORMAL);
-		clientArea = printer.getClientArea();
-		pageWidth = clientArea.width;
-		// one inch margin around text
-		clientArea.x = dpi.x + trim.x; 				
-		clientArea.y = dpi.y + trim.y;
-		clientArea.width -= (clientArea.x + trim.width);
-		clientArea.height -= (clientArea.y + trim.height); 
-
-		int style = mirrored ? SWT.RIGHT_TO_LEFT : SWT.LEFT_TO_RIGHT;
-		gc = new GC(printer, style);
-		gc.setFont(printerFont);
-		printerRenderer.setFont(printerFont, tabLength);
-		int lineHeight = printerRenderer.getLineHeight();
-		if (printOptions.header != null) {
-			clientArea.y += lineHeight * 2;
-			clientArea.height -= lineHeight * 2;
-		}
-		if (printOptions.footer != null) {
-			clientArea.height -= lineHeight * 2;
-		}
-		
-		// TODO not wrapped
-		StyledTextContent content = printerRenderer.content;
-		startLine = 0;
-		endLine = singleLine ? 0 : content.getLineCount() - 1;
-		PrinterData data = printer.getPrinterData();
-		if (data.scope == PrinterData.PAGE_RANGE) {
-			int pageSize = clientArea.height / lineHeight;//WRONG
-			startLine = (startPage - 1) * pageSize;
-		} else if (data.scope == PrinterData.SELECTION) {
-			startLine = content.getLineAtOffset(selection.x);
-			if (selection.y > 0) {
-				endLine = content.getLineAtOffset(selection.x + selection.y - 1);
-			} else {
-				endLine = startLine - 1;
-			}
-		}
-	}
-	/**
-	 * Prints the lines in the specified page range.
-	 */
-	void print() {
-		Color background = gc.getBackground();
-		Color foreground = gc.getForeground();
-		int paintY = clientArea.y;
-		int paintX = clientArea.x;
-		int page = startPage;
-		int pageBottom = clientArea.y + clientArea.height;
-		int orientation =  gc.getStyle() & (SWT.RIGHT_TO_LEFT | SWT.LEFT_TO_RIGHT);
-		
-		
-		for (int i = startLine; i <= endLine && page <= endPage; i++) {
-			if (paintY == clientArea.y) {
-				printer.startPage();
-				printDecoration(page, true);
-			}
-			TextLayout layout = printerRenderer.getTextLayout(i, orientation, clientArea.width, lineSpacing);
-			Color lineBackground = printerRenderer.getLineBackground(i, background);
-			int paragraphBottom = paintY + layout.getBounds().height; 
-			if (paragraphBottom <= pageBottom) {
-				//normal case, the whole paragraph fits in the current page
-				printLine(paintX, paintY, gc, foreground, lineBackground, layout);
-				paintY = paragraphBottom;
-			} else {
-				int lineCount = layout.getLineCount();
-				while (paragraphBottom > pageBottom && lineCount > 0) {
-					lineCount--;
-					paragraphBottom -= layout.getLineBounds(lineCount).height + layout.getSpacing();
-				}
-				if (lineCount == 0) {
-					//the whole paragraph goes to the next page
-					printDecoration(page, false);
-					printer.endPage();
-					page++;
-					if (page <= endPage) {
-						printer.startPage();
-						printDecoration(page, true);
-						paintY = clientArea.y;
-						printLine(paintX, paintY, gc, foreground, lineBackground, layout);
-						paintY += layout.getBounds().height;
-					}
-				} else {
-					//draw paragraph top in the current page and paragraph bottom in the next
-					int height = paragraphBottom - paintY;
-					gc.setClipping(paintX, paintY, clientArea.width, height);
-					printLine(paintX, paintY, gc, foreground, lineBackground, layout);
-					printDecoration(page, false);
-					printer.endPage();					
-					page++;
-					if (page <= endPage) {
-						printer.startPage();
-						printDecoration(page, true);
-						paintY = clientArea.y - height;
-						int layoutHeight = layout.getBounds().height;
-						gc.setClipping(paintX, clientArea.y, clientArea.width, layoutHeight - height);
-						printLine(paintX, paintY, gc, foreground, lineBackground, layout);
-						paintY += layoutHeight;
-					}
-					gc.setClipping((Rectangle)null);
-				}
-			}
-			printerRenderer.disposeTextLayout(layout);
-		}
-		if (paintY > clientArea.y) {
-			// close partial page
-			printDecoration(page, false);
-			printer.endPage();
-		}
-	}
-	/**
-	 * Print header or footer decorations.
-	 * 
-	 * @param page page number to print, if specified in the StyledTextPrintOptions header or footer.
-	 * @param header true = print the header, false = print the footer
-	 */
-	void printDecoration(int page, boolean header) {
-		String text = header ? printOptions.header : printOptions.footer;
-		if (text == null) return;
-		int lastSegmentIndex = 0;
-		int segmentCount = 3;
-		for (int i = 0; i < segmentCount; i++) {
-			int segmentIndex = text.indexOf(StyledTextPrintOptions.SEPARATOR, lastSegmentIndex);
-			String segment;
-			if (segmentIndex == -1) {
-				segment = text.substring(lastSegmentIndex);
-				printDecorationSegment(segment, i, page, header);
-				break;
-			} else {
-				segment = text.substring(lastSegmentIndex, segmentIndex);
-				printDecorationSegment(segment, i, page, header);
-				lastSegmentIndex = segmentIndex + StyledTextPrintOptions.SEPARATOR.length();
-			}
-		}
-	}
-	/**
-	 * Print one segment of a header or footer decoration.
-	 * Headers and footers have three different segments.
-	 * One each for left aligned, centered, and right aligned text.
-	 * 
-	 * @param segment decoration segment to print
-	 * @param alignment alignment of the segment. 0=left, 1=center, 2=right 
-	 * @param page page number to print, if specified in the decoration segment.
-	 * @param header true = print the header, false = print the footer
-	 */
-	void printDecorationSegment(String segment, int alignment, int page, boolean header) {		
-		int pageIndex = segment.indexOf(StyledTextPrintOptions.PAGE_TAG);
-		if (pageIndex != -1) {
-			int pageTagLength = StyledTextPrintOptions.PAGE_TAG.length();
-			StringBuffer buffer = new StringBuffer(segment.substring (0, pageIndex));
-			buffer.append (page);
-			buffer.append (segment.substring(pageIndex + pageTagLength));
-			segment = buffer.toString();
-		}
-		if (segment.length() > 0) {
-			TextLayout layout = new TextLayout(printer);
-			layout.setText(segment);
-			layout.setFont(printerFont);
-			int segmentWidth = layout.getBounds().width;
-			int segmentHeight = printerRenderer.getLineHeight();
-			int drawX = 0, drawY;
-			if (alignment == LEFT) {
-				drawX = clientArea.x;
-			} else if (alignment == CENTER) {
-				drawX = (pageWidth - segmentWidth) / 2;
-			} else if (alignment == RIGHT) {
-				drawX = clientArea.x + clientArea.width - segmentWidth;
-			}
-			if (header) {
-				drawY = clientArea.y - segmentHeight * 2;
-			} else {
-				drawY = clientArea.y + clientArea.height + segmentHeight;
-			}
-			layout.draw(gc, drawX, drawY);
-			layout.dispose();
-		}
-	}
-	void printLine(int paintX, int paintY, GC gc, Color foreground, Color background, TextLayout layout) {
-		if (background != null) {
-			Rectangle rect = layout.getBounds();
-			gc.setBackground(background);
-			gc.fillRectangle(paintX, paintY, rect.width, rect.height);
-			
-//			int lineCount = layout.getLineCount();
-//			for (int i = 0; i < lineCount; i++) {
-//				Rectangle rect = layout.getLineBounds(i);
-//				rect.x += paintX;
-//				rect.y += paintY + layout.getSpacing();
-//				rect.width = width;//layout bounds
-//				gc.fillRectangle(rect);
-//			}
-		}
-		gc.setForeground(foreground);
-		layout.draw(gc, paintX, paintY);
-	}
-	/**
-	 * Starts a print job and prints the pages specified in the constructor.
-	 */
-	public void run() {
-		String jobName = printOptions.jobName;
-		if (jobName == null) {
-			jobName = "Printing";
-		}
-		if (printer.startJob(jobName)) {
-			init();
-			print();
-			dispose();
-			printer.endJob();
-		}
-	}	
-	}
-	/**
-	 * The <code>RTFWriter</code> class is used to write widget content as
-	 * rich text. The implementation complies with the RTF specification 
-	 * version 1.5.
-	 * <p>
-	 * toString() is guaranteed to return a valid RTF string only after 
-	 * close() has been called. 
-	 * </p><p>
-	 * Whole and partial lines and line breaks can be written. Lines will be
-	 * formatted using the styles queried from the LineStyleListener, if 
-	 * set, or those set directly in the widget. All styles are applied to
-	 * the RTF stream like they are rendered by the widget. In addition, the 
-	 * widget font name and size is used for the whole text.
-	 * </p>
-	 */
-	class RTFWriter extends TextWriter {
-		static final int DEFAULT_FOREGROUND = 0;
-		static final int DEFAULT_BACKGROUND = 1;
-		Vector colorTable, fontTable;
-		boolean WriteUnicode;
-		
-	/**
-	 * Creates a RTF writer that writes content starting at offset "start"
-	 * in the document.  <code>start</code> and <code>length</code>can be set to specify partial 
-	 * lines.
-	 *
-	 * @param start start offset of content to write, 0 based from 
-	 * 	beginning of document
-	 * @param length length of content to write
-	 */
-	public RTFWriter(int start, int length) {
-		super(start, length);
-		colorTable = new Vector();
-		fontTable = new Vector();
-		colorTable.addElement(getForeground());
-		colorTable.addElement(getBackground());
-		fontTable.addElement(getFont());
-		setUnicode();
-	}
-	/**
-	 * Closes the RTF writer. Once closed no more content can be written.
-	 * <b>NOTE:</b>  <code>toString()</code> does not return a valid RTF string until 
-	 * <code>close()</code> has been called.
-	 */
-	public void close() {
-		if (!isClosed()) {
-			writeHeader();
-			write("\n}}\0");
-			super.close();
-		}
-	}	
-	/**
-	 * Returns the index of the specified color in the RTF color table.
-	 *
-	 * @param color the color
-	 * @param defaultIndex return value if color is null
-	 * @return the index of the specified color in the RTF color table
-	 * 	or "defaultIndex" if "color" is null.
-	 */
-	int getColorIndex(Color color, int defaultIndex) {
-		if (color == null) return defaultIndex;
-		int index = colorTable.indexOf(color);
-		if (index == -1) {
-			index = colorTable.size();
-			colorTable.addElement(color);
-		}
-		return index;
-	}
-	/**
-	 * Returns the index of the specified color in the RTF color table.
-	 *
-	 * @param color the color
-	 * @param defaultIndex return value if color is null
-	 * @return the index of the specified color in the RTF color table
-	 * 	or "defaultIndex" if "color" is null.
-	 */
-	int getFontIndex(Font font) {
-		int index = fontTable.indexOf(font);
-		if (index == -1) {
-			index = fontTable.size();
-			fontTable.addElement(font);
-		}
-		return index;
-	}
-	/**
-	 * Determines if Unicode RTF should be written.
-	 * Don't write Unicode RTF on Windows 95/98/ME or NT.
-	 */
-	void setUnicode() {
-		final String Win95 = "windows 95";
-		final String Win98 = "windows 98";
-		final String WinME = "windows me";		
-		final String WinNT = "windows nt";
-		String osName = System.getProperty("os.name").toLowerCase();
-		String osVersion = System.getProperty("os.version");
-		int majorVersion = 0;
-		
-		if (osName.startsWith(WinNT) && osVersion != null) {
-			int majorIndex = osVersion.indexOf('.');
-			if (majorIndex != -1) {
-				osVersion = osVersion.substring(0, majorIndex);
-				try {
-					majorVersion = Integer.parseInt(osVersion);
-				} catch (NumberFormatException exception) {
-					// ignore exception. version number remains unknown.
-					// will write without Unicode
-				}
-			}
-		}
-		WriteUnicode =	!osName.startsWith(Win95) &&
-						!osName.startsWith(Win98) &&
-						!osName.startsWith(WinME) &&
-						(!osName.startsWith(WinNT) || majorVersion > 4);
-	}
-	/**
-	 * Appends the specified segment of "string" to the RTF data.
-	 * Copy from <code>start</code> up to, but excluding, <code>end</code>.
-	 *
-	 * @param string string to copy a segment from. Must not contain
-	 * 	line breaks. Line breaks should be written using writeLineDelimiter()
-	 * @param start start offset of segment. 0 based.
-	 * @param end end offset of segment
-	 */
-	void write(String string, int start, int end) {
-		for (int index = start; index < end; index++) {
-			char ch = string.charAt(index);
-			if (ch > 0xFF && WriteUnicode) {
-				// write the sub string from the last escaped character 
-				// to the current one. Fixes bug 21698.
-				if (index > start) {
-					write(string.substring(start, index));
-				}
-				write("\\u");
-				write(Integer.toString((short) ch));
-				write(' ');						// control word delimiter
-				start = index + 1;
-			} else if (ch == '}' || ch == '{' || ch == '\\') {
-				// write the sub string from the last escaped character 
-				// to the current one. Fixes bug 21698.
-				if (index > start) {
-					write(string.substring(start, index));
-				}
-				write('\\');
-				write(ch);
-				start = index + 1;
-			}
-		}
-		// write from the last escaped character to the end.
-		// Fixes bug 21698.
-		if (start < end) {
-			write(string.substring(start, end));
-		}
-	}
-	/**
-	 * Writes the RTF header including font table and color table.
-	 */
-	void writeHeader() {
-		StringBuffer header = new StringBuffer();
-		FontData fontData = getFont().getFontData()[0];
-		header.append("{\\rtf1\\ansi");
-		// specify code page, necessary for copy to work in bidi 
-		// systems that don't support Unicode RTF.
-		String cpg = System.getProperty("file.encoding").toLowerCase();
-		if (cpg.startsWith("cp") || cpg.startsWith("ms")) {
-			cpg = cpg.substring(2, cpg.length());
-			header.append("\\ansicpg");
-			header.append(cpg);
-		}
-		header.append("\\uc0\\deff0{\\fonttbl{\\f0\\fnil ");
-		header.append(fontData.getName());
-		header.append(";");
-		for (int i = 1; i < fontTable.size(); i++) {
-			header.append("\\f");
-			header.append(i);
-			header.append(" ");
-			FontData fd = ((Font)fontTable.elementAt(i)).getFontData()[0];
-			header.append(fd.getName());
-			header.append(";");			
-		}
-		header.append("}}\n{\\colortbl");
-		for (int i = 0; i < colorTable.size(); i++) {
-			Color color = (Color) colorTable.elementAt(i);
-			header.append("\\red");
-			header.append(color.getRed());
-			header.append("\\green");
-			header.append(color.getGreen());
-			header.append("\\blue");
-			header.append(color.getBlue());
-			header.append(";");
-		}
-		// some RTF readers ignore the deff0 font tag. Explicitly 
-		// set the font for the whole document to work around this.
-		header.append("}\n{\\f0\\fs");
-		// font size is specified in half points
-		header.append(fontData.getHeight() * 2);
-		header.append(" ");
-		write(header.toString(), 0);
-	}
-	/**
-	 * Appends the specified line text to the RTF data.  Lines will be formatted 
-	 * using the styles queried from the LineStyleListener, if set, or those set 
-	 * directly in the widget.
-	 *
-	 * @param line line text to write as RTF. Must not contain line breaks
-	 * 	Line breaks should be written using writeLineDelimiter()
-	 * @param lineOffset offset of the line. 0 based from the start of the 
-	 * 	widget document. Any text occurring before the start offset or after the 
-	 * 	end offset specified during object creation is ignored.
-	 * @exception SWTException <ul>
-	 *   <li>ERROR_IO when the writer is closed.</li>
-	 * </ul>
-	 */
-	public void writeLine(String line, int lineOffset) {
-		if (isClosed()) {
-			SWT.error(SWT.ERROR_IO);
-		}
-		int lineIndex = content.getLineAtOffset(lineOffset);
-		int lineAlignment, lineIndent;
-		boolean lineJustify;
-		int[] ranges;
-		StyleRange[] styles;
-		StyledTextEvent event = getLineStyleData(lineOffset, line);
-		if (event != null) {
-			lineAlignment = event.alignment;
-			lineIndent = event.indent;
-			lineJustify = event.justify;
-			ranges = event.ranges;
-			styles = event.styles;
-		} else {
-			lineAlignment = renderer.getLineAlignment(lineIndex, alignment);
-			lineIndent =  renderer.getLineIndent(lineIndex, indent);			
-			lineJustify = renderer.getLineJustify(lineIndex, justify);
-			ranges = renderer.getRanges(lineOffset, line.length());
-			styles = renderer.getStyleRanges(lineOffset, line.length(), false);
-		}
-		if (styles == null) styles = new StyleRange[0];		
-		Color lineBackground = renderer.getLineBackground(lineIndex, null);
-		event = getLineBackgroundData(lineOffset, line);
-		if (event != null && event.lineBackground != null) lineBackground = event.lineBackground;
-		writeStyledLine(line, lineOffset, ranges, styles, lineBackground, lineIndent, lineAlignment, lineJustify);
-	}
-	/**
-	 * Appends the specified line delmimiter to the RTF data.
-	 *
-	 * @param lineDelimiter line delimiter to write as RTF.
-	 * @exception SWTException <ul>
-	 *   <li>ERROR_IO when the writer is closed.</li>
-	 * </ul>
-	 */
-	public void writeLineDelimiter(String lineDelimiter) {
-		if (isClosed()) {
-			SWT.error(SWT.ERROR_IO);
-		}
-		write(lineDelimiter, 0, lineDelimiter.length());
-		write("\\par ");
-	}
-	/**
-	 * Appends the specified line text to the RTF data.
-	 * <p>
-	 * Use the colors and font styles specified in "styles" and "lineBackground".
-	 * Formatting is written to reflect the text rendering by the text widget.
-	 * Style background colors take precedence over the line background color.
-	 * Background colors are written using the \highlight tag (vs. the \cb tag).
-	 * </p>
-	 *
-	 * @param line line text to write as RTF. Must not contain line breaks
-	 * 	Line breaks should be written using writeLineDelimiter()
-	 * @param lineOffset offset of the line. 0 based from the start of the 
-	 * 	widget document. Any text occurring before the start offset or after the 
-	 * 	end offset specified during object creation is ignored.
-	 * @param styles styles to use for formatting. Must not be null.
-	 * @param lineBackground line background color to use for formatting. 
-	 * 	May be null.
-	 */
-	void writeStyledLine(String line, int lineOffset, int ranges[], StyleRange[] styles, Color lineBackground, int indent, int alignment, boolean justify) {
-		int lineLength = line.length();
-		int startOffset = getStart();
-		int writeOffset = startOffset - lineOffset;
-		if (writeOffset >= lineLength) return;
-		int lineIndex = Math.max(0, writeOffset);
-			
-		write("\\fi");
-		write(indent);
-		switch (alignment) {
-			case SWT.LEFT: write("\\ql"); break;
-			case SWT.CENTER: write("\\qc"); break;
-			case SWT.RIGHT: write("\\qr"); break;
-		}
-		if (justify) write("\\qj");
-		write(" ");
-		
-		if (lineBackground != null) {
-			write("{\\highlight");
-			write(getColorIndex(lineBackground, DEFAULT_BACKGROUND));
-			write(" "); 
-		}
-		int endOffset = startOffset + super.getCharCount();
-		int lineEndOffset = Math.min(lineLength, endOffset - lineOffset);
-		for (int i = 0; i < styles.length; i++) {
-			StyleRange style = styles[i];
-			int start, end;
-			if (ranges != null) {
-				start = ranges[i << 1] - lineOffset;
-				end = start + ranges[(i << 1) + 1];
-			} else {
-				start = style.start - lineOffset;
-				end = start + style.length;
-			}
-			// skip over partial first line
-			if (end < writeOffset) {
-				continue;
-			}
-			// style starts beyond line end or RTF write end
-			if (start >= lineEndOffset) {
-				break;
-			}
-			// write any unstyled text
-			if (lineIndex < start) {
-				// copy to start of style
-				// style starting betond end of write range or end of line 
-				// is guarded against above.
-				write(line, lineIndex, start);
-				lineIndex = start;
-			}
-			// write styled text
-			write("{\\cf");
-			write(getColorIndex(style.foreground, DEFAULT_FOREGROUND));
-			int colorIndex = getColorIndex(style.background, DEFAULT_BACKGROUND);
-			if (colorIndex != DEFAULT_BACKGROUND) {
-				write("\\highlight");
-				write(colorIndex);
-			}
-			Font font = style.font;
-			if (font != null) {
-				int fontIndex = getFontIndex(font);
-				write("\\f");
-				write(fontIndex);
-				FontData fontData = font.getFontData()[0];
-				write("\\fs");
-				write(fontData.getHeight() * 2);
-			} else {
-				if ((style.fontStyle & SWT.BOLD) != 0) {
-					write("\\b"); 
-				}
-				if ((style.fontStyle & SWT.ITALIC) != 0) {
-					write("\\i"); 
-				}
-			}
-			if (style.underline) {
-				write("\\ul");
-			}
-			if (style.strikeout) {
-				write("\\strike");
-			}
-			write(" "); 
-			// copy to end of style or end of write range or end of line
-			int copyEnd = Math.min(end, lineEndOffset);
-			// guard against invalid styles and let style processing continue
-			copyEnd = Math.max(copyEnd, lineIndex);
-			write(line, lineIndex, copyEnd);
-			if (font == null) {
-				if ((style.fontStyle & SWT.BOLD) != 0) {
-					write("\\b0"); 
-				}
-				if ((style.fontStyle & SWT.ITALIC) != 0) {
-					write("\\i0"); 
-				}
-			}
-			if (style.underline) {
-				write("\\ul0");
-			}
-			if (style.strikeout) {
-				write("\\strike0");
-			}
-			write("}");
-			lineIndex = copyEnd;
-		}
-		// write unstyled text at the end of the line
-		if (lineIndex < lineEndOffset) {
-			write(line, lineIndex, lineEndOffset);
-		}
-		if (lineBackground != null) write("}");
-	}
-	}
-	/**
-	 * The <code>TextWriter</code> class is used to write widget content to
-	 * a string.  Whole and partial lines and line breaks can be written. To write 
-	 * partial lines, specify the start and length of the desired segment 
-	 * during object creation.
-	 * <p>
-	 * </b>NOTE:</b> <code>toString()</code> is guaranteed to return a valid string only after close() 
-	 * has been called.
-	 * </p>
-	 */
-	class TextWriter {
-		private StringBuffer buffer;
-		private int startOffset;	// offset of first character that will be written
-		private int endOffset;		// offset of last character that will be written. 
-									// 0 based from the beginning of the widget text. 
-		private boolean isClosed = false;
-	
-	/**
-	 * Creates a writer that writes content starting at offset "start"
-	 * in the document.  <code>start</code> and <code>length</code> can be set to specify partial lines.
-	 *
-	 * @param start start offset of content to write, 0 based from beginning of document
-	 * @param length length of content to write
-	 */
-	public TextWriter(int start, int length) {
-		buffer = new StringBuffer(length);
-		startOffset = start;
-		endOffset = start + length;
-	}
-	/**
-	 * Closes the writer. Once closed no more content can be written.
-	 * <b>NOTE:</b>  <code>toString()</code> is not guaranteed to return a valid string unless
-	 * the writer is closed.
-	 */
-	public void close() {
-		if (!isClosed) {
-			isClosed = true;
-		}
-	}
-	/** 
-	 * Returns the number of characters to write.
-	 * @return the integer number of characters to write
-	 */
-	public int getCharCount() {
-		return endOffset - startOffset;
-	}	
-	/** 
-	 * Returns the offset where writing starts. 0 based from the start of 
-	 * the widget text. Used to write partial lines.
-	 * @return the integer offset where writing starts
-	 */
-	public int getStart() {
-		return startOffset;
-	}
-	/**
-	 * Returns whether the writer is closed.
-	 * @return a boolean specifying whether or not the writer is closed
-	 */
-	public boolean isClosed() {
-		return isClosed;
-	}
-	/**
-	 * Returns the string.  <code>close()</code> must be called before <code>toString()</code> 
-	 * is guaranteed to return a valid string.
-	 *
-	 * @return the string
-	 */
-	public String toString() {
-		return buffer.toString();
-	}
-	/**
-	 * Appends the given string to the data.
-	 */
-	void write(String string) {
-		buffer.append(string);
-	}
-	/**
-	 * Inserts the given string to the data at the specified offset.
-	 * <p>
-	 * Do nothing if "offset" is < 0 or > getCharCount()
-	 * </p>
-	 *
-	 * @param string text to insert
-	 * @param offset offset in the existing data to insert "string" at.
-	 */
-	void write(String string, int offset) {
-		if (offset < 0 || offset > buffer.length()) {
-			return;
-		}
-		buffer.insert(offset, string);
-	}
-	/**
-	 * Appends the given int to the data.
-	 */
-	void write(int i) {
-		buffer.append(i);
-	}
-	/**
-	 * Appends the given character to the data.
-	 */
-	void write(char i) {
-		buffer.append(i);
-	}
-	/**
-	 * Appends the specified line text to the data.
-	 *
-	 * @param line line text to write. Must not contain line breaks
-	 * 	Line breaks should be written using writeLineDelimiter()
-	 * @param lineOffset offset of the line. 0 based from the start of the 
-	 * 	widget document. Any text occurring before the start offset or after the 
-	 *	end offset specified during object creation is ignored.
-	 * @exception SWTException <ul>
-	 *   <li>ERROR_IO when the writer is closed.</li>
-	 * </ul>
-	 */
-	public void writeLine(String line, int lineOffset) {	
-		if (isClosed) {
-			SWT.error(SWT.ERROR_IO);
-		}		
-		int writeOffset = startOffset - lineOffset;
-		int lineLength = line.length();
-		int lineIndex;
-		if (writeOffset >= lineLength) {
-			return;							// whole line is outside write range
-		} else if (writeOffset > 0) {
-			lineIndex = writeOffset;		// line starts before write start
-		} else {
-			lineIndex = 0;
-		}
-		int copyEnd = Math.min(lineLength, endOffset - lineOffset);
-		if (lineIndex < copyEnd) {
-			write(line.substring(lineIndex, copyEnd));
-		}
-	}
-	/**
-	 * Appends the specified line delmimiter to the data.
-	 *
-	 * @param lineDelimiter line delimiter to write
-	 * @exception SWTException <ul>
-	 *   <li>ERROR_IO when the writer is closed.</li>
-	 * </ul>
-	 */
-	public void writeLineDelimiter(String lineDelimiter) {
-		if (isClosed) {
-			SWT.error(SWT.ERROR_IO);
-		}
-		write(lineDelimiter);
-	}
-	}
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#FULL_SELECTION
- * @see SWT#MULTI
- * @see SWT#READ_ONLY
- * @see SWT#SINGLE
- * @see SWT#WRAP
- * @see #getStyle
- */
-public StyledText(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	// set the fg in the OS to ensure that these are the same as StyledText, necessary
-	// for ensuring that the bg/fg the IME box uses is the same as what StyledText uses
-	super.setForeground(getForeground());
-	Display display = getDisplay();
-	isMirrored = (super.getStyle() & SWT.MIRRORED) != 0;
-	fixedLineHeight = true;
-	if ((style & SWT.READ_ONLY) != 0) {
-		setEditable(false);
-	}
-	leftMargin = rightMargin = isBidiCaret() ? BIDI_CARET_WIDTH - 1: 0;
-	if ((style & SWT.SINGLE) != 0 && (style & SWT.BORDER) != 0) {
-		leftMargin = topMargin = rightMargin = bottomMargin = 2;
-	}
-	alignment = style & (SWT.LEFT | SWT.RIGHT | SWT.CENTER);
-	if (alignment == 0) alignment = SWT.LEFT;
-	clipboard = new Clipboard(display);
-	installDefaultContent();
-	renderer = new StyledTextRenderer(getDisplay(), this);
-	renderer.setContent(content);
-	renderer.setFont(getFont(), tabLength);
-	defaultCaret = new Caret(this, SWT.NULL);
-	if ((style & SWT.WRAP) != 0) {
-		setWordWrap(true);
-	}
-	if (isBidiCaret()) {
-		createCaretBitmaps();
-		Runnable runnable = new Runnable() {
-			public void run() {
-				int direction = BidiUtil.getKeyboardLanguage() == BidiUtil.KEYBOARD_BIDI ? SWT.RIGHT : SWT.LEFT;
-				if (direction == caretDirection) return;
-				if (getCaret() != defaultCaret) return;
-				Point newCaretPos = getPointAtOffset(caretOffset);
-				setCaretLocation(newCaretPos, direction);
-			}
-		};
-		BidiUtil.addLanguageListener(handle, runnable);
-	}
-	setCaret(defaultCaret);	
-	calculateScrollBars();
-	createKeyBindings();
-	setCursor(display.getSystemCursor(SWT.CURSOR_IBEAM));
-	installListeners();
-	initializeAccessible();
-}
-/**	 
- * Adds an extended modify listener. An ExtendedModify event is sent by the 
- * widget when the widget text has changed.
- *
- * @param extendedModifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addExtendedModifyListener(ExtendedModifyListener extendedModifyListener) {
-	checkWidget();
-	if (extendedModifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	StyledTextListener typedListener = new StyledTextListener(extendedModifyListener);
-	addListener(ExtendedModify, typedListener);
-}
-/**
- * Adds a bidirectional segment listener.
- * <p>
- * A BidiSegmentEvent is sent 
- * whenever a line of text is measured or rendered. The user can 
- * specify text ranges in the line that should be treated as if they 
- * had a different direction than the surrounding text.
- * This may be used when adjacent segments of right-to-left text should
- * not be reordered relative to each other. 
- * E.g., Multiple Java string literals in a right-to-left language
- * should generally remain in logical order to each other, that is, the
- * way they are stored. 
- * </p>
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- * @see BidiSegmentEvent
- * @since 2.0
- */
-public void addBidiSegmentListener(BidiSegmentListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(LineGetSegments, new StyledTextListener(listener));
-}
-/**
- * Adds a line background listener. A LineGetBackground event is sent by the 
- * widget to determine the background color for a line.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addLineBackgroundListener(LineBackgroundListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (!isListening(LineGetBackground)) {
-		renderer.clearLineBackground(0, content.getLineCount());
-	}
-	addListener(LineGetBackground, new StyledTextListener(listener));
-}
-/**
- * Adds a line style listener. A LineGetStyle event is sent by the widget to 
- * determine the styles for a line.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addLineStyleListener(LineStyleListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (!isListening(LineGetStyle)) {
-		setStyleRanges(0, 0, null, null, true);
-		renderer.clearLineStyle(0, content.getLineCount());
-	}
-	addListener(LineGetStyle, new StyledTextListener(listener));
-}
-/**	 
- * Adds a modify listener. A Modify event is sent by the widget when the widget text 
- * has changed.
- *
- * @param modifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addModifyListener(ModifyListener modifyListener) {
-	checkWidget();
-	if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(SWT.Modify, new TypedListener(modifyListener));
-}
-/**	 
- * Adds a paint object listener. A paint object event is sent by the widget when an object
- * needs to be drawn.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- * 
- * @since 3.2
- * 
- * @see PaintObjectListener
- * @see PaintObjectEvent
- */
-public void addPaintObjectListener(PaintObjectListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(PaintObject, new StyledTextListener(listener));
-}
-/**	 
- * Adds a selection listener. A Selection event is sent by the widget when the 
- * selection has changed.
- * <p>
- * When <code>widgetSelected</code> is called, the event x and y fields contain
- * the start and end caret indices of the selection.
- * <code>widgetDefaultSelected</code> is not called for StyledTexts.
- * </p>
- * 
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(SWT.Selection, new TypedListener(listener));
-}
-/**	 
- * Adds a verify key listener. A VerifyKey event is sent by the widget when a key 
- * is pressed. The widget ignores the key press if the listener sets the doit field 
- * of the event to false. 
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addVerifyKeyListener(VerifyKeyListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(VerifyKey, new StyledTextListener(listener));
-}
-/**	 
- * Adds a verify listener. A Verify event is sent by the widget when the widget text 
- * is about to change. The listener can set the event text and the doit field to 
- * change the text that is set in the widget or to force the widget to ignore the 
- * text change.
- *
- * @param verifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addVerifyListener(VerifyListener verifyListener) {
-	checkWidget();
-	if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	addListener(SWT.Verify, new TypedListener(verifyListener));
-}
-/** 
- * Appends a string to the text at the end of the widget.
- *
- * @param string the string to be appended
- * @see #replaceTextRange(int,int,String)
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void append(String string) {
-	checkWidget();
-	if (string == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	int lastChar = Math.max(getCharCount(), 0);
-	replaceTextRange(lastChar, 0, string);
-}
-/**
- * Calculates the scroll bars
- */
-void calculateScrollBars() {
-	ScrollBar horizontalBar = getHorizontalBar();
-	ScrollBar verticalBar = getVerticalBar();
-	setScrollBars(true);
-	if (verticalBar != null) {
-		verticalBar.setIncrement(getVerticalIncrement());
-	}	
-	if (horizontalBar != null) {
-		horizontalBar.setIncrement(getHorizontalIncrement());
-	}
-}
-/**
- * Calculates the top index based on the current vertical scroll offset.
- * The top index is the index of the topmost fully visible line or the
- * topmost partially visible line if no line is fully visible.
- * The top index starts at 0.
- */
-void calculateTopIndex(int delta) {
-	int oldTopIndex = topIndex;
-	int oldTopIndexY = topIndexY;
-	if (isFixedLineHeight()) {
-		int verticalIncrement = getVerticalIncrement();
-		if (verticalIncrement == 0) {
-			return;
-		}
-		topIndex = Compatibility.ceil(getVerticalScrollOffset(), verticalIncrement);
-		// Set top index to partially visible top line if no line is fully 
-		// visible but at least some of the widget client area is visible.
-		// Fixes bug 15088.
-		if (topIndex > 0) {
-			if (clientAreaHeight > 0) {
-				int bottomPixel = getVerticalScrollOffset() + clientAreaHeight;
-				int fullLineTopPixel = topIndex * verticalIncrement;
-				int fullLineVisibleHeight = bottomPixel - fullLineTopPixel;
-				// set top index to partially visible line if no line fully fits in 
-				// client area or if space is available but not used (the latter should
-				// never happen because we use claimBottomFreeSpace)
-				if (fullLineVisibleHeight < verticalIncrement) {
-					topIndex--;
-				}
-			} else if (topIndex >= content.getLineCount()) {
-				topIndex = content.getLineCount() - 1;
-			}
-		}
-	} else {
-		if (delta >= 0) {
-			delta -= topIndexY;
-			int lineIndex = topIndex;
-			int lineCount = content.getLineCount();
-			while (lineIndex < lineCount) {
-				if (delta <= 0) break;
-				delta -= renderer.getLineHeight(lineIndex++);
-			}
-			if (lineIndex < lineCount && -delta + renderer.getLineHeight(lineIndex) <= clientAreaHeight - topMargin - bottomMargin) {
-				topIndex = lineIndex;
-				topIndexY = -delta;
-			} else {
-				topIndex = lineIndex - 1;
-				topIndexY = -renderer.getLineHeight(topIndex) - delta;
-			}
-		} else {
-			delta -= topIndexY;
-			int lineIndex = topIndex;
-			while (lineIndex > 0) {
-				int lineHeight = renderer.getLineHeight(lineIndex - 1);
-				if (delta + lineHeight > 0) break;
-				delta += lineHeight;
-				lineIndex--;
-			}
-			if (lineIndex == 0 || -delta + renderer.getLineHeight(lineIndex) <= clientAreaHeight - topMargin - bottomMargin) {
-				topIndex = lineIndex;
-				topIndexY = - delta;
-			} else {
-				topIndex = lineIndex - 1;
-				topIndexY = - renderer.getLineHeight(topIndex) - delta;
-			}
-		}
-	}
-	if (topIndex != oldTopIndex || oldTopIndexY != topIndexY) {
-		renderer.calculateClientArea();
-		setScrollBars(false);
-	}
-}
-/**
- * Hides the scroll bars if widget is created in single line mode.
- */
-static int checkStyle(int style) {
-	if ((style & SWT.SINGLE) != 0) {
-		style &= ~(SWT.H_SCROLL | SWT.V_SCROLL | SWT.WRAP | SWT.MULTI);
-	} else {
-		style |= SWT.MULTI;
-		if ((style & SWT.WRAP) != 0) {
-			style &= ~SWT.H_SCROLL;
-		}
-	}
-	style |= SWT.NO_REDRAW_RESIZE | SWT.DOUBLE_BUFFERED | SWT.NO_BACKGROUND;
-	return style;
-}
-/**
- * Scrolls down the text to use new space made available by a resize or by 
- * deleted lines.
- */
-void claimBottomFreeSpace() {
-	int clientAreaHeight = this.clientAreaHeight - topMargin - bottomMargin;
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		int newVerticalOffset = Math.max(0, content.getLineCount() * lineHeight - clientAreaHeight);
-		if (newVerticalOffset < getVerticalScrollOffset()) {
-			scrollVertical(newVerticalOffset - getVerticalScrollOffset(), true);
-		}
-	} else {
-		int bottomIndex = getPartialBottomIndex();
-		int height = getLinePixel(bottomIndex + 1);
-		if (clientAreaHeight > height) {
-			scrollVertical(-getAvailableHeightAbove(clientAreaHeight - height), true);
-		}
-	}
-}
-/**
- * Scrolls text to the right to use new space made available by a resize.
- */
-void claimRightFreeSpace() {
-	int newHorizontalOffset = Math.max(0, renderer.getWidth() - (clientAreaWidth - leftMargin - rightMargin));
-	if (newHorizontalOffset < horizontalScrollOffset) {			
-		// item is no longer drawn past the right border of the client area
-		// align the right end of the item with the right border of the 
-		// client area (window is scrolled right).
-		scrollHorizontal(newHorizontalOffset - horizontalScrollOffset, true);					
-	}
-}
-/**
- * Removes the widget selection.
- *
- * @param sendEvent a Selection event is sent when set to true and when the selection is actually reset.
- */
-void clearSelection(boolean sendEvent) {
-	int selectionStart = selection.x;
-	int selectionEnd = selection.y;	
-	resetSelection();
-	// redraw old selection, if any
-	if (selectionEnd - selectionStart > 0) {
-		int length = content.getCharCount();
-		// called internally to remove selection after text is removed
-		// therefore make sure redraw range is valid.
-		int redrawStart = Math.min(selectionStart, length);
-		int redrawEnd = Math.min(selectionEnd, length);
-		if (redrawEnd - redrawStart > 0) {
-			internalRedrawRange(redrawStart, redrawEnd - redrawStart);
-		}
-		if (sendEvent) {
-			sendSelectionEvent();
-		}
-	}
-}
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	checkWidget();
-	int lineCount = (getStyle() & SWT.SINGLE) != 0 ? 1 : content.getLineCount();
-	int width = 0;
-	int height = 0;
-	if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {
-		Display display = getDisplay();
-		int maxHeight = display.getClientArea().height;
-		for (int lineIndex = 0; lineIndex < lineCount; lineIndex++) {
-			TextLayout layout = renderer.getTextLayout(lineIndex);
-			if (wordWrap) layout.setWidth(wHint == 0 ? 1 : wHint);
-			Rectangle rect = layout.getBounds();
-			height += rect.height;
-			width = Math.max(width, rect.width);
-			renderer.disposeTextLayout(layout);
-			if (isFixedLineHeight() && height > maxHeight) break;
-		}
-		if (isFixedLineHeight()) {
-			height = lineCount * renderer.getLineHeight();
-		}
-	}
-	// Use default values if no text is defined.
-	if (width == 0) width = DEFAULT_WIDTH;
-	if (height == 0) height = DEFAULT_HEIGHT;
-	if (wHint != SWT.DEFAULT) width = wHint;
-	if (hHint != SWT.DEFAULT) height = hHint;
-	int wTrim = leftMargin + rightMargin + getCaretWidth();
-	int hTrim = topMargin + bottomMargin;
-	Rectangle rect = computeTrim(0, 0, width + wTrim, height + hTrim);
-	return new Point (rect.width, rect.height);
-}
-/**
- * Copies the selected text to the <code>DND.CLIPBOARD</code> clipboard.
- * <p>
- * The text will be put on the clipboard in plain text format and RTF format.
- * The <code>DND.CLIPBOARD</code> clipboard is used for data that is
- * transferred by keyboard accelerator (such as Ctrl+C/Ctrl+V) or 
- * by menu action.
- * </p>
- *
- * @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 copy() {
-	checkWidget();
-	copy(DND.CLIPBOARD);
-}
-/**
- * Copies the selected text to the specified clipboard.  The text will be put in the 
- * clipboard in plain text format and RTF format.
- * <p>
- * The clipboardType is  one of the clipboard constants defined in class 
- * <code>DND</code>.  The <code>DND.CLIPBOARD</code>  clipboard is 
- * used for data that is transferred by keyboard accelerator (such as Ctrl+C/Ctrl+V) 
- * or by menu action.  The <code>DND.SELECTION_CLIPBOARD</code> 
- * clipboard is used for data that is transferred by selecting text and pasting 
- * with the middle mouse button.
- * </p>
- * 
- * @param clipboardType indicates the type of clipboard
- *
- * @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>
- * 
- * @since 3.1
- */
-public void copy(int clipboardType) {
-	checkWidget();
-	if (clipboardType != DND.CLIPBOARD && clipboardType != DND.SELECTION_CLIPBOARD) return;
-	int length = selection.y - selection.x;
-	if (length > 0) {
-		try {
-			setClipboardContent(selection.x, length, clipboardType);
-		} catch (SWTError error) {
-			// Copy to clipboard failed. This happens when another application 
-			// is accessing the clipboard while we copy. Ignore the error.
-			// Fixes 1GDQAVN
-			// Rethrow all other errors. Fixes bug 17578.
-			if (error.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
-				throw error;
-			}
-		}
-	}
-}
-/**
- * Returns the alignment of the widget.
- * 
- * @return the alignment
- * 
- * @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>
- *  
- * @see #getLineAlignment(int)
- * 
- * @since 3.2
- */
-public int getAlignment() {
-	checkWidget();
-	return alignment;
-}
-int getAvailableHeightAbove(int height) {
-	int maxHeight = verticalScrollOffset;
-	if (maxHeight == -1) {
-		int lineIndex = topIndex - 1;
-		maxHeight = -topIndexY;
-		if (topIndexY > 0) {
-			maxHeight += renderer.getLineHeight(lineIndex--);
-		}
-		while (height > maxHeight && lineIndex >= 0) {
-			maxHeight += renderer.getLineHeight(lineIndex--);
-		}
-	}
-	return Math.min(height, maxHeight);
-}
-int getAvailableHeightBellow(int height) {
-	int partialBottomIndex = getPartialBottomIndex();
-	int topY = getLinePixel(partialBottomIndex);
-	int lineHeight = renderer.getLineHeight(partialBottomIndex);
-	int availableHeight = 0;
-	int clientAreaHeight = this.clientAreaHeight - topMargin - bottomMargin;
-	if (topY + lineHeight > clientAreaHeight) {
-		availableHeight = lineHeight - (clientAreaHeight - topY);
-	}
-	int lineIndex = partialBottomIndex + 1;
-	int lineCount = content.getLineCount();
-	while (height > availableHeight && lineIndex < lineCount) {
-		availableHeight += renderer.getLineHeight(lineIndex++);
-	}
-	return Math.min(height, availableHeight);
-}
-/**
- * Returns a string that uses only the line delimiter specified by the 
- * StyledTextContent implementation.
- * <p>
- * Returns only the first line if the widget has the SWT.SINGLE style.
- * </p>
- *
- * @param text the text that may have line delimiters that don't 
- * 	match the model line delimiter. Possible line delimiters 
- * 	are CR ('\r'), LF ('\n'), CR/LF ("\r\n")
- * @return the converted text that only uses the line delimiter 
- * 	specified by the model. Returns only the first line if the widget 
- * 	has the SWT.SINGLE style.
- */
-String getModelDelimitedText(String text) {	
-	int length = text.length();
-	if (length == 0) {
-		return text;
-	}	
-	int crIndex = 0;
-	int lfIndex = 0;
-	int i = 0;
-	StringBuffer convertedText = new StringBuffer(length);
-	String delimiter = getLineDelimiter();
-	while (i < length) {
-		if (crIndex != -1) {
-			crIndex = text.indexOf(SWT.CR, i);
-		}
-		if (lfIndex != -1) {
-			lfIndex = text.indexOf(SWT.LF, i);
-		}
-		if (lfIndex == -1 && crIndex == -1) {	// no more line breaks?
-			break;
-		} else if ((crIndex < lfIndex && crIndex != -1) || lfIndex == -1) {
-			convertedText.append(text.substring(i, crIndex));
-			if (lfIndex == crIndex + 1) {		// CR/LF combination?
-				i = lfIndex + 1;
-			} else {
-				i = crIndex + 1;
-			}
-		} else {									// LF occurs before CR!
-			convertedText.append(text.substring(i, lfIndex));
-			i = lfIndex + 1;
-		}
-		if (isSingleLine()) {
-			break;
-		}
-		convertedText.append(delimiter);
-	}
-	// copy remaining text if any and if not in single line mode or no 
-	// text copied thus far (because there only is one line)
-	if (i < length && (!isSingleLine() || convertedText.length() == 0)) {
-		convertedText.append(text.substring(i));
-	}
-	return convertedText.toString();
-}
-/**
- * Creates default key bindings.
- */
-void createKeyBindings() {
-	int nextKey = isMirrored() ? SWT.ARROW_LEFT : SWT.ARROW_RIGHT;
-	int previousKey = isMirrored() ? SWT.ARROW_RIGHT : SWT.ARROW_LEFT;
-	
-	// Navigation
-	setKeyBinding(SWT.ARROW_UP, ST.LINE_UP);	
-	setKeyBinding(SWT.ARROW_DOWN, ST.LINE_DOWN);
-	if (IS_CARBON) {
-		setKeyBinding(previousKey | SWT.MOD1, ST.LINE_START);
-		setKeyBinding(nextKey | SWT.MOD1, ST.LINE_END);
-		setKeyBinding(SWT.HOME, ST.TEXT_START);
-		setKeyBinding(SWT.END, ST.TEXT_END);
-		setKeyBinding(SWT.ARROW_UP | SWT.MOD1, ST.TEXT_START);
-		setKeyBinding(SWT.ARROW_DOWN | SWT.MOD1, ST.TEXT_END);
-		setKeyBinding(nextKey | SWT.MOD3, ST.WORD_NEXT);
-		setKeyBinding(previousKey | SWT.MOD3, ST.WORD_PREVIOUS);
-	} else {
-		setKeyBinding(SWT.HOME, ST.LINE_START);
-		setKeyBinding(SWT.END, ST.LINE_END);
-		setKeyBinding(SWT.HOME | SWT.MOD1, ST.TEXT_START);
-		setKeyBinding(SWT.END | SWT.MOD1, ST.TEXT_END);
-		setKeyBinding(nextKey | SWT.MOD1, ST.WORD_NEXT);
-		setKeyBinding(previousKey | SWT.MOD1, ST.WORD_PREVIOUS);
-	}
-	setKeyBinding(SWT.PAGE_UP, ST.PAGE_UP);
-	setKeyBinding(SWT.PAGE_DOWN, ST.PAGE_DOWN);
-	setKeyBinding(SWT.PAGE_UP | SWT.MOD1, ST.WINDOW_START);
-	setKeyBinding(SWT.PAGE_DOWN | SWT.MOD1, ST.WINDOW_END);
-	setKeyBinding(nextKey, ST.COLUMN_NEXT);
-	setKeyBinding(previousKey, ST.COLUMN_PREVIOUS);
-	
-	// Selection
-	setKeyBinding(SWT.ARROW_UP | SWT.MOD2, ST.SELECT_LINE_UP);	
-	setKeyBinding(SWT.ARROW_DOWN | SWT.MOD2, ST.SELECT_LINE_DOWN);
-	if (IS_CARBON) {
-		setKeyBinding(previousKey | SWT.MOD1 | SWT.MOD2, ST.SELECT_LINE_START);
-		setKeyBinding(nextKey | SWT.MOD1 | SWT.MOD2, ST.SELECT_LINE_END);
-		setKeyBinding(SWT.HOME | SWT.MOD2, ST.SELECT_TEXT_START);	
-		setKeyBinding(SWT.END | SWT.MOD2, ST.SELECT_TEXT_END);
-		setKeyBinding(SWT.ARROW_UP | SWT.MOD1 | SWT.MOD2, ST.SELECT_TEXT_START);	
-		setKeyBinding(SWT.ARROW_DOWN | SWT.MOD1 | SWT.MOD2, ST.SELECT_TEXT_END);
-		setKeyBinding(nextKey | SWT.MOD2 | SWT.MOD3, ST.SELECT_WORD_NEXT);
-		setKeyBinding(previousKey | SWT.MOD2 | SWT.MOD3, ST.SELECT_WORD_PREVIOUS);
-	} else  {
-		setKeyBinding(SWT.HOME | SWT.MOD2, ST.SELECT_LINE_START);
-		setKeyBinding(SWT.END | SWT.MOD2, ST.SELECT_LINE_END);
-		setKeyBinding(SWT.HOME | SWT.MOD1 | SWT.MOD2, ST.SELECT_TEXT_START);	
-		setKeyBinding(SWT.END | SWT.MOD1 | SWT.MOD2, ST.SELECT_TEXT_END);
-		setKeyBinding(nextKey | SWT.MOD1 | SWT.MOD2, ST.SELECT_WORD_NEXT);
-		setKeyBinding(previousKey | SWT.MOD1 | SWT.MOD2, ST.SELECT_WORD_PREVIOUS);
-	}
-	setKeyBinding(SWT.PAGE_UP | SWT.MOD2, ST.SELECT_PAGE_UP);
-	setKeyBinding(SWT.PAGE_DOWN | SWT.MOD2, ST.SELECT_PAGE_DOWN);
-	setKeyBinding(SWT.PAGE_UP | SWT.MOD1 | SWT.MOD2, ST.SELECT_WINDOW_START);
-	setKeyBinding(SWT.PAGE_DOWN | SWT.MOD1 | SWT.MOD2, ST.SELECT_WINDOW_END);
-	setKeyBinding(nextKey | SWT.MOD2, ST.SELECT_COLUMN_NEXT);
-	setKeyBinding(previousKey | SWT.MOD2, ST.SELECT_COLUMN_PREVIOUS);	
-           	  	
-	// Modification
-	// Cut, Copy, Paste
-	setKeyBinding('X' | SWT.MOD1, ST.CUT);
-	setKeyBinding('C' | SWT.MOD1, ST.COPY);
-	setKeyBinding('V' | SWT.MOD1, ST.PASTE);
-	if (IS_CARBON) {
-		setKeyBinding(SWT.DEL | SWT.MOD2, ST.DELETE_NEXT);
-		setKeyBinding(SWT.BS | SWT.MOD3, ST.DELETE_WORD_PREVIOUS);
-		setKeyBinding(SWT.DEL | SWT.MOD3, ST.DELETE_WORD_NEXT);
-	} else {
-		// Cut, Copy, Paste Wordstar style
-		setKeyBinding(SWT.DEL | SWT.MOD2, ST.CUT);
-		setKeyBinding(SWT.INSERT | SWT.MOD1, ST.COPY);
-		setKeyBinding(SWT.INSERT | SWT.MOD2, ST.PASTE);
-	}
-	setKeyBinding(SWT.BS | SWT.MOD2, ST.DELETE_PREVIOUS);
-	setKeyBinding(SWT.BS, ST.DELETE_PREVIOUS);
-	setKeyBinding(SWT.DEL, ST.DELETE_NEXT);
-	setKeyBinding(SWT.BS | SWT.MOD1, ST.DELETE_WORD_PREVIOUS);
-	setKeyBinding(SWT.DEL | SWT.MOD1, ST.DELETE_WORD_NEXT);
-	
-	// Miscellaneous
-	setKeyBinding(SWT.INSERT, ST.TOGGLE_OVERWRITE);
-}
-/**
- * Create the bitmaps to use for the caret in bidi mode.  This
- * method only needs to be called upon widget creation and when the
- * font changes (the caret bitmap height needs to match font height).
- */
-void createCaretBitmaps() {
-	int caretWidth = BIDI_CARET_WIDTH;
-	Display display = getDisplay();
-	if (leftCaretBitmap != null) {
-		if (defaultCaret != null && leftCaretBitmap.equals(defaultCaret.getImage())) {
-			defaultCaret.setImage(null);
-		}
-		leftCaretBitmap.dispose();
-	}
-	int lineHeight = renderer.getLineHeight();
-	leftCaretBitmap = new Image(display, caretWidth, lineHeight);
-	GC gc = new GC (leftCaretBitmap); 
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-	gc.fillRectangle(0, 0, caretWidth, lineHeight);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-	gc.drawLine(0,0,0,lineHeight);
-	gc.drawLine(0,0,caretWidth-1,0);
-	gc.drawLine(0,1,1,1);
-	gc.dispose();	
-	
-	if (rightCaretBitmap != null) {
-		if (defaultCaret != null && rightCaretBitmap.equals(defaultCaret.getImage())) {
-			defaultCaret.setImage(null);
-		}
-		rightCaretBitmap.dispose();
-	}
-	rightCaretBitmap = new Image(display, caretWidth, lineHeight);
-	gc = new GC (rightCaretBitmap); 
-	gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-	gc.fillRectangle(0, 0, caretWidth, lineHeight);
-	gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-	gc.drawLine(caretWidth-1,0,caretWidth-1,lineHeight);
-	gc.drawLine(0,0,caretWidth-1,0);
-	gc.drawLine(caretWidth-1,1,1,1);
-	gc.dispose();
-}
-/**
- * Moves the selected text to the clipboard.  The text will be put in the 
- * clipboard in plain text format and RTF format.
- *
- * @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 cut(){
-	checkWidget();
-	int length = selection.y - selection.x;
-	if (length > 0) {
-		try {
-			setClipboardContent(selection.x, length, DND.CLIPBOARD);
-		} catch (SWTError error) {
-			// Copy to clipboard failed. This happens when another application 
-			// is accessing the clipboard while we copy. Ignore the error.
-			// Fixes 1GDQAVN
-			// Rethrow all other errors. Fixes bug 17578.
-			if (error.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
-				throw error;
-			}
-			// Abort cut operation if copy to clipboard fails.
-			// Fixes bug 21030.
-			return;
-		}
-		doDelete();
-	}
-}
-boolean detectDrag(int x, int y, int button) {
-	if (!isListening(SWT.DragDetect)) return false;
-	if (IS_MOTIF) {
-		if (button != 2) return false;
-	} else {
-		if (button != 1) return false;
-	}
-	if (selection.x == selection.y) return false;
-	int offset = getOffsetAtPoint(x, y);
-	return offset > selection.x && offset < selection.y;
-}
-/** 
- * A mouse move event has occurred.  See if we should start autoscrolling.  If
- * the move position is outside of the client area, initiate autoscrolling.  
- * Otherwise, we've moved back into the widget so end autoscrolling.
- */
-void doAutoScroll(Event event) {
-	if (event.y > clientAreaHeight) {
-		doAutoScroll(SWT.DOWN, event.y - clientAreaHeight);
-	} else if (event.y < 0) {
-		doAutoScroll(SWT.UP, -event.y);
-	} else if (event.x < leftMargin && !wordWrap) {
-		doAutoScroll(ST.COLUMN_PREVIOUS, leftMargin - event.x);
-	} else if (event.x > clientAreaWidth - leftMargin - rightMargin && !wordWrap) {
-		doAutoScroll(ST.COLUMN_NEXT, event.x - (clientAreaWidth - leftMargin - rightMargin));
-	} else {
-		endAutoScroll();
-	}
-}
-/** 
- * Initiates autoscrolling.
- *
- * @param direction SWT.UP, SWT.DOWN, SWT.COLUMN_NEXT, SWT.COLUMN_PREVIOUS
- */
-void doAutoScroll(int direction, int distance) {
-	autoScrollDistance = distance;
-	// If we're already autoscrolling in the given direction do nothing
-	if (autoScrollDirection == direction) {
-		return;
-	}
-	
-	Runnable timer = null;
-	final Display display = getDisplay();
-	// Set a timer that will simulate the user pressing and holding
-	// down a cursor key (i.e., arrowUp, arrowDown).
-	if (direction == SWT.UP) {
-		timer = new Runnable() {
-			public void run() {
-				if (autoScrollDirection == SWT.UP) {
-					doSelectionPageUp(autoScrollDistance);
-					display.timerExec(V_SCROLL_RATE, this);
-				}
-			}
-		};
-		autoScrollDirection = direction;
-		display.timerExec(V_SCROLL_RATE, timer);
-	} else if (direction == SWT.DOWN) {
-		timer = new Runnable() {
-			public void run() {
-				if (autoScrollDirection == SWT.DOWN) {
-					doSelectionPageDown(autoScrollDistance);
-					display.timerExec(V_SCROLL_RATE, this);
-				}
-			}
-		};
-		autoScrollDirection = direction;
-		display.timerExec(V_SCROLL_RATE, timer);
-	} else if (direction == ST.COLUMN_NEXT) {
-		timer = new Runnable() {
-			public void run() {
-				if (autoScrollDirection == ST.COLUMN_NEXT) {
-					doVisualNext();
-					setMouseWordSelectionAnchor();
-					doMouseSelection();
-					display.timerExec(H_SCROLL_RATE, this);
-				}
-			}
-		};
-		autoScrollDirection = direction;
-		display.timerExec(H_SCROLL_RATE, timer);
-	} else if (direction == ST.COLUMN_PREVIOUS) {
-		timer = new Runnable() {
-			public void run() {
-				if (autoScrollDirection == ST.COLUMN_PREVIOUS) {
-					doVisualPrevious();
-					setMouseWordSelectionAnchor();
-					doMouseSelection();
-					display.timerExec(H_SCROLL_RATE, this);
-				}
-			}
-		};
-		autoScrollDirection = direction;
-		display.timerExec(H_SCROLL_RATE, timer);
-	}
-}
-/**
- * Deletes the previous character. Delete the selected text if any.
- * Move the caret in front of the deleted text.
- */
-void doBackspace() {
-	Event event = new Event();
-	event.text = "";
-	if (selection.x != selection.y) {
-		event.start = selection.x;
-		event.end = selection.y;
-		sendKeyEvent(event);
-	} else if (caretOffset > 0) {
-		int lineIndex = content.getLineAtOffset(caretOffset);
-		int lineOffset = content.getOffsetAtLine(lineIndex);
-		if (caretOffset == lineOffset) {
-			lineOffset = content.getOffsetAtLine(lineIndex - 1);
-			event.start = lineOffset + content.getLine(lineIndex - 1).length();
-			event.end = caretOffset;
-		} else {
-			TextLayout layout = renderer.getTextLayout(lineIndex);
-			int start = layout.getPreviousOffset(caretOffset - lineOffset, SWT.MOVEMENT_CHAR);
-			renderer.disposeTextLayout(layout); 
-			event.start = start + lineOffset;
-			event.end = caretOffset;
-		}
-		sendKeyEvent(event);
-	}
-}
-/**
- * Replaces the selection with the character or insert the character at the 
- * current caret position if no selection exists.
- * <p>
- * If a carriage return was typed replace it with the line break character 
- * used by the widget on this platform.
- * </p>
- *
- * @param key the character typed by the user
- */
-void doContent(char key) {
-	if (textLimit > 0 && 
-		content.getCharCount() - (selection.y - selection.x) >= textLimit) {
-		return;
-	}
-	Event event = new Event();
-	event.start = selection.x;
-	event.end = selection.y;
-	// replace a CR line break with the widget line break
-	// CR does not make sense on Windows since most (all?) applications
-	// don't recognize CR as a line break.
-	if (key == SWT.CR || key == SWT.LF) {
-		if (!isSingleLine()) {
-			event.text = getLineDelimiter();
-		}
-	} else if (selection.x == selection.y && overwrite && key != TAB) {
-		// no selection and overwrite mode is on and the typed key is not a
-		// tab character (tabs are always inserted without overwriting)?	
-		int lineIndex = content.getLineAtOffset(event.end);
-		int lineOffset = content.getOffsetAtLine(lineIndex);
-		String line = content.getLine(lineIndex);
-		// replace character at caret offset if the caret is not at the 
-		// end of the line
-		if (event.end < lineOffset + line.length()) {
-			event.end++;
-		}
-		event.text = new String(new char[] {key});
-	} else {
-		event.text = new String(new char[] {key});
-	}
-	if (event.text != null) {
-		sendKeyEvent(event);
-	}
-}
-/**
- * Moves the caret after the last character of the widget content.
- */
-void doContentEnd() {
-	// place caret at end of first line if receiver is in single 
-	// line mode. fixes 4820.
-	if (isSingleLine()) {
-		doLineEnd();
-	} else {
-		int length = content.getCharCount();		
-		if (caretOffset < length) {
-			caretOffset = length;
-			showCaret();
-		}
-	}
-}
-/**
- * Moves the caret in front of the first character of the widget content.
- */
-void doContentStart() {
-	if (caretOffset > 0) {
-		caretOffset = 0;
-		showCaret();
-	}
-}
-/**
- * Moves the caret to the start of the selection if a selection exists.
- * Otherwise, if no selection exists move the cursor according to the 
- * cursor selection rules.
- *
- * @see #doSelectionCursorPrevious
- */
-void doCursorPrevious() {
-	if (selection.y - selection.x > 0) {
-		caretOffset = selection.x;
-		caretAlignment = OFFSET_LEADING;
-		showCaret();
-	} else {
-		doSelectionCursorPrevious();
-	}
-}
-/**
- * Moves the caret to the end of the selection if a selection exists.
- * Otherwise, if no selection exists move the cursor according to the 
- * cursor selection rules.
- *
- * @see #doSelectionCursorNext
- */
-void doCursorNext() {
-	if (selection.y - selection.x > 0) {
-		caretOffset = selection.y;
-		caretAlignment = PREVIOUS_OFFSET_TRAILING;
-		showCaret();
-	} else {
-		doSelectionCursorNext();
-	}
-}
-/**
- * Deletes the next character. Delete the selected text if any.
- */
-void doDelete() {
-	Event event = new Event();
-	event.text = "";
-	if (selection.x != selection.y) {
-		event.start = selection.x;
-		event.end = selection.y;
-		sendKeyEvent(event);
-	} else if (caretOffset < content.getCharCount()) {
-		int line = content.getLineAtOffset(caretOffset);
-		int lineOffset = content.getOffsetAtLine(line);
-		int lineLength = content.getLine(line).length();
-		if (caretOffset == lineOffset + lineLength) {
-			event.start = caretOffset;
-			event.end = content.getOffsetAtLine(line + 1);
-		} else {
-			event.start = caretOffset;
-			event.end = getClusterNext(caretOffset, line);
-		}
-		sendKeyEvent(event);
-	}
-}
-/**
- * Deletes the next word.
- */
-void doDeleteWordNext() {
-	if (selection.x != selection.y) {
-		// if a selection exists, treat the as if 
-		// only the delete key was pressed
-		doDelete();
-	} else {
-		Event event = new Event();
-		event.text = "";
-		event.start = caretOffset;
-		event.end = getWordEnd(caretOffset);
-		sendKeyEvent(event);
-	}
-}
-/**
- * Deletes the previous word.
- */
-void doDeleteWordPrevious() {
-	if (selection.x != selection.y) {
-		// if a selection exists, treat as if 
-		// only the backspace key was pressed
-		doBackspace();
-	} else {
-		Event event = new Event();
-		event.text = "";
-		event.start = getWordStart(caretOffset);
-		event.end = caretOffset;
-		sendKeyEvent(event);
-	}
-}
-/**
- * Moves the caret one line down and to the same character offset relative 
- * to the beginning of the line. Move the caret to the end of the new line 
- * if the new line is shorter than the character offset.
- * 
- * @return index of the new line relative to the first line in the document
- */
-void doLineDown(boolean select) {
-	int caretLine = getCaretLine();
-	int lineCount = content.getLineCount();
-	int y = 0;
-	boolean lastLine = false;
-	if (wordWrap) {
-		int lineOffset = content.getOffsetAtLine(caretLine);
-		int offsetInLine = caretOffset - lineOffset;
-		TextLayout layout = renderer.getTextLayout(caretLine);
-		int lineIndex = getVisualLineIndex(layout, offsetInLine);
-		int layoutLineCount = layout.getLineCount();
-		if (lineIndex == layoutLineCount - 1) {
-			lastLine = caretLine == lineCount - 1;
-			caretLine++;
-		} else {
-			y = layout.getLineBounds(lineIndex + 1).y;
-		}
-		renderer.disposeTextLayout(layout);
-	} else {
-		lastLine = caretLine == lineCount - 1;
-		caretLine++;
-	}
-	if (lastLine) {
-		if (select) caretOffset = content.getCharCount();
-	} else {
-		caretOffset = getOffsetAtPoint(columnX, y, caretLine);
-	}
-	int oldColumnX = columnX;
-	int oldHScrollOffset = horizontalScrollOffset;
-	if (select) {
-		setMouseWordSelectionAnchor();	
-		// select first and then scroll to reduce flash when key 
-		// repeat scrolls lots of lines
-		doSelection(ST.COLUMN_NEXT);
-	}
-	showCaret();
-	int hScrollChange = oldHScrollOffset - horizontalScrollOffset;
-	columnX = oldColumnX + hScrollChange;
-}
-/**
- * Moves the caret to the end of the line.
- */
-void doLineEnd() {
-	int caretLine = getCaretLine();
-	int lineOffset = content.getOffsetAtLine(caretLine);	
-	int lineEndOffset;
-	if (wordWrap) {
-		TextLayout layout = renderer.getTextLayout(caretLine);
-		int offsetInLine = caretOffset - lineOffset;
-		int lineIndex = getVisualLineIndex(layout, offsetInLine);
-		int[] offsets = layout.getLineOffsets();
-		lineEndOffset = lineOffset + offsets[lineIndex + 1];
-		renderer.disposeTextLayout(layout);
-	} else {
-		int lineLength = content.getLine(caretLine).length();
-		lineEndOffset = lineOffset + lineLength;
-	}
-	if (caretOffset < lineEndOffset) {
-		caretOffset = lineEndOffset;
-		caretAlignment = PREVIOUS_OFFSET_TRAILING;
-		showCaret();
-	}
-}
-/**
- * Moves the caret to the beginning of the line.
- */
-void doLineStart() {
-	int caretLine = getCaretLine();
-	int lineOffset = content.getOffsetAtLine(caretLine);
-	if (wordWrap) {
-		TextLayout layout = renderer.getTextLayout(caretLine);
-		int offsetInLine = caretOffset - lineOffset;
-		int lineIndex = getVisualLineIndex(layout, offsetInLine);
-		int[] offsets = layout.getLineOffsets();
-		lineOffset += offsets[lineIndex];
-		renderer.disposeTextLayout(layout);
-	}
-	if (caretOffset > lineOffset) {
-		caretOffset = lineOffset;
-		caretAlignment = OFFSET_LEADING;
-		showCaret();
-	}
-}
-/**
- * Moves the caret one line up and to the same character offset relative 
- * to the beginning of the line. Move the caret to the end of the new line 
- * if the new line is shorter than the character offset.
- * 
- * @return index of the new line relative to the first line in the document
- */
-void doLineUp(boolean select) {
-	int caretLine = getCaretLine(), y = 0;
-	boolean firstLine = false;
-	if (wordWrap) {
-		int lineOffset = content.getOffsetAtLine(caretLine);
-		int offsetInLine = caretOffset - lineOffset;
-		TextLayout layout = renderer.getTextLayout(caretLine);
-		int lineIndex = getVisualLineIndex(layout, offsetInLine);
-		if (lineIndex == 0) {
-			firstLine = caretLine == 0;
-			if (!firstLine) {
-				caretLine--;
-				y = renderer.getLineHeight(caretLine) - 1;
-			}
-		} else {
-			y = layout.getLineBounds(lineIndex - 1).y;
-		}
-		renderer.disposeTextLayout(layout);
-	} else {
-		firstLine = caretLine == 0;
-		caretLine--;
-	}
-	if (firstLine) {
-		if (select) caretOffset = 0;
-	} else {
-		caretOffset = getOffsetAtPoint(columnX, y, caretLine);
-	}
-	int oldColumnX = columnX;
-	int oldHScrollOffset = horizontalScrollOffset;
-	if (select) setMouseWordSelectionAnchor();
-	showCaret();
-	if (select) doSelection(ST.COLUMN_PREVIOUS);
-	int hScrollChange = oldHScrollOffset - horizontalScrollOffset;
-	columnX = oldColumnX + hScrollChange;
-}
-/**
- * Moves the caret to the specified location.
- *
- * @param x x location of the new caret position
- * @param y y location of the new caret position
- * @param select the location change is a selection operation.
- * 	include the line delimiter in the selection
- */
-void doMouseLocationChange(int x, int y, boolean select) {
-	int line = getLineIndex(y);
-
-	updateCaretDirection = true;
-	// allow caret to be placed below first line only if receiver is 
-	// not in single line mode. fixes 4820.
-	if (line < 0 || (isSingleLine() && line > 0)) {
-		return;
-	}
-	int oldCaretAlignment = caretAlignment;
-	int newCaretOffset = getOffsetAtPoint(x, y);
-	
-	if (mouseDoubleClick) {
-		// double click word select the previous/next word. fixes bug 15610
-		newCaretOffset = doMouseWordSelect(x, newCaretOffset, line);
-	}
-	
-	int newCaretLine = content.getLineAtOffset(newCaretOffset);
-	
-	// Is the mouse within the left client area border or on 
-	// a different line? If not the autoscroll selection 
-	// could be incorrectly reset. Fixes 1GKM3XS
-	if (0 <= y && y < clientAreaHeight && 
-		(0 <= x && x < clientAreaWidth || wordWrap ||	
-		newCaretLine != content.getLineAtOffset(caretOffset))) {
-		if (newCaretOffset != caretOffset || caretAlignment != oldCaretAlignment) {
-			caretOffset = newCaretOffset;
-			if (select) doMouseSelection();
-			showCaret();
-		}
-	}
-	if (!select) {
-		caretOffset = newCaretOffset;
-		clearSelection(true);
-	}
-}
-/**
- * Updates the selection based on the caret position
- */
-void doMouseSelection() {
-	if (caretOffset <= selection.x || 
-		(caretOffset > selection.x && 
-		 caretOffset < selection.y && selectionAnchor == selection.x)) {
-		doSelection(ST.COLUMN_PREVIOUS);
-	} else {
-		doSelection(ST.COLUMN_NEXT);
-	}
-}
-/**
- * Returns the offset of the word at the specified offset. 
- * If the current selection extends from high index to low index 
- * (i.e., right to left, or caret is at left border of selecton on 
- * non-bidi platforms) the start offset of the word preceeding the
- * selection is returned. If the current selection extends from 
- * low index to high index the end offset of the word following 
- * the selection is returned.
- * 
- * @param x mouse x location
- * @param newCaretOffset caret offset of the mouse cursor location
- * @param line line index of the mouse cursor location
- */
-int doMouseWordSelect(int x, int newCaretOffset, int line) {
-	// flip selection anchor based on word selection direction from 
-	// base double click. Always do this here (and don't rely on doAutoScroll)
-	// because auto scroll only does not cover all possible mouse selections
-	// (e.g., mouse x < 0 && mouse y > caret line y)
- 	if (newCaretOffset < selectionAnchor && selectionAnchor == selection.x) {
-		selectionAnchor = doubleClickSelection.y;
-	} else if (newCaretOffset > selectionAnchor && selectionAnchor == selection.y) {
-		selectionAnchor = doubleClickSelection.x;
-	}
-	if (0 <= x && x < clientAreaWidth) {
-		int wordOffset;
-		// find the previous/next word
-		if (caretOffset == selection.x) {
-			wordOffset = getWordStart(newCaretOffset);
-		} else {
-			wordOffset = getWordEndNoSpaces(newCaretOffset);
-		}
-		// mouse word select only on same line mouse cursor is on
-		if (content.getLineAtOffset(wordOffset) == line) {
-			newCaretOffset = wordOffset;
-		}
-	}
-	return newCaretOffset;
-}
-/**
- * Scrolls one page down so that the last line (truncated or whole)
- * of the current page becomes the fully visible top line.
- * <p>
- * The caret is scrolled the same number of lines so that its location 
- * relative to the top line remains the same. The exception is the end 
- * of the text where a full page scroll is not possible. In this case 
- * the caret is moved after the last character.
- * </p>
- *
- * @param select whether or not to select the page
- */
-void doPageDown(boolean select, int height) {
-	if (isSingleLine()) return;
-	int oldColumnX = columnX;
-	int oldHScrollOffset = horizontalScrollOffset;
-	if (isFixedLineHeight()) {
-		int lineCount = content.getLineCount();
-		int caretLine = getCaretLine();
-		if (caretLine < lineCount - 1) {
-			int lineHeight = renderer.getLineHeight();
-			int lines = (height == -1 ? clientAreaHeight : height) / lineHeight;
-			int scrollLines = Math.min(lineCount - caretLine - 1, lines);
-			// ensure that scrollLines never gets negative and at least one 
-			// line is scrolled. fixes bug 5602.
-			scrollLines = Math.max(1, scrollLines);
-			caretOffset = getOffsetAtPoint(columnX, getLinePixel(caretLine + scrollLines));
-			if (select) {
-				doSelection(ST.COLUMN_NEXT);
-			}
-			// scroll one page down or to the bottom
-			int verticalMaximum = lineCount * getVerticalIncrement();
-			int pageSize = clientAreaHeight;
-			int verticalScrollOffset = getVerticalScrollOffset();
-			int scrollOffset = verticalScrollOffset + scrollLines * getVerticalIncrement();
-			if (scrollOffset + pageSize > verticalMaximum) {
-				scrollOffset = verticalMaximum - pageSize;
-			}
-			if (scrollOffset > verticalScrollOffset) {
-				scrollVertical(scrollOffset - verticalScrollOffset, true);
-			}
-		}
-	} else {
-		int lineCount = content.getLineCount();
-		int caretLine = getCaretLine();
-		int lineIndex, lineHeight;
-		if (height == -1) {
-			lineIndex = getPartialBottomIndex();
-			int topY = getLinePixel(lineIndex);
-			lineHeight = renderer.getLineHeight(lineIndex);
-			height = topY;
-			if (topY + lineHeight <= clientAreaHeight) {
-				height += lineHeight;
-			} else {
-				if (wordWrap) {
-					TextLayout layout = renderer.getTextLayout(lineIndex);
-					int y = clientAreaHeight - topY;
-					for (int i = 0; i < layout.getLineCount(); i++) {
-						Rectangle bounds = layout.getLineBounds(i);
-						if (bounds.contains(bounds.x, y)) {
-							height += bounds.y;
-							break;
-						}
-					}
-					renderer.disposeTextLayout(layout);
-				}
-			}
-		} else {
-			lineIndex = getLineIndex(height);
-			int topLineY = getLinePixel(lineIndex);
-			if (wordWrap) {
-				TextLayout layout = renderer.getTextLayout(lineIndex);
-				int y = height - topLineY;
-				for (int i = 0; i < layout.getLineCount(); i++) {
-					Rectangle bounds = layout.getLineBounds(i);
-					if (bounds.contains(bounds.x, y)) {
-						height = topLineY + bounds.y + bounds.height;
-						break;
-					}
-				}
-				renderer.disposeTextLayout(layout);
-			} else {
-				height = topLineY + renderer.getLineHeight(lineIndex);
-			}
-		}
-		int caretHeight = height;
-		if (wordWrap) {
-			TextLayout layout = renderer.getTextLayout(caretLine);
-			int offsetInLine = caretOffset - content.getOffsetAtLine(caretLine);
-			lineIndex = getVisualLineIndex(layout, offsetInLine);
-			caretHeight += layout.getLineBounds(lineIndex).y;
-			renderer.disposeTextLayout(layout);
-		}
-		lineIndex = caretLine;
-		lineHeight = renderer.getLineHeight(lineIndex);
-		while (caretHeight - lineHeight >= 0 && lineIndex < lineCount - 1) {
-			caretHeight -= lineHeight;
-			lineHeight = renderer.getLineHeight(++lineIndex);
-		}
-		caretOffset = getOffsetAtPoint(columnX, caretHeight, lineIndex);
-		if (select) doSelection(ST.COLUMN_NEXT);
-		height = getAvailableHeightBellow(height);
-		scrollVertical(height, true);
-		if (height == 0) setCaretLocation();
-	}	
-	showCaret();
-	int hScrollChange = oldHScrollOffset - horizontalScrollOffset;
-	columnX = oldColumnX + hScrollChange;	
-}
-/**
- * Moves the cursor to the end of the last fully visible line.
- */
-void doPageEnd() {
-	// go to end of line if in single line mode. fixes 5673
-	if (isSingleLine()) {
-		doLineEnd();
-	} else {
-		int bottomOffset;
-		if (wordWrap) {
-			int lineIndex = getPartialBottomIndex();
-			TextLayout layout = renderer.getTextLayout(lineIndex);
-			int y = (clientAreaHeight - bottomMargin) - getLinePixel(lineIndex);
-			int index = layout.getLineCount() - 1;
-			while (index >= 0) {
-				Rectangle bounds = layout.getLineBounds(index);
-				if (y >= bounds.y + bounds.height) break;
-				index--;
-			}
-			if (index == -1 && lineIndex > 0) {
-				bottomOffset = content.getOffsetAtLine(lineIndex - 1) + content.getLine(lineIndex - 1).length();
-			} else {
-				bottomOffset = content.getOffsetAtLine(lineIndex) + Math.max(0, layout.getLineOffsets()[index + 1] - 1);
-			}
-			renderer.disposeTextLayout(layout);
-		} else {
-			int lineIndex = getBottomIndex();
-			bottomOffset = content.getOffsetAtLine(lineIndex) + content.getLine(lineIndex).length();
-		}
-		if (caretOffset < bottomOffset) {
-			caretOffset = bottomOffset;
-			caretAlignment = OFFSET_LEADING;
-			showCaret();
-		}
-	}
-}
-/**
- * Moves the cursor to the beginning of the first fully visible line.
- */
-void doPageStart() {
-	int topOffset;
-	if (wordWrap) {
-		int y, lineIndex;
-		if (topIndexY > 0) {
-			lineIndex = topIndex - 1;
-			y = renderer.getLineHeight(lineIndex) - topIndexY;
-		} else {
-			lineIndex = topIndex;
-			y = -topIndexY;
-		}
-		TextLayout layout = renderer.getTextLayout(lineIndex);
-		int index = 0;
-		int lineCount = layout.getLineCount();
-		while (index < lineCount) {
-			Rectangle bounds = layout.getLineBounds(index);
-			if (y <= bounds.y) break;
-			index++;
-		}
-		if (index == lineCount) {
-			topOffset = content.getOffsetAtLine(lineIndex + 1);
-		} else {
-			topOffset = content.getOffsetAtLine(lineIndex) + layout.getLineOffsets()[index];
-		}
-		renderer.disposeTextLayout(layout);		
-	} else {
-		topOffset = content.getOffsetAtLine(topIndex);
-	}
-	if (caretOffset > topOffset) {
-		caretOffset = topOffset;
-		caretAlignment = OFFSET_LEADING;
-		showCaret();
-	}
-}
-/**
- * Scrolls one page up so that the first line (truncated or whole)
- * of the current page becomes the fully visible last line.
- * The caret is scrolled the same number of lines so that its location 
- * relative to the top line remains the same. The exception is the beginning 
- * of the text where a full page scroll is not possible. In this case the
- * caret is moved in front of the first character.
- */
-void doPageUp(boolean select, int height) {
-	if (isSingleLine()) return;
-	int oldHScrollOffset = horizontalScrollOffset;
-	int oldColumnX = columnX;	
-	if (isFixedLineHeight()) {
-		int caretLine = getCaretLine();	
-		if (caretLine > 0) {
-			int lineHeight = renderer.getLineHeight();
-			int lines = (height == -1 ? clientAreaHeight : height) / lineHeight;
-			int scrollLines = Math.max(1, Math.min(caretLine, lines));
-			caretLine -= scrollLines;
-			caretOffset = getOffsetAtPoint(columnX, getLinePixel(caretLine));
-			if (select) {
-				doSelection(ST.COLUMN_PREVIOUS);
-			}
-			int verticalScrollOffset = getVerticalScrollOffset();
-			int scrollOffset = Math.max(0, verticalScrollOffset - scrollLines * getVerticalIncrement());
-			if (scrollOffset < verticalScrollOffset) {
-				scrollVertical(scrollOffset - verticalScrollOffset, true);
-			}
-		}
-	} else {
-		int caretLine = getCaretLine();
-		int lineHeight, lineIndex;
-		if (height == -1) {
-			if (topIndexY == 0) {
-				height = clientAreaHeight;
-			} else {
-				int y;
-				if (topIndex > 0) {
-					lineIndex = topIndex - 1;
-					lineHeight = renderer.getLineHeight(lineIndex);
-					height = clientAreaHeight - topIndexY;
-					y = lineHeight - topIndexY;
-				} else {
-					lineIndex = topIndex;
-					lineHeight = renderer.getLineHeight(lineIndex);
-					height = clientAreaHeight - (lineHeight + topIndexY);
-					y = -topIndexY;
-				}
-				if (wordWrap) {
-					TextLayout layout = renderer.getTextLayout(lineIndex);
-					for (int i = 0; i < layout.getLineCount(); i++) {
-						Rectangle bounds = layout.getLineBounds(i);
-						if (bounds.contains(bounds.x, y)) {
-							height += lineHeight - (bounds.y + bounds.height);
-							break;
-						}
-					}
-					renderer.disposeTextLayout(layout);
-				}
-			}
-		} else {
-			lineIndex = getLineIndex(clientAreaHeight - height);
-			int topLineY = getLinePixel(lineIndex);
-			if (wordWrap) {
-				TextLayout layout = renderer.getTextLayout(lineIndex);
-				int y = topLineY;
-				for (int i = 0; i < layout.getLineCount(); i++) {
-					Rectangle bounds = layout.getLineBounds(i);
-					if (bounds.contains(bounds.x, y)) {
-						height = clientAreaHeight - (topLineY + bounds.y);
-						break;
-					}
-				}
-				renderer.disposeTextLayout(layout);
-			} else {
-				height = clientAreaHeight - topLineY;
-			}
-		}
-		int caretHeight = height;
-		if (wordWrap) {
-			TextLayout layout = renderer.getTextLayout(caretLine);
-			int offsetInLine = caretOffset - content.getOffsetAtLine(caretLine);
-			lineIndex = getVisualLineIndex(layout, offsetInLine);
-			caretHeight += layout.getBounds().height - layout.getLineBounds(lineIndex).y;
-			renderer.disposeTextLayout(layout);
-		}
-		lineIndex = caretLine;
-		lineHeight = renderer.getLineHeight(lineIndex);
-		while (caretHeight - lineHeight >= 0 && lineIndex > 0) {
-			caretHeight -= lineHeight;
-			lineHeight = renderer.getLineHeight(--lineIndex);
-		}
-		lineHeight = renderer.getLineHeight(lineIndex);
-		caretOffset = getOffsetAtPoint(columnX, lineHeight - caretHeight, lineIndex);	
-		if (select) doSelection(ST.COLUMN_PREVIOUS);
-		height = getAvailableHeightAbove(height);
-		scrollVertical(-height, true);
-		if (height == 0) setCaretLocation();	
-	}
-	showCaret();
-	int hScrollChange = oldHScrollOffset - horizontalScrollOffset;
-	columnX = oldColumnX + hScrollChange;
-}
-/**
- * Updates the selection to extend to the current caret position.
- */
-void doSelection(int direction) {
-	int redrawStart = -1;
-	int redrawEnd = -1;	
-	if (selectionAnchor == -1) {
-		selectionAnchor = selection.x;
-	}	
-	if (direction == ST.COLUMN_PREVIOUS) {
-		if (caretOffset < selection.x) {
-			// grow selection
-			redrawEnd = selection.x; 
-			redrawStart = selection.x = caretOffset;		
-			// check if selection has reversed direction
-			if (selection.y != selectionAnchor) {
-				redrawEnd = selection.y;
-				selection.y = selectionAnchor;
-			}
-		// test whether selection actually changed. Fixes 1G71EO1
-		} else if (selectionAnchor == selection.x && caretOffset < selection.y) {
-			// caret moved towards selection anchor (left side of selection). 
-			// shrink selection			
-			redrawEnd = selection.y;
-			redrawStart = selection.y = caretOffset;		
-		}
-	} else {
-		if (caretOffset > selection.y) {
-			// grow selection
-			redrawStart = selection.y;
-			redrawEnd = selection.y = caretOffset;
-			// check if selection has reversed direction
-			if (selection.x != selectionAnchor) {
-				redrawStart = selection.x;				
-				selection.x = selectionAnchor;
-			}
-		// test whether selection actually changed. Fixes 1G71EO1	
-		} else if (selectionAnchor == selection.y && caretOffset > selection.x) {
-			// caret moved towards selection anchor (right side of selection). 
-			// shrink selection			
-			redrawStart = selection.x;
-			redrawEnd = selection.x = caretOffset;		
-		}
-	}
-	if (redrawStart != -1 && redrawEnd != -1) {
-		internalRedrawRange(redrawStart, redrawEnd - redrawStart);
-		sendSelectionEvent();
-	}
-}
-/**
- * Moves the caret to the next character or to the beginning of the 
- * next line if the cursor is at the end of a line.
- */
-void doSelectionCursorNext() {
-	int caretLine = getCaretLine();
-	int lineOffset = content.getOffsetAtLine(caretLine);
-	int offsetInLine = caretOffset - lineOffset;
-	if (offsetInLine < content.getLine(caretLine).length()) {
-		TextLayout layout = renderer.getTextLayout(caretLine);
-		offsetInLine = layout.getNextOffset(offsetInLine, SWT.MOVEMENT_CLUSTER);
-		int lineStart = layout.getLineOffsets()[layout.getLineIndex(offsetInLine)];
-		renderer.disposeTextLayout(layout);
-		caretOffset = offsetInLine + lineOffset;
-		caretAlignment = offsetInLine == lineStart ? OFFSET_LEADING : PREVIOUS_OFFSET_TRAILING;
-		showCaret();
-	} else if (caretLine < content.getLineCount() - 1 && !isSingleLine()) {
-		caretLine++;		
-		caretOffset = content.getOffsetAtLine(caretLine);
-		caretAlignment = PREVIOUS_OFFSET_TRAILING;
-		showCaret();
-	}
-}
-/**
- * Moves the caret to the previous character or to the end of the previous 
- * line if the cursor is at the beginning of a line.
- */
-void doSelectionCursorPrevious() {
-	int caretLine = getCaretLine();
-	int lineOffset = content.getOffsetAtLine(caretLine);
-	int offsetInLine = caretOffset - lineOffset;
-	caretAlignment = OFFSET_LEADING;
-	if (offsetInLine > 0) {
-		caretOffset = getClusterPrevious(caretOffset, caretLine);
-		showCaret();
-	} else if (caretLine > 0) {
-		caretLine--;
-		lineOffset = content.getOffsetAtLine(caretLine);
-		caretOffset = lineOffset + content.getLine(caretLine).length();
-		showCaret();
-	}
-}
-/**
- * Moves the caret one line down and to the same character offset relative 
- * to the beginning of the line. Moves the caret to the end of the new line 
- * if the new line is shorter than the character offset.
- * Moves the caret to the end of the text if the caret already is on the 
- * last line.
- * Adjusts the selection according to the caret change. This can either add
- * to or subtract from the old selection, depending on the previous selection
- * direction.
- */
-void doSelectionLineDown() {
-	int oldColumnX = columnX = getPointAtOffset(caretOffset).x;
-	doLineDown(true);
-	columnX = oldColumnX;
-}
-/**
- * Moves the caret one line up and to the same character offset relative 
- * to the beginning of the line. Moves the caret to the end of the new line 
- * if the new line is shorter than the character offset.
- * Moves the caret to the beginning of the document if it is already on the
- * first line.
- * Adjusts the selection according to the caret change. This can either add
- * to or subtract from the old selection, depending on the previous selection
- * direction.
- */
-void doSelectionLineUp() {
-	int oldColumnX = columnX = getPointAtOffset(caretOffset).x;	
-	doLineUp(true);	
-	columnX = oldColumnX;
-}
-/**
- * Scrolls one page down so that the last line (truncated or whole)
- * of the current page becomes the fully visible top line.
- * <p>
- * The caret is scrolled the same number of lines so that its location 
- * relative to the top line remains the same. The exception is the end 
- * of the text where a full page scroll is not possible. In this case 
- * the caret is moved after the last character.
- * <p></p>
- * Adjusts the selection according to the caret change. This can either add
- * to or subtract from the old selection, depending on the previous selection
- * direction.
- * </p>
- */
-void doSelectionPageDown(int pixels) {
-	int oldColumnX = columnX = getPointAtOffset(caretOffset).x;
-	doPageDown(true, pixels);
-	columnX = oldColumnX;
-}
-/**
- * Scrolls one page up so that the first line (truncated or whole)
- * of the current page becomes the fully visible last line.
- * <p>
- * The caret is scrolled the same number of lines so that its location 
- * relative to the top line remains the same. The exception is the beginning 
- * of the text where a full page scroll is not possible. In this case the
- * caret is moved in front of the first character.
- * </p><p>
- * Adjusts the selection according to the caret change. This can either add
- * to or subtract from the old selection, depending on the previous selection
- * direction.
- * </p>
- */
-void doSelectionPageUp(int pixels) {
-	int oldColumnX = columnX = getPointAtOffset(caretOffset).x;
-	doPageUp(true, pixels);
-	columnX = oldColumnX;
-}
-/**
- * Moves the caret to the end of the next word .
- */
-void doSelectionWordNext() {
-	int newCaretOffset = getWordEnd(caretOffset);
-	// Force symmetrical movement for word next and previous. Fixes 14536
-	caretAlignment = OFFSET_LEADING;
-	// don't change caret position if in single line mode and the cursor 
-	// would be on a different line. fixes 5673
-	if (!isSingleLine() || 
-		content.getLineAtOffset(caretOffset) == content.getLineAtOffset(newCaretOffset)) {
-		caretOffset = newCaretOffset;
-		showCaret();
-	}
-}
-/**
- * Moves the caret to the start of the previous word.
- */
-void doSelectionWordPrevious() {
-	caretAlignment = OFFSET_LEADING;
-	caretOffset = getWordStart(caretOffset);
-	int caretLine = content.getLineAtOffset(caretOffset);
-	// word previous always comes from bottom line. when
-	// wrapping lines, stay on bottom line when on line boundary
-	if (wordWrap && caretLine < content.getLineCount() - 1 &&
-		caretOffset == content.getOffsetAtLine(caretLine + 1)) {
-		caretLine++;
-	}
-	showCaret();
-}
-/**
- * Moves the caret one character to the left.  Do not go to the previous line.
- * When in a bidi locale and at a R2L character the caret is moved to the 
- * beginning of the R2L segment (visually right) and then one character to the 
- * left (visually left because it's now in a L2R segment).
- */
-void doVisualPrevious() {
-	caretOffset = getClusterPrevious(caretOffset, getCaretLine());
-	showCaret();
-}
-/**
- * Moves the caret one character to the right.  Do not go to the next line.
- * When in a bidi locale and at a R2L character the caret is moved to the 
- * end of the R2L segment (visually left) and then one character to the 
- * right (visually right because it's now in a L2R segment).
- */
-void doVisualNext() {
-	caretOffset = getClusterNext(caretOffset, getCaretLine());
-	showCaret();
-}
-/**
- * Moves the caret to the end of the next word.
- * If a selection exists, move the caret to the end of the selection
- * and remove the selection.
- */
-void doWordNext() {
-	if (selection.y - selection.x > 0) {
-		caretOffset = selection.y;
-		showCaret();
-	} else {
-		doSelectionWordNext();
-	}
-}
-/**
- * Moves the caret to the start of the previous word.
- * If a selection exists, move the caret to the start of the selection
- * and remove the selection.
- */
-void doWordPrevious() {
-	if (selection.y - selection.x > 0) {
-		caretOffset = selection.x;
-		showCaret();
-	} else {
-		doSelectionWordPrevious();
-	}
-}
-/** 
- * Ends the autoscroll process.
- */
-void endAutoScroll() {
-	autoScrollDirection = SWT.NULL;
-}
-public Color getBackground() {
-	checkWidget();
-	if (background == null) {
-		return getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-	}
-	return background;
-}
-/**
- * Returns the baseline, in pixels.
- *  
- * Note: this API should not be used if a StyleRange attribute causes lines to 
- * have different heights (i.e. different fonts, rise, etc). 
- *
- * @return baseline the baseline
- * @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>
- * @since 3.0
- * 
- * @see #getBaseline(int)
- */
-public int getBaseline() {
-	checkWidget();
-	return renderer.getBaseline();
-}
-/**
- * Returns the baseline at the given offset, in pixels. 
- *
- * @param offset the offset
- * 
- * @return baseline the baseline
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the offset is outside the valid range (< 0 or > getCharCount())</li> 
- * </ul>
- *  
- * @since 3.2
- */
-public int getBaseline(int offset) {
-	checkWidget();
-	if (!(0 <= offset && offset <= content.getCharCount())) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	if (isFixedLineHeight()) {
-		return renderer.getBaseline();
-	}
-	int lineIndex = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	int lineInParagraph = layout.getLineIndex(Math.min(offset - lineOffset, layout.getText().length()));
-	FontMetrics metrics = layout.getLineMetrics(lineInParagraph);
-	renderer.disposeTextLayout(layout);
-	return metrics.getAscent() + metrics.getLeading();
-}
-/**
- * Gets the BIDI coloring mode.  When true the BIDI text display
- * algorithm is applied to segments of text that are the same
- * color.
- *
- * @return the current coloring mode
- * @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>
- * 
- * @deprecated use BidiSegmentListener instead.
- */
-public boolean getBidiColoring() {
-	checkWidget();
-	return bidiColoring;
-}
-/** 
- * Returns the index of the last fully visible line.
- *
- * @return index of the last fully visible line.
- */
-int getBottomIndex() {
-	int bottomIndex;
-	if (isFixedLineHeight()) {
-		int lineCount = 1;
-		int lineHeight = renderer.getLineHeight();
-		if (lineHeight != 0) {
-			// calculate the number of lines that are fully visible
-			int partialTopLineHeight = topIndex * lineHeight - getVerticalScrollOffset();
-			lineCount = (clientAreaHeight - partialTopLineHeight) / lineHeight;
-		}
-		bottomIndex = Math.min(content.getLineCount() - 1, topIndex + Math.max(0, lineCount - 1));
-	} else {
-		int clientAreaHeight = this.clientAreaHeight - bottomMargin;
-		bottomIndex = getLineIndex(clientAreaHeight);
-		if (bottomIndex > 0) {
-			int linePixel = getLinePixel(bottomIndex);
-			int lineHeight = renderer.getLineHeight(bottomIndex);
-			if (linePixel + lineHeight > clientAreaHeight) {
-				if (getLinePixel(bottomIndex - 1) >= topMargin) {
-					bottomIndex--;
-				}
-			}
-		}
-	}
-	return bottomIndex;
-}
-Rectangle getBoundsAtOffset(int offset) {
-	int lineIndex = content.getLineAtOffset(offset);
-	String line = content.getLine(lineIndex);
-	Rectangle bounds;
-	if (line.length() != 0) {
-		int offsetInLine = offset - content.getOffsetAtLine(lineIndex);
-		TextLayout layout = renderer.getTextLayout(lineIndex);
-		bounds = layout.getBounds(offsetInLine, offsetInLine);
-		renderer.disposeTextLayout(layout);
-	} else {
-		bounds = new Rectangle (0, 0, 0, renderer.getLineHeight());
-	}
-	bounds.x += leftMargin - horizontalScrollOffset;
-	bounds.y += getLinePixel(lineIndex);
-	return bounds;
-}
-
-/**
- * Returns the caret position relative to the start of the text.
- *
- * @return the caret position relative to the start of the text.
- * @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 int getCaretOffset() {
-	checkWidget();
-	return caretOffset;
-}
-/**
- * Returns the caret width.
- *
- * @return the caret width, 0 if caret is null.
- */
-int getCaretWidth() {
-	Caret caret = getCaret();
-	if (caret == null) return 0;
-	return caret.getSize().x;
-}
-Object getClipboardContent(int clipboardType) {
-	TextTransfer plainTextTransfer = TextTransfer.getInstance();
-	return clipboard.getContents(plainTextTransfer, clipboardType);
-}
-int getClusterNext(int offset, int lineIndex) {
-	int lineOffset = content.getOffsetAtLine(lineIndex);	
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	offset -= lineOffset;
-	offset = layout.getNextOffset(offset, SWT.MOVEMENT_CLUSTER);
-	offset += lineOffset;
-	renderer.disposeTextLayout(layout);
-	return offset;
-}
-int getClusterPrevious(int offset, int lineIndex) {
-	int lineOffset = content.getOffsetAtLine(lineIndex);	
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	offset -= lineOffset;
-	offset = layout.getPreviousOffset(offset, SWT.MOVEMENT_CLUSTER);
-	offset += lineOffset;
-	renderer.disposeTextLayout(layout);
-	return offset;
-}
-/**
- * Returns the content implementation that is used for text storage
- * or null if no user defined content implementation has been set.
- *
- * @return content implementation that is used for text storage or null 
- * if no user defined content implementation has been set.
- * @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 StyledTextContent getContent() {
-	checkWidget();
-	return content;
-}
-/** 
- * Returns whether the widget implements double click mouse behavior.
- *
- * @return true if double clicking a word selects the word, false if double clicks
- * have the same effect as regular mouse clicks
- * @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 getDoubleClickEnabled() {
-	checkWidget();
-	return doubleClickEnabled;
-}
-/**
- * Returns whether the widget content can be edited.
- *
- * @return true if content can be edited, 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 getEditable() {
-	checkWidget();
-	return editable;
-}
-public Color getForeground() {
-	checkWidget();
-	if (foreground == null) {
-		return getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-	}
-	return foreground;
-}
-/** 
- * Returns the horizontal scroll increment.
- *
- * @return horizontal scroll increment.
- */
-int getHorizontalIncrement() {
-	GC gc = new GC(this);
-	int increment = gc.getFontMetrics().getAverageCharWidth();
-	gc.dispose();
-	return increment;
-}
-/** 
- * Returns the horizontal scroll offset relative to the start of the line.
- *
- * @return horizontal scroll offset relative to the start of the line,
- * measured in character increments starting at 0, if > 0 the content is scrolled
- * @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 int getHorizontalIndex() {
-	checkWidget();
-	return horizontalScrollOffset / getHorizontalIncrement();
-}
-/** 
- * Returns the horizontal scroll offset relative to the start of the line.
- *
- * @return the horizontal scroll offset relative to the start of the line,
- * measured in pixel starting at 0, if > 0 the content is scrolled.
- * @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 int getHorizontalPixel() {
-	checkWidget();
-	return horizontalScrollOffset;
-}
-/**
- * Returns the line indentation of the widget.
- * 
- * @return the line indentation
- * 
- * @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>
- *  
- * @see #getLineIndent(int)
- * 
- * @since 3.2
- */
-public int getIndent() {
-	checkWidget();
-	return indent;
-}
-/**
- * Returns whether the widget justifies lines.
- * 
- * @return whether lines are justified
- * 
- * @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>
- *  
- * @see #getLineJustify(int)
- * 
- * @since 3.2
- */
-public boolean getJustify() {
-	checkWidget();
-	return justify;
-}
-/** 
- * Returns the action assigned to the key.
- * Returns SWT.NULL if there is no action associated with the key.
- *
- * @param key a key code defined in SWT.java or a character. 
- * 	Optionally ORd with a state mask.  Preferred state masks are one or more of
- *  SWT.MOD1, SWT.MOD2, SWT.MOD3, since these masks account for modifier platform 
- *  differences.  However, there may be cases where using the specific state masks
- *  (i.e., SWT.CTRL, SWT.SHIFT, SWT.ALT, SWT.COMMAND) makes sense.
- * @return one of the predefined actions defined in ST.java or SWT.NULL 
- * 	if there is no action associated with the key.
- * @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 int getKeyBinding(int key) {
-	checkWidget();
-	Integer action = (Integer) keyActionMap.get(new Integer(key));	
-	return action == null ? SWT.NULL : action.intValue();
-}
-/**
- * Gets the number of characters.
- *
- * @return number of characters in the widget
- * @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 int getCharCount() {
-	checkWidget();
-	return content.getCharCount();
-}
-/**
- * Returns the alignment of the line at the given index.
- * 
- * @param index the index of the line
- * 
- * @return the line alignment
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
- * </ul>
- * 
- * @see #getAlignment()
- * 
- * @since 3.2
- */
-public int getLineAlignment(int index) {
-	checkWidget();
-	if (index < 0 || index > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return renderer.getLineAlignment(index, alignment);
-}
-/**
- * Returns the line at the specified offset in the text
- * where 0 &lt= offset &lt= getCharCount() so that getLineAtOffset(getCharCount())
- * returns the line of the insert location.
- *
- * @param offset offset relative to the start of the content. 
- * 	0 <= offset <= getCharCount()
- * @return line at the specified offset in the text
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the offset is outside the valid range (< 0 or > getCharCount())</li> 
- * </ul>
- */
-public int getLineAtOffset(int offset) {
-	checkWidget();	
-	if (offset < 0 || offset > getCharCount()) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);		
-	}
-	return content.getLineAtOffset(offset);
-}
-/**
- * Returns the background color of the line at the given index.
- * Returns null if a LineBackgroundListener has been set or if no background 
- * color has been specified for the line. Should not be called if a
- * LineBackgroundListener has been set since the listener maintains the
- * line background colors.
- * 
- * @param index the index of the line
- * @return the background color of the line at the given index.
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
- * </ul>
- */
-public Color getLineBackground(int index) {
-	checkWidget();
-	if (index < 0 || index > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return isListening(LineGetBackground) ? null : renderer.getLineBackground(index, null);
-}
-/**
- * Returns the bullet of the line at the given index.
- * 
- * @param index the index of the line
- * 
- * @return the line bullet
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
- * </ul>
- * 
- * @since 3.2
- */
-public Bullet getLineBullet(int index) {
-	checkWidget();
-	if (index < 0 || index > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return isListening(LineGetStyle) ? null : renderer.getLineBullet(index, null);
-}
-/**
- * Returns the line background data for the given line or null if 
- * there is none.
- * 
- * @param lineOffset offset of the line start relative to the start
- * 	of the content.
- * @param line line to get line background data for
- * @return line background data for the given line.
- */
-StyledTextEvent getLineBackgroundData(int lineOffset, String line) {
-	return sendLineEvent(LineGetBackground, lineOffset, line);
-}
-/** 
- * Gets the number of text lines.
- *
- * @return the number of lines in the widget
- * @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 int getLineCount() {
-	checkWidget();
-	return content.getLineCount();
-}
-/**
- * Returns the number of lines that can be completely displayed in the 
- * widget client area.
- *
- * @return number of lines that can be completely displayed in the widget 
- * 	client area.
- */
-int getLineCountWhole() {
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		return lineHeight != 0 ? clientAreaHeight / lineHeight : 1;
-	}
-	return getBottomIndex() - topIndex + 1;
-}
-/**
- * Returns the line delimiter used for entering new lines by key down
- * or paste operation.
- *
- * @return line delimiter used for entering new lines by key down
- * or paste operation.
- * @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 String getLineDelimiter() {
-	checkWidget();
-	return content.getLineDelimiter();
-}
-/**
- * Returns the line height.
- * <p>
- * Note: this API should not be used if a StyleRange attribute causes lines to 
- * have different heights (i.e. different fonts, rise, etc).
- * </p>
- *
- * @return line height in pixel.
- * @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>
- * @see #getLineHeight(int)
- */
-public int getLineHeight() {
-	checkWidget();
-	return renderer.getLineHeight();
-}
-/**
- * Returns the line height at the given offset.
- *
- * @param offset the offset
- *  
- * @return line height in pixels
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the offset is outside the valid range (< 0 or > getCharCount())</li> 
- * </ul> 
- * 
- * @since 3.2
- */
-public int getLineHeight(int offset) {
-	checkWidget();
-	if (!(0 <= offset && offset <= content.getCharCount())) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	if (isFixedLineHeight()) {
-		return renderer.getLineHeight();
-	}
-	int lineIndex = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	int lineInParagraph = layout.getLineIndex(Math.min(offset - lineOffset, layout.getText().length()));
-	int height = layout.getLineBounds(lineInParagraph).height;
-	renderer.disposeTextLayout(layout);
-	return height;
-}
-/**
- * Returns the indentation of the line at the given index.
- * 
- * @param index the index of the line
- * 
- * @return the line indentation
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
- * </ul>
- * 
- * @see #getIndent()
- * 
- * @since 3.2
- */
-public int getLineIndent(int index) {
-	checkWidget();
-	if (index < 0 || index > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return isListening(LineGetStyle) ? 0 : renderer.getLineIndent(index, indent);
-}
-/**
- * Returns whether the line at the given index is justified.
- * 
- * @param index the index of the line
- * 
- * @return whether the line is justified 
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
- * </ul>
- * 
- * @see #getJustify()
- * 
- * @since 3.2
- */
-public boolean getLineJustify(int index) {
-	checkWidget();
-	if (index < 0 || index > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return isListening(LineGetStyle) ? false : renderer.getLineJustify(index, justify);	
-}
-/**
- * Returns the line spacing of the widget.
- * 
- * @return the line spacing
- *  
- * @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>
- * 
- * @since 3.2
- */
-public int getLineSpacing() {
-	checkWidget();
-	return lineSpacing;
-}
-/**
- * Returns the line style data for the given line or null if there is 
- * none.
- * <p>
- * If there is a LineStyleListener but it does not set any styles, 
- * the StyledTextEvent.styles field will be initialized to an empty 
- * array.
- * </p>
- * 
- * @param lineOffset offset of the line start relative to the start of 
- * 	the content.
- * @param line line to get line styles for
- * @return line style data for the given line. Styles may start before 
- * 	line start and end after line end
- */
-StyledTextEvent getLineStyleData(int lineOffset, String line) {
-	return sendLineEvent(LineGetStyle, lineOffset, line);
-}
-/**
- * Returns the top pixel, relative to the client area, of a given line.
- * Clamps out of ranges index.
- *  
- * @param lineIndex the line index, the max value is lineCount. If
- * lineIndex == lineCount it returns the bottom pixel of the last line.
- * It means this function can be used to retrieve the bottom pixel of any line. 
- * 
- * @since 3.2
- */
-public int getLinePixel(int lineIndex) {
-	checkWidget();
-	int lineCount = content.getLineCount();
-	lineIndex = Math.max(0, Math.min(lineCount, lineIndex));
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		return lineIndex * lineHeight - getVerticalScrollOffset() + topMargin;
-	}
-	if (lineIndex == topIndex) return topIndexY + topMargin;
-	int height = topIndexY;
-	if (lineIndex > topIndex) {
-		for (int i = topIndex; i < lineIndex; i++) {
-			height += renderer.getLineHeight(i);
-		}
-	} else {
-		for (int i = topIndex - 1; i >= lineIndex; i--) {
-			height -= renderer.getLineHeight(i);
-		}
-	}
-	return height + topMargin;
-}
-/**
- * Returns the line index for a y, relative to the client area.
- * The line index returned is always in the range 0..lineCount - 1.
- *
- * @since 3.2
- */
-public int getLineIndex(int y) {
-	checkWidget();
-	y -= topMargin;
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		int lineIndex = (y + getVerticalScrollOffset()) / lineHeight;
-		int lineCount = content.getLineCount();
-		lineIndex = Math.max(0, Math.min(lineCount - 1, lineIndex));
-		return lineIndex;
-	}
-	if (y == topIndexY) return topIndex;
-	int line = topIndex;
-	if (y < topIndexY) {
-		while (y < topIndexY && line > 0) {
-			y += renderer.getLineHeight(--line);
-		}
-	} else {
-		int lineCount = content.getLineCount();
-		int lineHeight = renderer.getLineHeight(line);
-		while (y - lineHeight >= topIndexY && line < lineCount - 1) {
-			y -= lineHeight;
-			lineHeight = renderer.getLineHeight(++line);
-		}
-	}
-	return line;
-}
-/**
- * Returns the x, y location of the upper left corner of the character 
- * bounding box at the specified offset in the text. The point is 
- * relative to the upper left corner of the widget client area.
- *
- * @param offset offset relative to the start of the content. 
- * 	0 <= offset <= getCharCount()
- * @return x, y location of the upper left corner of the character 
- * 	bounding box at the specified offset in the text.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the offset is outside the valid range (< 0 or > getCharCount())</li> 
- * </ul>
- */
-public Point getLocationAtOffset(int offset) {
-	checkWidget();
-	if (offset < 0 || offset > getCharCount()) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);		
-	}
-	return getPointAtOffset(offset);
-}
-/**
- * Returns the character offset of the first character of the given line.
- *
- * @param lineIndex index of the line, 0 based relative to the first 
- * 	line in the content. 0 <= lineIndex < getLineCount(), except
- * 	lineIndex may always be 0
- * @return offset offset of the first character of the line, relative to
- * 	the beginning of the document. The first character of the document is
- *	at offset 0.  
- *  When there are not any lines, getOffsetAtLine(0) is a valid call that 
- * 	answers 0.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the offset is outside the valid range (< 0 or > getCharCount())</li> 
- * </ul>
- * @since 2.0
- */
-public int getOffsetAtLine(int lineIndex) {
-	checkWidget();
-	if (lineIndex < 0 || 
-		(lineIndex > 0 && lineIndex >= content.getLineCount())) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);		
-	}
-	return content.getOffsetAtLine(lineIndex);
-}
-/**
- * Returns the offset of the character at the given location relative 
- * to the first character in the document.
- * <p>
- * The return value reflects the character offset that the caret will
- * be placed at if a mouse click occurred at the specified location.
- * If the x coordinate of the location is beyond the center of a character
- * the returned offset will be behind the character.
- * </p>
- *
- * @param point the origin of character bounding box relative to 
- * 	the origin of the widget client area.
- * @return offset of the character at the given location relative 
- * 	to the first character in the document.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_NULL_ARGUMENT when point is null</li>
- *   <li>ERROR_INVALID_ARGUMENT when there is no character at the specified location</li>
- * </ul>
- */
-public int getOffsetAtLocation(Point point) {
-	checkWidget();
-	if (point == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	// is y above first line or is x before first column?
-	if (point.y + getVerticalScrollOffset() < 0 || point.x + horizontalScrollOffset < 0) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	int bottomIndex = getLineIndex(clientAreaHeight);
-	int height = getLinePixel(bottomIndex) + renderer.getLineHeight(bottomIndex);
-	if (point.y > height) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);		
-	}
-	int lineIndex = getLineIndex(point.y);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	TextLayout layout = renderer.getTextLayout(lineIndex);	
-	int[] trailing = new int[1];
-	int x = point.x + horizontalScrollOffset - leftMargin ;
-	int y = point.y - getLinePixel(lineIndex);
-	int offsetInLine = layout.getOffset(x, y, trailing);
-	String line = content.getLine(lineIndex);
-	if (offsetInLine != line.length() - 1) {
-		offsetInLine = Math.min(line.length(), offsetInLine + trailing[0]);		
-	}
-	Rectangle rect = layout.getLineBounds(layout.getLineIndex(offsetInLine));
-	renderer.disposeTextLayout(layout);
-	if (x > rect.x + rect.width) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	return lineOffset + offsetInLine;
-}
-int getOffsetAtPoint(int x, int y) {
-	int lineIndex = getLineIndex(y);
-	y -= getLinePixel(lineIndex);
-	return getOffsetAtPoint(x, y, lineIndex);
-}
-/**
- * Returns the offset at the specified x location in the specified line.
- *
- * @param x	x location of the mouse location
- * @param line	line the mouse location is in
- * @return the offset at the specified x location in the specified line,
- * 	relative to the beginning of the document
- */
-int getOffsetAtPoint(int x, int y, int lineIndex) {
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	x += horizontalScrollOffset - leftMargin;
-	int[] trailing = new int[1];	
-	int offsetInLine = layout.getOffset(x, y, trailing);
-	caretAlignment = OFFSET_LEADING;
-	if (trailing[0] != 0) {
-		int lineInParagraph = layout.getLineIndex(offsetInLine + trailing[0]);
-		//TODO handle bidi text
-		int lineStart = layout.getLineOffsets()[lineInParagraph];
-		if (offsetInLine + trailing[0] == lineStart) {
-			offsetInLine += trailing[0];
-			caretAlignment = PREVIOUS_OFFSET_TRAILING;
-		} else {
-			String line = content.getLine(lineIndex);			
-			int level;
-			int offset = offsetInLine;
-			while (offset > 0 && Character.isDigit(line.charAt(offset))) offset--;
-			if (offset == 0 && Character.isDigit(line.charAt(offset))) {
-				level = isMirrored() ? 1 : 0;
-			} else {
-				level = layout.getLevel(offset) & 0x1;
-			}
-			offsetInLine += trailing[0];
-			int trailingLevel = layout.getLevel(offsetInLine) & 0x1;
-			if ((level ^ trailingLevel) != 0) {
-				caretAlignment = PREVIOUS_OFFSET_TRAILING;
-			} else {
-				caretAlignment = OFFSET_LEADING;
-			}
-		}
-	}
-	renderer.disposeTextLayout(layout);
-	return offsetInLine + content.getOffsetAtLine(lineIndex);
-}
-/**
- * Returns the orientation of the receiver.
- *
- * @return the orientation style
- * 
- * @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>
- * 
- * @since 2.1.2
- */
-public int getOrientation () {
-	checkWidget();
-	return isMirrored() ? SWT.RIGHT_TO_LEFT : SWT.LEFT_TO_RIGHT;
-}
-/** 
- * Returns the index of the last partially visible line.
- *
- * @return index of the last partially visible line.
- */
-int getPartialBottomIndex() {
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		int partialLineCount = Compatibility.ceil(clientAreaHeight, lineHeight);
-		return Math.min(content.getLineCount(), topIndex + partialLineCount) - 1;
-	}
-	return getLineIndex(clientAreaHeight - bottomMargin);
-}
-/** 
- * Returns the index of the first partially visible line.
- *
- * @return index of the first partially visible line.
- */
-int getPartialTopIndex() {
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		return getVerticalScrollOffset() / lineHeight;
-	}
-	return topIndexY <= 0 ? topIndex : topIndex - 1;
-}
-/**
- * Returns the content in the specified range using the platform line 
- * delimiter to separate lines.
- *
- * @param writer the TextWriter to write line text into
- * @return the content in the specified range using the platform line 
- * 	delimiter to separate lines as written by the specified TextWriter.
- */
-String getPlatformDelimitedText(TextWriter writer) {
-	int end = writer.getStart() + writer.getCharCount();
-	int startLine = content.getLineAtOffset(writer.getStart());
-	int endLine = content.getLineAtOffset(end);
-	String endLineText = content.getLine(endLine);
-	int endLineOffset = content.getOffsetAtLine(endLine);
-	
-	for (int i = startLine; i <= endLine; i++) {
-		writer.writeLine(content.getLine(i), content.getOffsetAtLine(i));
-		if (i < endLine) {
-			writer.writeLineDelimiter(PlatformLineDelimiter);
-		}
-	}
-	if (end > endLineOffset + endLineText.length()) {
-		writer.writeLineDelimiter(PlatformLineDelimiter);
-	}
-	writer.close();
-	return writer.toString();
-}
-/**
- * Returns all the ranges of text that have an associated StyleRange.
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * <p>
- * The ranges array contains start and length pairs.  Each pair refers to
- * the corresponding style in the styles array.  For example, the pair
- * that starts at ranges[n] with length ranges[n+1] uses the style
- * at styles[n/2] returned by <code>getStyleRanges(int, int, boolean)</code>.
- * </p>
- * 
- * @return the ranges or an empty array if a LineStyleListener has been set.
- * 
- * @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>
- * 
- * @since 3.2
- * 
- * @see #getStyleRanges(boolean)
- */
-public int[] getRanges() {
-	checkWidget();
-	if (!isListening(LineGetStyle)) {
-		int[] ranges = renderer.getRanges(0, content.getCharCount());
-		if (ranges != null) return ranges;
-	}
-	return new int[0];
-}
-/**
- * Returns the ranges of text that have an associated StyleRange.
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * <p>
- * The ranges array contains start and length pairs.  Each pair refers to
- * the corresponding style in the styles array.  For example, the pair
- * that starts at ranges[n] with length ranges[n+1] uses the style
- * at styles[n/2] returned by <code>getStyleRanges(int, int, boolean)</code>.
- * </p>
- *
- * @param start the start offset of the style ranges to return
- * @param length the number of style ranges to return
- * 
- * @return the ranges or an empty array if a LineStyleListener has been set.
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE if start or length are outside the widget content</li> 
- * </ul> 
- * 
- * @since 3.2
- * 
- * @see #getStyleRanges(int, int, boolean)
- */
-public int[] getRanges(int start, int length) {
-	checkWidget();
-	int contentLength = getCharCount();
-	int end = start + length;
-	if (start > end || start < 0 || end > contentLength) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	if (!isListening(LineGetStyle)) {
-		int[] ranges = renderer.getRanges(start, length);
-		if (ranges != null) return ranges;
-	}
-	return new int[0];
-}
-/**
- * Returns the selection.
- * <p>
- * Text selections are specified in terms of caret positions.  In a text
- * widget that contains N characters, there are N+1 caret positions, 
- * ranging from 0..N
- * </p>
- *
- * @return start and end of the selection, x is the offset of the first 
- * 	selected character, y is the offset after the last selected character.
- *  The selection values returned are visual (i.e., x will always always be   
- *  <= y).  To determine if a selection is right-to-left (RtoL) vs. left-to-right 
- *  (LtoR), compare the caretOffset to the start and end of the selection 
- *  (e.g., caretOffset == start of selection implies that the selection is RtoL).
- * @see #getSelectionRange
- * @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 Point getSelection() {
-	checkWidget();
-	return new Point(selection.x, selection.y);
-}
-/**
- * Returns the selection.
- *
- * @return start and length of the selection, x is the offset of the 
- * 	first selected character, relative to the first character of the 
- * 	widget content. y is the length of the selection. 
- *  The selection values returned are visual (i.e., length will always always be   
- *  positive).  To determine if a selection is right-to-left (RtoL) vs. left-to-right 
- *  (LtoR), compare the caretOffset to the start and end of the selection 
- *  (e.g., caretOffset == start of selection implies that the selection is RtoL).
- * @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 Point getSelectionRange() {
-	checkWidget();
-	return new Point(selection.x, selection.y - selection.x);
-}
-/**
- * Returns the receiver's selection background color.
- *
- * @return the selection background color
- *
- * @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>
- * @since 2.1
- */
-public Color getSelectionBackground() {
-	checkWidget();
-	if (selectionBackground == null) {
-		return getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
-	}
-	return selectionBackground;
-}
-/**
- * Gets the number of selected characters.
- *
- * @return the number of selected characters.
- * @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 int getSelectionCount() {
-	checkWidget();
-	return getSelectionRange().y;
-}
-/**
- * Returns the receiver's selection foreground color.
- *
- * @return the selection foreground color
- *
- * @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>
- * @since 2.1
- */
-public Color getSelectionForeground() {
-	checkWidget();
-	if (selectionForeground == null) {
-		return getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT);
-	}
-	return selectionForeground;
-}
-/**
- * Returns the selected text.
- *
- * @return selected text, or an empty String if there is no selection.
- * @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 String getSelectionText() {
-	checkWidget();
-	return content.getTextRange(selection.x, selection.y - selection.x);
-}
-public int getStyle() {
-	int style = super.getStyle();
-	style &= ~(SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT | SWT.MIRRORED);
-	if (isMirrored()) {
-		style |= SWT.RIGHT_TO_LEFT | SWT.MIRRORED;
-	} else {
-		style |= SWT.LEFT_TO_RIGHT;
-	}
-	return style;
-}
-
-/**
- * Returns the text segments that should be treated as if they 
- * had a different direction than the surrounding text.
- *
- * @param lineOffset offset of the first character in the line. 
- * 	0 based from the beginning of the document.
- * @param line text of the line to specify bidi segments for
- * @return text segments that should be treated as if they had a
- * 	different direction than the surrounding text. Only the start 
- * 	index of a segment is specified, relative to the start of the 
- * 	line. Always starts with 0 and ends with the line length. 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the segment indices returned 
- * 		by the listener do not start with 0, are not in ascending order,
- * 		exceed the line length or have duplicates</li>
- * </ul>
- */
-int [] getBidiSegments(int lineOffset, String line) {
-	if (!isBidi()) return null;
-	if (!isListening(LineGetSegments)) {
-		return getBidiSegmentsCompatibility(line, lineOffset);
-	}
-	StyledTextEvent event = sendLineEvent(LineGetSegments, lineOffset, line);
-	int lineLength = line.length();
-	int[] segments;
-	if (event == null || event.segments == null || event.segments.length == 0) {
-		segments = new int[] {0, lineLength};
-	} else {
-		int segmentCount = event.segments.length;
-		
-		// test segment index consistency
-		if (event.segments[0] != 0) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		} 	
-		for (int i = 1; i < segmentCount; i++) {
-			if (event.segments[i] <= event.segments[i - 1] || event.segments[i] > lineLength) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			} 	
-		}
-		// ensure that last segment index is line end offset
-		if (event.segments[segmentCount - 1] != lineLength) {
-			segments = new int[segmentCount + 1];
-			System.arraycopy(event.segments, 0, segments, 0, segmentCount);
-			segments[segmentCount] = lineLength;
-		} else {
-			segments = event.segments;
-		}
-	}
-	return segments;
-}
-/**
- * @see #getBidiSegments
- * Supports deprecated setBidiColoring API. Remove when API is removed.
- */
-int [] getBidiSegmentsCompatibility(String line, int lineOffset) {
-	int lineLength = line.length();
-	if (!bidiColoring) {
-		return new int[] {0, lineLength};
-	}
-	StyleRange [] styles = null;
-	StyledTextEvent event = getLineStyleData(lineOffset, line);
-	if (event != null) {
-		styles = event.styles;
-	} else {
-		styles = renderer.getStyleRanges(lineOffset, lineLength, true);
-	}
-	if (styles == null || styles.length == 0) {
-		return new int[] {0, lineLength};
-	}
-	int k=0, count = 1;
-	while (k < styles.length && styles[k].start == 0 && styles[k].length == lineLength) {
-		k++;
-	}
-	int[] offsets = new int[(styles.length - k) * 2 + 2];
-	for (int i = k; i < styles.length; i++) {
-		StyleRange style = styles[i];
-		int styleLineStart = Math.max(style.start - lineOffset, 0);
-		int styleLineEnd = Math.max(style.start + style.length - lineOffset, styleLineStart);
-		styleLineEnd = Math.min (styleLineEnd, line.length ());
-		if (i > 0 && count > 1 &&
-			((styleLineStart >= offsets[count-2] && styleLineStart <= offsets[count-1]) ||
-			 (styleLineEnd >= offsets[count-2] && styleLineEnd <= offsets[count-1])) &&
-			 style.similarTo(styles[i-1])) {
-			offsets[count-2] = Math.min(offsets[count-2], styleLineStart);
-			offsets[count-1] = Math.max(offsets[count-1], styleLineEnd);
-		} else {
-			if (styleLineStart > offsets[count - 1]) {
-				offsets[count] = styleLineStart;
-				count++;
-			}
-			offsets[count] = styleLineEnd;
-			count++;
-		}
-	}
-	// add offset for last non-colored segment in line, if any
-	if (lineLength > offsets[count-1]) {
-		offsets [count] = lineLength;
-		count++;
-	}
-	if (count == offsets.length) {
-		return offsets;
-	}
-	int [] result = new int [count];
-	System.arraycopy (offsets, 0, result, 0, count);
-	return result;
-}
-/**
- * Returns the style range at the given offset.
- * <p>
- * Returns null if a LineStyleListener has been set or if a style is not set
- * for the offset. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param offset the offset to return the style for. 
- * 	0 <= offset < getCharCount() must be true.
- * @return a StyleRange with start == offset and length == 1, indicating
- * 	the style at the given offset. null if a LineStyleListener has been set 
- * 	or if a style is not set for the given offset.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the offset is invalid</li>
- * </ul>
- */
-public StyleRange getStyleRangeAtOffset(int offset) {
-	checkWidget();
-	if (offset < 0 || offset >= getCharCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (!isListening(LineGetStyle)) {
-		StyleRange[] ranges = renderer.getStyleRanges(offset, 1, true);
-		if (ranges != null) return ranges[0];
-	}
-	return null;
-}
-/**
- * Returns the styles.
- * <p>
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * <p></p>
- * Note: Because a StyleRange includes the start and length, the
- * same instance cannot occur multiple times in the array of styles.
- * If the same style attributes, such as font and color, occur in
- * multiple StyleRanges, <code>getStyleRanges(boolean)</code>
- * can be used to get the styles without the ranges.
- * </p>
- *
- * @return the styles or an empty array if a LineStyleListener has been set.
- *
- * @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>
- * 
- * @see #getStyleRanges(boolean)
- */
-public StyleRange[] getStyleRanges() {
-	checkWidget();
-	return getStyleRanges(0, content.getCharCount(), true);
-}
-/**
- * Returns the styles.
- * <p>
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p><p>
- * Note: When <code>includeRanges</code> is true, the start and length
- * fields of each StyleRange will be valid, however the StyleRange
- * objects may need to be cloned. When <code>includeRanges</code> is
- * false, <code>getRanges(int, int)</code> can be used to get the
- * associated ranges.
- * </p>
- * 
- * @param includeRanges whether the start and length field of the StyleRanges should be set.
- * 
- * @return the styles or an empty array if a LineStyleListener has been set.
- * 
- * @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>
- * 
- * @since 3.2
- * 
- * @see #getRanges(int, int)
- * @see #setStyleRanges(int[], StyleRange[])
- */
-public StyleRange[] getStyleRanges(boolean includeRanges) {
-	checkWidget();
-	return getStyleRanges(0, content.getCharCount(), includeRanges);
-}
-/**
- * Returns the styles for the given text range.
- * <p>
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p><p>
- * Note: Because the StyleRange includes the start and length, the
- * same instance cannot occur multiple times in the array of styles.
- * If the same style attributes, such as font and color, occur in
- * multiple StyleRanges, <code>getStyleRanges(int, int, boolean)</code>
- * can be used to get the styles without the ranges.
- * </p>
- * @param start the start offset of the style ranges to return
- * @param length the number of style ranges to return
- *
- * @return the styles or an empty array if a LineStyleListener has 
- *  been set.  The returned styles will reflect the given range.  The first 
- *  returned <code>StyleRange</code> will have a starting offset >= start 
- *  and the last returned <code>StyleRange</code> will have an ending 
- *  offset <= start + length - 1
- *
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or end are outside the widget content</li> 
- * </ul>
- * 
- * @see #getStyleRanges(int, int, boolean)
- * 
- * @since 3.0
- */
-public StyleRange[] getStyleRanges(int start, int length) {
-	checkWidget();
-	return getStyleRanges(start, length, true);
-}
-/**
- * Returns the styles for the given text range.
- * <p>
- * Returns an empty array if a LineStyleListener has been set. 
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p><p>
- * Note: When <code>includeRanges</code> is true, the start and length
- * fields of each StyleRange will be valid, however the StyleRange
- * objects may need to be cloned. When <code>includeRanges</code> is
- * false, <code>getRanges(int, int)</code> can be used to get the
- * associated ranges.
- * </p>
- * 
- * @param start the start offset of the style ranges to return
- * @param length the number of style ranges to return
- * @param includeRanges whether the start and length field of the StyleRanges should be set.
- *
- * @return the styles or an empty array if a LineStyleListener has 
- *  been set.  The returned styles will reflect the given range.  The first 
- *  returned <code>StyleRange</code> will have a starting offset >= start 
- *  and the last returned <code>StyleRange</code> will have an ending 
- *  offset <= start + length - 1
- *
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or end are outside the widget content</li> 
- * </ul>
- * 
- * @since 3.2
- * 
- * @see #getRanges(int, int)
- * @see #setStyleRanges(int[], StyleRange[])
- */
-public StyleRange[] getStyleRanges(int start, int length, boolean includeRanges) {
-	checkWidget();
-	int contentLength = getCharCount();
-	int end = start + length;
-	if (start > end || start < 0 || end > contentLength) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	if (!isListening(LineGetStyle)) {
-		StyleRange[] ranges = renderer.getStyleRanges(start, length, includeRanges);
-		if (ranges != null) return ranges;
-	}
-	return new StyleRange[0];
-}
-/**
- * Returns the tab width measured in characters.
- *
- * @return tab width measured in characters
- * @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 int getTabs() {
-	checkWidget();
-	return tabLength;
-}
-/**
- * Returns a copy of the widget content.
- *
- * @return copy of the widget content
- * @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 String getText() {
-	checkWidget();
-	return content.getTextRange(0, getCharCount());
-}
-/**
- * Returns the widget content between the two offsets.
- *
- * @param start offset of the first character in the returned String
- * @param end offset of the last character in the returned String 
- * @return widget content starting at start and ending at end
- * @see #getTextRange(int,int)
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or end are outside the widget content</li> 
- * </ul>
- */
-public String getText(int start, int end) {
-	checkWidget();
-	int contentLength = getCharCount();
-	if (start < 0 || start >= contentLength || end < 0 || end >= contentLength || start > end) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	return content.getTextRange(start, end - start + 1);
-}
-/**
- * Returns the smallest bounding rectangle that includes the characters between two offsets.
- *
- * @param start offset of the first character included in the bounding box
- * @param end offset of the last character included in the bounding box 
- * @return bounding box of the text between start and end
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or end are outside the widget content</li> 
- * </ul>
- * @since 3.1
- */
-public Rectangle getTextBounds(int start, int end) {
-	checkWidget();	
-	int contentLength = getCharCount();	
-	if (start < 0 || start >= contentLength || end < 0 || end >= contentLength || start > end) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	int lineStart = content.getLineAtOffset(start);
-	int lineEnd = content.getLineAtOffset(end);
-	Rectangle rect;
-	int y = getLinePixel(lineStart);
-	int height = 0;
-	int left = 0x7fffffff, right = 0;
-	for (int i = lineStart; i <= lineEnd; i++) {
-		int lineOffset = content.getOffsetAtLine(i);		
-		TextLayout layout = renderer.getTextLayout(i);
-		if (i == lineStart && i == lineEnd) {
-			rect = layout.getBounds(start - lineOffset, end - lineOffset);
-		} else if (i == lineStart) {
-			String line = content.getLine(i);
-			rect = layout.getBounds(start - lineOffset, line.length());
-		} else if (i == lineEnd) {
-			rect = layout.getBounds(0, end - lineOffset);
-		} else {
-			rect = layout.getBounds();
-		}
-		left = Math.min (left, rect.x);
-		right = Math.max (right, rect.x + rect.width);
-		height += rect.height;
-		renderer.disposeTextLayout(layout);
-	}
-	rect = new Rectangle (left, y, right-left, height);
-	rect.x += leftMargin - horizontalScrollOffset;
-	return rect;
-}
-/**
- * Returns the widget content starting at start for length characters.
- *
- * @param start offset of the first character in the returned String
- * @param length number of characters to return 
- * @return widget content starting at start and extending length characters.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or length are outside the widget content</li> 
- * </ul>
- */
-public String getTextRange(int start, int length) {
-	checkWidget();
-	int contentLength = getCharCount();
-	int end = start + length;
-	if (start > end || start < 0 || end > contentLength) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}	
-	return content.getTextRange(start, length);
-}
-/**
- * Returns the maximum number of characters that the receiver is capable of holding.
- * 
- * @return the text limit
- *
- * @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 int getTextLimit() {
-	checkWidget();
-	return textLimit;
-}
-/**
- * Gets the top index.
- * <p>
- * The top index is the index of the fully visible line that is currently 
- * at the top of the widget or the topmost partially visible line if no line is fully visible. 
- * The top index changes when the widget is scrolled. Indexing is zero based.
- * </p>
- *
- * @return the index of the top line
- * @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 int getTopIndex() {
-	checkWidget();
-	return topIndex;
-}
-/**
- * Gets the top pixel.
- * <p>
- * The top pixel is the pixel position of the line that is 
- * currently at the top of the widget. The text widget can be scrolled by pixels 
- * by dragging the scroll thumb so that a partial line may be displayed at the top 
- * the widget.  The top pixel changes when the widget is scrolled.  The top pixel 
- * does not include the widget trimming.
- * </p>
- *
- * @return pixel position of the top line
- * @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 int getTopPixel() {
-	checkWidget();
-	return getVerticalScrollOffset();
-}
-/** 
- * Returns the vertical scroll increment.
- *
- * @return vertical scroll increment.
- */
-int getVerticalIncrement() {
-	return renderer.getLineHeight();
-}
-int getVerticalScrollOffset() {
-	if (verticalScrollOffset == -1) {
-		renderer.calculate(0, topIndex);
-		int height = 0;
-		for (int i = 0; i < topIndex; i++) {
-			height += renderer.getLineHeight(i);
-		}
-		height -= topIndexY;
-		verticalScrollOffset = height;
-	}
-	return verticalScrollOffset;
-}
-int getVisualLineIndex(TextLayout layout, int offsetInLine) {
-	int lineIndex = layout.getLineIndex(offsetInLine);
-	int[] offsets = layout.getLineOffsets();
-	if (lineIndex != 0 && offsetInLine == offsets[lineIndex] && caretAlignment == PREVIOUS_OFFSET_TRAILING) {
-		lineIndex--;
-	}
-	return lineIndex;
-}
-int getCaretDirection() {
-	if (!isBidiCaret()) return SWT.DEFAULT;
-	if (!updateCaretDirection && caretDirection != SWT.NULL) return caretDirection;
-	updateCaretDirection = false;
-	int caretLine = getCaretLine();
-	int lineOffset = content.getOffsetAtLine(caretLine);
-	String line = content.getLine(caretLine);
-	int offset = caretOffset - lineOffset;
-	int lineLength = line.length();
-	if (lineLength == 0) return isMirrored() ? SWT.RIGHT : SWT.LEFT;
-	if (caretAlignment == PREVIOUS_OFFSET_TRAILING && offset > 0) offset--;
-	if (offset == lineLength && offset > 0) offset--;
-	while (offset > 0 && Character.isDigit(line.charAt(offset))) offset--;
-	if (offset == 0 && Character.isDigit(line.charAt(offset))) {
-		return isMirrored() ? SWT.RIGHT : SWT.LEFT;
-	}
-	TextLayout layout = renderer.getTextLayout(caretLine);
-	int level = layout.getLevel(offset);
-	renderer.disposeTextLayout(layout);
-	return ((level & 1) != 0) ? SWT.RIGHT : SWT.LEFT;
-}
-/*
- * Returns the index of the line the caret is on.
- */
-int getCaretLine() {
-	return content.getLineAtOffset(caretOffset);
-}
-int getWrapWidth () {
-	if (wordWrap && !isSingleLine()) {
-		int width = clientAreaWidth - leftMargin - rightMargin;
-		return width > 0 ? width : 1;
-	}
-	return -1;
-}
-/**
- * Returns the offset of the character after the word at the specified
- * offset.
- * <p>
- * There are two classes of words formed by a sequence of characters:
- * <ul>
- * <li>from 0-9 and A-z (ASCII 48-57 and 65-122)
- * <li>every other character except line breaks
- * </ul>
- * </p><p>
- * Space characters ' ' (ASCII 20) are special as they are treated as
- * part of the word leading up to the space character.  Line breaks are 
- * treated as one word.
- * </p>
- */
-int getWordEnd(int offset) {
-	if (offset >= getCharCount()) {
-		return offset;
-	}
-	int lineIndex = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	int lineLength = content.getLine(lineIndex).length();
-	if (offset == lineOffset + lineLength) {
-		offset = content.getOffsetAtLine(lineIndex + 1);
-	} else {
-		TextLayout layout = renderer.getTextLayout(lineIndex);
-		offset -= lineOffset;
-		offset = layout.getNextOffset(offset, SWT.MOVEMENT_WORD);
-		offset += lineOffset;
-		renderer.disposeTextLayout(layout);
-	}
-	return offset;
-}
-/**
- * Returns the offset of the character after the word at the specified
- * offset.
- * <p>
- * There are two classes of words formed by a sequence of characters:
- * <ul>
- * <li>from 0-9 and A-z (ASCII 48-57 and 65-122)
- * <li>every other character except line breaks
- * </ul>
- * </p><p>
- * Spaces are ignored and do not represent a word.  Line breaks are treated 
- * as one word.
- * </p>
- */
-int getWordEndNoSpaces(int offset) {
-	if (offset >= getCharCount()) {
-		return offset;
-	}
-	int line = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(line);
-	String lineText = content.getLine(line);
-	int lineLength = lineText.length();
-	if (offset == lineOffset + lineLength) {
-		line++;
-		offset = content.getOffsetAtLine(line);
-	} else {
-		offset -= lineOffset;
-		char ch = lineText.charAt(offset);
-		boolean letterOrDigit = Compatibility.isLetterOrDigit(ch);
-		while (offset < lineLength - 1 && Compatibility.isLetterOrDigit(ch) == letterOrDigit && !Compatibility.isSpaceChar(ch)) {
-			offset++;
-			ch = lineText.charAt(offset);
-		}
-		if (offset == lineLength - 1 && Compatibility.isLetterOrDigit(ch) == letterOrDigit && !Compatibility.isSpaceChar(ch)) {
-			offset++;
-		}
-		offset += lineOffset;
-	}
-	return offset;
-}
-/**
- * Returns the start offset of the word at the specified offset.
- * There are two classes of words formed by a sequence of characters:
- * <p>
- * <ul>
- * <li>from 0-9 and A-z (ASCII 48-57 and 65-122)
- * <li>every other character except line breaks
- * </ul>
- * </p><p>
- * Space characters ' ' (ASCII 20) are special as they are treated as
- * part of the word leading up to the space character.  Line breaks are treated 
- * as one word.
- * </p>
- */
-int getWordStart(int offset) {
-	if (offset <= 0) {
-		return offset;
-	}
-	int lineIndex = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	if (offset == lineOffset) {
-		lineIndex--;
-		String lineText = content.getLine(lineIndex);
-		offset = content.getOffsetAtLine(lineIndex) + lineText.length();
-	} else {
-		TextLayout layout = renderer.getTextLayout(lineIndex);
-		offset -= lineOffset;
-		offset = layout.getPreviousOffset(offset, SWT.MOVEMENT_WORD);
-		offset += lineOffset;
-		renderer.disposeTextLayout(layout); 
-	}
-	return offset;
-}
-/**
- * Returns whether the widget wraps lines.
- *
- * @return true if widget wraps lines, false otherwise
- * @since 2.0
- */
-public boolean getWordWrap() {
-	checkWidget();
-	return wordWrap;
-}
-/** 
- * Returns the location of the given offset.
- * <p>
- * <b>NOTE:</b> Does not return correct values for true italic fonts (vs. slanted fonts).
- * </p>
- *
- * @return location of the character at the given offset in the line.
- */
-Point getPointAtOffset(int offset) {
-	int lineIndex = content.getLineAtOffset(offset);
-	String line = content.getLine(lineIndex);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	int offsetInLine = offset - lineOffset;
-	int lineLength = line.length();
-	if (lineIndex < content.getLineCount() - 1) {
-		int endLineOffset = content.getOffsetAtLine(lineIndex + 1) - 1;
-		if (lineLength < offsetInLine && offsetInLine <= endLineOffset) {
-			offsetInLine = lineLength;
-		}
-	}
-	Point point;
-	TextLayout layout = renderer.getTextLayout(lineIndex);
-	if (lineLength != 0  && offsetInLine <= lineLength) {
-		if (offsetInLine == lineLength) {
-			point = layout.getLocation(offsetInLine - 1, true);
-		} else {
-			switch (caretAlignment) {
-				case OFFSET_LEADING:
-					point = layout.getLocation(offsetInLine, false);
-					break;
-				case PREVIOUS_OFFSET_TRAILING:
-				default:
-					if (offsetInLine == 0) {
-						point = layout.getLocation(offsetInLine, false);
-					} else {
-						point = layout.getLocation(offsetInLine - 1, true);
-					}
-					break;
-			}
-		}
-	} else {
-		point = new Point(layout.getIndent(), 0);
-	}
-	renderer.disposeTextLayout(layout);
-	point.x += leftMargin - horizontalScrollOffset;
-	point.y += getLinePixel(lineIndex);
-	return point;
-}
-/** 
- * Inserts a string.  The old selection is replaced with the new text.  
- *
- * @param string the string
- * @see #replaceTextRange(int,int,String)
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when string is null</li>
- * </ul>
- */
-public void insert(String string) {
-	checkWidget();
-	if (string == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	Point sel = getSelectionRange();
-	replaceTextRange(sel.x, sel.y, string);
-}
-/**
- * Creates content change listeners and set the default content model.
- */
-void installDefaultContent() {
-	textChangeListener = new TextChangeListener() {
-		public void textChanging(TextChangingEvent event) {
-			handleTextChanging(event);
-		}
-		public void textChanged(TextChangedEvent event) {
-			handleTextChanged(event);
-		}
-		public void textSet(TextChangedEvent event) {
-			handleTextSet(event);
-		}
-	};
-	content = new DefaultContent();
-	content.addTextChangeListener(textChangeListener);
-}
-/** 
- * Adds event listeners
- */
-void installListeners() {
-	ScrollBar verticalBar = getVerticalBar();
-	ScrollBar horizontalBar = getHorizontalBar();
-	
-	listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose: handleDispose(event); break;
-				case SWT.DragDetect: handleDragDetect(event); break;
-				case SWT.KeyDown: handleKeyDown(event); break;
-				case SWT.KeyUp: handleKeyUp(event); break;
-				case SWT.MouseDown: handleMouseDown(event); break;
-				case SWT.MouseUp: handleMouseUp(event); break;
-				case SWT.MouseDoubleClick: handleMouseDoubleClick(event); break;
-				case SWT.MouseMove: handleMouseMove(event); break;
-				case SWT.Paint: handlePaint(event); break;
-				case SWT.Resize: handleResize(event); break;
-				case SWT.Traverse: handleTraverse(event); break;
-			}
-		}		
-	};
-	addListener(SWT.Dispose, listener);
-	// do not hook SWT.DragDetect until required
-	addListener(SWT.KeyDown, listener);
-	addListener(SWT.KeyUp, listener);
-	addListener(SWT.MouseDown, listener);
-	addListener(SWT.MouseUp, listener);
-	addListener(SWT.MouseDoubleClick, listener);
-	addListener(SWT.MouseMove, listener);
-	addListener(SWT.Paint, listener);
-	addListener(SWT.Resize, listener);
-	addListener(SWT.Traverse, listener);
-	if (verticalBar != null) {
-		verticalBar.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				handleVerticalScroll(event);
-			}
-		});
-	}
-	if (horizontalBar != null) {
-		horizontalBar.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				handleHorizontalScroll(event);
-			}
-		});
-	}
-}
-void internalRedrawRange(int start, int length) {
-	if (length <= 0) return;
-	int end = start + length;
-	int startLine = content.getLineAtOffset(start);
-	int endLine = content.getLineAtOffset(end);
-	int partialBottomIndex = getPartialBottomIndex();
-	int partialTopIndex = getPartialTopIndex();
-	if (startLine > partialBottomIndex || endLine < partialTopIndex) {
-		return;
-	}
-	if (partialTopIndex > startLine) {
-		startLine = partialTopIndex;
-		start = 0;
-	} else {
-		start -= content.getOffsetAtLine(startLine);
-	}
-	if (partialBottomIndex < endLine) {
-		endLine = partialBottomIndex + 1;
-		end = 0;
-	} else {
-		end -= content.getOffsetAtLine(endLine);
-	}
-
-	TextLayout layout = renderer.getTextLayout(startLine);
-	int lineX = leftMargin - horizontalScrollOffset, startLineY = getLinePixel(startLine);
-	int[] offsets = layout.getLineOffsets();
-	int startIndex = layout.getLineIndex(Math.min(start, layout.getText().length()));
-	
-	/* Redraw end of line before start line if wrapped and start offset is first char */
-	if (wordWrap && startIndex > 0 && offsets[startIndex] == start) {
-		Rectangle rect = layout.getLineBounds(startIndex - 1);
-		rect.x = rect.width;
-		rect.width = clientAreaWidth - rightMargin - rect.x;
-		rect.x += lineX;
-		rect.y += startLineY;
-		super.redraw(rect.x, rect.y, rect.width, rect.height, false);
-	}
-	
-	if (startLine == endLine) {
-		int endIndex = layout.getLineIndex(Math.min(end, layout.getText().length()));
-		if (startIndex == endIndex) {
-			/* Redraw rect between start and end offset if start and end offsets are in same wrapped line */
-			Rectangle rect = layout.getBounds(start, end - 1);
-			rect.x += lineX;
-			rect.y += startLineY;
-			super.redraw(rect.x, rect.y, rect.width, rect.height, false);
-			renderer.disposeTextLayout(layout);
-			return;
-		}
-	}
-
-	/* Redraw start line from the start offset to the end of client area */
-	Rectangle startRect = layout.getBounds(start, offsets[startIndex + 1] - 1);
-	if (startRect.height == 0) {
-		Rectangle bounds = layout.getLineBounds(startIndex);
-		startRect.x = bounds.width;
-		startRect.y = bounds.y;
-		startRect.height = bounds.height;
-	}
-	startRect.x += lineX;
-	startRect.y += startLineY;
-	startRect.width = clientAreaWidth - rightMargin - startRect.x;
-	super.redraw(startRect.x, startRect.y, startRect.width, startRect.height, false);
-
-	/* Redraw end line from the begining of the line to the end offset */
-	if (startLine != endLine) {
-		renderer.disposeTextLayout(layout);
-		layout = renderer.getTextLayout(endLine);
-		offsets = layout.getLineOffsets();
-	}
-	int endIndex = layout.getLineIndex(Math.min(end, layout.getText().length()));
-	Rectangle endRect = layout.getBounds(offsets[endIndex], end - 1);
-	if (endRect.height == 0) {
-		Rectangle bounds = layout.getLineBounds(endIndex);
-		endRect.y = bounds.y;
-		endRect.height = bounds.height;
-	}
-	endRect.x += lineX;
-	endRect.y += getLinePixel(endLine);
-	super.redraw(endRect.x, endRect.y, endRect.width, endRect.height, false);
-	renderer.disposeTextLayout(layout);
-
-	/* Redraw all lines in between start and end line */
-	int y = startRect.y + startRect.height;
-	if (endRect.y > y) {
-		super.redraw(leftMargin, y, clientAreaWidth - rightMargin - leftMargin, endRect.y - y, false);
-	}
-}
-/** 
- * Frees resources.
- */
-void handleDispose(Event event) {
-	removeListener(SWT.Dispose, listener);
-	notifyListeners(SWT.Dispose, event);
-	event.type = SWT.None;
-
-	clipboard.dispose();
-	if (renderer != null) {
-		renderer.dispose();
-		renderer = null;
-	}
-	if (content != null) {
-		content.removeTextChangeListener(textChangeListener);
-		content = null;
-	}
-	if (defaultCaret != null) {
-		defaultCaret.dispose();
-		defaultCaret = null;
-	}
-	if (leftCaretBitmap != null) {
-		leftCaretBitmap.dispose();
-		leftCaretBitmap = null;
-	}
-	if (rightCaretBitmap != null) {
-		rightCaretBitmap.dispose();
-		rightCaretBitmap = null;
-	}
-	if (isBidiCaret()) {
-		BidiUtil.removeLanguageListener(handle);
-	}
-	selectionBackground = null;
-	selectionForeground = null;
-	textChangeListener = null;
-	selection = null;
-	doubleClickSelection = null;
-	keyActionMap = null;
-	background = null;
-	foreground = null;
-	clipboard = null;
-}
-void handleDragDetect(Event event) {
-	dragging = true;
-}
-/** 
- * Scrolls the widget horizontally.
- */
-void handleHorizontalScroll(Event event) {
-	int scrollPixel = getHorizontalBar().getSelection() - horizontalScrollOffset;
-	scrollHorizontal(scrollPixel, false);
-}
-/**
- * If an action has been registered for the key stroke execute the action.
- * Otherwise, if a character has been entered treat it as new content.
- *
- * @param event keyboard event
- */
-void handleKey(Event event) {
-	int action;
-	caretAlignment = PREVIOUS_OFFSET_TRAILING;
-	if (event.keyCode != 0) {
-		// special key pressed (e.g., F1)
-		action = getKeyBinding(event.keyCode | event.stateMask);
-	} else {
-		// character key pressed
-		action = getKeyBinding(event.character | event.stateMask);
-		if (action == SWT.NULL) {
-			// see if we have a control character
-			if ((event.stateMask & SWT.CTRL) != 0 && (event.character >= 0) && event.character <= 31) {
-				// get the character from the CTRL+char sequence, the control
-				// key subtracts 64 from the value of the key that it modifies
-				int c = event.character + 64;
-				action = getKeyBinding(c | event.stateMask);
-			}
-		}
-	}
-	if (action == SWT.NULL) {
-		boolean ignore = false;
-		
-		if (IS_CARBON) {
-			// Ignore accelerator key combinations (we do not want to 
-			// insert a character in the text in this instance). Do not  
-			// ignore COMMAND+ALT combinations since that key sequence
-			// produces characters on the mac.
-			ignore = (event.stateMask ^ SWT.COMMAND) == 0 ||
-					(event.stateMask ^ (SWT.COMMAND | SWT.SHIFT)) == 0;
-		} else if (IS_MOTIF) {
-			// Ignore accelerator key combinations (we do not want to 
-			// insert a character in the text in this instance). Do not  
-			// ignore ALT combinations since this key sequence
-			// produces characters on motif.
-			ignore = (event.stateMask ^ SWT.CTRL) == 0 ||
-					(event.stateMask ^ (SWT.CTRL | SWT.SHIFT)) == 0;
-		} else {
-			// Ignore accelerator key combinations (we do not want to 
-			// insert a character in the text in this instance). Don't  
-			// ignore CTRL+ALT combinations since that is the Alt Gr 
-			// key on some keyboards.  See bug 20953. 
-			ignore = (event.stateMask ^ SWT.ALT) == 0 || 
-					(event.stateMask ^ SWT.CTRL) == 0 ||
-					(event.stateMask ^ (SWT.ALT | SWT.SHIFT)) == 0 ||
-					(event.stateMask ^ (SWT.CTRL | SWT.SHIFT)) == 0;
-		}
-		// -ignore anything below SPACE except for line delimiter keys and tab.
-		// -ignore DEL 
-		if (!ignore && event.character > 31 && event.character != SWT.DEL || 
-		    event.character == SWT.CR || event.character == SWT.LF || 
-		    event.character == TAB) {
-			doContent(event.character);
-			update();
-		}
-	} else {
-		invokeAction(action);
-	}
-}
-/**
- * If a VerifyKey listener exists, verify that the key that was entered
- * should be processed.
- *
- * @param event keyboard event
- */
-void handleKeyDown(Event event) {
-	if (clipboardSelection == null) {
-		clipboardSelection = new Point(selection.x, selection.y);
-	}
-	
-	Event verifyEvent = new Event();
-	verifyEvent.character = event.character;
-	verifyEvent.keyCode = event.keyCode;
-	verifyEvent.stateMask = event.stateMask;
-	verifyEvent.doit = true;
-	notifyListeners(VerifyKey, verifyEvent);
-	if (verifyEvent.doit) {
-		handleKey(event);
-	}
-}
-/**
- * Update the Selection Clipboard.
- *
- * @param event keyboard event
- */
-void handleKeyUp(Event event) {
-	if (clipboardSelection != null) {
-		if (clipboardSelection.x != selection.x || clipboardSelection.y != selection.y) {
-			try {
-				if (selection.y - selection.x > 0) {
-					setClipboardContent(selection.x, selection.y - selection.x, DND.SELECTION_CLIPBOARD);
-				}
-			} catch (SWTError error) {
-				// Copy to clipboard failed. This happens when another application 
-				// is accessing the clipboard while we copy. Ignore the error.
-				// Fixes 1GDQAVN
-				// Rethrow all other errors. Fixes bug 17578.
-				if (error.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
-					throw error;
-				}
-			}
-		}
-	}
-	clipboardSelection = null;
-}
-/**
- * Updates the caret location and selection if mouse button 1 has been 
- * pressed.
- */
-void handleMouseDoubleClick(Event event) {
-	if (event.button != 1 || !doubleClickEnabled) {
-		return;
-	}
-	mouseDoubleClick = true;
-	caretOffset = getWordStart(caretOffset);
-	resetSelection();
-	caretOffset = getWordEndNoSpaces(caretOffset);
-	showCaret();
-	doMouseSelection();
-	doubleClickSelection = new Point(selection.x, selection.y);
-}
-/** 
- * Updates the caret location and selection if mouse button 1 has been 
- * pressed.
- */
-void handleMouseDown(Event event) {
-	mouseDoubleClick = false;
-	
-	//force focus (object support)
-	forceFocus();
-	
-	dragging = false;
-	removeListener(SWT.DragDetect, listener);
-	dragDetect = detectDrag(event.x, event.y, event.button);
-	if (dragDetect) {
-		addListener(SWT.DragDetect, listener);
-		return;
-	}	
-	
-	mouseDown = true;	
-	if (event.button == 2) {
-		String text = (String)getClipboardContent(DND.SELECTION_CLIPBOARD);
-		if (text != null && text.length() > 0) {
-			// position cursor
-			doMouseLocationChange(event.x, event.y, false);
-			// insert text
-			Event e = new Event();
-			e.start = selection.x;
-			e.end = selection.y;
-			e.text = getModelDelimitedText(text);
-			sendKeyEvent(e);
-		}
-	}
-	if ((event.button != 1) || (IS_CARBON && (event.stateMask & SWT.MOD4) != 0)) {
-		return;	
-	}
-	boolean select = (event.stateMask & SWT.MOD2) != 0;
-	doMouseLocationChange(event.x, event.y, select);
-}
-/** 
- * Updates the caret location and selection if mouse button 1 is pressed 
- * during the mouse move.
- */
-void handleMouseMove(Event event) {
-	if (!mouseDown) return;
-	if ((event.stateMask & SWT.BUTTON1) == 0) {
-		return;
-	}
-	doMouseLocationChange(event.x, event.y, true);
-	update();
-	doAutoScroll(event);
-}
-/** 
- * Autoscrolling ends when the mouse button is released.
- */
-void handleMouseUp(Event event) {
-	mouseDown = false;
-	mouseDoubleClick = false;
-	endAutoScroll();
-	if (dragDetect) {
-		removeListener(SWT.DragDetect, listener);
-		if (!dragging) {
-			boolean select = (event.stateMask & SWT.MOD2) != 0;
-			doMouseLocationChange(event.x, event.y, select);
-		}
-	}
-	dragDetect = dragging = false;
-	if (event.button == 1) {
-		try {
-			if (selection.y - selection.x > 0) {
-				setClipboardContent(selection.x, selection.y - selection.x, DND.SELECTION_CLIPBOARD);
-			}
-		} catch (SWTError error) {
-			// Copy to clipboard failed. This happens when another application 
-			// is accessing the clipboard while we copy. Ignore the error.
-			// Fixes 1GDQAVN
-			// Rethrow all other errors. Fixes bug 17578.
-			if (error.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
-				throw error;
-			}
-		}
-	}
-}
-/**
- * Renders the invalidated area specified in the paint event.
- *
- * @param event paint event
- */
-void handlePaint(Event event) {
-	if (event.width == 0 || event.height == 0) return;
-	if (clientAreaWidth == 0 || clientAreaHeight == 0) return;
-
-	int startLine = getLineIndex(event.y);
-	int y = getLinePixel(startLine);
-	int endY = event.y + event.height;
-	GC gc = event.gc;
-	Color background = getBackground();
-	Color foreground = getForeground();
-	if (endY > 0) {
-		int lineCount = isSingleLine() ? 1 : content.getLineCount();
-		int x = leftMargin - horizontalScrollOffset;
-		for (int i = startLine; y < endY && i < lineCount; i++) {
-			y += renderer.drawLine(i, x, y, gc, background, foreground);
-		}
-		if (y < endY) {
-			gc.setBackground(background);
-			drawBackground(gc, 0, y, clientAreaWidth, endY - y);
-		}
-	}
-	// fill the margin background
-	gc.setBackground(background);
-	if (topMargin > 0) {
-		drawBackground(gc, 0, 0, clientAreaWidth, topMargin);
-	}
-	if (bottomMargin > 0) {
-		drawBackground(gc, 0, clientAreaHeight - bottomMargin, clientAreaWidth, bottomMargin);
-	}
-	if (leftMargin > 0) {
-		drawBackground(gc, 0, 0, leftMargin, clientAreaHeight);
-	}
-	if (rightMargin > 0) {
-		drawBackground(gc, clientAreaWidth - rightMargin, 0, rightMargin, clientAreaHeight);
-	}
-}
-/**
- * Recalculates the scroll bars. Rewraps all lines when in word 
- * wrap mode.
- *
- * @param event resize event
- */
-void handleResize(Event event) {
-	int oldHeight = clientAreaHeight;
-	int oldWidth = clientAreaWidth;
-	Rectangle clientArea = getClientArea();
-	clientAreaHeight = clientArea.height;
-	clientAreaWidth = clientArea.width;
-	/* Redraw the old or new right/bottom margin if needed */
-	if (oldWidth != clientAreaWidth) {
-		if (rightMargin > 0) {
-			int x = (oldWidth < clientAreaWidth ? oldWidth : clientAreaWidth) - rightMargin; 
-			super.redraw(x, 0, rightMargin, oldHeight, false);
-		}
-	}
-	if (oldHeight != clientAreaHeight) {
-		if (bottomMargin > 0) {
-			int y = (oldHeight < clientAreaHeight ? oldHeight : clientAreaHeight) - bottomMargin; 
-			super.redraw(0, y, oldWidth, bottomMargin, false);
-		}
-	}
-	if (wordWrap) {
-		if (oldWidth != clientAreaWidth) {
-			renderer.reset(0, content.getLineCount());
-			verticalScrollOffset = -1;
-			renderer.calculateIdle();
-			super.redraw();
-		}
-		if (oldHeight != clientAreaHeight) {
-			if (oldHeight == 0) topIndexY = 0;
-			setScrollBars(true);
-		}
-		setCaretLocation();
-	} else  {
-		renderer.calculateClientArea();
-		setScrollBars(true);
-		claimRightFreeSpace();
-	}
-	claimBottomFreeSpace();
-	//TODO FIX TOP INDEX DURING RESIZE
-//	if (oldHeight != clientAreaHeight || wordWrap) {
-//		calculateTopIndex(0);
-//	}
-}
-/**
- * Updates the caret position and selection and the scroll bars to reflect 
- * the content change.
- */
-void handleTextChanged(TextChangedEvent event) {
-	int firstLine = content.getLineAtOffset(lastTextChangeStart);
-	resetCache(firstLine, 0);
-	if (!isFixedLineHeight() && topIndex > firstLine) {
-		topIndex = firstLine;
-		topIndexY = 0;
-		super.redraw();
-	} else {
-		int lastLine = firstLine + lastTextChangeNewLineCount;
-		int firstLineTop = getLinePixel(firstLine);
-		int newLastLineBottom = getLinePixel(lastLine + 1);
-		if (lastLineBottom != newLastLineBottom) {
-			scrollText(lastLineBottom, newLastLineBottom);
-			if (wordWrap) setCaretLocation();
-		}
-		super.redraw(0, firstLineTop, clientAreaWidth, newLastLineBottom - firstLineTop, false);
-		redrawLinesBullet(renderer.redrawLines);
-	}
-	renderer.redrawLines = null;
-	// update selection/caret location after styles have been changed.
-	// otherwise any text measuring could be incorrect
-	// 
-	// also, this needs to be done after all scrolling. Otherwise, 
-	// selection redraw would be flushed during scroll which is wrong.
-	// in some cases new text would be drawn in scroll source area even 
-	// though the intent is to scroll it.
-	updateSelection(lastTextChangeStart, lastTextChangeReplaceCharCount, lastTextChangeNewCharCount);
-	if (lastTextChangeReplaceLineCount > 0 || wordWrap) {
-		claimBottomFreeSpace();
-	}
-	if (lastTextChangeReplaceCharCount > 0) {
-		claimRightFreeSpace();
-	}
-}
-/**
- * Updates the screen to reflect a pending content change.
- *
- * @param event.start the start offset of the change
- * @param event.newText text that is going to be inserted or empty String 
- *	if no text will be inserted
- * @param event.replaceCharCount length of text that is going to be replaced
- * @param event.newCharCount length of text that is going to be inserted
- * @param event.replaceLineCount number of lines that are going to be replaced
- * @param event.newLineCount number of new lines that are going to be inserted
- */
-void handleTextChanging(TextChangingEvent event) {
-	if (event.replaceCharCount < 0) {
-		event.start += event.replaceCharCount;
-		event.replaceCharCount *= -1;
-	}
-	lastTextChangeStart = event.start;
-	lastTextChangeNewLineCount = event.newLineCount;
-	lastTextChangeNewCharCount = event.newCharCount;
-	lastTextChangeReplaceLineCount = event.replaceLineCount;
-	lastTextChangeReplaceCharCount = event.replaceCharCount;	
-	int lineIndex = content.getLineAtOffset(event.start);
-	int srcY = getLinePixel(lineIndex + event.replaceLineCount + 1);
-	int destY = getLinePixel(lineIndex + 1) + event.newLineCount * renderer.getLineHeight();
-	lastLineBottom = destY;
-	scrollText(srcY, destY);
-
-	renderer.textChanging(event);
-	
-	// Update the caret offset if it is greater than the length of the content.
-	// This is necessary since style range API may be called between the
-	// handleTextChanging and handleTextChanged events and this API sets the
-	// caretOffset.
-	int newEndOfText = content.getCharCount() - event.replaceCharCount + event.newCharCount;
-	if (caretOffset > newEndOfText) caretOffset = newEndOfText;
-}
-/**
- * Called when the widget content is set programatically, overwriting 
- * the old content. Resets the caret position, selection and scroll offsets. 
- * Recalculates the content width and scroll bars. Redraws the widget.
- *
- * @param event text change event. 
- */
-void handleTextSet(TextChangedEvent event) {
-	reset();
-}
-/**
- * Called when a traversal key is pressed.
- * Allow tab next traversal to occur when the widget is in single 
- * line mode or in multi line and non-editable mode . 
- * When in editable multi line mode we want to prevent the tab 
- * traversal and receive the tab key event instead.
- *
- * @param event the event
- */
-void handleTraverse(Event event) {
-	switch (event.detail) {
-		case SWT.TRAVERSE_ESCAPE:
-		case SWT.TRAVERSE_PAGE_NEXT:
-		case SWT.TRAVERSE_PAGE_PREVIOUS:
-			event.doit = true;
-			break;
-		case SWT.TRAVERSE_RETURN:
-		case SWT.TRAVERSE_TAB_NEXT:
-		case SWT.TRAVERSE_TAB_PREVIOUS:
-			if ((getStyle() & SWT.SINGLE) != 0) {
-				event.doit = true;
-			} else {
-				if (!editable || (event.stateMask & SWT.MODIFIER_MASK) != 0) {
-					event.doit = true;
-				}
-			}
-			break;
-	}
-}
-/** 
- * Scrolls the widget vertically.
- */
-void handleVerticalScroll(Event event) {
-	int scrollPixel = getVerticalBar().getSelection() - getVerticalScrollOffset();
-	scrollVertical(scrollPixel, false);
-}
-/**
- * Add accessibility support for the widget.
- */
-void initializeAccessible() {
-	final Accessible accessible = getAccessible();
-	accessible.addAccessibleListener(new AccessibleAdapter() {
-		public void getName (AccessibleEvent e) {
-			String name = null;
-			Label label = getAssociatedLabel ();
-			if (label != null) {
-				name = stripMnemonic (label.getText());
-			}
-			e.result = name;
-		}
-		public void getHelp(AccessibleEvent e) {
-			e.result = getToolTipText();
-		}
-		public void getKeyboardShortcut(AccessibleEvent e) {
-			String shortcut = null;
-			Label label = getAssociatedLabel ();
-			if (label != null) {
-				String text = label.getText ();
-				if (text != null) {
-					char mnemonic = _findMnemonic (text);
-					if (mnemonic != '\0') {
-						shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-					}
-				}
-			}
-			e.result = shortcut;
-		}
-	});
-	accessible.addAccessibleTextListener(new AccessibleTextAdapter() {
-		public void getCaretOffset(AccessibleTextEvent e) {
-			e.offset = StyledText.this.getCaretOffset();
-		}
-		public void getSelectionRange(AccessibleTextEvent e) {
-			Point selection = StyledText.this.getSelectionRange();
-			e.offset = selection.x;
-			e.length = selection.y;
-		}
-	});
-	accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-		public void getRole(AccessibleControlEvent e) {
-			e.detail = ACC.ROLE_TEXT;
-		}
-		public void getState(AccessibleControlEvent e) {
-			int state = 0;
-			if (isEnabled()) state |= ACC.STATE_FOCUSABLE;
-			if (isFocusControl()) state |= ACC.STATE_FOCUSED;
-			if (!isVisible()) state |= ACC.STATE_INVISIBLE;
-			if (!getEditable()) state |= ACC.STATE_READONLY;
-			e.detail = state;
-		}
-		public void getValue(AccessibleControlEvent e) {
-			e.result = StyledText.this.getText();
-		}
-	});	
-	addListener(SWT.FocusIn, new Listener() {
-		public void handleEvent(Event event) {
-			accessible.setFocus(ACC.CHILDID_SELF);
-		}
-	});	
-}
-/* 
- * Return the Label immediately preceding the receiver in the z-order, 
- * or null if none. 
- */
-Label getAssociatedLabel () {
-	Control[] siblings = getParent ().getChildren ();
-	for (int i = 0; i < siblings.length; i++) {
-		if (siblings [i] == StyledText.this) {
-			if (i > 0 && siblings [i-1] instanceof Label) {
-				return (Label) siblings [i-1];
-			}
-		}
-	}
-	return null;
-}
-String stripMnemonic (String string) {
-	int index = 0;
-	int length = string.length ();
-	do {
-		while ((index < length) && (string.charAt (index) != '&')) index++;
-		if (++index >= length) return string;
-		if (string.charAt (index) != '&') {
-			return string.substring(0, index-1) + string.substring(index, length);
-		}
-		index++;
-	} while (index < length);
- 	return string;
-}
-/*
- * Return the lowercase of the first non-'&' character following
- * an '&' character in the given string. If there are no '&'
- * characters in the given string, return '\0'.
- */
-char _findMnemonic (String string) {
-	if (string == null) return '\0';
-	int index = 0;
-	int length = string.length ();
-	do {
-		while (index < length && string.charAt (index) != '&') index++;
-		if (++index >= length) return '\0';
-		if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-		index++;
-	} while (index < length);
- 	return '\0';
-}
-/**
- * Executes the action.
- *
- * @param action one of the actions defined in ST.java
- */
-public void invokeAction(int action) {
-	checkWidget();
-	updateCaretDirection = true;
-	switch (action) {
-		// Navigation
-		case ST.LINE_UP:
-			doLineUp(false);
-			clearSelection(true);
-			break;
-		case ST.LINE_DOWN:
-			doLineDown(false);
-			clearSelection(true);
-			break;
-		case ST.LINE_START:
-			doLineStart();
-			clearSelection(true);
-			break;
-		case ST.LINE_END:
-			doLineEnd();
-			clearSelection(true);
-			break;
-		case ST.COLUMN_PREVIOUS:
-			doCursorPrevious();
-			clearSelection(true);
-			break;
-		case ST.COLUMN_NEXT:
-			doCursorNext();
-			clearSelection(true);
-			break;
-		case ST.PAGE_UP:
-			doPageUp(false, -1);
-			clearSelection(true);
-			break;
-		case ST.PAGE_DOWN:
-			doPageDown(false, -1);
-			clearSelection(true);
-			break;
-		case ST.WORD_PREVIOUS:
-			doWordPrevious();
-			clearSelection(true);
-			break;
-		case ST.WORD_NEXT:
-			doWordNext();
-			clearSelection(true);
-			break;
-		case ST.TEXT_START:
-			doContentStart();
-			clearSelection(true);
-			break;
-		case ST.TEXT_END:
-			doContentEnd();
-			clearSelection(true);
-			break;
-		case ST.WINDOW_START:
-			doPageStart();
-			clearSelection(true);
-			break;
-		case ST.WINDOW_END:
-			doPageEnd();
-			clearSelection(true);
-			break;
-		// Selection	
-		case ST.SELECT_LINE_UP:
-			doSelectionLineUp();
-			break;
-		case ST.SELECT_ALL:
-			selectAll();
-			break;
-		case ST.SELECT_LINE_DOWN:
-			doSelectionLineDown();
-			break;
-		case ST.SELECT_LINE_START:
-			doLineStart();
-			doSelection(ST.COLUMN_PREVIOUS);
-			break;
-		case ST.SELECT_LINE_END:
-			doLineEnd();
-			doSelection(ST.COLUMN_NEXT);
-			break;
-		case ST.SELECT_COLUMN_PREVIOUS:
-			doSelectionCursorPrevious();
-			doSelection(ST.COLUMN_PREVIOUS);
-			break;
-		case ST.SELECT_COLUMN_NEXT:
-			doSelectionCursorNext();
-			doSelection(ST.COLUMN_NEXT);
-			break;
-		case ST.SELECT_PAGE_UP:
-			doSelectionPageUp(-1);
-			break;
-		case ST.SELECT_PAGE_DOWN:
-			doSelectionPageDown(-1);
-			break;
-		case ST.SELECT_WORD_PREVIOUS:
-			doSelectionWordPrevious();
-			doSelection(ST.COLUMN_PREVIOUS);
-			break;
-		case ST.SELECT_WORD_NEXT:
-			doSelectionWordNext();
-			doSelection(ST.COLUMN_NEXT);
-			break;
-		case ST.SELECT_TEXT_START:
-			doContentStart();
-			doSelection(ST.COLUMN_PREVIOUS);
-			break;
-		case ST.SELECT_TEXT_END:
-			doContentEnd();
-			doSelection(ST.COLUMN_NEXT);
-			break;
-		case ST.SELECT_WINDOW_START:
-			doPageStart();
-			doSelection(ST.COLUMN_PREVIOUS);
-			break;
-		case ST.SELECT_WINDOW_END:
-			doPageEnd();
-			doSelection(ST.COLUMN_NEXT);
-			break;
-		// Modification			
-		case ST.CUT:
-			cut();
-			break;
-		case ST.COPY:
-			copy();
-			break;
-		case ST.PASTE:
-			paste();
-			break;
-		case ST.DELETE_PREVIOUS:
-			doBackspace();
-			break;
-		case ST.DELETE_NEXT:
-			doDelete();
-			break;
-		case ST.DELETE_WORD_PREVIOUS:
-			doDeleteWordPrevious();
-			break;
-		case ST.DELETE_WORD_NEXT:
-			doDeleteWordNext();
-			break;
-		// Miscellaneous
-		case ST.TOGGLE_OVERWRITE:
-			overwrite = !overwrite;		// toggle insert/overwrite mode
-			break;
-	}
-}
-/**
- * Temporary until SWT provides this
- */
-boolean isBidi() {
-	return IS_GTK || BidiUtil.isBidiPlatform() || isMirrored;
-}
-boolean isBidiCaret() {
-	return BidiUtil.isBidiPlatform();
-}
-boolean isFixedLineHeight() {
-	return fixedLineHeight;
-}
-/**
- * Returns whether the given offset is inside a multi byte line delimiter.
- * Example: 
- * "Line1\r\n" isLineDelimiter(5) == false but isLineDelimiter(6) == true
- * 
- * @return true if the given offset is inside a multi byte line delimiter.
- * false if the given offset is before or after a line delimiter.
- */
-boolean isLineDelimiter(int offset) {
-	int line = content.getLineAtOffset(offset);
-	int lineOffset = content.getOffsetAtLine(line);	
-	int offsetInLine = offset - lineOffset;
-	// offsetInLine will be greater than line length if the line 
-	// delimiter is longer than one character and the offset is set
-	// in between parts of the line delimiter.
-	return offsetInLine > content.getLine(line).length();
-}
-/**
- * Returns whether the widget is mirrored (right oriented/right to left 
- * writing order). 
- * 
- * @return isMirrored true=the widget is right oriented, false=the widget 
- * 	is left oriented
- */
-boolean isMirrored() {
-	return isMirrored;
-}
-/**
- * Returns whether the widget can have only one line.
- *
- * @return true if widget can have only one line, false if widget can have 
- * 	multiple lines
- */
-boolean isSingleLine() {
-	return (getStyle() & SWT.SINGLE) != 0;
-}
-/**
- * Sends the specified verify event, replace/insert text as defined by 
- * the event and send a modify event.
- *
- * @param event	the text change event. 
- *	<ul>
- *	<li>event.start - the replace start offset</li>
- * 	<li>event.end - the replace end offset</li>
- * 	<li>event.text - the new text</li>
- *	</ul>
- * @param updateCaret whether or not he caret should be set behind
- *	the new text
- */
-void modifyContent(Event event, boolean updateCaret) {
-	event.doit = true;
-	notifyListeners(SWT.Verify, event);
-	if (event.doit) {
-		StyledTextEvent styledTextEvent = null;
-		int replacedLength = event.end - event.start;
-		if (isListening(ExtendedModify)) {
-			styledTextEvent = new StyledTextEvent(content);
-			styledTextEvent.start = event.start;
-			styledTextEvent.end = event.start + event.text.length();
-			styledTextEvent.text = content.getTextRange(event.start, replacedLength);
-		}
-		if (updateCaret) {
-			//Fix advancing flag for delete/backspace key on direction boundary
-			if (event.text.length() == 0) {
-				int lineIndex = content.getLineAtOffset(event.start);
-				int lineOffset = content.getOffsetAtLine(lineIndex);
-				TextLayout layout = renderer.getTextLayout(lineIndex);
-				int levelStart = layout.getLevel(event.start - lineOffset);
-				int lineIndexEnd = content.getLineAtOffset(event.end);
-				if (lineIndex != lineIndexEnd) {
-					renderer.disposeTextLayout(layout);
-					lineOffset = content.getOffsetAtLine(lineIndexEnd);
-					layout = renderer.getTextLayout(lineIndexEnd);
-				}
-				int levelEnd = layout.getLevel(event.end - lineOffset);
-				renderer.disposeTextLayout(layout);
-				if (levelStart != levelEnd) {
-					caretAlignment = PREVIOUS_OFFSET_TRAILING;
-				} else {
-					caretAlignment = OFFSET_LEADING;
-				}
-			}
-		}
-		content.replaceTextRange(event.start, replacedLength, event.text);
-		// set the caret position prior to sending the modify event.
-		// fixes 1GBB8NJ
-		if (updateCaret) {
-			// always update the caret location. fixes 1G8FODP
-			setSelection(event.start + event.text.length(), 0, true);
-			showCaret();
-		}
-		sendModifyEvent(event);
-		if (isListening(ExtendedModify)) {
-			notifyListeners(ExtendedModify, styledTextEvent);
-		}
-	}
-}
-void paintObject(GC gc, int x, int y, int ascent, int descent, StyleRange style, Bullet bullet, int bulletIndex) {
-	if (isListening(PaintObject)) {
-		StyledTextEvent event = new StyledTextEvent (content) ;
-		event.gc = gc;
-		event.x = x;
-		event.y = y;
-		event.ascent = ascent;
-		event.descent = descent;
-		event.style = style;
-		event.bullet = bullet;
-		event.bulletIndex = bulletIndex;
-		notifyListeners(PaintObject, event);
-	}
-}
-/** 
- * Replaces the selection with the text on the <code>DND.CLIPBOARD</code>  
- * clipboard  or, if there is no selection,  inserts the text at the current 
- * caret offset.   If the widget has the SWT.SINGLE style and the 
- * clipboard text contains more than one line, only the first line without
- * line delimiters is  inserted in the widget.
- *
- * @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 paste(){
-	checkWidget();	
-	String text = (String) getClipboardContent(DND.CLIPBOARD);
-	if (text != null && text.length() > 0) {
-		Event event = new Event();
-		event.start = selection.x;
-		event.end = selection.y;
-		event.text = getModelDelimitedText(text);
-		sendKeyEvent(event);
-	}
-}
-/** 
- * Prints the widget's text to the default printer.
- *
- * @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 print() {
-	checkWidget();
-	Printer printer = new Printer();
-	StyledTextPrintOptions options = new StyledTextPrintOptions();
-	options.printTextForeground = true;
-	options.printTextBackground = true;
-	options.printTextFontStyle = true;
-	options.printLineBackground = true;	
-	new Printing(this, printer, options).run();
-	printer.dispose();
-}
-/** 
- * Returns a runnable that will print the widget's text
- * to the specified printer.
- * <p>
- * The runnable may be run in a non-UI thread.
- * </p>
- * 
- * @param printer the printer to print to
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when printer is null</li>
- * </ul>
- */
-public Runnable print(Printer printer) {
-	checkWidget();	
-	if (printer == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	StyledTextPrintOptions options = new StyledTextPrintOptions();
-	options.printTextForeground = true;
-	options.printTextBackground = true;
-	options.printTextFontStyle = true;
-	options.printLineBackground = true;
-	return print(printer, options);
-}
-/** 
- * Returns a runnable that will print the widget's text
- * to the specified printer.
- * <p>
- * The runnable may be run in a non-UI thread.
- * </p>
- * 
- * @param printer the printer to print to
- * @param options print options to use during printing
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when printer or options is null</li>
- * </ul>
- * @since 2.1
- */
-public Runnable print(Printer printer, StyledTextPrintOptions options) {
-	checkWidget();
-	if (printer == null || options == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	return new Printing(this, printer, options);
-}
-/**
- * Causes the entire bounds of the receiver to be marked
- * as needing to be redrawn. The next time a paint request
- * is processed, the control will be completely painted.
- * <p>
- * Recalculates the content width for all lines in the bounds.
- * When a <code>LineStyleListener</code> is used a redraw call 
- * is the only notification to the widget that styles have changed 
- * and that the content width may have changed.
- * </p>
- *
- * @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>
- *
- * @see Control#update
- */
-public void redraw() {
-	super.redraw();
-	int itemCount = getPartialBottomIndex() - topIndex + 1;
-	renderer.reset(topIndex, itemCount);
-	renderer.calculate(topIndex, itemCount);
-	setScrollBars(false);
-}
-/**
- * Causes the rectangular area of the receiver specified by
- * the arguments to be marked as needing to be redrawn. 
- * The next time a paint request is processed, that area of
- * the receiver will be painted. If the <code>all</code> flag
- * is <code>true</code>, any children of the receiver which
- * intersect with the specified area will also paint their
- * intersecting areas. If the <code>all</code> flag is 
- * <code>false</code>, the children will not be painted.
- * <p>
- * Marks the content width of all lines in the specified rectangle
- * as unknown. Recalculates the content width of all visible lines.
- * When a <code>LineStyleListener</code> is used a redraw call 
- * is the only notification to the widget that styles have changed 
- * and that the content width may have changed.
- * </p>
- *
- * @param x the x coordinate of the area to draw
- * @param y the y coordinate of the area to draw
- * @param width the width of the area to draw
- * @param height the height of the area to draw
- * @param all <code>true</code> if children should redraw, and <code>false</code> 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>
- *
- * @see Control#update
- */
-public void redraw(int x, int y, int width, int height, boolean all) {
-	super.redraw(x, y, width, height, all);
-	if (height > 0) {
-		int firstLine = getLineIndex(y);
-		int lastLine = getLineIndex(y + height);
-		resetCache(firstLine, lastLine - firstLine + 1);
-	}
-}
-void redrawLines(int startLine, int lineCount) {
-	// do nothing if redraw range is completely invisible	
-	int partialBottomIndex = getPartialBottomIndex();
-	if (startLine > partialBottomIndex || startLine + lineCount - 1 < topIndex) {
-		return;
-	}
-	// only redraw visible lines
-	if (startLine < topIndex) {
-		lineCount -= topIndex - startLine;
-		startLine = topIndex;
-	}
-	if (startLine + lineCount - 1 > partialBottomIndex) {
-		lineCount = partialBottomIndex - startLine + 1;
-	}
-	startLine -= topIndex;
-	int redrawTop = getLinePixel(startLine);
-	int redrawBottom = getLinePixel(startLine + lineCount);
-	int redrawWidth = clientAreaWidth - leftMargin - rightMargin; 
-	super.redraw(leftMargin, redrawTop, redrawWidth, redrawBottom - redrawTop, true);
-}
-void redrawLinesBullet (int[] redrawLines) {
-	if (redrawLines == null) return;
-	int topIndex = getPartialTopIndex();
-	int bottomIndex = getPartialBottomIndex();
-	for (int i = 0; i < redrawLines.length; i++) {
-		int lineIndex = redrawLines[i];
-		if (!(topIndex <= lineIndex && lineIndex <= bottomIndex)) continue;
-		int width = -1;
-		Bullet bullet = renderer.getLineBullet(lineIndex, null);
-		if (bullet != null) {
-			StyleRange style = bullet.style;
-			GlyphMetrics metrics = style.metrics;
-			width = metrics.width;
-		}
-		if (width == -1) width = getClientArea().width;
-		int height = renderer.getLineHeight(lineIndex);
-		int y = getLinePixel(lineIndex);
-		super.redraw(0, y, width, height, false);
-	}
-}
-/** 
- * Redraws the specified text range.
- *
- * @param start offset of the first character to redraw
- * @param length number of characters to redraw
- * @param clearBackground true if the background should be cleared as
- *  part of the redraw operation.  If true, the entire redraw range will
- *  be cleared before anything is redrawn.  If the redraw range includes
- *	the last character of a line (i.e., the entire line is redrawn) the 
- * 	line is cleared all the way to the right border of the widget.
- * 	The redraw operation will be faster and smoother if clearBackground 
- * 	is set to false.  Whether or not the flag can be set to false depends 
- * 	on the type of change that has taken place.  If font styles or 
- * 	background colors for the redraw range have changed, clearBackground 
- * 	should be set to true.  If only foreground colors have changed for 
- * 	the redraw range, clearBackground can be set to false. 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when start and/or end are outside the widget content</li> 
- * </ul>
- */
-public void redrawRange(int start, int length, boolean clearBackground) {
-	checkWidget();
-	int end = start + length;
-	int contentLength = content.getCharCount();
-	if (start > end || start < 0 || end > contentLength) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	int firstLine = content.getLineAtOffset(start);
-	int lastLine = content.getLineAtOffset(end);
-	resetCache(firstLine, lastLine - firstLine + 1);
-	internalRedrawRange(start, length);
-}
-/**
- * Removes the specified bidirectional segment listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- * @since 2.0
- */
-public void removeBidiSegmentListener(BidiSegmentListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(LineGetSegments, listener);	
-}
-/**
- * Removes the specified extended modify listener.
- *
- * @param extendedModifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeExtendedModifyListener(ExtendedModifyListener extendedModifyListener) {
-	checkWidget();
-	if (extendedModifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(ExtendedModify, extendedModifyListener);	
-}
-/**
- * Removes the specified line background listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeLineBackgroundListener(LineBackgroundListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(LineGetBackground, listener);
-}
-/**
- * Removes the specified line style listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeLineStyleListener(LineStyleListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(LineGetStyle, listener);
-}
-/**
- * Removes the specified modify listener.
- *
- * @param modifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeModifyListener(ModifyListener modifyListener) {
-	checkWidget();
-	if (modifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Modify, modifyListener);
-}
-/**
- * Removes the specified listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- * @since 3.2
- */
-public void removePaintObjectListener(PaintObjectListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(PaintObject, listener);
-}
-/**
- * Removes the specified selection listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Selection, listener);
-}
-/**
- * Removes the specified verify listener.
- *
- * @param verifyListener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeVerifyListener(VerifyListener verifyListener) {
-	checkWidget();
-	if (verifyListener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Verify, verifyListener);
-}
-/**
- * Removes the specified key verify listener.
- *
- * @param listener the listener
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeVerifyKeyListener(VerifyKeyListener listener) {
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(VerifyKey, listener);
-}
-/** 
- * Replaces the styles in the given range with new styles.  This method
- * effectively deletes the styles in the given range and then adds the
- * the new styles. 
- * <p>
- * Note: Because a StyleRange includes the start and length, the
- * same instance cannot occur multiple times in the array of styles.
- * If the same style attributes, such as font and color, occur in
- * multiple StyleRanges, <code>setStyleRanges(int, int, int[], StyleRange[])</code>
- * can be used to share styles and reduce memory usage.
- * </p><p>
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param start offset of first character where styles will be deleted
- * @param length length of the range to delete styles in
- * @param ranges StyleRange objects containing the new style information.
- * The ranges should not overlap and should be within the specified start 
- * and length. The style rendering is undefined if the ranges do overlap
- * or are ill-defined. Must not be null.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when either start or end is outside the valid range (0 <= offset <= getCharCount())</li> 
- *   <li>ERROR_NULL_ARGUMENT when ranges is null</li>
- * </ul>
- * 
- * @since 2.0
- * 
- * @see #setStyleRanges(int, int, int[], StyleRange[])
- */
-public void replaceStyleRanges(int start, int length, StyleRange[] ranges) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
- 	if (ranges == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- 	setStyleRanges(start, length, null, ranges, false);
-}
-/**
- * Replaces the given text range with new text.
- * If the widget has the SWT.SINGLE style and "text" contains more than 
- * one line, only the first line is rendered but the text is stored 
- * unchanged. A subsequent call to getText will return the same text 
- * that was set. Note that only a single line of text should be set when 
- * the SWT.SINGLE style is used.
- * <p>
- * <b>NOTE:</b> During the replace operation the current selection is
- * changed as follows:
- * <ul>	
- * <li>selection before replaced text: selection unchanged
- * <li>selection after replaced text: adjust the selection so that same text 
- * remains selected
- * <li>selection intersects replaced text: selection is cleared and caret
- * is placed after inserted text
- * </ul>
- * </p>
- *
- * @param start offset of first character to replace
- * @param length number of characters to replace. Use 0 to insert text
- * @param text new text. May be empty to delete text.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when either start or end is outside the valid range (0 <= offset <= getCharCount())</li> 
- *   <li>ERROR_INVALID_ARGUMENT when either start or end is inside a multi byte line delimiter. 
- * 		Splitting a line delimiter for example by inserting text in between the CR and LF and deleting part of a line delimiter is not supported</li>  
- *   <li>ERROR_NULL_ARGUMENT when string is null</li>
- * </ul>
- */
-public void replaceTextRange(int start, int length, String text) {
-	checkWidget();
-	if (text == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	int contentLength = getCharCount();
-	int end = start + length;
-	if (start > end || start < 0 || end > contentLength) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	Event event = new Event();
-	event.start = start;
-	event.end = end;
-	event.text = text;
-	modifyContent(event, false);
-}
-/**
- * Resets the caret position, selection and scroll offsets. Recalculate
- * the content width and scroll bars. Redraw the widget.
- */
-void reset() {
-	ScrollBar verticalBar = getVerticalBar();
-	ScrollBar horizontalBar = getHorizontalBar();
-	caretOffset = 0;
-	topIndex = 0;
-	topIndexY = 0;
-	verticalScrollOffset = 0;
-	horizontalScrollOffset = 0;	
-	resetSelection();
-	renderer.setContent(content);
-	if (verticalBar != null) {
-		verticalBar.setSelection(0);
-	}
-	if (horizontalBar != null) {
-		horizontalBar.setSelection(0);	
-	}
-	resetCache(0, 0);
-	setCaretLocation();
-	super.redraw();
-}
-void resetCache(int firstLine, int count) {
-	renderer.reset(firstLine, count);
-	renderer.calculateClientArea();
-	setScrollBars(true);
-	if (!isFixedLineHeight()) {
-		if (topIndex > firstLine) {
-			verticalScrollOffset = -1;
-		}
-		renderer.calculateIdle();
-	}
-}
-/**
- * Resets the selection.
- */
-void resetSelection() {
-	selection.x = selection.y = caretOffset;
-	selectionAnchor = -1;
-}
-
-public void scroll(int destX, int destY, int x, int y, int width, int height, boolean all) {
-	super.scroll(destX, destY, x, y, width, height, false);
-	if (all) {
-		int deltaX = destX - x, deltaY = destY - y;
-		Control[] children = getChildren();
-		for (int i=0; i<children.length; i++) {
-			Control child = children[i];
-			Rectangle rect = child.getBounds();
-			child.setLocation(rect.x + deltaX, rect.y + deltaY);
-		}
-	}
-}
-
-/**
- * Scrolls the widget horizontally.
- *
- * @param pixels number of pixels to scroll, > 0 = scroll left,
- * 	< 0 scroll right
- * @param adjustScrollBar 
- * 	true= the scroll thumb will be moved to reflect the new scroll offset.
- * 	false = the scroll thumb will not be moved
- * @return 
- *	true=the widget was scrolled 
- *	false=the widget was not scrolled, the given offset is not valid.
- */
-boolean scrollHorizontal(int pixels, boolean adjustScrollBar) {
-	if (pixels == 0) {
-		return false;
-	}
-	ScrollBar horizontalBar = getHorizontalBar();
-	if (horizontalBar != null && adjustScrollBar) {
-		horizontalBar.setSelection(horizontalScrollOffset + pixels);
-	}
-	int scrollHeight = clientAreaHeight - topMargin - bottomMargin;
-	if (pixels > 0) {
-		int sourceX = leftMargin + pixels;
-		int scrollWidth = clientAreaWidth - sourceX - rightMargin;
-		if (scrollWidth > 0) {
-			scroll(leftMargin, topMargin, sourceX, topMargin, scrollWidth, scrollHeight, true);
-		}
-		if (sourceX > scrollWidth) {
-			super.redraw(leftMargin + scrollWidth, topMargin, pixels - scrollWidth, scrollHeight, true);
-		}
-	} else {
-		int destinationX = leftMargin - pixels;
-		int scrollWidth = clientAreaWidth - destinationX - rightMargin;
-		if (scrollWidth > 0) {
-			scroll(destinationX, topMargin, leftMargin, topMargin, scrollWidth, scrollHeight, true);
-		}
-		if (destinationX > scrollWidth) {
-			super.redraw(leftMargin + scrollWidth, topMargin, -pixels - scrollWidth, scrollHeight, true);
-		}
-	}
-	horizontalScrollOffset += pixels;
-	int oldColumnX = columnX;
-	setCaretLocation();
-	columnX = oldColumnX;
-	return true;
-}
-/**
- * Scrolls the widget vertically.
- *
- * @param pixel the new vertical scroll offset
- * @param adjustScrollBar 
- * 	true= the scroll thumb will be moved to reflect the new scroll offset.
- * 	false = the scroll thumb will not be moved
- * @return 
- *	true=the widget was scrolled 
- *	false=the widget was not scrolled
- */
-boolean scrollVertical(int pixels, boolean adjustScrollBar) {
-	if (pixels == 0) {
-		return false;
-	}
-	if (verticalScrollOffset != -1) {
-		ScrollBar verticalBar = getVerticalBar();
-		if (verticalBar != null && adjustScrollBar) {
-			verticalBar.setSelection(verticalScrollOffset + pixels);
-		}
-		int scrollWidth = clientAreaWidth - leftMargin - rightMargin;
-		if (pixels > 0) {
-			int sourceY = topMargin + pixels;
-			int scrollHeight = clientAreaHeight - sourceY - bottomMargin;
-			if (scrollHeight > 0) {
-				scroll(leftMargin, topMargin, leftMargin, sourceY, scrollWidth, scrollHeight, true);
-			}
-			if (sourceY > scrollHeight) {
-				int redrawY = Math.max(0, topMargin + scrollHeight);
-				int redrawHeight = Math.min(clientAreaHeight, pixels - scrollHeight);
-				super.redraw(leftMargin, redrawY, scrollWidth, redrawHeight, true);
-			}
-		} else {
-			int destinationY = topMargin - pixels;
-			int scrollHeight = clientAreaHeight - destinationY - bottomMargin;
-			if (scrollHeight > 0) {
-				scroll(leftMargin, destinationY, leftMargin, topMargin, scrollWidth, scrollHeight, true);
-			}
-			if (destinationY > scrollHeight) {
-				int redrawY = Math.max(0, topMargin + scrollHeight);
-				int redrawHeight = Math.min(clientAreaHeight, -pixels - scrollHeight);
-				super.redraw(leftMargin, redrawY, scrollWidth, redrawHeight, true);
-			}
-		}
-		verticalScrollOffset += pixels;
-		calculateTopIndex(pixels);
-	} else {
-		calculateTopIndex(pixels);
-		super.redraw();
-	}
-	int oldColumnX = columnX;
-	setCaretLocation();
-	columnX = oldColumnX;
-	return true;
-}
-void scrollText(int srcY, int destY) {
-	if (srcY == destY) return;
-	int deltaY = destY - srcY;
-	int scrollWidth = clientAreaWidth - leftMargin - rightMargin, scrollHeight;
-	if (deltaY > 0) {
-		scrollHeight = clientAreaHeight - srcY - bottomMargin;
-	} else {
-		scrollHeight = clientAreaHeight - destY - bottomMargin;
-	}
-	scroll(leftMargin, destY, leftMargin, srcY, scrollWidth, scrollHeight, true);
-	if ((0 < srcY + scrollHeight) && (topMargin > srcY)) {
-		super.redraw(leftMargin, deltaY, scrollWidth, topMargin, false);
-	}
-	if ((0 < destY + scrollHeight) && (topMargin > destY)) {
-		super.redraw(leftMargin, 0, scrollWidth, topMargin, false);
-	}
-	if ((clientAreaHeight - bottomMargin < srcY + scrollHeight) && (clientAreaHeight > srcY)) {
-		super.redraw(leftMargin, clientAreaHeight - bottomMargin + deltaY, scrollWidth, bottomMargin, false);
-	}
-	if ((clientAreaHeight - bottomMargin < destY + scrollHeight) && (clientAreaHeight > destY)) {
-		super.redraw(leftMargin, clientAreaHeight - bottomMargin, scrollWidth, bottomMargin, false);
-	}
-}
-/** 
- * Selects all the text.
- *
- * @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 selectAll() {
-	checkWidget();
-	setSelection(0, Math.max(getCharCount(),0));
-}
-/**
- * Replaces/inserts text as defined by the event.
- *
- * @param event the text change event. 
- *	<ul>
- *	<li>event.start - the replace start offset</li>
- * 	<li>event.end - the replace end offset</li>
- * 	<li>event.text - the new text</li>
- *	</ul>
- */
-void sendKeyEvent(Event event) {
-	if (editable) {
-		modifyContent(event, true);
-	}
-}
-/**
- * Returns a StyledTextEvent that can be used to request data such 
- * as styles and background color for a line.
- * <p>
- * The specified line may be a visual (wrapped) line if in word 
- * wrap mode. The returned object will always be for a logical 
- * (unwrapped) line.
- * </p>
- *
- * @param lineOffset offset of the line. This may be the offset of
- * 	a visual line if the widget is in word wrap mode.
- * @param line line text. This may be the text of a visualline if 
- * 	the widget is in word wrap mode.
- * @return StyledTextEvent that can be used to request line data 
- * 	for the given line.
- */
-StyledTextEvent sendLineEvent(int eventType, int lineOffset, String line) {
-	StyledTextEvent event = null;
-	if (isListening(eventType)) {
-		event = new StyledTextEvent(content);
-		event.detail = lineOffset;
-		event.text = line;
-		event.alignment = alignment;
-		event.indent = indent;
-		event.justify = justify;
-		notifyListeners(eventType, event);
-	}
-	return event;
-}
-void sendModifyEvent(Event event) {
-	Accessible accessible = getAccessible();
-	if (event.text.length() == 0) {
-		accessible.textChanged(ACC.TEXT_DELETE, event.start, event.end - event.start);
-	} else {
-		if (event.start == event.end) {
-			accessible.textChanged(ACC.TEXT_INSERT, event.start, event.text.length());
-		} else {
-			accessible.textChanged(ACC.TEXT_DELETE, event.start, event.end - event.start);
-			accessible.textChanged(ACC.TEXT_INSERT, event.start, event.text.length());	
-		}
-	}
-	notifyListeners(SWT.Modify, event);
-}
-/**
- * Sends the specified selection event.
- */
-void sendSelectionEvent() {
-	getAccessible().textSelectionChanged();
-	Event event = new Event();
-	event.x = selection.x;
-	event.y = selection.y;
-	notifyListeners(SWT.Selection, event);
-}
-/**
- * Sets the alignment of the widget. The argument should be one of <code>SWT.LEFT</code>, 
- * <code>SWT.CENTER</code> or <code>SWT.RIGHT</code>. The alignment applies for all lines.  
- * 
- * @param alignment the new alignment
- *  
- * @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>
- * 
- * @see #setLineAlignment(int, int, int)
- *  
- * @since 3.2
- */
-public void setAlignment(int alignment) {
-	checkWidget();
-	alignment &= (SWT.LEFT | SWT.RIGHT | SWT.CENTER);
-	if (alignment == 0 || this.alignment == alignment) return;
-	this.alignment = alignment;
-	resetCache(0, content.getLineCount());
-	setCaretLocation();
-	super.redraw();
-}
-/**
- * @see org.eclipse.swt.widgets.Control#setBackground
- */
-public void setBackground(Color color) {
-	checkWidget();
-	background = color;
-	super.redraw();
-}
-/**
- * Sets the receiver's caret.  Set the caret's height and location.
- * 
- * </p>
- * @param caret the new caret for the receiver
- *
- * @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 setCaret(Caret caret) {
-	checkWidget ();
-	super.setCaret(caret);
-	caretDirection = SWT.NULL;
-	if (caret != null) {
-		setCaretLocation();
-	}
-}
-/**
- * Sets the BIDI coloring mode.  When true the BIDI text display
- * algorithm is applied to segments of text that are the same
- * color.
- *
- * @param mode the new coloring mode
- * @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>
- * 
- * @deprecated use BidiSegmentListener instead.
- */
-public void setBidiColoring(boolean mode) {
-	checkWidget();
-	bidiColoring = mode;
-}
-/**
- * Moves the Caret to the current caret offset.
- */
-void setCaretLocation() {
-	Point newCaretPos = getPointAtOffset(caretOffset);
-	setCaretLocation(newCaretPos, getCaretDirection());
-}
-void setCaretLocation(Point location, int direction) {
-	Caret caret = getCaret();
-	if (caret != null) {
-		boolean isDefaultCaret = caret == defaultCaret;
-		int lineHeight = renderer.getLineHeight();
-		int caretHeight = lineHeight;
-		if (!isFixedLineHeight() && isDefaultCaret) {
-			caretHeight = getBoundsAtOffset(caretOffset).height;
-			if (caretHeight != lineHeight) {
-				direction = SWT.DEFAULT;
-			}
-		}
-		int imageDirection = direction;
-		if (isMirrored()) {
-			if (imageDirection == SWT.LEFT) {
-				imageDirection = SWT.RIGHT;
-			} else if (imageDirection == SWT.RIGHT) {
-				imageDirection = SWT.LEFT;
-			}
-		}
-		if (isDefaultCaret && imageDirection == SWT.RIGHT) {
-			location.x -= (caret.getSize().x - 1);
-		}
-		if (isDefaultCaret) {
-			caret.setBounds(location.x, location.y, 0, caretHeight);
-		} else {
-			caret.setLocation(location);
-		}
-		getAccessible().textCaretMoved(getCaretOffset());
-		if (direction != caretDirection) {
-			caretDirection = direction;
-			if (isDefaultCaret) {
-				if (imageDirection == SWT.DEFAULT) {
-					defaultCaret.setImage(null);
-				} else if (imageDirection == SWT.LEFT) {
-					defaultCaret.setImage(leftCaretBitmap);
-				} else if (imageDirection == SWT.RIGHT) {
-					defaultCaret.setImage(rightCaretBitmap);
-				}
-			}
-			if (caretDirection == SWT.LEFT) {
-				BidiUtil.setKeyboardLanguage(BidiUtil.KEYBOARD_NON_BIDI);
-			} else if (caretDirection == SWT.RIGHT) {
-				BidiUtil.setKeyboardLanguage(BidiUtil.KEYBOARD_BIDI);
-			}
-		}
-	}
-	columnX = location.x;
-}
-/**
- * Sets the caret offset.
- *
- * @param offset caret offset, relative to the first character in the text.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a 
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
- * </ul>
- */
-public void setCaretOffset(int offset) {
-	checkWidget();
-	int length = getCharCount();
-	if (length > 0 && offset != caretOffset) {
-		if (offset < 0) {
-			caretOffset = 0;
-		} else if (offset > length) {
-			caretOffset = length;
-		} else {
-			if (isLineDelimiter(offset)) {
-				// offset is inside a multi byte line delimiter. This is an 
-				// illegal operation and an exception is thrown. Fixes 1GDKK3R
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-			caretOffset = offset;
-		}
-		// clear the selection if the caret is moved.
-		// don't notify listeners about the selection change.
-		clearSelection(false);
-	}
-	setCaretLocation();
-}	
-/**
- * Copies the specified text range to the clipboard.  The text will be placed
- * in the clipboard in plain text format and RTF format.
- *
- * @param start start index of the text
- * @param length length of text to place in clipboard
- * 
- * @exception SWTError, see Clipboard.setContents
- * @see org.eclipse.swt.dnd.Clipboard#setContents
- */
-void setClipboardContent(int start, int length, int clipboardType) throws SWTError {
-	if (clipboardType == DND.SELECTION_CLIPBOARD && !(IS_MOTIF || IS_GTK)) return;
-	TextTransfer plainTextTransfer = TextTransfer.getInstance();
-	TextWriter plainTextWriter = new TextWriter(start, length);
-	String plainText = getPlatformDelimitedText(plainTextWriter);
-	Object[] data;
-	Transfer[] types;
-	if (clipboardType == DND.SELECTION_CLIPBOARD) {
-		data = new Object[]{plainText};
-		types = new Transfer[]{plainTextTransfer};
-	} else {
-		RTFTransfer rtfTransfer = RTFTransfer.getInstance();
-		RTFWriter rtfWriter = new RTFWriter(start, length);
-		String rtfText = getPlatformDelimitedText(rtfWriter);
-		data = new Object[]{rtfText, plainText};
-		types = new Transfer[]{rtfTransfer, plainTextTransfer};
-	}
-	clipboard.setContents(data, types, clipboardType);
-}
-/**
- * Sets the content implementation to use for text storage.
- *
- * @param newContent StyledTextContent implementation to use for text storage.
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void setContent(StyledTextContent newContent) {
-	checkWidget();	
-	if (newContent == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	if (content != null) {
-		content.removeTextChangeListener(textChangeListener);
-	}
-	content = newContent;
-	content.addTextChangeListener(textChangeListener);
-	reset();
-}
-/**
- * Sets the receiver's cursor to the cursor specified by the
- * argument.  Overridden to handle the null case since the 
- * StyledText widget uses an ibeam as its default cursor.
- *
- * @see org.eclipse.swt.widgets.Control#setCursor
- */
-public void setCursor (Cursor cursor) {
-	if (cursor == null) {
-		Display display = getDisplay();
-		super.setCursor(display.getSystemCursor(SWT.CURSOR_IBEAM));
-	} else {
-		super.setCursor(cursor);
-	}
-}
-/** 
- * Sets whether the widget implements double click mouse behavior.
- * </p>
- *
- * @param enable if true double clicking a word selects the word, if false
- * 	double clicks have the same effect as regular mouse clicks.
- * @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 setDoubleClickEnabled(boolean enable) {
-	checkWidget();
-	doubleClickEnabled = enable;
-}
-/**
- * Sets whether the widget content can be edited.
- * </p>
- *
- * @param editable if true content can be edited, if false content can not be 
- * 	edited
- * @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 setEditable(boolean editable) {
-	checkWidget();
-	this.editable = editable;
-}
-/**
- * Sets a new font to render text with.
- * <p>
- * <b>NOTE:</b> Italic fonts are not supported unless they have no overhang
- * and the same baseline as regular fonts.
- * </p>
- *
- * @param font new font
- * @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 setFont(Font font) {
-	checkWidget();
-	int oldLineHeight = renderer.getLineHeight();
-	super.setFont(font);	
-	renderer.setFont(getFont(), tabLength);
-	// keep the same top line visible. fixes 5815
-	if (isFixedLineHeight()) {
-		int lineHeight = renderer.getLineHeight();
-		if (lineHeight != oldLineHeight) {
-			int vscroll = (getVerticalScrollOffset() * lineHeight / oldLineHeight) - getVerticalScrollOffset();
-			scrollVertical(vscroll, true);
-		}
-	}
-	resetCache(0, content.getLineCount());
-	claimBottomFreeSpace();	
-	calculateScrollBars();
-	if (isBidiCaret()) createCaretBitmaps();
-	caretDirection = SWT.NULL;
-	setCaretLocation();
-	super.redraw();
-}
-/**
- * @see org.eclipse.swt.widgets.Control#setForeground
- */
-public void setForeground(Color color) {
-	checkWidget();
-	foreground = color;
-	super.setForeground(getForeground());
-	super.redraw();
-}
-/** 
- * Sets the horizontal scroll offset relative to the start of the line.
- * Do nothing if there is no text set.
- * <p>
- * <b>NOTE:</b> The horizontal index is reset to 0 when new text is set in the 
- * widget.
- * </p>
- *
- * @param offset horizontal scroll offset relative to the start 
- * 	of the line, measured in character increments starting at 0, if 
- * 	equal to 0 the content is not scrolled, if > 0 = the content is scrolled.
- * @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 setHorizontalIndex(int offset) {
-	checkWidget();
-	if (getCharCount() == 0) {
-		return;
-	}	
-	if (offset < 0) {
-		offset = 0;
-	}
-	offset *= getHorizontalIncrement();
-	// allow any value if client area width is unknown or 0. 
-	// offset will be checked in resize handler.
-	// don't use isVisible since width is known even if widget 
-	// is temporarily invisible
-	if (clientAreaWidth > 0) {
-		int width = renderer.getWidth();
-		// prevent scrolling if the content fits in the client area.
-		// align end of longest line with right border of client area
-		// if offset is out of range.
-		if (offset > width - clientAreaWidth) {
-			offset = Math.max(0, width - clientAreaWidth);
-		}
-	}
-	scrollHorizontal(offset - horizontalScrollOffset, true);
-}
-/** 
- * Sets the horizontal pixel offset relative to the start of the line.
- * Do nothing if there is no text set.
- * <p>
- * <b>NOTE:</b> The horizontal pixel offset is reset to 0 when new text 
- * is set in the widget.
- * </p>
- *
- * @param pixel horizontal pixel offset relative to the start 
- * 	of the line.
- * @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>
- * @since 2.0
- */
-public void setHorizontalPixel(int pixel) {
-	checkWidget();
-	if (getCharCount() == 0) {
-		return;
-	}	
-	if (pixel < 0) {
-		pixel = 0;
-	}
-	// allow any value if client area width is unknown or 0. 
-	// offset will be checked in resize handler.
-	// don't use isVisible since width is known even if widget 
-	// is temporarily invisible
-	if (clientAreaWidth > 0) {
-		int width = renderer.getWidth();
-		// prevent scrolling if the content fits in the client area.
-		// align end of longest line with right border of client area
-		// if offset is out of range.
-		if (pixel > width - clientAreaWidth) {
-			pixel = Math.max(0, width - clientAreaWidth);
-		}
-	}
-	scrollHorizontal(pixel - horizontalScrollOffset, true);
-}
-/**
- * Sets the line indentation of the widget.
- * <p>
- * It is the amount of blank space, in pixels, at the beginning of each line. 
- * When a line wraps in several lines only the first one is indented. 
- * </p>
- * 
- * @param indent the new indent
- *  
- * @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>
- * 
- * @see #setLineIndent(int, int, int)
- *  
- * @since 3.2
- */
-public void setIndent(int indent) {
-	checkWidget();
-	if (this.indent == indent || indent < 0) return;
-	this.indent = indent;
-	resetCache(0, content.getLineCount());
-	setCaretLocation();
-	super.redraw();	
-}
-/**
- * Sets whether the widget should justify lines.  
- * 
- * @param justify whether lines should be justified
- *  
- * @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>
- * 
- * @see #setLineJustify(int, int, boolean)
- *  
- * @since 3.2
- */
-public void setJustify(boolean justify) {
-	checkWidget();
-	if (this.justify == justify) return;
-	this.justify = justify;
-	resetCache(0, content.getLineCount());
-	setCaretLocation();
-	super.redraw();	
-}
-/** 
- * Maps a key to an action.
- * <p>
- * One action can be associated with N keys. However, each key can only 
- * have one action (key:action is N:1 relation).
- * </p>
- *
- * @param key a key code defined in SWT.java or a character. 
- * 	Optionally ORd with a state mask.  Preferred state masks are one or more of
- *  SWT.MOD1, SWT.MOD2, SWT.MOD3, since these masks account for modifier platform 
- *  differences.  However, there may be cases where using the specific state masks
- *  (i.e., SWT.CTRL, SWT.SHIFT, SWT.ALT, SWT.COMMAND) makes sense.
- * @param action one of the predefined actions defined in ST.java. 
- * 	Use SWT.NULL to remove a key binding.
- * @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 setKeyBinding(int key, int action) {
-	checkWidget();
-	int modifierValue = key & SWT.MODIFIER_MASK;
-	char keyChar = (char)(key & SWT.KEY_MASK);
-	if (Compatibility.isLetter(keyChar)) {
-		// make the keybinding case insensitive by adding it
-		// in its upper and lower case form
-		char ch = Character.toUpperCase(keyChar);
-		int newKey = ch | modifierValue;
-		if (action == SWT.NULL) {
-			keyActionMap.remove(new Integer(newKey));
-		} else {
-		 	keyActionMap.put(new Integer(newKey), new Integer(action));
-		}
-		ch = Character.toLowerCase(keyChar);
-		newKey = ch | modifierValue;
-		if (action == SWT.NULL) {
-			keyActionMap.remove(new Integer(newKey));
-		} else {
-		 	keyActionMap.put(new Integer(newKey), new Integer(action));
-		}
-	} else {
-		if (action == SWT.NULL) {
-			keyActionMap.remove(new Integer(key));
-		} else {
-		 	keyActionMap.put(new Integer(key), new Integer(action));
-		}
-	}		
-}
-/**
- * Sets the alignment of the specified lines. The argument should be one of <code>SWT.LEFT</code>, 
- * <code>SWT.CENTER</code> or <code>SWT.RIGHT</code>.
- * <p>
- * Should not be called if a LineStyleListener has been set since the listener 
- * maintains the line attributes.
- * </p><p>
- * All line attributes are maintained relative to the line text, not the 
- * line index that is specified in this method call.
- * During text changes, when entire lines are inserted or removed, the line 
- * attributes that are associated with the lines after the change 
- * will "move" with their respective text. An entire line is defined as 
- * extending from the first character on a line to the last and including the 
- * line delimiter. 
- * </p><p>
- * When two lines are joined by deleting a line delimiter, the top line 
- * attributes take precedence and the attributes of the bottom line are deleted. 
- * For all other text changes line attributes will remain unchanged. 
- *   
- * @param startLine first line the alignment is applied to, 0 based
- * @param lineCount number of lines the alignment applies to.
- * @param alignment line alignment
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
- * </ul>
- * @see #setAlignment(int)
- * @since 3.2
- */
-public void setLineAlignment(int startLine, int lineCount, int alignment) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-
-	renderer.setLineAlignment(startLine, lineCount, alignment);
-	resetCache(startLine, lineCount);
-	redrawLines(startLine, lineCount);
-	int caretLine = getCaretLine();
-	if (startLine <= caretLine && caretLine < startLine + lineCount) {
-		setCaretLocation();
-	}
-}
-/** 
- * Sets the background color of the specified lines.
- * <p>
- * The background color is drawn for the width of the widget. All
- * line background colors are discarded when setText is called.
- * The text background color if defined in a StyleRange overlays the 
- * line background color. 
- * </p><p>
- * Should not be called if a LineBackgroundListener has been set since the 
- * listener maintains the line backgrounds.
- * </p><p>
- * All line attributes are maintained relative to the line text, not the 
- * line index that is specified in this method call.
- * During text changes, when entire lines are inserted or removed, the line 
- * attributes that are associated with the lines after the change 
- * will "move" with their respective text. An entire line is defined as 
- * extending from the first character on a line to the last and including the 
- * line delimiter. 
- * </p><p>
- * When two lines are joined by deleting a line delimiter, the top line 
- * attributes take precedence and the attributes of the bottom line are deleted. 
- * For all other text changes line attributes will remain unchanged. 
- * </p>
- * 
- * @param startLine first line the color is applied to, 0 based
- * @param lineCount number of lines the color applies to.
- * @param background line background color
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
- * </ul>
- */
-public void setLineBackground(int startLine, int lineCount, Color background) {
-	checkWidget();	
-	if (isListening(LineGetBackground)) return;
-	if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (background != null) {
-		renderer.setLineBackground(startLine, lineCount, background);
-	} else {
-		renderer.clearLineBackground(startLine, lineCount);
-	}
-	redrawLines(startLine, lineCount);
-}
-/**
- * Sets the bullet of the specified lines.
- * <p>
- * Should not be called if a LineStyleListener has been set since the listener 
- * maintains the line attributes.
- * </p><p>
- * All line attributes are maintained relative to the line text, not the 
- * line index that is specified in this method call.
- * During text changes, when entire lines are inserted or removed, the line 
- * attributes that are associated with the lines after the change 
- * will "move" with their respective text. An entire line is defined as 
- * extending from the first character on a line to the last and including the 
- * line delimiter. 
- * </p><p>
- * When two lines are joined by deleting a line delimiter, the top line 
- * attributes take precedence and the attributes of the bottom line are deleted. 
- * For all other text changes line attributes will remain unchanged.
- * </p>
- *
- * @param startLine first line the bullet is applied to, 0 based
- * @param lineCount number of lines the bullet applies to.
- * @param bullet line bullet
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
- * </ul>
- * @since 3.2
- */
-public void setLineBullet(int startLine, int lineCount, Bullet bullet) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;	
-	if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-
-	renderer.setLineBullet(startLine, lineCount, bullet);
-	resetCache(startLine, lineCount);
-	redrawLines(startLine, lineCount);
-	int caretLine = getCaretLine();
-	if (startLine <= caretLine && caretLine < startLine + lineCount) {
-		setCaretLocation();
-	}
-}
-void setVariableLineHeight () {
-	if (!fixedLineHeight) return;
-	fixedLineHeight = false;
-	renderer.calculateIdle();
-}
-/**
- * Sets the indent of the specified lines.
- * <p>
- * Should not be called if a LineStyleListener has been set since the listener 
- * maintains the line attributes.
- * </p><p>
- * All line attributes are maintained relative to the line text, not the 
- * line index that is specified in this method call.
- * During text changes, when entire lines are inserted or removed, the line 
- * attributes that are associated with the lines after the change 
- * will "move" with their respective text. An entire line is defined as 
- * extending from the first character on a line to the last and including the 
- * line delimiter. 
- * </p><p>
- * When two lines are joined by deleting a line delimiter, the top line 
- * attributes take precedence and the attributes of the bottom line are deleted. 
- * For all other text changes line attributes will remain unchanged.
- * </p>
- *
- * @param startLine first line the indent is applied to, 0 based
- * @param lineCount number of lines the indent applies to.
- * @param indent line indent
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
- * </ul>
- * @see #setIndent(int)
- * @since 3.2
- */
-public void setLineIndent(int startLine, int lineCount, int indent) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-
-	renderer.setLineIndent(startLine, lineCount, indent);
-	resetCache(startLine, lineCount);
-	redrawLines(startLine, lineCount);
-	int caretLine = getCaretLine();
-	if (startLine <= caretLine && caretLine < startLine + lineCount) {
-		setCaretLocation();
-	}
-}
-/**
- * Sets the justify of the specified lines.
- * <p>
- * Should not be called if a LineStyleListener has been set since the listener 
- * maintains the line attributes.
- * </p><p>
- * All line attributes are maintained relative to the line text, not the 
- * line index that is specified in this method call.
- * During text changes, when entire lines are inserted or removed, the line 
- * attributes that are associated with the lines after the change 
- * will "move" with their respective text. An entire line is defined as 
- * extending from the first character on a line to the last and including the 
- * line delimiter. 
- * </p><p>
- * When two lines are joined by deleting a line delimiter, the top line 
- * attributes take precedence and the attributes of the bottom line are deleted. 
- * For all other text changes line attributes will remain unchanged.
- * </p>
- *  
- * @param startLine first line the justify is applied to, 0 based
- * @param lineCount number of lines the justify applies to.
- * @param justify true if lines should be justified
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
- * </ul>
- * @see #setJustify(boolean)
- * @since 3.2
- */
-public void setLineJustify(int startLine, int lineCount, boolean justify) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-
-	renderer.setLineJustify(startLine, lineCount, justify);
-	resetCache(startLine, lineCount);
-	redrawLines(startLine, lineCount);
-	int caretLine = getCaretLine();
-	if (startLine <= caretLine && caretLine < startLine + lineCount) {
-		setCaretLocation();
-	}
-}
-/**
- * Sets the line spacing of the widget. The line spacing applies for all lines.
- * 
- * @param lineSpacing the line spacing
- * @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>
- * @since 3.2
- */
-public void setLineSpacing(int lineSpacing) {
-	checkWidget();
-	if (this.lineSpacing == lineSpacing || lineSpacing < 0) return;
-	this.lineSpacing = lineSpacing;	
-	setVariableLineHeight();
-	resetCache(0, content.getLineCount());
-	setCaretLocation();
-	super.redraw();
-}
-void setMargins (int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
-	checkWidget();
-	this.leftMargin = leftMargin;
-	this.topMargin = topMargin;
-	this.rightMargin = rightMargin;
-	this.bottomMargin = bottomMargin;
-	setCaretLocation();
-}
-/**
- * Flips selection anchor based on word selection direction.
- */
-void setMouseWordSelectionAnchor() {
-	if (mouseDoubleClick) {
-		if (caretOffset < doubleClickSelection.x) {
-			selectionAnchor = doubleClickSelection.y;
-		} else if (caretOffset > doubleClickSelection.y) {
-			selectionAnchor = doubleClickSelection.x;
-		}
-	}
-}
-/**
- * Sets the orientation of the receiver, which must be one
- * of the constants <code>SWT.LEFT_TO_RIGHT</code> or <code>SWT.RIGHT_TO_LEFT</code>.
- *
- * @param orientation new orientation style
- * 
- * @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>
- * 
- * @since 2.1.2
- */
-public void setOrientation(int orientation) {
-	if ((orientation & (SWT.RIGHT_TO_LEFT | SWT.LEFT_TO_RIGHT)) == 0) { 
-		return;
-	}
-	if ((orientation & SWT.RIGHT_TO_LEFT) != 0 && (orientation & SWT.LEFT_TO_RIGHT) != 0) {
-		return;	
-	}
-	if ((orientation & SWT.RIGHT_TO_LEFT) != 0 && isMirrored()) {
-		return;	
-	} 
-	if ((orientation & SWT.LEFT_TO_RIGHT) != 0 && !isMirrored()) {
-		return;
-	}
-	if (!BidiUtil.setOrientation(handle, orientation)) {
-		return;
-	}
-	isMirrored = (orientation & SWT.RIGHT_TO_LEFT) != 0;
-	caretDirection = SWT.NULL;
-	setCaretLocation();
-	keyActionMap.clear();
-	createKeyBindings();
-	super.redraw();
-}
-/**
- * Adjusts the maximum and the page size of the scroll bars to 
- * reflect content width/length changes.
- * 
- * @param vertical indicates if the vertical scrollbar also needs to be set 
- */
-void setScrollBars(boolean vertical) {
-	int inactive = 1;
-	if (vertical || !isFixedLineHeight()) {
-		ScrollBar verticalBar = getVerticalBar();
-		if (verticalBar != null) {
-			int maximum = renderer.getHeight();
-			// only set the real values if the scroll bar can be used 
-			// (ie. because the thumb size is less than the scroll maximum)
-			// avoids flashing on Motif, fixes 1G7RE1J and 1G5SE92
-			if (clientAreaHeight < maximum) {
-				verticalBar.setValues(
-					verticalBar.getSelection(),
-					verticalBar.getMinimum(),
-					maximum,
-					clientAreaHeight,				// thumb size
-					verticalBar.getIncrement(),
-					clientAreaHeight);				// page size
-			} else if (verticalBar.getThumb() != inactive || verticalBar.getMaximum() != inactive) {
-				verticalBar.setValues(
-					verticalBar.getSelection(),
-					verticalBar.getMinimum(),
-					inactive,
-					inactive,
-					verticalBar.getIncrement(),
-					inactive);
-			}
-		}
-	}
-	ScrollBar horizontalBar = getHorizontalBar();
-	if (horizontalBar != null && horizontalBar.getVisible()) {
-		int maximum = renderer.getWidth();
-		// only set the real values if the scroll bar can be used 
-		// (ie. because the thumb size is less than the scroll maximum)
-		// avoids flashing on Motif, fixes 1G7RE1J and 1G5SE92
-		if (clientAreaWidth < maximum) {
-			horizontalBar.setValues(
-				horizontalBar.getSelection(),
-				horizontalBar.getMinimum(),
-				maximum,
-				clientAreaWidth - leftMargin - rightMargin,	// thumb size
-				horizontalBar.getIncrement(),
-				clientAreaWidth - leftMargin - rightMargin);	// page size
-		} else if (horizontalBar.getThumb() != inactive || horizontalBar.getMaximum() != inactive) {
-			horizontalBar.setValues(
-				horizontalBar.getSelection(),
-				horizontalBar.getMinimum(),
-				inactive,
-				inactive,
-				horizontalBar.getIncrement(),
-				inactive);
-		}
-	}
-}
-/** 
- * Sets the selection to the given position and scrolls it into view.  Equivalent to setSelection(start,start).
- *
- * @param start new caret position
- * @see #setSelection(int,int)
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a 
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
- * </ul> 
- */
-public void setSelection(int start) {
-	// checkWidget test done in setSelectionRange	
-	setSelection(start, start);
-}
-/** 
- * Sets the selection and scrolls it into view.
- * <p>
- * Indexing is zero based.  Text selections are specified in terms of
- * caret positions.  In a text widget that contains N characters, there are 
- * N+1 caret positions, ranging from 0..N
- * </p>
- *
- * @param point x=selection start offset, y=selection end offset
- * 	The caret will be placed at the selection start when x > y.
- * @see #setSelection(int,int)
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_NULL_ARGUMENT when point is null</li>
- *   <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a 
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
- * </ul> 
- */
-public void setSelection(Point point) {
-	checkWidget();
-	if (point == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);	
-	setSelection(point.x, point.y);
-}
-/**
- * Sets the receiver's selection background color to the color specified
- * by the argument, or to the default system color for the control
- * if the argument is null.
- *
- * @param color the new color (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * @since 2.1
- */
-public void setSelectionBackground (Color color) {
-	checkWidget ();
-	if (color != null) {
-		if (color.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	selectionBackground = color;
-	super.redraw();
-}
-/**
- * Sets the receiver's selection foreground color to the color specified
- * by the argument, or to the default system color for the control
- * if the argument is null.
- *
- * @param color the new color (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * @since 2.1
- */
-public void setSelectionForeground (Color color) {
-	checkWidget ();
-	if (color != null) {
-		if (color.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	selectionForeground = color;
-	super.redraw();
-}
-/** 
- * Sets the selection and scrolls it into view.
- * <p>
- * Indexing is zero based.  Text selections are specified in terms of
- * caret positions.  In a text widget that contains N characters, there are 
- * N+1 caret positions, ranging from 0..N
- * </p>
- *
- * @param start selection start offset. The caret will be placed at the 
- * 	selection start when start > end.
- * @param end selection end offset
- * @see #setSelectionRange(int,int)
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a 
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
- * </ul>
- */
-public void setSelection(int start, int end) {
-	setSelectionRange(start, end - start);
-	showSelection();
-}
-/** 
- * Sets the selection.
- * <p>
- * The new selection may not be visible. Call showSelection to scroll 
- * the selection into view.
- * </p>
- *
- * @param start offset of the first selected character, start >= 0 must be true.
- * @param length number of characters to select, 0 <= start + length 
- * 	<= getCharCount() must be true. 
- * 	A negative length places the caret at the selection start.
- * @param sendEvent a Selection event is sent when set to true and when 
- * 	the selection is reset.
- */
-void setSelection(int start, int length, boolean sendEvent) {
-	int end = start + length;
-	if (start > end) {
-		int temp = end;
-		end = start;
-		start = temp;
-	}
-	// is the selection range different or is the selection direction 
-	// different?
-	if (selection.x != start || selection.y != end || 
-		(length > 0 && selectionAnchor != selection.x) || 
-		(length < 0 && selectionAnchor != selection.y)) {
-		clearSelection(sendEvent);
-		if (length < 0) {
-			selectionAnchor = selection.y = end;
-			caretOffset = selection.x = start;
-		} else {
-			selectionAnchor = selection.x = start;
-			caretOffset = selection.y = end;
-		}
-		internalRedrawRange(selection.x, selection.y - selection.x);
-	}
-}
-/** 
- * Sets the selection.
- * <p>
- * The new selection may not be visible. Call showSelection to scroll the selection
- * into view. A negative length places the caret at the visual start of the selection.
- * </p>
- *
- * @param start offset of the first selected character
- * @param length number of characters to select
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a 
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
- * </ul>
- */
-public void setSelectionRange(int start, int length) {
-	checkWidget();
-	int contentLength = getCharCount();
-	start = Math.max(0, Math.min (start, contentLength));
-	int end = start + length;
-	if (end < 0) {
-		length = -start;
-	} else {
-		if (end > contentLength) length = contentLength - start;
-	}
-	if (isLineDelimiter(start) || isLineDelimiter(start + length)) {
-		// the start offset or end offset of the selection range is inside a 
-		// multi byte line delimiter. This is an illegal operation and an exception 
-		// is thrown. Fixes 1GDKK3R
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	setSelection(start, length, false);
-	setCaretLocation();
-}
-/** 
- * Adds the specified style.
- * <p>
- * The new style overwrites existing styles for the specified range.
- * Existing style ranges are adjusted if they partially overlap with 
- * the new style. To clear an individual style, call setStyleRange 
- * with a StyleRange that has null attributes. 
- * </p><p>
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param range StyleRange object containing the style information.
- * Overwrites the old style in the given range. May be null to delete
- * all styles.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_INVALID_RANGE when the style range is outside the valid range (> getCharCount())</li> 
- * </ul>
- */
-public void setStyleRange(StyleRange range) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (range != null) {
-		if (range.isUnstyled()) {
-			setStyleRanges(range.start, range.length, null, null, false);
-		} else {
-			setStyleRanges(range.start, 0, null, new StyleRange[]{range}, false);
-		}
-	} else {
-		setStyleRanges(0, 0, null, null, true);
-	}
-}
-/** 
- * Clears the styles in the range specified by <code>start</code> and 
- * <code>length</code> and adds the new styles.
- * <p>
- * The ranges array contains start and length pairs.  Each pair refers to
- * the corresponding style in the styles array.  For example, the pair
- * that starts at ranges[n] with length ranges[n+1] uses the style
- * at styles[n/2].  The range fields within each StyleRange are ignored.
- * If ranges or styles is null, the specified range is cleared.
- * </p><p>
- * Note: It is expected that the same instance of a StyleRange will occur
- * multiple times within the styles array, reducing memory usage.
- * </p><p>
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param start offset of first character where styles will be deleted
- * @param length length of the range to delete styles in
- * @param ranges the array of ranges.  The ranges must not overlap and must be in order.
- * @param styles the array of StyleRanges.  The range fields within the StyleRange are unused.
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when an element in the styles array is null</li>
- *    <li>ERROR_INVALID_RANGE when the number of ranges and style do not match (ranges.length * 2 == styles.length)</li> 
- *    <li>ERROR_INVALID_RANGE when a range is outside the valid range (> getCharCount() or less than zero)</li> 
- *    <li>ERROR_INVALID_RANGE when a range overlaps</li> 
- * </ul>
- * 
- * @since 3.2 
- */
-public void setStyleRanges(int start, int length, int[] ranges, StyleRange[] styles) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (ranges == null || styles == null) {
-		setStyleRanges(start, length, null, null, false);
-	} else {
-		setStyleRanges(start, length, ranges, styles, false);
-	}
-}
-/** 
- * Sets styles to be used for rendering the widget content.
- * <p>
- * All styles in the widget will be replaced with the given set of ranges and styles.
- * The ranges array contains start and length pairs.  Each pair refers to
- * the corresponding style in the styles array.  For example, the pair
- * that starts at ranges[n] with length ranges[n+1] uses the style
- * at styles[n/2].  The range fields within each StyleRange are ignored.
- * If either argument is null, the styles are cleared.
- * </p><p>
- * Note: It is expected that the same instance of a StyleRange will occur
- * multiple times within the styles array, reducing memory usage.
- * </p><p>
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param ranges the array of ranges.  The ranges must not overlap and must be in order.
- * @param styles the array of StyleRanges.  The range fields within the StyleRange are unused.
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when an element in the styles array is null</li>
- *    <li>ERROR_INVALID_RANGE when the number of ranges and style do not match (ranges.length * 2 == styles.length)</li> 
- *    <li>ERROR_INVALID_RANGE when a range is outside the valid range (> getCharCount() or less than zero)</li> 
- *    <li>ERROR_INVALID_RANGE when a range overlaps</li> 
- * </ul>
- * 
- * @since 3.2 
- */
-public void setStyleRanges(int[] ranges, StyleRange[] styles) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
-	if (ranges == null || styles == null) {
-		setStyleRanges(0, 0, null, null, true);
-	} else {
-		setStyleRanges(0, 0, ranges, styles, true);
-	}
-}
-void setStyleRanges(int start, int length, int[] ranges, StyleRange[] styles, boolean reset) {
-	int charCount = content.getCharCount();
-	int end = start + length;
-	if (start > end || start < 0) {
-		SWT.error(SWT.ERROR_INVALID_RANGE);
-	}
-	if (styles != null) {
-		if (end > charCount) {
-			SWT.error(SWT.ERROR_INVALID_RANGE);
-		}
-		if (ranges != null) {
-			if (ranges.length != styles.length << 1) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-		int lastOffset = 0;
-		boolean variableHeight = false; 
-		for (int i = 0; i < styles.length; i ++) {
-			if (styles[i] == null) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			int rangeStart, rangeLength;
-			if (ranges != null) {
-				rangeStart = ranges[i << 1];
-				rangeLength = ranges[(i << 1) + 1];
-			} else {
-				rangeStart = styles[i].start;
-				rangeLength = styles[i].length;
-			}
-			if (rangeLength < 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT); 
-			if (!(0 <= rangeStart && rangeStart + rangeLength <= charCount)) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			if (lastOffset > rangeStart) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			variableHeight |= styles[i].isVariableHeight();
-			lastOffset = rangeStart + rangeLength;
-		}
-		if (variableHeight) setVariableLineHeight();
-	}
-	int rangeStart = start, rangeEnd = end;
-	if (styles != null && styles.length > 0) {
-		if (ranges != null) {
-			rangeStart = ranges[0];
-			rangeEnd = ranges[ranges.length - 2] + ranges[ranges.length - 1];
-		} else {
-			rangeStart = styles[0].start;
-			rangeEnd = styles[styles.length - 1].start + styles[styles.length - 1].length;
-		}
-	}
-	int lastLineBottom = 0;
-	if (!isFixedLineHeight() && !reset) {
-		int lineEnd = content.getLineAtOffset(Math.max(end, rangeEnd));
-		int partialTopIndex = getPartialTopIndex();
-		int partialBottomIndex = getPartialBottomIndex();
-		if (partialTopIndex <= lineEnd && lineEnd <= partialBottomIndex) {
-			lastLineBottom = getLinePixel(lineEnd + 1);
-		}
-	}
-	if (reset) {
-		renderer.setStyleRanges(null, null);
-	} else {
-		renderer.updateRanges(start, length, length);
-	}
-	if (styles != null && styles.length > 0) {
-		renderer.setStyleRanges(ranges, styles);
-	}
-	if (reset) {
-		resetCache(0, content.getLineCount());
-		super.redraw();
-	} else {
-		int lineStart = content.getLineAtOffset(Math.min(start, rangeStart));
-		int lineEnd = content.getLineAtOffset(Math.max(end, rangeEnd));
-		resetCache(lineStart, lineEnd - lineStart + 1);
-		int partialTopIndex = getPartialTopIndex();
-		int partialBottomIndex = getPartialBottomIndex();
-		if (!(lineStart > partialBottomIndex || lineEnd < partialTopIndex)) {
-			int y = 0;
-			int height = clientAreaHeight;
-			if (partialTopIndex <= lineStart && lineStart <= partialBottomIndex) {
-				int lineTop = Math.max(y, getLinePixel(lineStart));
-				y = lineTop;
-				height -= lineTop;
-			}
-			if (partialTopIndex <= lineEnd && lineEnd <= partialBottomIndex) {
-				int newLastLineBottom = getLinePixel(lineEnd + 1);
-				if (!isFixedLineHeight()) {
-					scrollText(lastLineBottom, newLastLineBottom);
-				}
-				height = newLastLineBottom - y;
-			}
-			super.redraw(0, y, clientAreaWidth, height, false);		
-		}
-	}
-	setCaretLocation();
-}
-/** 
- * Sets styles to be used for rendering the widget content. All styles 
- * in the widget will be replaced with the given set of styles.
- * <p>
- * Note: Because a StyleRange includes the start and length, the
- * same instance cannot occur multiple times in the array of styles.
- * If the same style attributes, such as font and color, occur in
- * multiple StyleRanges, <code>setStyleRanges(int[], StyleRange[])</code>
- * can be used to share styles and reduce memory usage.
- * </p><p>
- * Should not be called if a LineStyleListener has been set since the 
- * listener maintains the styles.
- * </p>
- *
- * @param ranges StyleRange objects containing the style information.
- * The ranges should not overlap. The style rendering is undefined if 
- * the ranges do overlap. Must not be null. The styles need to be in order.
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when the list of ranges is null</li>
- *    <li>ERROR_INVALID_RANGE when the last of the style ranges is outside the valid range (> getCharCount())</li> 
- * </ul>
- * 
- * @see #setStyleRanges(int[], StyleRange[])
- */
-public void setStyleRanges(StyleRange[] ranges) {
-	checkWidget();
-	if (isListening(LineGetStyle)) return;
- 	if (ranges == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	setStyleRanges(0, 0, null, ranges, true);
-}
-/** 
- * Sets the tab width. 
- *
- * @param tabs tab width measured in characters.
- * @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 setTabs(int tabs) {
-	checkWidget();	
-	tabLength = tabs;
-	renderer.setFont(null, tabs);
-	if (caretOffset > 0) {
-		caretOffset = 0;
-		showCaret();
-		clearSelection(false);
-	}
-	resetCache(0, content.getLineCount());
-	super.redraw();
-}
-/** 
- * Sets the widget content. 
- * If the widget has the SWT.SINGLE style and "text" contains more than 
- * one line, only the first line is rendered but the text is stored 
- * unchanged. A subsequent call to getText will return the same text 
- * that was set.
- * <p>
- * <b>Note:</b> Only a single line of text should be set when the SWT.SINGLE 
- * style is used.
- * </p>
- *
- * @param text new widget content. Replaces existing content. Line styles 
- * 	that were set using StyledText API are discarded.  The
- * 	current selection is also discarded.
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when string is null</li>
- * </ul>
- */
-public void setText(String text) {
-	checkWidget();
-	if (text == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	Event event = new Event();
-	event.start = 0;
-	event.end = getCharCount();
-	event.text = text;
-	event.doit = true;	
-	notifyListeners(SWT.Verify, event);
-	if (event.doit) {
-		StyledTextEvent styledTextEvent = null;
-		if (isListening(ExtendedModify)) {
-			styledTextEvent = new StyledTextEvent(content);
-			styledTextEvent.start = event.start;
-			styledTextEvent.end = event.start + event.text.length();
-			styledTextEvent.text = content.getTextRange(event.start, event.end - event.start);
-		}
-		content.setText(event.text);
-		sendModifyEvent(event);	
-		if (styledTextEvent != null) {
-			notifyListeners(ExtendedModify, styledTextEvent);
-		}
-	}
-}
-/**
- * Sets the text limit to the specified number of characters.
- * <p>
- * The text limit specifies the amount of text that
- * the user can type into the widget.
- * </p>
- *
- * @param limit the new text limit.
- * @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>
- * @exception IllegalArgumentException <ul>
- *   <li>ERROR_CANNOT_BE_ZERO when limit is 0</li>
- * </ul>
- */
-public void setTextLimit(int limit) {
-	checkWidget();
-	if (limit == 0) {
-		SWT.error(SWT.ERROR_CANNOT_BE_ZERO);
-	}
-	textLimit = limit;
-}
-/**
- * Sets the top index. Do nothing if there is no text set.
- * <p>
- * The top index is the index of the line that is currently at the top 
- * of the widget. The top index changes when the widget is scrolled.
- * Indexing starts from zero.
- * Note: The top index is reset to 0 when new text is set in the widget.
- * </p>
- *
- * @param topIndex new top index. Must be between 0 and 
- * 	getLineCount() - fully visible lines per page. If no lines are fully 
- * 	visible the maximum value is getLineCount() - 1. An out of range 
- * 	index will be adjusted accordingly.
- * @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 setTopIndex(int topIndex) {
-	checkWidget();
-	if (getCharCount() == 0) {
-		return;
-	}
-	int lineCount = content.getLineCount(), pixel;
-	if (isFixedLineHeight()) {
-		int pageSize = Math.max(1, Math.min(lineCount, getLineCountWhole()));
-		if (topIndex < 0) {
-			topIndex = 0;
-		} else if (topIndex > lineCount - pageSize) {
-			topIndex = lineCount - pageSize;
-		}
-		pixel = getLinePixel(topIndex);
-	} else {
-		topIndex = Math.max(0, Math.min(lineCount - 1, topIndex));
-		pixel = getLinePixel(topIndex);
-		if (pixel > 0) {
-			pixel = getAvailableHeightBellow(pixel);
-		} else {
-			pixel = getAvailableHeightAbove(pixel);
-		}
-	} 
-	scrollVertical(pixel, true);
-}
-/**
- * Sets the top pixel offset. Do nothing if there is no text set.
- * <p>
- * The top pixel offset is the vertical pixel offset of the widget. The
- * widget is scrolled so that the given pixel position is at the top.
- * The top index is adjusted to the corresponding top line.
- * Note: The top pixel is reset to 0 when new text is set in the widget.
- * </p>
- *
- * @param pixel new top pixel offset. Must be between 0 and 
- * 	(getLineCount() - visible lines per page) / getLineHeight()). An out
- * 	of range offset will be adjusted accordingly.
- * @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>
- * @since 2.0
- */
-public void setTopPixel(int pixel) {
-	checkWidget();
-	if (getCharCount() == 0) {
-		return;
-	}	
-	if (pixel < 0) pixel = 0;
-	int lineCount = content.getLineCount();
-	int height = clientAreaHeight - topMargin - bottomMargin;
-	int verticalOffset = getVerticalScrollOffset();
-	if (isFixedLineHeight()) {
-		int maxTopPixel = Math.max(0, lineCount * getVerticalIncrement() - height);
-		if (pixel > maxTopPixel) pixel = maxTopPixel;
-		pixel -= verticalOffset; 
-	} else {
-		pixel -= verticalOffset;
-		if (pixel > 0) {
-			pixel = getAvailableHeightBellow(pixel);
-		}
-	}
-	scrollVertical(pixel, true);
-}
-/**
- * Sets whether the widget wraps lines.
- * <p>
- * This overrides the creation style bit SWT.WRAP.
- * </p>
- *
- * @param wrap true=widget wraps lines, false=widget does not wrap lines
- * @since 2.0
- */
-public void setWordWrap(boolean wrap) {
-	checkWidget();
-	if ((getStyle() & SWT.SINGLE) != 0) return;
-	if (wordWrap == wrap) return;
-	wordWrap = wrap;
-	setVariableLineHeight();
-	resetCache(0, content.getLineCount());
-	horizontalScrollOffset = 0;
-	ScrollBar horizontalBar = getHorizontalBar();
-	if (horizontalBar != null) {
-		horizontalBar.setVisible(!wordWrap);
-	}
-	setScrollBars(true);
-	setCaretLocation();
-	super.redraw();
-}
-/**
- * Scrolls the specified location into view.
- * 
- * @param x the x coordinate that should be made visible.
- * @param line the line that should be made visible. Relative to the
- *	first line in the document.
- * @return 
- *	true=the widget was scrolled to make the specified location visible. 
- *	false=the specified location is already visible, the widget was 
- *	not scrolled. 	
- */
-boolean showLocation(Rectangle rect) {
-	int clientAreaWidth = this.clientAreaWidth - leftMargin - rightMargin;
-	int clientAreaHeight = this.clientAreaHeight - topMargin - bottomMargin;
-	boolean scrolled = false;
-	if (rect.y <= topMargin) {
-		scrolled = scrollVertical(rect.y - topMargin, true);
-	} else if (rect.y + rect.height > clientAreaHeight) {
-		scrolled = scrollVertical(rect.y + rect.height - clientAreaHeight, true);
-	}
-	if (clientAreaWidth > 0) {
-		// always make 1/4 of a page visible
-		if (rect.x < leftMargin) {
-			int scrollWidth = Math.max(leftMargin - rect.x, clientAreaWidth / 4);
-			int maxScroll = horizontalScrollOffset;
-			scrolled = scrollHorizontal(-Math.min(maxScroll, scrollWidth), true);
-		} else if (rect.x + rect.width > clientAreaWidth) {
-			int scrollWidth =  Math.max(rect.x + rect.width - clientAreaWidth, clientAreaWidth / 4);
-			int maxScroll = renderer.getWidth() - horizontalScrollOffset - this.clientAreaWidth;
-			scrolled = scrollHorizontal(Math.min(maxScroll, scrollWidth), true);
-		}
-	}
-	return scrolled;
-}
-/**
- * Sets the caret location and scrolls the caret offset into view.
- */
-void showCaret() {
-	Rectangle bounds = getBoundsAtOffset(caretOffset);
-	if (!showLocation(bounds)) {
-		setCaretLocation();
-	}
-}
-/**
- * Scrolls the selection into view.
- * <p>
- * The end of the selection will be scrolled into view.
- * Note that if a right-to-left selection exists, the end of the selection is
- * the visual beginning of the selection (i.e., where the caret is located).
- * </p>
- *
- * @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 showSelection() {
-	checkWidget();
-	// is selection from right-to-left?
-	boolean rightToLeft = caretOffset == selection.x;
-	int startOffset, endOffset;
-	if (rightToLeft) {
-		startOffset = selection.y;
-		endOffset = selection.x;
-	} else {
-		startOffset = selection.x;
-		endOffset = selection.y;
-	}
-	
-	Rectangle startBounds = getBoundsAtOffset(startOffset);
-	Rectangle endBounds = getBoundsAtOffset(endOffset);
-	
-	// can the selection be fully displayed within the widget's visible width?
-	int w = clientAreaWidth;
-	boolean selectionFits = rightToLeft ? startBounds.x - endBounds.x <= w : endBounds.x - startBounds.x <= w;
-	if (selectionFits) {
-		// show as much of the selection as possible by first showing
-		// the start of the selection
-		if (showLocation(startBounds)) {
-			// endX value could change if showing startX caused a scroll to occur
-			endBounds = getBoundsAtOffset(endOffset);
-		}
-		showLocation(endBounds);
-	} else {
-		// just show the end of the selection since the selection start 
-		// will not be visible
-		showLocation(endBounds);
-	}
-}
-/**
- * Updates the selection and caret position depending on the text change.
- * <p>
- * If the selection intersects with the replaced text, the selection is 
- * reset and the caret moved to the end of the new text.
- * If the selection is behind the replaced text it is moved so that the
- * same text remains selected.  If the selection is before the replaced text 
- * it is left unchanged.
- * </p>
- *
- * @param startOffset offset of the text change
- * @param replacedLength length of text being replaced
- * @param newLength length of new text
- */
-void updateSelection(int startOffset, int replacedLength, int newLength) {
-	if (selection.y <= startOffset) {
-		// selection ends before text change
-		return;
-	}
-	if (selection.x < startOffset) {
-		// clear selection fragment before text change
-		internalRedrawRange(selection.x, startOffset - selection.x);
-	}
-	if (selection.y > startOffset + replacedLength && selection.x < startOffset + replacedLength) {
-		// clear selection fragment after text change.
-		// do this only when the selection is actually affected by the 
-		// change. Selection is only affected if it intersects the change (1GDY217).
-		int netNewLength = newLength - replacedLength;
-		int redrawStart = startOffset + newLength;
-		internalRedrawRange(redrawStart, selection.y + netNewLength - redrawStart);
-	}
-	if (selection.y > startOffset && selection.x < startOffset + replacedLength) {
-		// selection intersects replaced text. set caret behind text change
-		setSelection(startOffset + newLength, 0, true);
-	} else {
-		// move selection to keep same text selected
-		setSelection(selection.x + newLength - replacedLength, selection.y - selection.x, true);
-	}
-	setCaretLocation();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextContent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextContent.java
deleted file mode 100755
index a067b0f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextContent.java
+++ /dev/null
@@ -1,206 +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.custom;
-
-
-/**
- * Clients may implement the StyledTextContent interface to provide a 
- * custom store for the StyledText widget content. The StyledText widget 
- * interacts with its StyledTextContent in order to access and update 
- * the text that is being displayed and edited in the widget. 
- * A custom content implementation can be set in the widget using the
- * StyledText.setContent API.
- */
-public interface StyledTextContent {
-
-/**
- * Called by StyledText to add itself as an Observer to content changes.
- * See TextChangeListener for a description of the listener methods that
- * are called when text changes occur.
- * <p>
- *
- * @param listener the listener
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addTextChangeListener(TextChangeListener listener);
-
-/**
- * Return the number of characters in the content.
- * <p>
- *
- * @return the number of characters in the content.
- */
-public int getCharCount();
-
-/**
- * Return the line at the given line index without delimiters.
- * <p>
- *
- * @param lineIndex index of the line to return. Does not include 
- *	delimiters of preceding lines. Index 0 is the first line of the 
- * 	content.
- * @return the line text without delimiters
- */
-public String getLine(int lineIndex);
-
-/**
- * Return the line index at the given character offset.
- * <p>
- *
- * @param offset offset of the line to return. The first character of the 
- * 	document is at offset 0.  An offset of getLength() is valid and should 
- *	answer the number of lines. 
- * @return the line index. The first line is at index 0.  If the character 
- * 	at offset is a delimiter character, answer the line index of the line 
- * 	that is delimited. 
- * 	For example, if text = "\r\n\r\n", and delimiter = "\r\n", then:
- * <ul>
- * <li>getLineAtOffset(0) == 0
- * <li>getLineAtOffset(1) == 0
- * <li>getLineAtOffset(2) == 1
- * <li>getLineAtOffset(3) == 1
- * <li>getLineAtOffset(4) == 2
- * </ul>
- */
-public int getLineAtOffset(int offset);
-
-/**
- * Return the number of lines.  Should answer 1 when no text is specified.
- * The  StyledText widget relies on this behavior for drawing the cursor.
- * <p>
- *
- * @return the number of lines.  For example:
- * <ul>
- * <li>	text value ==> getLineCount		
- * <li>	null ==> 1		
- * <li>	"" ==> 1		
- * <li>	"a\n" ==> 2			
- * <li>	"\n\n" ==> 3			
- * </ul>
- */
-public int getLineCount();
-
-/**
- * Return the line delimiter that should be used by the StyledText 
- * widget when inserting new lines. New lines entered using key strokes 
- * and paste operations use this line delimiter.
- * Implementors may use System.getProperty("line.separator") to return
- * the platform line delimiter.
- * <p>
- *
- * @return the line delimiter that should be used by the StyledText widget
- *	when inserting new lines.
- */
-public String getLineDelimiter();
-
-/**
- * Return the character offset of the first character of the given line.
- * <p>
- * <b>NOTE:</b> When there is no text (i.e., no lines), getOffsetAtLine(0) 
- * is a valid call that should return 0.
- * </p>
- *
- * @param lineIndex index of the line. The first line is at index 0.
- * @return offset offset of the first character of the line. The first 
- * 	character of the document is at offset 0.  The return value should 
- * 	include line delimiters.  
- * 	For example, if text = "\r\ntest\r\n" and delimiter = "\r\n", then:
- * <ul>
- * <li>getOffsetAtLine(0) == 0
- * <li>getOffsetAtLine(1) == 2
- * <li>getOffsetAtLine(2) == 8
- * </ul>
- */
-public int getOffsetAtLine(int lineIndex);
-
-/**
- * Returns a string representing the content at the given range.
- * <p>
- *
- * @param start the start offset of the text to return. Offset 0 is the 
- * 	first character of the document.
- * @param length the length of the text to return
- * @return the text at the given range
- */
-public String getTextRange(int start, int length);
-
-/**
- * Remove the specified text changed listener.
- * <p>
- *
- * @param listener the listener
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeTextChangeListener(TextChangeListener listener);
-
-/**
- * Replace the text with "newText" starting at position "start" 
- * for a length of "replaceLength".
- * <p>
- * Implementors have to notify the TextChangeListeners that were added 
- * using <code>addTextChangeListener</code> before and after the content 
- * is changed. A <code>TextChangingEvent</code> has to be sent to the 
- * textChanging method before the content is changed and a 
- * <code>TextChangedEvent</code> has to be sent to the textChanged method
- * after the content has changed.
- * The text change that occurs after the <code>TextChangingEvent</code> 
- * has been sent has to be consistent with the data provided in the 
- * <code>TextChangingEvent</code>.
- * This data will be cached by the widget and will be used when the 
- * <code>TextChangedEvent</code> is received.
- * <p>
- * The <code>TextChangingEvent</code> should be set as follows:
- * <ul>
- * <li>event.start = start of the replaced text
- * <li>event.newText = text that is going to be inserted or empty String 
- *	if no text will be inserted
- * <li>event.replaceCharCount = length of text that is going to be replaced
- * <li>event.newCharCount = length of text that is going to be inserted
- * <li>event.replaceLineCount = number of lines that are going to be replaced
- * <li>event.newLineCount = number of new lines that are going to be inserted
- * </ul>
- * <b>NOTE:</b> newLineCount is the number of inserted lines and replaceLineCount 
- * is the number of deleted lines based on the change that occurs visually.  
- * For example:
- * <ul>
- * <li>(replaceText, newText) ==> (replaceLineCount, newLineCount)
- * <li>("", "\n") ==> (0, 1)
- * <li>("\n\n", "a") ==> (2, 0)
- * <li>("a", "\n\n") ==> (0, 2)
- * <li>("\n", "") ==> (1, 0)
- * </ul>
- * </p>
- *
- * @param start start offset of text to replace, none of the offsets include 
- *	delimiters of preceding lines, offset 0 is the first character of the 
- * 	document 
- * @param replaceLength length of text to replace
- * @param text text to replace
- * @see TextChangeListener
- */
-public void replaceTextRange(int start, int replaceLength, String text);
-
-/**
- * Set text to "text".
- * Implementors have to send a <code>TextChangedEvent</code> to the 
- * textSet method of the TextChangeListeners that were added using 
- * <code>addTextChangeListener</code>.
- * <p>
- *
- * @param text the new text
- * @see TextChangeListener
- */
-public void setText(String text);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextEvent.java
deleted file mode 100755
index e7082df..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextEvent.java
+++ /dev/null
@@ -1,51 +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.custom;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- *
- */ 
-class StyledTextEvent extends Event {
-	// used by LineStyleEvent
-	int[] ranges;
-	StyleRange[] styles;
-	int alignment;
-	int indent;
-	boolean justify;
-	Bullet bullet;
-	int bulletIndex;
-	// used by LineBackgroundEvent
-	Color lineBackground;
-	// used by BidiSegmentEvent
-	int[] segments;	
-	// used by TextChangedEvent
-	int replaceCharCount; 	
-	int newCharCount; 
-	int replaceLineCount;
-	int newLineCount;
-	// used by PaintObjectEvent
-	int x;
-	int y;
-	int ascent;
-	int descent;
-	GC gc;
-	StyleRange style;
-
-StyledTextEvent (StyledTextContent content) {
-	super();
-	data = content;	
-}
-}
-
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java
deleted file mode 100755
index 58f5861..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextListener.java
+++ /dev/null
@@ -1,80 +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.custom;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.SWTEventListener;
-
-class StyledTextListener extends TypedListener {
-/**
- */
-StyledTextListener(SWTEventListener listener) {
-	super(listener);
-}
-/**
- * Process StyledText events by invoking the event's handler.
- */
-public void handleEvent(Event e) {
-	TextChangedEvent textChangedEvent;
-	
-	switch (e.type) {
-		case StyledText.ExtendedModify:
-			ExtendedModifyEvent extendedModifyEvent = new ExtendedModifyEvent((StyledTextEvent) e);
-			((ExtendedModifyListener) eventListener).modifyText(extendedModifyEvent);
-			break;		
-		case StyledText.LineGetBackground:
-			LineBackgroundEvent lineBgEvent = new LineBackgroundEvent((StyledTextEvent) e);
-			((LineBackgroundListener) eventListener).lineGetBackground(lineBgEvent);
-			((StyledTextEvent) e).lineBackground = lineBgEvent.lineBackground;
-			break;		
-		case StyledText.LineGetSegments:
-			BidiSegmentEvent segmentEvent = new BidiSegmentEvent((StyledTextEvent) e);
-			((BidiSegmentListener) eventListener).lineGetSegments(segmentEvent);
-			((StyledTextEvent) e).segments = segmentEvent.segments;
-			break;		
-		case StyledText.LineGetStyle:
-			LineStyleEvent lineStyleEvent = new LineStyleEvent((StyledTextEvent) e);
-			((LineStyleListener) eventListener).lineGetStyle(lineStyleEvent);
-			((StyledTextEvent) e).ranges = lineStyleEvent.ranges;
-			((StyledTextEvent) e).styles = lineStyleEvent.styles;
-			((StyledTextEvent) e).alignment = lineStyleEvent.alignment;
-			((StyledTextEvent) e).indent = lineStyleEvent.indent;
-			((StyledTextEvent) e).justify = lineStyleEvent.justify;
-			((StyledTextEvent) e).bullet = lineStyleEvent.bullet;
-			((StyledTextEvent) e).bulletIndex = lineStyleEvent.bulletIndex;
-			break;
-		case StyledText.PaintObject:
-			PaintObjectEvent paintObjectEvent = new PaintObjectEvent((StyledTextEvent) e);
-			((PaintObjectListener) eventListener).paintObject(paintObjectEvent);
-			break;			
-		case StyledText.VerifyKey:
-			VerifyEvent verifyEvent = new VerifyEvent(e);
-			((VerifyKeyListener) eventListener).verifyKey(verifyEvent);
-			e.doit = verifyEvent.doit;
-			break;
-		case StyledText.TextChanged:
-			textChangedEvent = new TextChangedEvent((StyledTextContent) e.data);
-			((TextChangeListener) eventListener).textChanged(textChangedEvent);
-			break;
-		case StyledText.TextChanging:
-			TextChangingEvent textChangingEvent = new TextChangingEvent((StyledTextContent) e.data, (StyledTextEvent) e);
-			((TextChangeListener) eventListener).textChanging(textChangingEvent);
-			break;
-		case StyledText.TextSet:
-			textChangedEvent = new TextChangedEvent((StyledTextContent) e.data);
-			((TextChangeListener) eventListener).textSet(textChangedEvent);
-			break;
-	}
-}
-}
-
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrintOptions.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrintOptions.java
deleted file mode 100644
index 794cf0c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrintOptions.java
+++ /dev/null
@@ -1,86 +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.custom;
-
-/**
- * Use StyledTextPrintOptions to specify printing options for the
- * StyledText.print(Printer, StyledTextPrintOptions) API.
- * <p>
- * The following example prints a right aligned page number in the footer,
- * sets the job name to "Example" and prints line background colors but no other
- * formatting:
- * </p>
- * <pre>
- * StyledTextPrintOptions options = new StyledTextPrintOptions();
- * options.footer = "\t\t&lt;page&gt;"; 
- * options.jobName = "Example";
- * options.printLineBackground = true;
- * 
- * Runnable runnable = styledText.print(new Printer(), options); 
- * runnable.run();
- * </pre>
- * @since 2.1
- */
-public class StyledTextPrintOptions {
-	/**
-	 * Page number placeholder constant for use in <code>header</code>
-	 * and <code>footer</code>. Value is <code>&lt;page&gt;</code>
-	 */
-	public static final String PAGE_TAG = "<page>";
-	/**
-	 * Separator constant for use in <code>header</code> and
-	 * <code>footer</code>. Value is <code>\t</code>
-	 */
-	public static final String SEPARATOR = "\t";
-	/**
-	 * Formatted text to print in the header of each page.
-	 * <p>"left '\t' center '\t' right"</p>
-	 * <p>left, center, right = &lt;page&gt; | #CDATA</p>
-	 * <p>Header and footer are defined as three separate regions for arbitrary
-	 * text or the page number placeholder &lt;page&gt;
-	 * (<code>StyledTextPrintOptions.PAGE_TAG</code>). The three regions are 
-	 * left aligned, centered and right aligned. They are separated by a tab
-	 * character (<code>StyledTextPrintOptions.SEPARATOR</code>).
-	 */
-	public String header = null;
-	/**
-	 * Formatted text to print in the footer of each page.
-	 * <p>"left '\t' center '\t' right"</p>
-	 * <p>left, center, right = &lt;page&gt; | #CDATA</p>
-	 * <p>Header and footer are defined as three separate regions for arbitrary
-	 * text or the page number placeholder &lt;page&gt;
-	 * (<code>StyledTextPrintOptions.PAGE_TAG</code>). The three regions are 
-	 * left aligned, centered and right aligned. They are separated by a tab
-	 * character (<code>StyledTextPrintOptions.SEPARATOR</code>).
-	 */
-	public String footer = null;
-	/**
-	 * Name of the print job.
-	 */
-	public String jobName = null;
-	
-	/**
-	 * Print the text foreground color. Default value is <code>false</code>.
-	 */
-	public boolean printTextForeground = false;
-	/**
-	 * Print the text background color. Default value is <code>false</code>.
-	 */
-	public boolean printTextBackground = false;
-	/**
-	 * Print the font styles. Default value is <code>false</code>.
-	 */
-	public boolean printTextFontStyle = false;
-	/**
-	 * Print the line background color. Default value is <code>false</code>.
-	 */
-	public boolean printLineBackground = false;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java
deleted file mode 100644
index 55a578e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextRenderer.java
+++ /dev/null
@@ -1,1480 +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.custom;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A StyledTextRenderer renders the content of a StyledText widget.
- * This class can be used to render to the display or to a printer.
- */
-class StyledTextRenderer {
-	Device device;
-	StyledText styledText;
-	StyledTextContent content;
-
-	/* Font info */
-	Font regularFont, boldFont, italicFont, boldItalicFont;
-	int tabWidth;
-	int ascent, descent;
-	int lineEndSpaceWidth;
-	int averageCharWidth;
-	
-	/* Line data */
-	int topIndex = -1;
-	TextLayout[] layouts;
-	int lineCount;
-	int[] lineWidth;
-	int[] lineHeight;
-	LineInfo[] lines;
-	int maxWidth;
-	int maxWidthLineIndex;
-	boolean idleRunning;
-	
-	/* Bullet */
-	Bullet[] bullets;
-	int[] bulletsIndices;
-	int[] redrawLines;
-	
-	/* Style data */
-	int[] ranges;
-	int styleCount;	
-	StyleRange[] styles;
-	StyleRange[] stylesSet;
-	int stylesSetCount = 0;
-	final static int BULLET_MARGIN = 8;
-	
-	final static boolean COMPACT_STYLES = true;
-	final static boolean MERGE_STYLES = true;
-	
-	final static int GROW = 32;
-	final static int IDLE_TIME = 50;
-	final static int CACHE_SIZE = 128;
-	
-	final static int BACKGROUND = 1 << 0;
-	final static int ALIGNMENT = 1 << 1;
-	final static int INDENT = 1 << 2;
-	final static int JUSTIFY = 1 << 3;
-	final static int SEGMENTS = 1 << 5;
-	
-	static class LineInfo {
-		int flags;
-		Color background;
-		int alignment;
-		int indent;
-		boolean justify;
-		int[] segments;
-
-		public LineInfo() {
-		}
-		public LineInfo(LineInfo info) {
-			flags = info.flags;
-			background = info.background;
-			alignment = info.alignment;
-			indent = info.indent;
-			justify = info.justify;
-			segments = info.segments;
-		}
-	}
-	
-StyledTextRenderer(Device device, StyledText styledText) {
-	this.device = device;
-	this.styledText = styledText;
-}
-int addMerge(int[] mergeRanges, StyleRange[] mergeStyles, int mergeCount, int modifyStart, int modifyEnd) {
-	int rangeCount = styleCount << 1;
-	StyleRange endStyle = null;
-	int endStart = 0, endLength = 0;
-	if (modifyEnd < rangeCount) {
-		endStyle = styles[modifyEnd >> 1];
-		endStart = ranges[modifyEnd];
-		endLength = ranges[modifyEnd + 1];
-	}
-	int grow = mergeCount - (modifyEnd - modifyStart);
-	if (rangeCount + grow >= ranges.length) {
-		int[] tmpRanges = new int[ranges.length + grow + (GROW << 1)];
-		System.arraycopy(ranges, 0, tmpRanges, 0, modifyStart);
-		StyleRange[] tmpStyles = new StyleRange[styles.length + (grow >> 1) + GROW];
-		System.arraycopy(styles, 0, tmpStyles, 0, modifyStart >> 1);
-		if (rangeCount > modifyEnd) {
-			System.arraycopy(ranges, modifyEnd, tmpRanges, modifyStart + mergeCount, rangeCount - modifyEnd);
-			System.arraycopy(styles, modifyEnd >> 1, tmpStyles, (modifyStart + mergeCount) >> 1, styleCount - (modifyEnd >> 1));
-		}
-		ranges = tmpRanges;
-		styles = tmpStyles;
-	} else {
-		if (rangeCount > modifyEnd) {
-			System.arraycopy(ranges, modifyEnd, ranges, modifyStart + mergeCount, rangeCount - modifyEnd);
-			System.arraycopy(styles, modifyEnd >> 1, styles, (modifyStart + mergeCount) >> 1, styleCount - (modifyEnd >> 1));
-		}
-	}
-	if (MERGE_STYLES) {
-		int j = modifyStart;	
-		for (int i = 0; i < mergeCount; i += 2) {
-			if (j > 0 && ranges[j - 2] + ranges[j - 1] == mergeRanges[i] && mergeStyles[i >> 1].similarTo(styles[(j - 2) >> 1])) {
-				ranges[j - 1] += mergeRanges[i + 1];
-			} else {
-				styles[j >> 1] = mergeStyles[i >> 1];
-				ranges[j++] = mergeRanges[i];
-				ranges[j++] = mergeRanges[i + 1];
-			}
-		}
-		if (endStyle != null && ranges[j - 2] + ranges[j - 1] == endStart && endStyle.similarTo(styles[(j - 2) >> 1])) {
-			ranges[j - 1] += endLength;
-			modifyEnd += 2;
-			mergeCount += 2;
-		}
-		if (rangeCount > modifyEnd) {
-			System.arraycopy(ranges, modifyStart + mergeCount, ranges, j, rangeCount - modifyEnd);
-			System.arraycopy(styles, (modifyStart + mergeCount) >> 1, styles, j >> 1, styleCount - (modifyEnd >> 1));
-		}
-		grow = (j - modifyStart) - (modifyEnd - modifyStart);
-	} else {
-		System.arraycopy(mergeRanges, 0, ranges, modifyStart, mergeCount);
-		System.arraycopy(mergeStyles, 0, styles, modifyStart >> 1, mergeCount >> 1);
-	}
-	styleCount += grow >> 1;
-	return grow;
-}
-int addMerge(StyleRange[] mergeStyles, int mergeCount, int modifyStart, int modifyEnd) {
-	int grow = mergeCount - (modifyEnd - modifyStart);
-	StyleRange endStyle = null;
-	if (modifyEnd < styleCount) endStyle = styles[modifyEnd];
-	if (styleCount + grow >= styles.length) {
-		StyleRange[] tmpStyles = new StyleRange[styles.length + grow + GROW];
-		System.arraycopy(styles, 0, tmpStyles, 0, modifyStart);
-		if (styleCount > modifyEnd) {
-			System.arraycopy(styles, modifyEnd, tmpStyles, modifyStart + mergeCount, styleCount - modifyEnd);
-		}
-		styles = tmpStyles;
-	} else {
-		if (styleCount > modifyEnd) {
-			System.arraycopy(styles, modifyEnd, styles, modifyStart + mergeCount, styleCount - modifyEnd);
-		}
-	}
-	if (MERGE_STYLES) {
-		int j = modifyStart;
-		for (int i = 0; i < mergeCount; i++) {
-			StyleRange newStyle = mergeStyles[i], style;
-			if (j > 0 && (style = styles[j - 1]).start + style.length == newStyle.start && newStyle.similarTo(style)) {
-				style.length += newStyle.length;
-			} else {
-				styles[j++] = newStyle;
-			}
-		}
-		StyleRange style = styles[j - 1];
-		if (endStyle != null && style.start + style.length == endStyle.start && endStyle.similarTo(style)) {
-			style.length += endStyle.length;
-			modifyEnd++;
-			mergeCount++;
-		}
-		if (styleCount > modifyEnd) {
-			System.arraycopy(styles, modifyStart + mergeCount, styles, j, styleCount - modifyEnd);
-		}
-		grow = (j - modifyStart) - (modifyEnd - modifyStart);
-	} else {
-		System.arraycopy(mergeStyles, 0, styles, modifyStart, mergeCount);
-	}
-	styleCount += grow;
-	return grow;
-}
-void calculate(int startLine, int lineCount) {
-	int endLine = startLine + lineCount;
-	if (startLine < 0 || endLine > lineWidth.length) {
-		return;
-	}
-	int hTrim = styledText.leftMargin + styledText.rightMargin + styledText.getCaretWidth();
-	for (int i = startLine; i < endLine; i++) {
-		if (lineWidth[i] == -1 || lineHeight[i] == -1) {
-			TextLayout layout = getTextLayout(i);
-			Rectangle rect = layout.getBounds();
-			lineWidth[i] = rect.width + hTrim;
-			lineHeight[i] = rect.height;
-			disposeTextLayout(layout);
-		}
-		if (lineWidth[i] > maxWidth) {
-			maxWidth = lineWidth[i];
-			maxWidthLineIndex = i;
-		}
-	}
-}
-void calculateClientArea () {
-	int index = styledText.getTopIndex();
-	int lineCount = content.getLineCount();
-	int height = styledText.getClientArea().height;
-	int y = 0;
-	while (height > y && lineCount > index) {
-		calculate(index, 1);
-		y += lineHeight[index++];
-	}
-}
-void calculateIdle () {
-	if (idleRunning) return;
-	Runnable runnable = new Runnable() {
-		public void run() {
-			if (styledText == null) return;
-			int i;
-			long start = System.currentTimeMillis();
-			for (i = 0; i < lineCount; i++) {
-				if (lineHeight[i] == -1 || lineWidth[i] == -1) {
-					calculate(i, 1);
-					if (System.currentTimeMillis() - start > IDLE_TIME) break;
-				}
-			}
-			if (i < lineCount) {
-				Display display = styledText.getDisplay();				
-				display.asyncExec(this);
-			} else {
-				idleRunning = false;
-				styledText.setScrollBars(true);
-				ScrollBar bar = styledText.getVerticalBar();
-				if (bar != null) {
-					bar.setSelection(styledText.getVerticalScrollOffset());
-				}					
-			}
-		}
-	};		
-	Display display = styledText.getDisplay();
-	display.asyncExec(runnable);
-	idleRunning = true;
-}
-void clearLineBackground(int startLine, int count) {
-	if (lines == null) return;
-	for (int i = startLine; i < startLine + count; i++) {
-		LineInfo info = lines[i];
-		if (info != null) {
-			info.flags &= ~BACKGROUND;
-			info.background = null;
-			if (info.flags == 0) lines[i] = null;
-		}
-	}
-}
-void clearLineStyle(int startLine, int count) {
-	if (lines == null) return;
-	for (int i = startLine; i < startLine + count; i++) {
-		LineInfo info = lines[i];
-		if (info != null) {
-			info.flags &= ~(ALIGNMENT | INDENT | JUSTIFY);
-			if (info.flags == 0) lines[i] = null;
-		}
-	}
-}
-void copyInto(StyledTextRenderer renderer) {
-	if (ranges != null) {
-		int[] newRanges = renderer.ranges = new int[styleCount << 1];
-		System.arraycopy(ranges, 0, newRanges, 0, newRanges.length);
-	}
-	if (styles != null) {
-		StyleRange[] newStyles = renderer.styles = new StyleRange[styleCount];
-		for (int i = 0; i < newStyles.length; i++) {
-			newStyles[i] = (StyleRange)styles[i].clone();
-		}
-		renderer.styleCount = styleCount;
-	}
-	if (lines != null) {
-		LineInfo[] newLines = renderer.lines = new LineInfo[lineCount];
-		for (int i = 0; i < newLines.length; i++) {
-			newLines[i] = new LineInfo(lines[i]);				
-		}
-		renderer.lineCount = lineCount;
-	}
-}
-void dispose() {
-	if (boldFont != null) boldFont.dispose();
-	if (italicFont != null) italicFont.dispose();
-	if (boldItalicFont != null) boldItalicFont.dispose();
-	boldFont = italicFont = boldItalicFont = null;
-	reset();
-	content = null;
-	device = null;
-	styledText = null;
-}
-void disposeTextLayout (TextLayout layout) {
-	if (layouts != null) {
-		for (int i = 0; i < layouts.length; i++) {
-			if (layouts[i] == layout) return;
-		}
-	}
-	layout.dispose();
-}
-void drawBullet(Bullet bullet, GC gc, int paintX, int paintY, int index, int lineAscent, int lineDescent) {
-	StyleRange style = bullet.style;
-	GlyphMetrics metrics = style.metrics;
-	Color color = style.foreground;
-	if (color != null) gc.setForeground(color);
-	if ((bullet.type & ST.BULLET_DOT) != 0 && StyledText.IS_MOTIF) {
-		int size = Math.max(4, (lineAscent + lineDescent) / 4);
-		if ((size & 1) == 0) size++;
-		if (color == null) {
-			Display display = styledText.getDisplay();
-			color = display.getSystemColor(SWT.COLOR_BLACK);
-		}
-		gc.setBackground(color);
-		int x = paintX + Math.max(0, metrics.width - size - BULLET_MARGIN);
-		gc.fillArc(x, paintY + size, size + 1, size + 1, 0, 360);
-		return;
-	}
-	Font font = style.font;
-	if (font != null) gc.setFont(font);
-	String string = "";
-	int type = bullet.type & (ST.BULLET_DOT|ST.BULLET_NUMBER|ST.BULLET_LETTER_LOWER|ST.BULLET_LETTER_UPPER);
-	switch (type) {
-		case ST.BULLET_DOT: string = "\u2022"; break;
-		case ST.BULLET_NUMBER: string = String.valueOf(index); break;
-		case ST.BULLET_LETTER_LOWER: string = String.valueOf((char) (index % 26 + 97)); break;
-		case ST.BULLET_LETTER_UPPER: string = String.valueOf((char) (index % 26 + 65)); break;
-	}
-	if ((bullet.type & ST.BULLET_TEXT) != 0) string += bullet.text;
-	Display display = styledText.getDisplay();
-	TextLayout layout = new TextLayout(display);
-	layout.setText(string);
-	layout.setAscent(lineAscent);
-	layout.setDescent(lineDescent);
-	style = (StyleRange)style.clone();
-	style.metrics = null;
-	if (style.font == null) style.font = getFont(style.fontStyle);
-	layout.setStyle(style, 0, string.length());	
-	int x = paintX + Math.max(0, metrics.width - layout.getBounds().width - BULLET_MARGIN);
-	layout.draw(gc, x, paintY);
-	layout.dispose();
-}
-int drawLine(int lineIndex, int paintX, int paintY, GC gc, Color widgetBackground, Color widgetForeground) {
-	TextLayout layout = getTextLayout(lineIndex);
-	String line = content.getLine(lineIndex);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	int lineLength = line.length();
-	Point selection = styledText.getSelection();
-	int selectionStart = selection.x;
-	int selectionEnd = selection.y;
-	Rectangle client = styledText.getClientArea();  
-	Color lineBackground = getLineBackground(lineIndex, widgetBackground);
-	StyledTextEvent event = styledText.getLineBackgroundData(lineOffset, line);
-	if (event != null && event.lineBackground != null) lineBackground = event.lineBackground;
-	
-	boolean fullSelection = (styledText.getStyle() & SWT.FULL_SELECTION) != 0;
-	if (!fullSelection || selectionStart > lineOffset || selectionEnd <= lineOffset + lineLength) {
-		// draw background if full selection is off or if line is not completely selected
-		gc.setBackground(lineBackground);
-		styledText.drawBackground(gc, client.x, paintY, client.width, layout.getBounds().height);
-	}
-	if (selectionStart != selectionEnd) {
-		int y = paintY;
-		gc.setBackground(styledText.getSelectionBackground());
-		int lineCount = layout.getLineCount();
-		if (fullSelection) {
-			int[] offsets = layout.getLineOffsets();
-			for (int i = 0; i < lineCount - 1; i++) {
-				int lineStart = offsets[i];
-				if (lineStart >= selectionEnd - lineOffset) break;
-				int lineEnd = offsets[i + 1];
-				Rectangle lineBounds = layout.getLineBounds(i);
-				if (selectionStart - lineOffset <= lineEnd && lineEnd <= selectionEnd - lineOffset) {
-					int x = paintX + lineBounds.x + lineBounds.width;
-					gc.fillRectangle(x, y, client.width - x, lineBounds.height);
-				}
-				y += lineBounds.height + layout.getSpacing();
-			}
-		}
-		if (selectionStart - lineOffset <= lineLength && lineLength < selectionEnd - lineOffset) {
-			Rectangle lineBounds = layout.getLineBounds(lineCount - 1);
-			int x = paintX + lineBounds.x + lineBounds.width;
-			if (fullSelection) {
-				gc.fillRectangle(x, paintY + lineBounds.y, client.width - styledText.rightMargin - x, lineBounds.height);
-			} else {
-				gc.fillRectangle(x, paintY + lineBounds.y, lineEndSpaceWidth, lineBounds.height);
-			}
-		}
-	}
-	gc.setForeground(widgetForeground);
-	gc.setBackground(lineBackground);	
-	if (selectionStart == selectionEnd || (selectionEnd <= lineOffset && selectionStart > lineOffset + lineLength - 1)) {
-		layout.draw(gc, paintX, paintY);
-	} else {
-		int start = Math.max(0, selectionStart - lineOffset);
-		int end = Math.min(lineLength, selectionEnd - lineOffset);
-		Color selectionFg = styledText.getSelectionForeground();
-		Color selectionBg = styledText.getSelectionBackground();
-		layout.draw(gc, paintX, paintY, start, end - 1, selectionFg, selectionBg);
-	}
-
-	// draw objects
-	Bullet bullet = null;
-	int bulletIndex = -1;
-	if (bullets != null) {
-		if (bulletsIndices != null) {
-			int index = lineIndex - topIndex;
-			if (0 <= index && index < CACHE_SIZE) {
-				bullet = bullets[index];
-				bulletIndex = bulletsIndices[index];
-			}
-		} else {
-			for (int i = 0; i < bullets.length; i++) {
-				bullet = bullets[i];
-				bulletIndex = bullet.indexOf(lineIndex);
-				if (bulletIndex != -1) break;
-			}
-		}
-	}
-	if (bulletIndex != -1 && bullet != null) {
-		FontMetrics metrics = layout.getLineMetrics(0);
-		int lineAscent = metrics.getAscent() + metrics.getLeading();
-		if (bullet.type == ST.BULLET_CUSTOM) {
-			bullet.style.start = lineOffset;
-			styledText.paintObject(gc, paintX, paintY, lineAscent, metrics.getDescent(), bullet.style, bullet, bulletIndex);
-		} else {
-			drawBullet(bullet, gc, paintX, paintY, bulletIndex, lineAscent, metrics.getDescent());
-		}
-	}
-	
-	TextStyle[] styles = layout.getStyles();
-	int[] ranges = null;
-	for (int i = 0; i < styles.length; i++) {
-		if (styles[i].metrics != null) {
-			if (ranges == null) ranges = layout.getRanges();
-			int start = ranges[i << 1];
-			int length = ranges[(i << 1) + 1] - start;
-			Point point = layout.getLocation(start, false);
-			FontMetrics metrics = layout.getLineMetrics(layout.getLineIndex(start));
-			StyleRange style = (StyleRange)((StyleRange)styles[i]).clone();
-			style.start = start + lineOffset;
-			style.length = length;
-			int lineAscent = metrics.getAscent() + metrics.getLeading();
-			styledText.paintObject(gc, point.x + paintX, point.y + paintY, lineAscent, metrics.getDescent(), style, null, 0);
-		}
-	}
-	int height = layout.getBounds().height;
-	disposeTextLayout(layout);
-	return height;
-}
-int getBaseline() {
-	return ascent;
-}
-Font getFont(int style) {
-	switch (style) {
-		case SWT.BOLD:
-			if (boldFont != null) return boldFont;
-			return boldFont = new Font(device, getFontData(style));
-		case SWT.ITALIC:
-			if (italicFont != null) return italicFont;
-			return italicFont = new Font(device, getFontData(style));
-		case SWT.BOLD | SWT.ITALIC:
-			if (boldItalicFont != null) return boldItalicFont;
-			return boldItalicFont = new Font(device, getFontData(style));
-		default:
-			return regularFont;
-	}
-}
-FontData[] getFontData(int style) {
-	FontData[] fontDatas = regularFont.getFontData();
-	for (int i = 0; i < fontDatas.length; i++) {
-		fontDatas[i].setStyle(style);
-	}
-	return fontDatas;
-}
-int getHeight () {
-	int defaultLineHeight = getLineHeight();
-	if (styledText.isFixedLineHeight()) {
-		return lineCount * defaultLineHeight;
-	}
-	int totalHeight = 0;
-	int width = styledText.getWrapWidth();
-	for (int i = 0; i < lineCount; i++) {
-		int height = lineHeight[i];
-		if (height == -1) {
-			if (width > 0) {
-				int length = content.getLine(i).length();
-				height = ((length * averageCharWidth / width) + 1) * defaultLineHeight;
-			} else {
-				height = defaultLineHeight;
-			}
-		}
-		totalHeight += height;
-	}
-	return totalHeight + styledText.topMargin + styledText.bottomMargin;
-}
-int getLineAlignment(int index, int defaultAlignment) {
-	if (lines == null) return defaultAlignment;
-	LineInfo info = lines[index];
-	if (info != null && (info.flags & ALIGNMENT) != 0) {
-		return info.alignment;
-	}
-	return defaultAlignment;
-}
-Color getLineBackground(int index, Color defaultBackground) {
-	if (lines == null) return defaultBackground;
-	LineInfo info = lines[index];
-	if (info != null && (info.flags & BACKGROUND) != 0) {
-		return info.background;
-	}
-	return defaultBackground;
-}
-Bullet getLineBullet (int index, Bullet defaultBullet) {
-	if (bullets == null) return defaultBullet;
-	if (bulletsIndices != null) return defaultBullet;
-	for (int i = 0; i < bullets.length; i++) {
-		Bullet bullet = bullets[i];
-		if (bullet.indexOf(index) != -1) return bullet;
-	}
-	return defaultBullet;
-}
-int getLineEndSpace() {
-	return lineEndSpaceWidth;
-}
-int getLineHeight() {
-	return ascent + descent;
-}
-int getLineHeight(int lineIndex) {
-	if (lineHeight[lineIndex] == -1) {
-		calculate(lineIndex, 1);
-	}
-	return lineHeight[lineIndex];
-}
-int getLineIndent(int index, int defaultIndent) {
-	if (lines == null) return defaultIndent;
-	LineInfo info = lines[index];
-	if (info != null && (info.flags & INDENT) != 0) {
-		return info.indent;
-	}
-	return defaultIndent;
-}
-boolean getLineJustify(int index, boolean defaultJustify) {
-	if (lines == null) return defaultJustify;
-	LineInfo info = lines[index];
-	if (info != null && (info.flags & JUSTIFY) != 0) {
-		return info.justify;
-	}
-	return defaultJustify;
-}
-int[] getLineSegments(int index, int[] defaultSegments) {
-	if (lines == null) return defaultSegments;
-	LineInfo info = lines[index];
-	if (info != null && (info.flags & SEGMENTS) != 0) {
-		return info.segments;
-	}
-	return defaultSegments;
-}
-int getRangeIndex(int offset, int low, int high) {
-	if (styleCount == 0) return 0;
-	if (ranges != null)  {
-		while (high - low > 2) {
-			int index = ((high + low) / 2) / 2 * 2;
-			int end = ranges[index] + ranges[index + 1];
-			if (end > offset) {
-				high = index;
-			} else {
-				low = index;
-			}
-		}
-	} else {
-		while (high - low > 1) {
-			int index = ((high + low) / 2);
-			int end = styles[index].start + styles[index].length;
-			if (end > offset) {
-				high = index;
-			} else {
-				low = index;
-			}
-		}
-	}
-	return high;
-}
-int[] getRanges(int start, int length) {
-	int[] newRanges;
-	int end = start + length - 1;
-	if (ranges != null) {
-		int rangeCount = styleCount << 1;
-		int rangeStart = getRangeIndex(start, -1, rangeCount);
-		if (rangeStart >= rangeCount) return null;
-		if (ranges[rangeStart] > end) return null;
-		int rangeEnd = Math.min(rangeCount - 2, getRangeIndex(end, rangeStart - 1, rangeCount) + 1);
-		newRanges = new int[rangeEnd - rangeStart + 2];
-		System.arraycopy(ranges, rangeStart, newRanges, 0, newRanges.length);
-	} else {
-		int rangeStart = getRangeIndex(start, -1, styleCount);
-		if (rangeStart >= styleCount) return null;
-		if (styles[rangeStart].start > end) return null;
-		int rangeEnd = Math.min(styleCount - 1, getRangeIndex(end, rangeStart - 1, styleCount));
-		newRanges = new int[(rangeEnd - rangeStart + 1) << 1];
-		for (int i = rangeStart, j = 0; i <= rangeEnd; i++, j += 2) {
-			StyleRange style = styles[i];
-			newRanges[j] = style.start;
-			newRanges[j + 1] = style.length;
-		}		
-	}
-	if (start > newRanges[0]) {
-		newRanges[1] = newRanges[0] + newRanges[1] - start;
-		newRanges[0] = start;
-	}
-	if (end < newRanges[newRanges.length - 2] + newRanges[newRanges.length - 1] - 1) {
-		newRanges[newRanges.length - 1] = end - newRanges[newRanges.length - 2];
-	}
-	return newRanges;
-}
-StyleRange[] getStyleRanges(int start, int length, boolean includeRanges) {
-	StyleRange[] newStyles;
-	int end = start + length - 1;
-	if (ranges != null) {
-		int rangeCount = styleCount << 1;
-		int rangeStart = getRangeIndex(start, -1, rangeCount);
-		if (rangeStart >= rangeCount) return null;
-		if (ranges[rangeStart] > end) return null;
-		int rangeEnd = Math.min(rangeCount - 2, getRangeIndex(end, rangeStart - 1, rangeCount) + 1);
-		newStyles = new StyleRange[((rangeEnd - rangeStart) >> 1) + 1];
-		if (includeRanges) {
-			for (int i = rangeStart, j = 0; i <= rangeEnd; i += 2, j++) {
-				newStyles[j] = (StyleRange)styles[i >> 1].clone();
-				newStyles[j].start = ranges[i];
-				newStyles[j].length = ranges[i + 1];
-			}
-		} else {
-			System.arraycopy(styles, rangeStart >> 1, newStyles, 0, newStyles.length);
-		}
-	} else {
-		int rangeStart = getRangeIndex(start, -1, styleCount);
-		if (rangeStart >= styleCount) return null;
-		if (styles[rangeStart].start > end) return null;
-		int rangeEnd = Math.min(styleCount - 1, getRangeIndex(end, rangeStart - 1, styleCount));
-		newStyles = new StyleRange[rangeEnd - rangeStart + 1];
-		System.arraycopy(styles, rangeStart, newStyles, 0, newStyles.length);
-	}
-	StyleRange style = newStyles[0];
-	if (start > style.start) {
-		if (!includeRanges || ranges == null) newStyles[0] = style = (StyleRange)style.clone();
-		style.length = style.start + style.length - start;
-		style.start = start;
-	}
-	style = newStyles[newStyles.length - 1];
-	if (end < style.start + style.length - 1) {
-		if (!includeRanges || ranges == null) newStyles[newStyles.length - 1] = style = (StyleRange)style.clone();
-		style.length = end - style.start + 1;
-	}
-	return newStyles;
-}
-StyleRange getStyleRange(StyleRange style) {
-	if (style.start == 0 && style.length == 0 && style.fontStyle == SWT.NORMAL) return style;
-	StyleRange clone = (StyleRange)style.clone();
-	clone.start = clone.length = 0;
-	clone.fontStyle = SWT.NORMAL;
-	if (clone.font == null) clone.font = getFont(style.fontStyle);
-	return clone;
-}
-TextLayout getTextLayout(int lineIndex) {
-	return getTextLayout(lineIndex, styledText.getOrientation(), styledText.getWrapWidth(), styledText.lineSpacing);
-}
-TextLayout getTextLayout(int lineIndex, int orientation, int width, int lineSpacing) {
-	TextLayout layout = null;
-	if (styledText != null) {
-		int topIndex = styledText.topIndex > 0 ? styledText.topIndex - 1 : 0;	
-		if (layouts == null || topIndex != this.topIndex) {
-			TextLayout[] newLayouts = new TextLayout[CACHE_SIZE];
-			if (layouts != null) {
-				for (int i = 0; i < layouts.length; i++) {
-					if (layouts[i] != null) {
-						int layoutIndex = (i + this.topIndex) - topIndex;
-						if (0 <= layoutIndex && layoutIndex < newLayouts.length) {
-							newLayouts[layoutIndex] = layouts[i];
-						} else {
-							layouts[i].dispose();
-						}
-					}
-				}
-			}
-			if (bullets != null && bulletsIndices != null && topIndex != this.topIndex) {
-				int delta = topIndex - this.topIndex;
-				if (delta > 0) {
-					if (delta < bullets.length) {
-						System.arraycopy(bullets, delta, bullets, 0, bullets.length - delta);
-						System.arraycopy(bulletsIndices, delta, bulletsIndices, 0, bulletsIndices.length - delta);
-					}
-					int startIndex = Math.max(0, bullets.length - delta);
-					for (int i = startIndex; i < bullets.length; i++) bullets[i] = null;
-				} else {
-					if (-delta < bullets.length) {
-						System.arraycopy(bullets, 0, bullets, -delta, bullets.length + delta);
-						System.arraycopy(bulletsIndices, 0, bulletsIndices, -delta, bulletsIndices.length + delta);
-					}
-					int endIndex = Math.min(bullets.length, -delta);
-					for (int i = 0; i < endIndex; i++) bullets[i] = null;
-				}
-			}
-			this.topIndex = topIndex;
-			layouts = newLayouts;
-		}
-		if (layouts != null) {
-			int layoutIndex = lineIndex - topIndex;
-			if (0 <= layoutIndex && layoutIndex < layouts.length) {
-				layout = layouts[layoutIndex];
-				if (layout != null) {
-					if (lineWidth[lineIndex] != -1) return layout;
-				} else {
-					layout = layouts[layoutIndex] = new TextLayout(device);
-				}
-			}
-		}
-	}
-	if (layout == null) layout = new TextLayout(device);
-	String line = content.getLine(lineIndex);
-	int lineOffset = content.getOffsetAtLine(lineIndex);
-	int[] segments = null;
-	int indent = 0;
-	int alignment = SWT.LEFT;
-	boolean justify = false;
-	Bullet bullet = null;
-	int[] ranges = null;
-	StyleRange[] styles = null;
-	int rangeStart = 0, styleCount = 0;
-	StyledTextEvent event = null;
-	if (styledText != null) {
-		event = styledText.getLineStyleData(lineOffset, line);
-		segments = styledText.getBidiSegments(lineOffset, line);
-		indent = styledText.indent;
-		alignment = styledText.alignment;
-		justify = styledText.justify;
-	}
-	if (event != null) {
-		indent = event.indent;
-		alignment = event.alignment;
-		justify = event.justify;
-		bullet = event.bullet;
-		ranges = event.ranges;
-		styles = event.styles;
-		if (styles != null) {
-			styleCount = styles.length;
-			if (styledText.isFixedLineHeight()) {
-				for (int i = 0; i < styleCount; i++) {
-					if (styles[i].isVariableHeight()) {
-						styledText.verticalScrollOffset = -1;
-						styledText.setVariableLineHeight();
-						styledText.redraw();
-						break;
-					}
-				}
-			}
-		}
-		if (bullets == null || bulletsIndices == null) {
-			bullets = new Bullet[CACHE_SIZE];
-			bulletsIndices = new int[CACHE_SIZE];
-		}
-		int index = lineIndex - topIndex;
-		if (0 <= index && index < CACHE_SIZE) {
-			bullets[index] = bullet;
-			bulletsIndices[index] = event.bulletIndex;
-		}
-	} else {
-		if (lines != null) {
-			LineInfo info = lines[lineIndex];
-			if (info != null) {
-				if ((info.flags & INDENT) != 0) indent = info.indent;
-				if ((info.flags & ALIGNMENT) != 0) alignment = info.alignment;
-				if ((info.flags & JUSTIFY) != 0) justify = info.justify;
-				if ((info.flags & SEGMENTS) != 0) segments = info.segments;
-			}
-		}
-		if (bulletsIndices != null) {
-			bullets = null;
-			bulletsIndices = null;
-		}
-		if (bullets != null) {
-			for (int i = 0; i < bullets.length; i++) {
-				if (bullets[i].indexOf(lineIndex) != -1) {
-					bullet = bullets[i];
-					break;
-				}
-			}
-		}
-		ranges = this.ranges;
-		styles = this.styles;
-		styleCount = this.styleCount;
-		if (ranges != null) {
-			rangeStart = getRangeIndex(lineOffset, -1, styleCount << 1);
-		} else {
-			rangeStart = getRangeIndex(lineOffset, -1, styleCount);
-		}
-	}
-	if (bullet != null) {
-		StyleRange style = bullet.style;
-		GlyphMetrics metrics = style.metrics;
-		indent += metrics.width;
-	}
-	layout.setFont(regularFont);
-	layout.setAscent(ascent);
-	layout.setDescent(descent);
-	layout.setText(line);
-	layout.setOrientation(orientation);
-	layout.setSegments(segments);
-	layout.setWidth(width);
-	layout.setSpacing(lineSpacing);
-	layout.setTabs(new int[]{tabWidth});
-	layout.setIndent(indent);
-	layout.setAlignment(alignment);
-	layout.setJustify(justify);
-	
-	int lastOffset = 0;
-	int length = line.length();
-	if (styles != null) {
-		if (ranges != null) {
-			int rangeCount = styleCount << 1;
-			for (int i = rangeStart; i < rangeCount; i += 2) {
-				int start, end;
-				if (lineOffset > ranges[i]) {
-					start = 0;
-					end = Math.min (length, ranges[i + 1] - lineOffset + ranges[i]);
-				} else {
-					start = ranges[i] - lineOffset;
-					end = Math.min(length, start + ranges[i + 1]);
-				}
-				if (start >= length) break;
-				if (lastOffset < start) {
-					layout.setStyle(null, lastOffset, start - 1);
-				}
-				layout.setStyle(getStyleRange(styles[i >> 1]), start, end);
-				lastOffset = Math.max(lastOffset, end);
-			}
-		} else {
-			for (int i = rangeStart; i < styleCount; i++) {
-				int start, end;
-				if (lineOffset > styles[i].start) {
-					start = 0;
-					end = Math.min (length, styles[i].length - lineOffset + styles[i].start);
-				} else {
-					start = styles[i].start - lineOffset;
-					end = Math.min(length, start + styles[i].length);
-				}
-				if (start >= length) break;
-				if (lastOffset < start) {
-					layout.setStyle(null, lastOffset, start - 1);
-				}
-				layout.setStyle(getStyleRange(styles[i]), start, end);
-				lastOffset = Math.max(lastOffset, end);
-			}
-		}
-	}
-	if (lastOffset < length) layout.setStyle(null, lastOffset, length);
-	if (styledText != null && styledText.isFixedLineHeight()) {
-		int index = -1;
-		int lineCount = layout.getLineCount();
-		int height = getLineHeight();
-		for (int i = 0; i < lineCount; i++) {
-			int lineHeight = layout.getLineBounds(i).height;
-			if (lineHeight > height) {
-				height = lineHeight;
-				index = i;
-			}
-		}
-		if (index != -1) {
-			FontMetrics metrics = layout.getLineMetrics(index);
-			ascent = metrics.getAscent() + metrics.getLeading();
-			descent = metrics.getDescent();
-			if (layouts != null) {
-				for (int i = 0; i < layouts.length; i++) {
-					if (layouts[i] != null && layouts[i] != layout) {
-						layouts[i].setAscent(ascent);
-						layouts[i].setDescent(descent);
-					}
-				}
-			}
-			if (styledText.verticalScrollOffset != 0) {
-				int topIndex = styledText.topIndex;
-				int topIndexY = styledText.topIndexY;
-				int lineHeight = getLineHeight();
-				if (topIndexY >= 0) {
-					styledText.verticalScrollOffset = (topIndex - 1) * lineHeight + lineHeight - topIndexY;
-				} else {
-					styledText.verticalScrollOffset = topIndex * lineHeight - topIndexY;
-				}
-			}
-			styledText.calculateScrollBars();
-			if (styledText.isBidiCaret()) styledText.createCaretBitmaps();
-			styledText.caretDirection = SWT.NULL;
-			styledText.setCaretLocation();
-			styledText.redraw();
-		}
-	}
-	return layout;
-}
-int getWidth() {
-	return maxWidth;
-}
-void reset() {
-	if (layouts != null) {
-		for (int i = 0; i < layouts.length; i++) {
-			TextLayout layout = layouts[i];
-			if (layout != null) layout.dispose();
-		}
-		layouts = null;
-	}
-	topIndex = -1;
-	stylesSetCount = styleCount = lineCount = 0;
-	ranges = null;
-	styles = null;
-	stylesSet = null;
-	lines = null;
-	lineWidth = null;
-	lineHeight = null;
-	bullets = null;
-	bulletsIndices = null;
-	redrawLines = null;
-}
-void reset(int startLine, int lineCount) {
-	int endLine = startLine + lineCount;
-	if (startLine < 0 || endLine > lineWidth.length) return;
-	for (int i = startLine; i < endLine; i++) {
-		lineWidth[i] = -1;
-		lineHeight[i] = -1;
-	}
-	if (startLine <= maxWidthLineIndex && maxWidthLineIndex < endLine) {
-		maxWidth = 0;
-		maxWidthLineIndex = -1;
-		if (lineCount != this.lineCount) {
-			for (int i = 0; i < this.lineCount; i++) {
-				if (lineWidth[i] > maxWidth) {
-					maxWidth = lineWidth[i];
-					maxWidthLineIndex = i;
-				}
-			}
-		}
-	}
-}
-void setContent(StyledTextContent content) {
-	reset();
-	this.content = content;
-	lineCount = content.getLineCount();
-	lineWidth = new int[lineCount];
-	lineHeight = new int[lineCount];
-	reset(0, lineCount);
-}
-void setFont(Font font, int tabs) {
-	TextLayout layout = new TextLayout(device);
-	layout.setFont(regularFont);
-	if (font != null) {
-		if (boldFont != null) boldFont.dispose();
-		if (italicFont != null) italicFont.dispose();
-		if (boldItalicFont != null) boldItalicFont.dispose();
-		boldFont = italicFont = boldItalicFont = null;
-		regularFont = font;
-		layout.setText("    ");
-		layout.setFont(font);
-		layout.setStyle(new TextStyle(getFont(SWT.NORMAL), null, null), 0, 0);
-		layout.setStyle(new TextStyle(getFont(SWT.BOLD), null, null), 1, 1);
-		layout.setStyle(new TextStyle(getFont(SWT.ITALIC), null, null), 2, 2);
-		layout.setStyle(new TextStyle(getFont(SWT.BOLD | SWT.ITALIC), null, null), 3, 3);
-		FontMetrics metrics = layout.getLineMetrics(0);
-		ascent = metrics.getAscent() + metrics.getLeading();
-		descent = metrics.getDescent();
-		lineEndSpaceWidth = layout.getBounds(0, 0).width;
-		boldFont.dispose();
-		italicFont.dispose();
-		boldItalicFont.dispose();
-		boldFont = italicFont = boldItalicFont = null;
-	}
-	layout.dispose();
-	layout = new TextLayout(device);
-	layout.setFont(regularFont);
-	StringBuffer tabBuffer = new StringBuffer(tabs);
-	for (int i = 0; i < tabs; i++) {
-		tabBuffer.append(' ');
-	}
-	layout.setText(tabBuffer.toString());
-	tabWidth = layout.getBounds().width;
-	layout.dispose();
-}
-void setLineAlignment(int startLine, int count, int alignment) {
-	if (lines == null) lines = new LineInfo[lineCount];
-	for (int i = startLine; i < startLine + count; i++) {
-		if (lines[i] == null) {
-			lines[i] = new LineInfo();
-		}
-		lines[i].flags |= ALIGNMENT;
-		lines[i].alignment = alignment;
-	}
-}
-void setLineBackground(int startLine, int count, Color background) {
-	if (lines == null) lines = new LineInfo[lineCount];
-	for (int i = startLine; i < startLine + count; i++) {
-		if (lines[i] == null) {
-			lines[i] = new LineInfo();
-		}
-		lines[i].flags |= BACKGROUND;
-		lines[i].background = background;
-	}
-}
-void setLineBullet(int startLine, int count, Bullet bullet) {
-	if (bulletsIndices != null) {
-		bulletsIndices = null;
-		bullets = null;
-	}
-	if (bullets == null) {
-		if (bullet == null) return;
-		bullets = new Bullet[1];
-		bullets[0] = bullet;
-	}
-	int index = 0;
-	while (index < bullets.length) {
-		if (bullet == bullets[index]) break;
-		index++;
-	}
-	if (bullet != null) {
-		if (index == bullets.length) {
-			Bullet[] newBulletsList = new Bullet[bullets.length + 1];
-			System.arraycopy(bullets, 0, newBulletsList, 0, bullets.length);
-			newBulletsList[index] = bullet;
-			bullets = newBulletsList;
-		}
-		bullet.addIndices(startLine, count);
-	} else {
-		updateBullets(startLine, count, 0, false);
-		styledText.redrawLinesBullet(redrawLines);
-		redrawLines = null;
-	}
-}
-void setLineIndent(int startLine, int count, int indent) {
-	if (lines == null) lines = new LineInfo[lineCount];
-	for (int i = startLine; i < startLine + count; i++) {
-		if (lines[i] == null) {
-			lines[i] = new LineInfo();
-		}
-		lines[i].flags |= INDENT;
-		lines[i].indent = indent;
-	}
-}
-void setLineJustify(int startLine, int count, boolean justify) {
-	if (lines == null) lines = new LineInfo[lineCount];
-	for (int i = startLine; i < startLine + count; i++) {
-		if (lines[i] == null) {
-			lines[i] = new LineInfo();
-		}
-		lines[i].flags |= JUSTIFY;
-		lines[i].justify = justify;
-	}
-}
-void setLineSegments(int startLine, int count, int[] segments) {
-	if (lines == null) lines = new LineInfo[lineCount];
-	for (int i = startLine; i < startLine + count; i++) {
-		if (lines[i] == null) {
-			lines[i] = new LineInfo();
-		}
-		lines[i].flags |= SEGMENTS;
-		lines[i].segments = segments;
-	}
-}
-void setStyleRanges (int[] newRanges, StyleRange[] newStyles) {
-	if (newStyles == null) {
-		stylesSetCount = styleCount = 0;
-		ranges = null;
-		styles = null;
-		stylesSet = null;
-		return;
-	}
-	if (newRanges == null && COMPACT_STYLES) {
-		newRanges = new int[newStyles.length << 1];		
-		StyleRange[] tmpStyles = new StyleRange[newStyles.length];
-		if (stylesSet == null) stylesSet = new StyleRange[4];
-		for (int i = 0, j = 0; i < newStyles.length; i++) {
-			StyleRange newStyle = newStyles[i];
-			newRanges[j++] = newStyle.start;
-			newRanges[j++] = newStyle.length;
-			int index = 0;
-			while (index < stylesSetCount) {
-				if (stylesSet[index].similarTo(newStyle)) break;
-				index++;
-			}
-			if (index == stylesSetCount) {
-				if (stylesSetCount == stylesSet.length) {
-					StyleRange[] tmpStylesSet = new StyleRange[stylesSetCount + 4];
-					System.arraycopy(stylesSet, 0, tmpStylesSet, 0, stylesSetCount);
-					stylesSet = tmpStylesSet;
-				}
-				stylesSet[stylesSetCount++] = newStyle;
-			}
-			tmpStyles[i] = stylesSet[index];
-		}
-		newStyles = tmpStyles;
-	}
-	
-	if (styleCount == 0) {
-		if (newRanges != null) {
-			ranges = new int[newRanges.length];
-			System.arraycopy(newRanges, 0, ranges, 0, ranges.length);
-		}
-		styles = new StyleRange[newStyles.length];
-		System.arraycopy(newStyles, 0, styles, 0, styles.length);
-		styleCount = newStyles.length;
-		return;
-	}
-	if (newRanges != null && ranges == null) {
-		ranges = new int[styles.length << 1];
-		for (int i = 0, j = 0; i < styleCount; i++) {
-			ranges[j++] = styles[i].start;
-			ranges[j++] = styles[i].length;
-		}
-	}
-	if (newRanges == null && ranges != null) {
-		newRanges = new int[newStyles.length << 1];
-		for (int i = 0, j = 0; i < newStyles.length; i++) {
-			newRanges[j++] = newStyles[i].start;
-			newRanges[j++] = newStyles[i].length;
-		}
-	}
-	if (ranges != null) {
-		int rangeCount = styleCount << 1;
-		int start = newRanges[0];
-		int modifyStart = getRangeIndex(start, -1, rangeCount), modifyEnd;
-		boolean insert = modifyStart == rangeCount;
-		if (!insert) {
-			int end = newRanges[newRanges.length - 2] + newRanges[newRanges.length - 1];
-			modifyEnd = getRangeIndex(end, modifyStart - 1, rangeCount);
-			insert = modifyStart == modifyEnd && ranges[modifyStart] >= end;
-		}
-		if (insert) {
-			addMerge(newRanges, newStyles, newRanges.length, modifyStart, modifyStart);
-			return;
-		}
-		modifyEnd = modifyStart;
-		int[] mergeRanges = new int[6];
-		StyleRange[] mergeStyles = new StyleRange[3];
-		for (int i = 0; i < newRanges.length; i += 2) {
-			int newStart = newRanges[i];
-			int newEnd = newStart + newRanges[i + 1];
-			if (newStart == newEnd) continue;
-			int modifyLast = 0, mergeCount = 0;
-			while (modifyEnd < rangeCount) {
-				if (newStart >= ranges[modifyStart] + ranges[modifyStart + 1]) modifyStart += 2;
-				if (ranges[modifyEnd] + ranges[modifyEnd + 1] > newEnd) break;
-				modifyEnd += 2;
-			}
-			if (ranges[modifyStart] < newStart && newStart < ranges[modifyStart] + ranges[modifyStart + 1]) {
-				mergeStyles[mergeCount >> 1] = styles[modifyStart >> 1];
-				mergeRanges[mergeCount] = ranges[modifyStart];
-				mergeRanges[mergeCount + 1] = newStart - ranges[modifyStart];				
-				mergeCount += 2;
-			}
-			mergeStyles[mergeCount >> 1] = newStyles[i >> 1];
-			mergeRanges[mergeCount] = newStart;
-			mergeRanges[mergeCount + 1] = newRanges[i + 1];
-			mergeCount += 2;
-			if (modifyEnd < rangeCount && ranges[modifyEnd] < newEnd && newEnd < ranges[modifyEnd] + ranges[modifyEnd + 1]) {
-				mergeStyles[mergeCount >> 1] = styles[modifyEnd >> 1];
-				mergeRanges[mergeCount] = newEnd;
-				mergeRanges[mergeCount + 1] = ranges[modifyEnd] + ranges[modifyEnd + 1] - newEnd;
-				mergeCount += 2;
-				modifyLast = 2;
-			}
-			int grow = addMerge(mergeRanges, mergeStyles, mergeCount, modifyStart, modifyEnd + modifyLast);
-			rangeCount += grow;
-			modifyStart = modifyEnd += grow;
-		}
-	} else {
-		int start = newStyles[0].start;
-		int modifyStart = getRangeIndex(start, -1, styleCount), modifyEnd;
-		boolean insert = modifyStart == styleCount;
-		if (!insert) {
-			int end = newStyles[newStyles.length - 1].start + newStyles[newStyles.length - 1].length;
-			modifyEnd = getRangeIndex(end, modifyStart - 1, styleCount);
-			insert = modifyStart == modifyEnd && styles[modifyStart].start >= end;
-		}
-		if (insert) {
-			addMerge(newStyles, newStyles.length, modifyStart, modifyStart);
-			return;
-		}
-		modifyEnd = modifyStart;
-		StyleRange[] mergeStyles = new StyleRange[3];
-		for (int i = 0; i < newStyles.length; i++) {
-			StyleRange newStyle = newStyles[i], style; 
-			int newStart = newStyle.start;
-			int newEnd = newStart + newStyle.length;
-			if (newStart == newEnd) continue;
-			int modifyLast = 0, mergeCount = 0;
-			while (modifyEnd < styleCount) {
-				if (newStart >= styles[modifyStart].start + styles[modifyStart].length) modifyStart++;
-				if (styles[modifyEnd].start + styles[modifyEnd].length > newEnd) break;
-				modifyEnd++;
-			}
-			style = styles[modifyStart];
-			if (style.start < newStart && newStart < style.start + style.length) {
-				style = mergeStyles[mergeCount++] = (StyleRange)style.clone();
-				style.length = newStart - style.start;
-			}
-			mergeStyles[mergeCount++] = newStyle;
-			if (modifyEnd < styleCount) {
-				style = styles[modifyEnd];
-				if (style.start < newEnd && newEnd < style.start + style.length) {
-					style = mergeStyles[mergeCount++] = (StyleRange)style.clone();
-					style.length += style.start - newEnd;
-					style.start = newEnd;
-					modifyLast = 1;
-				}
-			}
-			int grow = addMerge(mergeStyles, mergeCount, modifyStart, modifyEnd + modifyLast);
-			modifyStart = modifyEnd += grow;
-		}
-	}
-}
-void textChanging(TextChangingEvent event) {
-	int start = event.start;
-	int newCharCount = event.newCharCount, replaceCharCount = event.replaceCharCount;
-	int newLineCount = event.newLineCount, replaceLineCount = event.replaceLineCount;
-	
-	updateRanges(start, replaceCharCount, newCharCount);	
-	
-	int startLine = content.getLineAtOffset(start);
-	if (replaceCharCount == content.getCharCount()) lines = null;
-	if (replaceLineCount == lineCount) {
-		lineCount = newLineCount;
-		lineWidth = new int[lineCount];
-		lineHeight = new int[lineCount];
-		reset(0, lineCount);
-	} else {
-		int delta = newLineCount - replaceLineCount;
-		if (lineCount + delta > lineWidth.length) {
-			int[] newWidths = new int[lineCount + delta + GROW];
-			System.arraycopy(lineWidth, 0, newWidths, 0, lineCount);
-			lineWidth = newWidths;			
-			int[] newHeights = new int[lineCount + delta + GROW];
-			System.arraycopy(lineHeight, 0, newHeights, 0, lineCount);
-			lineHeight = newHeights;
-		}
-		if (lines != null) {
-			if (lineCount + delta > lines.length) {
-				LineInfo[] newLines = new LineInfo[lineCount + delta + GROW];
-				System.arraycopy(lines, 0, newLines, 0, lineCount);
-				lines = newLines;
-			}
-		}
-		int startIndex = startLine + replaceLineCount + 1;
-		int endIndex = startLine + newLineCount + 1;
-		System.arraycopy(lineWidth, startIndex, lineWidth, endIndex, lineCount - startIndex);
-		System.arraycopy(lineHeight, startIndex, lineHeight, endIndex, lineCount - startIndex);
-		for (int i = startLine; i < endIndex; i++) {
-			lineWidth[i] = lineHeight[i] = -1;
-		}
-		for (int i = lineCount + delta; i < lineCount; i++) {
-			lineWidth[i] = lineHeight[i] = -1;
-		}
-		if (layouts != null) {
-			int layoutStartLine = startLine - topIndex;
-			int layoutEndLine = layoutStartLine + replaceLineCount + 1;
-			for (int i = layoutStartLine; i < layoutEndLine; i++) {
-				if (0 <= i && i < layouts.length) {
-					if (layouts[i] != null) layouts[i].dispose();
-					layouts[i] = null;
-					if (bullets != null && bulletsIndices != null) bullets[i] = null;
-				}
-			}
-			if (delta > 0) {
-				for (int i = layouts.length - 1; i >= layoutEndLine; i--) {
-					if (0 <= i && i < layouts.length) {
-						endIndex = i + delta;
-						if (0 <= endIndex && endIndex < layouts.length) {
-							layouts[endIndex] = layouts[i];
-							layouts[i] = null;
-							if (bullets != null && bulletsIndices != null) {
-								bullets[endIndex] = bullets[i];
-								bulletsIndices[endIndex] = bulletsIndices[i];
-								bullets[i] = null;
-							}
-						} else {
-							if (layouts[i] != null) layouts[i].dispose();
-							layouts[i] = null;
-							if (bullets != null && bulletsIndices != null) bullets[i] = null;
-						}
-					}
-				}
-			} else if (delta < 0) {
-				for (int i = layoutEndLine; i < layouts.length; i++) {
-					if (0 <= i && i < layouts.length) {
-						endIndex = i + delta;
-						if (0 <= endIndex && endIndex < layouts.length) {
-							layouts[endIndex] = layouts[i];
-							layouts[i] = null;
-							if (bullets != null && bulletsIndices != null) {
-								bullets[endIndex] = bullets[i];
-								bulletsIndices[endIndex] = bulletsIndices[i];
-								bullets[i] = null;
-							}
-						} else {
-							if (layouts[i] != null) layouts[i].dispose();
-							layouts[i] = null;
-							if (bullets != null && bulletsIndices != null) bullets[i] = null;
-						}
-					}
-				}
-			}
-		}
-		if (replaceLineCount != 0 || newLineCount != 0) {
-			int startLineOffset = content.getOffsetAtLine(startLine);
-			if (startLineOffset != start) startLine++;
-			updateBullets(startLine, replaceLineCount, newLineCount, true);
-			if (lines != null) {
-				startIndex = startLine + replaceLineCount;
-				endIndex = startLine + newLineCount;
-				System.arraycopy(lines, startIndex, lines, endIndex, lineCount - startIndex);
-				for (int i = startLine; i < endIndex; i++) {
-					lines[i] = null;
-				}
-				for (int i = lineCount + delta; i < lineCount; i++) {
-					lines[i] = null;
-				}
-			}
-		}
-		lineCount += delta;
-		if (maxWidthLineIndex != -1 && startLine <= maxWidthLineIndex && maxWidthLineIndex <= startLine + replaceLineCount) {
-			maxWidth = 0;
-			maxWidthLineIndex = -1;
-			for (int i = 0; i < lineCount; i++) {
-				if (lineWidth[i] > maxWidth) {
-					maxWidth = lineWidth[i];
-					maxWidthLineIndex = i;
-				}
-			}
-		}
-	}
-}
-void updateBullets(int startLine, int replaceLineCount, int newLineCount, boolean update) {
-	if (bullets == null) return;
-	if (bulletsIndices != null) return;
-	for (int i = 0; i < bullets.length; i++) {
-		Bullet bullet = bullets[i];
-		int[] lines = bullet.removeIndices(startLine, replaceLineCount, newLineCount, update);
-		if (lines != null) {
-			if (redrawLines == null) {
-				redrawLines = lines;
-			} else {
-				int[] newRedrawBullets = new int[redrawLines.length + lines.length];
-				System.arraycopy(redrawLines, 0, newRedrawBullets, 0, redrawLines.length);
-				System.arraycopy(lines, 0, newRedrawBullets, redrawLines.length, lines.length);
-				redrawLines = newRedrawBullets;
-			}
-		}
-	}
-	int removed = 0;
-	for (int i = 0; i < bullets.length; i++) {
-		if (bullets[i].size() == 0) removed++;
-	}
-	if (removed > 0) {
-		if (removed == bullets.length) {
-			bullets = null;
-		} else {
-			Bullet[] newBulletsList = new Bullet[bullets.length - removed];
-			for (int i = 0, j = 0; i < bullets.length; i++) {
-				Bullet bullet = bullets[i];
-				if (bullet.size() > 0) newBulletsList[j++] = bullet;
-			}
-			bullets = newBulletsList;
-		}
-	}
-}
-void updateRanges(int start, int replaceCharCount, int newCharCount) {
-	if (styleCount == 0 || (replaceCharCount == 0 && newCharCount == 0)) return;
-	if (ranges != null) {
-		int rangeCount = styleCount << 1;
-		int modifyStart = getRangeIndex(start, -1, rangeCount);
-		if (modifyStart == rangeCount) return;
-		int end = start + replaceCharCount;
-		int modifyEnd = getRangeIndex(end, modifyStart - 1, rangeCount);
-		int offset = newCharCount - replaceCharCount;
-		if (modifyStart == modifyEnd && ranges[modifyStart] < start && end < ranges[modifyEnd] + ranges[modifyEnd + 1]) {
-			if (newCharCount == 0) {
-				ranges[modifyStart + 1] -= replaceCharCount;
-				modifyEnd += 2;
-			} else {
-				if (rangeCount + 2 > ranges.length) {
-					int[] newRanges = new int[ranges.length + (GROW << 1)];
-					System.arraycopy(ranges, 0, newRanges, 0, rangeCount);
-					ranges = newRanges;
-					StyleRange[] newStyles = new StyleRange[styles.length + GROW];
-					System.arraycopy(styles, 0, newStyles, 0, styleCount);
-					styles = newStyles;
-				}
-				System.arraycopy(ranges, modifyStart + 2, ranges, modifyStart + 4, rangeCount - (modifyStart + 2));
-				System.arraycopy(styles, (modifyStart + 2) >> 1, styles, (modifyStart + 4) >> 1, styleCount - ((modifyStart + 2) >> 1));
-				ranges[modifyStart + 3] = ranges[modifyStart] + ranges[modifyStart + 1] - end;
-				ranges[modifyStart + 2] = start + newCharCount;
-				ranges[modifyStart + 1] = start - ranges[modifyStart];
-				styles[(modifyStart >> 1) + 1] = styles[modifyStart >> 1]; 
-				rangeCount += 2;
-				styleCount++;
-				modifyEnd += 4;
-			}
-			if (offset != 0) {
-				for (int i = modifyEnd; i < rangeCount; i += 2) {
-					ranges[i] += offset;
-				}
-			}
-		} else {
-			if (ranges[modifyStart] < start && start < ranges[modifyStart] + ranges[modifyStart + 1]) {
-				ranges[modifyStart + 1] = start - ranges[modifyStart];
-				modifyStart += 2;
-			}
-			if (modifyEnd < rangeCount && ranges[modifyEnd] < end && end < ranges[modifyEnd] + ranges[modifyEnd + 1]) {
-				ranges[modifyEnd + 1] = ranges[modifyEnd] + ranges[modifyEnd + 1] - end;
-				ranges[modifyEnd] = end;
-			}
-			if (offset != 0) {
-				for (int i = modifyEnd; i < rangeCount; i += 2) {
-					ranges[i] += offset;
-				}
-			}
-			System.arraycopy(ranges, modifyEnd, ranges, modifyStart, rangeCount - modifyEnd);
-			System.arraycopy(styles, modifyEnd >> 1, styles, modifyStart >> 1, styleCount - (modifyEnd >> 1));
-			styleCount -= (modifyEnd - modifyStart) >> 1;
-		}
-	} else {
-		int modifyStart = getRangeIndex(start, -1, styleCount);
-		if (modifyStart == styleCount) return;
-		int end = start + replaceCharCount;
-		int modifyEnd = getRangeIndex(end, modifyStart - 1, styleCount);
-		int offset = newCharCount - replaceCharCount;
-		if (modifyStart == modifyEnd && styles[modifyStart].start < start && end < styles[modifyEnd].start + styles[modifyEnd].length) {
-			if (newCharCount == 0) {
-				styles[modifyStart].length -= replaceCharCount;
-				modifyEnd++;
-			} else {
-				if (styleCount + 1 > styles.length) {
-					StyleRange[] newStyles = new StyleRange[styles.length + GROW];
-					System.arraycopy(styles, 0, newStyles, 0, styleCount);
-					styles = newStyles;
-				}
-				System.arraycopy(styles, modifyStart + 1, styles, modifyStart + 2, styleCount - (modifyStart + 1));
-				styles[modifyStart + 1] = (StyleRange)styles[modifyStart].clone();
-				styles[modifyStart + 1].length = styles[modifyStart].start + styles[modifyStart].length - end;
-				styles[modifyStart + 1].start = start + newCharCount;
-				styles[modifyStart].length = start - styles[modifyStart].start;
-				styleCount++;
-				modifyEnd += 2;
-			}
-			if (offset != 0) {
-				for (int i = modifyEnd; i < styleCount; i++) {
-					styles[i].start += offset;
-				}
-			}
-		} else {
-			if (styles[modifyStart].start < start && start < styles[modifyStart].start + styles[modifyStart].length) {
-				styles[modifyStart].length = start - styles[modifyStart].start;
-				modifyStart++;
-			}
-			if (modifyEnd < styleCount && styles[modifyEnd].start < end && end < styles[modifyEnd].start + styles[modifyEnd].length) {
-				styles[modifyEnd].length = styles[modifyEnd].start + styles[modifyEnd].length - end;
-				styles[modifyEnd].start = end;
-			}
-			if (offset != 0) {
-				for (int i = modifyEnd; i < styleCount; i++) {
-					styles[i].start += offset;
-				}
-			}
-			System.arraycopy(styles, modifyEnd, styles, modifyStart, styleCount - modifyEnd);
-			styleCount -= modifyEnd - modifyStart;
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableCursor.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableCursor.java
deleted file mode 100644
index 71f08ca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableCursor.java
+++ /dev/null
@@ -1,684 +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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-/**
- * A TableCursor provides a way for the user to navigate around a Table
- * using the keyboard.  It also provides a mechanism for selecting an
- * individual cell in a table.
- * 
- * <p> Here is an example of using a TableCursor to navigate to a cell and then edit it.
- * 
- * <code><pre>
- *  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 &lt; 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();
- *						}
- *					}
- *				});
- *				editor.setEditor(text);
- *				text.setFocus();
- *			}
- *		});
- *		// Hide the TableCursor when the user hits the "MOD1" or "MOD2" 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.MOD1 || 
- *				    e.keyCode == SWT.MOD2 || 
- *				    (e.stateMask & SWT.MOD1) != 0 || 
- *				    (e.stateMask & SWT.MOD2) != 0) {
- *					cursor.setVisible(false);
- *				}
- *			}
- *		});
- *		// Show the TableCursor when the user releases the "MOD2" or "MOD1" key.
- *		// This signals the end of the multiple selection task.
- *		table.addKeyListener(new KeyAdapter() {
- *			public void keyReleased(KeyEvent e) {
- *				if (e.keyCode == SWT.MOD1 && (e.stateMask & SWT.MOD2) != 0) return;
- *				if (e.keyCode == SWT.MOD2 && (e.stateMask & SWT.MOD1) != 0) return;
- *				if (e.keyCode != SWT.MOD1 && (e.stateMask & SWT.MOD1) != 0) return;
- *				if (e.keyCode != SWT.MOD2 && (e.stateMask & SWT.MOD2) != 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();
- *	}
- * </pre></code>
- * 
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>BORDER</dd>
- * <dt><b>Events:</b></dt>
- * <dd>Selection, DefaultSelection</dd>
- * </dl>
- * 
- * @since 2.0
- * 
- */
-public class TableCursor extends Canvas {
-	Table table;
-	TableItem row = null;
-	TableColumn column = null;
-	Listener tableListener, resizeListener, disposeItemListener, disposeColumnListener;
-	
-	// By default, invert the list selection colors
-	static final int BACKGROUND = SWT.COLOR_LIST_SELECTION_TEXT;
-	static final int FOREGROUND = SWT.COLOR_LIST_SELECTION;
-
-/**
- * Constructs a new instance of this class given its parent
- * table and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a Table control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT#BORDER
- * @see Widget#checkSubclass()
- * @see Widget#getStyle()
- */
-public TableCursor(Table parent, int style) {
-	super(parent, style);
-	table = parent;
-	setBackground(null);
-	setForeground(null);
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose :
-					dispose(event);
-					break;
-				case SWT.FocusIn :
-				case SWT.FocusOut :
-					redraw();
-					break;
-				case SWT.KeyDown :
-					keyDown(event);
-					break;
-				case SWT.Paint :
-					paint(event);
-					break;
-				case SWT.Traverse :
-					traverse(event);
-					break;
-			}
-		}
-	};
-	int[] events = new int[] {SWT.Dispose, SWT.FocusIn, SWT.FocusOut, SWT.KeyDown, SWT.Paint, SWT.Traverse};
-	for (int i = 0; i < events.length; i++) {
-		addListener(events[i], listener);
-	}
-
-	tableListener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.MouseDown :
-					tableMouseDown(event);
-					break;
-				case SWT.FocusIn :
-					tableFocusIn(event);
-					break;
-			}
-		}
-	};
-	table.addListener(SWT.FocusIn, tableListener);
-	table.addListener(SWT.MouseDown, tableListener);
-
-	disposeItemListener = new Listener() {
-		public void handleEvent(Event event) {
-			row = null;
-			column = null;
-			_resize();
-		}
-	};
-	disposeColumnListener = new Listener() {
-		public void handleEvent(Event event) {
-			row = null;
-			column = null;
-			_resize();
-		}
-	};
-	resizeListener = new Listener() {
-		public void handleEvent(Event event) {
-			_resize();
-		}
-	};
-	ScrollBar hBar = table.getHorizontalBar();
-	if (hBar != null) {
-		hBar.addListener(SWT.Selection, resizeListener);
-	}
-	ScrollBar vBar = table.getVerticalBar();
-	if (vBar != null) {
-		vBar.addListener(SWT.Selection, resizeListener);
-	}
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when the receiver's selection changes, by sending
- * it one of the messages defined in the <code>SelectionListener</code>
- * interface.
- * <p>
- * When <code>widgetSelected</code> is called, the item field of the event object is valid.
- * If the receiver has <code>SWT.CHECK</code> style set and the check selection changes,
- * the event object detail field contains the value <code>SWT.CHECK</code>.
- * <code>widgetDefaultSelected</code> is typically called when an item is double-clicked.
- * </p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see SelectionEvent
- * @see #removeSelectionListener(SelectionListener)
- * 
- */
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null)
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener(listener);
-	addListener(SWT.Selection, typedListener);
-	addListener(SWT.DefaultSelection, typedListener);
-}
-
-void dispose(Event event) {
-	table.removeListener(SWT.FocusIn, tableListener);
-	table.removeListener(SWT.MouseDown, tableListener);
-	if (column != null) {
-		column.removeListener(SWT.Dispose, disposeColumnListener);
-		column.removeListener(SWT.Move, resizeListener);
-		column.removeListener(SWT.Resize, resizeListener);
-		column = null;
-	}
-	if (row != null) {
-		row.removeListener(SWT.Dispose, disposeItemListener);
-		row = null;
-	}
-	ScrollBar hBar = table.getHorizontalBar();
-	if (hBar != null) {
-		hBar.removeListener(SWT.Selection, resizeListener);
-	}
-	ScrollBar vBar = table.getVerticalBar();
-	if (vBar != null) {
-		vBar.removeListener(SWT.Selection, resizeListener);
-	}
-}
-
-void keyDown(Event event) {
-	if (row == null) return;
-	switch (event.character) {
-		case SWT.CR :
-			notifyListeners(SWT.DefaultSelection, new Event());
-			return;
-	}
-	int rowIndex = table.indexOf(row);
-	int columnIndex = column == null ? 0 : table.indexOf(column);
-	switch (event.keyCode) {
-		case SWT.ARROW_UP :
-			setRowColumn(Math.max(0, rowIndex - 1), columnIndex, true);
-			break;
-		case SWT.ARROW_DOWN :
-			setRowColumn(Math.min(rowIndex + 1, table.getItemCount() - 1), columnIndex, true);
-			break;
-        case SWT.ARROW_LEFT :
-        case SWT.ARROW_RIGHT :
-        	{	
-        		int columnCount = table.getColumnCount();
-        		if (columnCount == 0) break;
-        		int[] order = table.getColumnOrder();
-        		int index = 0;
-        		while (index < order.length) {
-        			if (order[index] == columnIndex) break;
-        			index++;
-				}
-				if (index == order.length) index = 0;
-		        int leadKey = (getStyle() & SWT.RIGHT_TO_LEFT) != 0 ? SWT.ARROW_RIGHT : SWT.ARROW_LEFT;
-		        if (event.keyCode == leadKey) {
-		           setRowColumn(rowIndex, order[Math.max(0, index - 1)], true);
-		        } else {
-		           setRowColumn(rowIndex, order[Math.min(columnCount - 1, index + 1)], true);
-		        }
-		        break;
-        	}
-		case SWT.HOME :
-			setRowColumn(0, columnIndex, true);
-			break;
-		case SWT.END :
-			{
-				int i = table.getItemCount() - 1;
-				setRowColumn(i, columnIndex, true);
-				break;
-			}
-		case SWT.PAGE_UP :
-			{
-				int index = table.getTopIndex();
-				if (index == rowIndex) {
-					Rectangle rect = table.getClientArea();
-					TableItem item = table.getItem(index);
-					Rectangle itemRect = item.getBounds(0);
-					rect.height -= itemRect.y;
-					int height = table.getItemHeight();
-					int page = Math.max(1, rect.height / height);
-					index = Math.max(0, index - page + 1);
-				}
-				setRowColumn(index, columnIndex, true);
-				break;
-			}
-		case SWT.PAGE_DOWN :
-			{
-				int index = table.getTopIndex();
-				Rectangle rect = table.getClientArea();
-				TableItem item = table.getItem(index);
-				Rectangle itemRect = item.getBounds(0);
-				rect.height -= itemRect.y;
-				int height = table.getItemHeight();
-				int page = Math.max(1, rect.height / height);
-				int end = table.getItemCount() - 1;
-				index = Math.min(end, index + page - 1);
-				if (index == rowIndex) {
-					index = Math.min(end, index + page - 1);
-				}
-				setRowColumn(index, columnIndex, true);
-				break;
-			}
-	}
-}
-
-void paint(Event event) {
-	if (row == null) return;
-	int columnIndex = column == null ? 0 : table.indexOf(column);
-	GC gc = event.gc;
-	Display display = getDisplay();
-	gc.setBackground(getBackground());
-	gc.setForeground(getForeground());
-	gc.fillRectangle(event.x, event.y, event.width, event.height);
-	int x = 0;
-	Point size = getSize();
-	Image image = row.getImage(columnIndex);
-	if (image != null) {
-		Rectangle imageSize = image.getBounds();
-		int imageY = (size.y - imageSize.height) / 2;
-		gc.drawImage(image, x, imageY);
-		x += imageSize.width;
-	}
-	String text = row.getText(columnIndex);
-	if (text != "") { //$NON-NLS-1$
-		Rectangle bounds = row.getBounds(columnIndex);
-		Point extent = gc.stringExtent(text);
-		// Temporary code - need a better way to determine table trim
-		String platform = SWT.getPlatform();
-		if ("win32".equals(platform)) { //$NON-NLS-1$
-			if (table.getColumnCount() == 0 || columnIndex == 0) {
-				x += 2; 
-			} else {
-				int alignmnent = column.getAlignment();
-				switch (alignmnent) {
-					case SWT.LEFT:
-						x += 6;
-						break;
-					case SWT.RIGHT:
-						x = bounds.width - extent.x - 6;
-						break;
-					case SWT.CENTER:
-						x += (bounds.width - x - extent.x) / 2;
-						break;
-				}
-			}
-		}  else {
-			if (table.getColumnCount() == 0) {
-				x += 5; 
-			} else {
-				int alignmnent = column.getAlignment();
-				switch (alignmnent) {
-					case SWT.LEFT:
-						x += 5;
-						break;
-					case SWT.RIGHT:
-						x = bounds.width- extent.x - 2;
-						break;
-					case SWT.CENTER:
-						x += (bounds.width - x - extent.x) / 2 + 2;
-						break;
-				}
-			}
-		}
-		int textY = (size.y - extent.y) / 2;
-		gc.drawString(text, x, textY);
-	}
-	if (isFocusControl()) {
-		gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-		gc.drawFocus(0, 0, size.x, size.y);
-	}
-}
-
-void tableFocusIn(Event event) {
-	if (isDisposed())
-		return;
-	if (isVisible())
-		setFocus();
-}
-
-void tableMouseDown(Event event) {
-	if (isDisposed() || !isVisible()) return;
-	Point pt = new Point(event.x, event.y);
-	int lineWidth = table.getLinesVisible() ? table.getGridLineWidth() : 0;
-	TableItem item = table.getItem(pt);
-	if ((table.getStyle() & SWT.FULL_SELECTION) != 0) {
-		if (item == null) return;
-	} else {
-		int start = item != null ? table.indexOf(item) : table.getTopIndex();
-		int end = table.getItemCount();
-		Rectangle clientRect = table.getClientArea();
-		for (int i = start; i < end; i++) {
-			TableItem nextItem = table.getItem(i);
-			Rectangle rect = nextItem.getBounds(0);
-			if (pt.y >= rect.y && pt.y < rect.y + rect.height + lineWidth) {
-				item = nextItem;
-				break;
-			}
-			if (rect.y > clientRect.y + clientRect.height) 	return;
-		}
-		if (item == null) return;
-	}
-	TableColumn newColumn = null;
-	int columnCount = table.getColumnCount();
-	if (columnCount > 0) {
-		for (int i = 0; i < columnCount; i++) {
-			Rectangle rect = item.getBounds(i);
-			rect.width += lineWidth;
-			rect.height += lineWidth;
-			if (rect.contains(pt)) {
-				newColumn = table.getColumn(i);
-				break;
-			}
-		}
-		if (newColumn == null) {
-			newColumn = table.getColumn(0);
-		}
-	}
-	setRowColumn(item, newColumn, true);
-	setFocus();
-	return;
-}
-
-void traverse(Event event) {
-	switch (event.detail) {
-		case SWT.TRAVERSE_ARROW_NEXT :
-		case SWT.TRAVERSE_ARROW_PREVIOUS :
-		case SWT.TRAVERSE_RETURN :
-			event.doit = false;
-			return;
-	}
-	event.doit = true;
-}
-void setRowColumn(int row, int column, boolean notify) {
-	TableItem item = row == -1 ? null : table.getItem(row);
-	TableColumn col = column == -1 || table.getColumnCount() == 0 ? null : table.getColumn(column);
-	setRowColumn(item, col, notify);
-}
-void setRowColumn(TableItem row, TableColumn column, boolean notify) {
-	if (this.row == row && this.column == column) {
-		return;
-	}
-	if (this.row != null && this.row != row) {
-		this.row.removeListener(SWT.Dispose, disposeItemListener);
-		this.row = null;
-	}
-	if (this.column != null && this.column != column) {
-		this.column.removeListener(SWT.Dispose, disposeColumnListener);
-		this.column.removeListener(SWT.Move, resizeListener);
-		this.column.removeListener(SWT.Resize, resizeListener);
-		this.column = null;
-	}
-	if (row != null) {
-		if (this.row != row) {
-			this.row = row;
-			row.addListener(SWT.Dispose, disposeItemListener);
-			table.showItem(row);
-		}
-		if (this.column != column && column != null) {
-			this.column = column;
-			column.addListener(SWT.Dispose, disposeColumnListener);
-			column.addListener(SWT.Move, resizeListener);
-			column.addListener(SWT.Resize, resizeListener);
-			table.showColumn(column);
-		}
-		int columnIndex = column == null ? 0 : table.indexOf(column);
-		setBounds(row.getBounds(columnIndex));
-		redraw();
-		if (notify) {
-			notifyListeners(SWT.Selection, new Event());
-		}
-	}
-}
-
-public void setVisible(boolean visible) {
-	checkWidget();
-	if (visible) _resize();
-	super.setVisible(visible);
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when the receiver's selection changes.
- *
- * @param listener the listener which should no longer be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see #addSelectionListener(SelectionListener)
- * 
- * @since 3.0
- */
-public void removeSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) {
-		SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	}
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection, listener);	
-}
-
-void _resize() {
-	if (row == null) {
-		setBounds(-200, -200, 0, 0);
-	} else {
-		int columnIndex = column == null ? 0 : table.indexOf(column);
-		setBounds(row.getBounds(columnIndex));
-	}
-}
-/**
- * Returns the column over which the TableCursor is positioned.
- *
- * @return the column for the current position
- *
- * @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 int getColumn() {
-	checkWidget();
-	return column == null ? 0 : table.indexOf(column);
-}
-/**
- * Returns the row over which the TableCursor is positioned.
- *
- * @return the item for the current position
- *
- * @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 TableItem getRow() {
-	checkWidget();
-	return row;
-}
-public void setBackground (Color color) {
-	if (color == null) color = getDisplay().getSystemColor(BACKGROUND);
-	super.setBackground(color);
-	redraw();
-}
-public void setForeground (Color color) {
-	if (color == null) color = getDisplay().getSystemColor(FOREGROUND);
-	super.setForeground(color);
-	redraw();
-}
-/**
- * Positions the TableCursor over the cell at the given row and column in the parent table. 
- *
- * @param row the index of the row for the cell to select
- * @param column the index of column for the cell to select
- *
- * @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 setSelection(int row, int column) {
-	checkWidget();
-	int columnCount = table.getColumnCount();
-	int maxColumnIndex =  columnCount == 0 ? 0 : columnCount - 1;
-	if (row < 0
-	    || row >= table.getItemCount()
-		|| column < 0
-		|| column > maxColumnIndex)
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	setRowColumn(row, column, false);
-}
-/**
- * Positions the TableCursor over the cell at the given row and column in the parent table. 
- *
- * @param row the TableItem of the row for the cell to select
- * @param column the index of column for the cell to select
- *
- * @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 setSelection(TableItem row, int column) {
-	checkWidget();
-	int columnCount = table.getColumnCount();
-	int maxColumnIndex =  columnCount == 0 ? 0 : columnCount - 1;
-	if (row == null
-		|| row.isDisposed()
-		|| column < 0
-		|| column > maxColumnIndex)
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	setRowColumn(table.indexOf(row), column, false);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableEditor.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableEditor.java
deleted file mode 100755
index 9a8f52e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableEditor.java
+++ /dev/null
@@ -1,227 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
-*
-* A TableEditor is a manager for a Control that appears above a cell in a Table and tracks with the
-* moving and resizing of that cell.  It can be used to display a text widget above a cell
-* in a Table so that the user can edit the contents of that cell.  It can also be used to display
-* a button that can launch a dialog for modifying the contents of the associated cell.
-*
-* <p> Here is an example of using a TableEditor:
-* <code><pre>
-*	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 &lt; 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 e) {
-*					Text text = (Text)editor.getEditor();
-*					editor.getItem().setText(EDITABLECOLUMN, text.getText());
-*				}
-*			});
-*			newEditor.selectAll();
-*			newEditor.setFocus();
-*			editor.setEditor(newEditor, item, EDITABLECOLUMN);
-*		}
-*	});
-* </pre></code>
-*/
-public class TableEditor extends ControlEditor {
-	Table table;
-	TableItem item;
-	int column = -1;
-	ControlListener columnListener;
-/**
-* Creates a TableEditor for the specified Table.
-*
-* @param table the Table Control above which this editor will be displayed
-*
-*/
-public TableEditor (Table table) {
-	super(table);
-	this.table = table;
-	
-	columnListener = new ControlListener() {
-		public void controlMoved(ControlEvent e){
-			_resize ();
-		}
-		public void controlResized(ControlEvent e){
-			_resize ();
-		}
-	};
-	
-	// To be consistent with older versions of SWT, grabVertical defaults to true
-	grabVertical = true;
-}
-Rectangle computeBounds () {
-	if (item == null || column == -1 || item.isDisposed()) return new Rectangle(0, 0, 0, 0);
-	Rectangle cell = item.getBounds(column);
-	Rectangle rect = item.getImageBounds(column);
-	cell.x = rect.x + rect.width;
-	cell.width -= rect.width;
-	Rectangle area = table.getClientArea();
-	if (cell.x < area.x + area.width) {
-		if (cell.x + cell.width > area.x + area.width) {
-			cell.width = area.x + area.width - cell.x;
-		}
-	}
-	Rectangle editorRect = new Rectangle(cell.x, cell.y, minimumWidth, minimumHeight);
-
-	if (grabHorizontal) {
-		editorRect.width = Math.max(cell.width, minimumWidth);
-	}
-	
-	if (grabVertical) {
-		editorRect.height = Math.max(cell.height, minimumHeight);
-	}
-	
-	if (horizontalAlignment == SWT.RIGHT) {
-		editorRect.x += cell.width - editorRect.width;
-	} else if (horizontalAlignment == SWT.LEFT) {
-		// do nothing - cell.x is the right answer
-	} else { // default is CENTER
-		editorRect.x += (cell.width - editorRect.width)/2;
-	}
-	
-	if (verticalAlignment == SWT.BOTTOM) {
-		editorRect.y += cell.height - editorRect.height;
-	} else if (verticalAlignment == SWT.TOP) {
-		// do nothing - cell.y is the right answer
-	} else { // default is CENTER
-		editorRect.y += (cell.height - editorRect.height)/2;
-	}
-	return editorRect;
-}
-/**
- * Removes all associations between the TableEditor and the cell in the table.  The
- * Table and the editor Control are <b>not</b> disposed.
- */
-public void dispose () {
-	if (this.column > -1 && this.column < table.getColumnCount()){
-		TableColumn tableColumn = table.getColumn(this.column);
-		tableColumn.removeControlListener(columnListener);
-	}
-	columnListener = null;
-	table = null;
-	item = null;
-	column = -1;
-	
-	super.dispose();
-}
-/**
-* Returns the zero based index of the column of the cell being tracked by this editor.
-*
-* @return the zero based index of the column of the cell being tracked by this editor
-*/
-public int getColumn () {
-	return column;
-}
-/**
-* Returns the TableItem for the row of the cell being tracked by this editor.
-*
-* @return the TableItem for the row of the cell being tracked by this editor
-*/
-public TableItem getItem () {
-	return item;
-}
-
-/**
-* Sets the zero based index of the column of the cell being tracked by this editor.
-* 
-* @param column the zero based index of the column of the cell being tracked by this editor 
-*/
-public void setColumn(int column) {
-	int columnCount = table.getColumnCount();
-	// Separately handle the case where the table has no TableColumns.
-	// In this situation, there is a single default column.
-	if (columnCount == 0) {
-		this.column = (column == 0) ? 0 : -1;
-		_resize();
-		return;
-	}
-	if (this.column > -1 && this.column < columnCount){
-		TableColumn tableColumn = table.getColumn(this.column);
-		tableColumn.removeControlListener(columnListener);
-		this.column = -1;
-	}
-
-	if (column < 0  || column >= table.getColumnCount()) return;	
-		
-	this.column = column;
-	TableColumn tableColumn = table.getColumn(this.column);
-	tableColumn.addControlListener(columnListener);
-	_resize();
-}
-public void setItem (TableItem item) {	
-	this.item = item;
-	_resize();
-}
-
-/**
-* Specify the Control that is to be displayed and the cell in the table that it is to be positioned above.
-*
-* <p>Note: The Control provided as the editor <b>must</b> be created with its parent being the Table control
-* specified in the TableEditor constructor.
-* 
-* @param editor the Control that is displayed above the cell being edited
-* @param item the TableItem for the row of the cell being tracked by this editor
-* @param column the zero based index of the column of the cell being tracked by this editor
-*/
-public void setEditor (Control editor, TableItem item, int column) {
-	setItem(item);
-	setColumn(column);
-	setEditor(editor);
-}
-void _resize () {
-	if (table.isDisposed()) return;
-	if (item == null || item.isDisposed()) return;
-	int columnCount = table.getColumnCount();
-	if (columnCount == 0 && column != 0) return;
-	if (columnCount > 0 && (column < 0 || column >= columnCount)) return;
-	super._resize();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTree.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTree.java
deleted file mode 100755
index 6d9a9dd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTree.java
+++ /dev/null
@@ -1,814 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/** 
- * A TableTree is a selectable user interface object
- * that displays a hierarchy of items, and issues
- * notification when an item is selected.
- * A TableTree may be single or multi select.
- * <p>
- * The item children that may be added to instances of this class
- * must be of type <code>TableTreeItem</code>.
- * </p><p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to add <code>Control</code> children to it,
- * or set a layout on it.
- * </p><p>
- * <dl>
- *	<dt><b>Styles:</b> <dd> SINGLE, MULTI, CHECK, FULL_SELECTION
- *	<dt><b>Events:</b> <dd> Selection, DefaultSelection, Collapse, Expand
- * </dl>
- * <p>
- * Note: Only one of the styles SINGLE, and MULTI may be specified.
- * </p>
- * 
- * @deprecated As of 3.1 use Tree, TreeItem and TreeColumn
- */
-public class TableTree extends Composite {
-	Table table;
-	TableTreeItem[] items = EMPTY_ITEMS;
-	Image plusImage, minusImage, sizeImage;
-
-	/*
-	* TableTreeItems are not treated as children but rather as items.
-	* When the TableTree is disposed, all children are disposed because 
-	* TableTree inherits this behaviour from Composite.  The items
-	* must be disposed separately.  Because TableTree is not part of
-	* the org.eclipse.swt.widgets package, the method releaseWidget can 
-	* not be overriden (this is how items are disposed of in Table and Tree).
-	* Instead, the items are disposed of in response to the dispose event on the
-	* TableTree.  The "inDispose" flag is used to distinguish between disposing
-	* one TableTreeItem (e.g. when removing an entry from the TableTree) and 
-	* disposing the entire TableTree.
-	*/
-	boolean inDispose = false;
-	
-	static final TableTreeItem[] EMPTY_ITEMS = new TableTreeItem [0];	
-	static final String[] EMPTY_TEXTS = new String [0];	
-	static final Image[] EMPTY_IMAGES = new Image [0];
-	static final String ITEMID = "TableTreeItemID"; //$NON-NLS-1$
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#SINGLE
- * @see SWT#MULTI
- * @see SWT#CHECK
- * @see SWT#FULL_SELECTION
- * @see #getStyle
- */
-public TableTree(Composite parent, int style) {
-	super(parent, checkStyle (style));
-	table = new Table(this, style);
-	Listener tableListener = new Listener() {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-			case SWT.MouseDown: onMouseDown(e); break;
-			case SWT.Selection: onSelection(e); break;
-			case SWT.DefaultSelection: onSelection(e); break;
-			case SWT.KeyDown: onKeyDown(e); break;
-			}
-		}
-	};
-	int[] tableEvents = new int[]{SWT.MouseDown, 
-		                           SWT.Selection, 
-		                           SWT.DefaultSelection, 
-		                           SWT.KeyDown};
-	for (int i = 0; i < tableEvents.length; i++) {
-		table.addListener(tableEvents[i], tableListener);
-	}
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-			case SWT.Dispose: onDispose(e); break;
-			case SWT.Resize:  onResize(e); break;
-			case SWT.FocusIn: onFocusIn(e); break;
-			}
-		}
-	};
-	int[] events = new int[]{SWT.Dispose, 
-		                      SWT.Resize, 
-		                      SWT.FocusIn};
-	for (int i = 0; i < events.length; i++) {
-		addListener(events[i], listener);
-	}	                      
-}
-
-int addItem(TableTreeItem item, int index) {
-	if (index < 0 || index > items.length) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	TableTreeItem[] newItems = new TableTreeItem[items.length + 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	newItems[index] = item;
-	System.arraycopy(items, index, newItems, index + 1, items.length - index); 
-	items = newItems;
-
-	/* Return the index in the table where this table should be inserted */
-	if (index == items.length - 1 ) 
-		return table.getItemCount();
-	else 
-		return table.indexOf(items[index+1].tableItem);
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when the receiver's selection changes, by sending
- * it one of the messages defined in the <code>SelectionListener</code>
- * interface.
- * <p>
- * When <code>widgetSelected</code> is called, the item field of the event object is valid.
- * If the receiver has <code>SWT.CHECK</code> style set and the check selection changes,
- * the event object detail field contains the value <code>SWT.CHECK</code>.
- * <code>widgetDefaultSelected</code> is typically called when an item is double-clicked.
- * The item field of the event object is valid for default selection, but the detail field is not used.
- * </p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see #removeSelectionListener
- * @see SelectionEvent
- */
-public void addSelectionListener(SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Selection,typedListener);
-	addListener (SWT.DefaultSelection,typedListener);
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when an item in the receiver is expanded or collapsed
- * by sending it one of the messages defined in the <code>TreeListener</code>
- * interface.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see TreeListener
- * @see #removeTreeListener
- */
-public void addTreeListener(TreeListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);
-	addListener (SWT.Expand, typedListener);
-	addListener (SWT.Collapse, typedListener);
-}
-private static int checkStyle (int style) {
-	int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT; 
-	style = style & mask;
-	return style;
-} 
-public Point computeSize (int wHint, int hHint, boolean changed) {
-	checkWidget();
-	return table.computeSize (wHint, hHint, changed);
-}
-public Rectangle computeTrim (int x, int y, int width, int height) {
-	checkWidget();
-	return table.computeTrim(x, y, width, height);
-}
-
-/**
- * Deselects all items.
- * <p>
- * If an item is selected, it is deselected.
- * If an item is not selected, it remains unselected.
- *
- * @exception SWTException <ul>
- *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed
- * </ul>
- */
-public void deselectAll () {
-	checkWidget();
-	table.deselectAll();
-}
-
-/* Expand upward from the specified leaf item. */
-void expandItem (TableTreeItem item) {
-	if (item == null) return;
-	expandItem(item.parentItem);
-	if (!item.getVisible()) item.setVisible(true);
-	if ( !item.expanded && item.items.length > 0) {
-		item.setExpanded(true);
-		Event event = new Event();
-		event.item = item;
-		notifyListeners(SWT.Expand, event);
-	}
-}
-public Color getBackground () {
-	// This method must be overriden otherwise, in a TableTree in which the first
-	// item has no sub items, a grey (Widget background colour) square will appear in
-	// the first column of the first item.
-	// It is not possible in the constructor to set the background of the TableTree
-	// to be the same as the background of the Table because this interferes with 
-	// the TableTree adapting to changes in the System color settings.
-	return table.getBackground();
-}
-public Rectangle getClientArea () {
-	return table.getClientArea();
-}
-public Color getForeground () {
-	return table.getForeground();
-}
-public Font getFont () {
-	return table.getFont();
-}
-/**
- * Gets the number of items.
- * <p>
- * @return the number of items in the widget
- */
-public int getItemCount () {
-	//checkWidget();
-	return items.length;
-}
-
-/**
- * Gets the height of one item.
- * <p>
- * This operation will fail if the height of
- * one item could not be queried from the OS.
- *
- * @return the height of one item in the widget
- *
- * @exception SWTException <ul>
- *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed
- * </ul>
- */
-public int getItemHeight () {
-	checkWidget();
-	return table.getItemHeight();
-}
-
-/**
- * Gets the items.
- * <p>
- * @return the items in the widget
- */
-public TableTreeItem [] getItems () {
-	//checkWidget();
-	TableTreeItem[] newItems = new TableTreeItem[items.length];
-	System.arraycopy(items, 0, newItems, 0, items.length);
-	return newItems;
-}
-
-/**
- * Gets the selected items.
- * <p>
- * This operation will fail if the selected
- * items cannot be queried from the OS.
- *
- * @return the selected items in the widget
- *
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public TableTreeItem [] getSelection () {
-	checkWidget();
-	TableItem[] selection = table.getSelection();
-	TableTreeItem [] result = new TableTreeItem[selection.length];
-	for (int i = 0; i < selection.length; i++){
-		result[i] = (TableTreeItem) selection[i].getData(ITEMID);
-	}
-	return result;
-}
-
-/**
- * Gets the number of selected items.
- * <p>
- * This operation will fail if the number of selected
- * items cannot be queried from the OS.
- *
- * @return the number of selected items in the widget
- *
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public int getSelectionCount () {
-	checkWidget();
-	return table.getSelectionCount();
-}
-
-public int getStyle () {
-	checkWidget();
-	return table.getStyle();
-}
-
-/**
- * Returns the underlying Table control.
- *
- * @return the underlying Table control
- */
-public Table getTable () {
-	//checkWidget();
-	return table;
-}
-
-void createImages () {
-	
-	int itemHeight = sizeImage.getBounds().height;
-	// Calculate border around image. 
-	// At least 9 pixels are needed to draw the image
-	// Leave at least a 6 pixel border.
-	int indent = Math.min(6, (itemHeight - 9) / 2);
-	indent = Math.max(0, indent);
-	int size = Math.max (10, itemHeight - 2 * indent); 
-	size = ((size + 1) / 2) * 2; // size must be an even number
-	int midpoint = indent + size / 2;
-	
-	Color foreground = getForeground();
-	Color plusMinus = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-	Color background = getBackground();
-	
-	/* Plus image */
-	PaletteData palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), plusMinus.getRGB()});
-	ImageData imageData = new ImageData(itemHeight, itemHeight, 4, palette);
-	imageData.transparentPixel = 1;
-	plusImage = new Image(getDisplay(), imageData);
-	GC gc = new GC(plusImage);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, itemHeight, itemHeight);
-	gc.setForeground(plusMinus);
-	gc.drawRectangle(indent, indent, size, size);
-	gc.setForeground(foreground);
-	gc.drawLine(midpoint, indent + 2, midpoint, indent + size - 2);
-	gc.drawLine(indent + 2, midpoint, indent + size - 2, midpoint);
-	gc.dispose();
-	
-	/* Minus image */
-	palette = new PaletteData(new RGB[]{foreground.getRGB(), background.getRGB(), plusMinus.getRGB()});
-	imageData = new ImageData(itemHeight, itemHeight, 4, palette);
-	imageData.transparentPixel = 1;
-	minusImage = new Image(getDisplay(), imageData);
-	gc = new GC(minusImage);
-	gc.setBackground(background);
-	gc.fillRectangle(0, 0, itemHeight, itemHeight);
-	gc.setForeground(plusMinus);
-	gc.drawRectangle(indent, indent, size, size);
-	gc.setForeground(foreground);
-	gc.drawLine(indent + 2, midpoint, indent + size - 2, midpoint);
-	gc.dispose();
-}
-
-Image getPlusImage() {
-	if (plusImage == null) createImages();
-	return plusImage;
-}
-
-Image getMinusImage() {
-	if (minusImage == null) createImages();
-	return minusImage;
-}
-
-/**
- * Gets the index of an item.
- * 
- * <p>The widget is searched starting at 0 until an
- * item is found that is equal to the search item.
- * If no item is found, -1 is returned.  Indexing
- * is zero based.  This index is relative to the parent only.
- *
- * @param item the search item
- * @return the index of the item or -1
- */
-public int indexOf (TableTreeItem item) {
-	//checkWidget();
-	for (int i = 0; i < items.length; i++) {
-		if (item == items[i]) return i;
-	}
-	return -1;
-}
-
-void onDispose(Event e) {
-	/*
-	 * Usually when an item is disposed, destroyItem will change the size of the items array
-	 * and dispose of the underlying table items.
-	 * Since the whole table tree is being disposed, this is not necessary.  For speed
-	 * the inDispose flag is used to skip over this part of the item dispose.
-	 */
-	inDispose = true;
-	for (int i = 0; i < items.length; i++) {
-		items[i].dispose();
-	}
-	inDispose = false;
-	if (plusImage != null) plusImage.dispose();
-	if (minusImage != null) minusImage.dispose();
-	if (sizeImage != null) sizeImage.dispose();
-	plusImage = minusImage = sizeImage = null;
-}
-
-void onResize(Event e) {
-	Point size = getSize();
-	table.setBounds(0, 0, size.x, size.y);
-}
-
-void onSelection(Event e) {
-	Event event = new Event();
-	TableItem tableItem = (TableItem)e.item;
-	TableTreeItem item = getItem(tableItem);
-    event.item = item;
-
-	if (e.type == SWT.Selection && e.detail == SWT.CHECK && item != null) {
-		event.detail = SWT.CHECK;
-		item.checked = tableItem.getChecked();
-	}
-	notifyListeners(e.type, event);
-}
-/**
- * Returns the item at the given, zero-relative index in the
- * receiver. Throws an exception if the index is out of range.
- *
- * @param index the index of the item to return
- * @return the item at the given index
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- * </ul>
- * @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>
- * 
- * @since 3.1
- */
-public TableTreeItem getItem (int index) {
-	checkWidget();
-	int count = items.length;
-	if (!(0 <= index && index < count)) SWT.error (SWT.ERROR_INVALID_RANGE);
-	return items [index];
-}
-
-/**
- * Returns the item at the given point in the receiver
- * or null if no such item exists. The point is in the
- * coordinate system of the receiver.
- *
- * @param point the point used to locate the item
- * @return the item at the given point
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the point is null</li>
- * </ul>
- * @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 TableTreeItem getItem(Point point) {
-	checkWidget();
-	TableItem item = table.getItem(point);
-	if (item == null) return null;
-	return getItem(item);
-	
-}
-TableTreeItem getItem(TableItem tableItem) {
-	if (tableItem == null) return null;
-	for (int i = 0; i < items.length; i++) {
-	    	TableTreeItem item = items[i].getItem(tableItem);
-	    	if (item != null) return item;
-	}
-	return null;
-}
-void onFocusIn (Event e) {
-	table.setFocus();
-}
-
-void onKeyDown (Event e) {
-	TableTreeItem[] selection = getSelection();
-	if (selection.length == 0) return;
-	TableTreeItem item = selection[0];
-	int type = 0;
-	if (e.keyCode == SWT.ARROW_RIGHT || e.keyCode == SWT.ARROW_LEFT) {
-		int trailKey = (getStyle() & SWT.MIRRORED) != 0 ? SWT.ARROW_LEFT : SWT.ARROW_RIGHT;
-		if (e.keyCode == trailKey) {
-			if (item.getItemCount() == 0) return;
-			if (item.getExpanded()) {
-				TableTreeItem newSelection = item.getItems()[0];
-				table.setSelection(new TableItem[]{newSelection.tableItem});
-				showItem(newSelection);
-				type = SWT.Selection;
-			} else {
-				item.setExpanded(true);
-				type = SWT.Expand;
-			}
-		} else {
-			if (item.getExpanded()) {
-				item.setExpanded(false);
-				type = SWT.Collapse;
-			} else {
-				TableTreeItem parent = item.getParentItem();
-				if (parent != null) {
-					int index = parent.indexOf(item);
-					if (index != 0) return;
-					table.setSelection(new TableItem[]{parent.tableItem});
-					type = SWT.Selection;
-				}
-			}
-		}
-	}
-	if (e.character == '*') {
-		item.expandAll(true);
-	}
-	if (e.character == '-') {
-		if (item.getExpanded()) {
-			item.setExpanded(false);
-			type = SWT.Collapse;
-		}
-	}
-	if (e.character == '+') {
-		if (item.getItemCount() > 0 && !item.getExpanded()) {
-			item.setExpanded(true);
-			type = SWT.Expand;
-		}
-	} 
-	if (type == 0) return;
-	Event event = new Event();
-	event.item = item;
-	notifyListeners(type, event);
-}
-void onMouseDown(Event event) {
-	/* If user clicked on the [+] or [-], expand or collapse the tree. */
-	TableItem[] items = table.getItems();
-	for (int i = 0; i < items.length; i++) {
-		Rectangle rect = items[i].getImageBounds(0);
-		if (rect.contains(event.x, event.y)) {
-			TableTreeItem item = (TableTreeItem) items[i].getData(ITEMID);
-			event = new Event();
-			event.item = item;
-			item.setExpanded(!item.getExpanded());
-			if (item.getExpanded()) {
-				notifyListeners(SWT.Expand, event);
-			} else {
-				notifyListeners(SWT.Collapse, event);
-			}
-			return;
-		}
-	}
-}
-
-/**
- * Removes all items.
- * <p>
- * This operation will fail when an item
- * could not be removed in the OS.
- *
- * @exception SWTException <ul>
- *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- * 	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed
- * </ul>
- */
-public void removeAll () {
-	checkWidget();
-	setRedraw(false);
-	for (int i = items.length - 1; i >= 0; i--) {
-		items[i].dispose();
-	}
-	items = EMPTY_ITEMS;
-	setRedraw(true);
-}
-
-void removeItem(TableTreeItem item) {
-	int index = 0;
-	while (index < items.length && items[index] != item) index++;
-	if (index == items.length) return;
-	TableTreeItem[] newItems = new TableTreeItem[items.length - 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	System.arraycopy(items, index + 1, newItems, index, items.length - index - 1);
-	items = newItems;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when the receiver's selection changes.
- *
- * @param listener the listener which should no longer be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see SelectionListener
- * @see #addSelectionListener
- */
-public void removeSelectionListener (SelectionListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Selection, listener);
-	removeListener(SWT.DefaultSelection, listener);
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when items in the receiver are expanded or collapsed.
- *
- * @param listener the listener which should no longer be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see TreeListener
- * @see #addTreeListener
- */
-public void removeTreeListener (TreeListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener(SWT.Expand, listener);
-	removeListener(SWT.Collapse, listener);
-}
-
-/**
- * Selects all of the items in the receiver.
- * <p>
- * If the receiver is single-select, do nothing.
- *
- * @exception SWTException <ul>
- *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed
- * </ul>
- */
-public void selectAll () {
-	checkWidget();
-	table.selectAll();
-}
-public void setBackground (Color color) {
-	super.setBackground(color);
-	table.setBackground(color);
-	if (sizeImage != null) {
-		GC gc = new GC (sizeImage);
-		gc.setBackground(getBackground());
-		Rectangle size = sizeImage.getBounds();
-		gc.fillRectangle(size);
-		gc.dispose();
-	}
-}
-public void setEnabled (boolean enabled) {
-	super.setEnabled(enabled);
-	table.setEnabled(enabled);
-}
-public void setFont (Font font) {
-	super.setFont(font);
-	table.setFont(font);
-}
-public void setForeground (Color color) {
-	super.setForeground(color);
-	table.setForeground(color);
-}
-public void setMenu (Menu menu) {
-	super.setMenu(menu);
-	table.setMenu(menu);
-}
-
-/**
- * Sets the receiver's selection to be the given array of items.
- * The current selection is cleared before the new items are selected.
- * <p>
- * Items that are not in the receiver are ignored.
- * If the receiver is single-select and multiple items are specified,
- * then all items are ignored.
- *
- * @param items the array of items
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the array of items is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if one of the item has been disposed</li>
- * </ul>
- * @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>
- *
- * @see TableTree#deselectAll()
- */
-public void setSelection (TableTreeItem[] items) {
-	checkWidget ();
-	if (items == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int length = items.length;
-	if (length == 0 || ((table.getStyle() & SWT.SINGLE) != 0 && length > 1)) {
-		deselectAll();
-		return;
-	}
-	TableItem[] tableItems = new TableItem[length];
-	for (int i = 0; i < length; i++) {
-		if (items[i] == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		if (!items[i].getVisible()) expandItem (items[i]);
-		tableItems[i] = items[i].tableItem;
-	}
-	table.setSelection(tableItems);
-}
-public void setToolTipText (String string) {
-	super.setToolTipText(string);
-	table.setToolTipText(string);
-}
-
-/**
- * Shows the item.  If the item is already showing in the receiver,
- * this method simply returns.  Otherwise, the items are scrolled
- * and expanded until the item is visible.
- *
- * @param item the item to be shown
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the item is null</li>
- *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li>
- * </ul>
- * @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>
- *
- * @see TableTree#showSelection()
- */
-public void showItem (TableTreeItem item) {
-	checkWidget();
-	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (!item.getVisible()) expandItem (item);
-	TableItem tableItem = item.tableItem;
-	table.showItem(tableItem);
-}
-
-/**
- * Shows the selection.
- * <p>
- * If there is no selection or the selection
- * is already visible, this method does nothing.
- * If the selection is scrolled out of view,
- * the top index of the widget is changed such
- * that selection becomes visible.
- *
- * @exception SWTException <ul>
- *	<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *	<li>ERROR_WIDGET_DISPOSED when the widget has been disposed
- * </ul>
- */
-public void showSelection () {
-	checkWidget();
-	table.showSelection();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeEditor.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeEditor.java
deleted file mode 100755
index 98cce4e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeEditor.java
+++ /dev/null
@@ -1,256 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-/**
-*
-* A TableTreeEditor is a manager for a Control that appears above a cell in a TableTree
-* and tracks with the moving and resizing of that cell.  It can be used to display a
-* text widget above a cell in a TableTree so that the user can edit the contents of 
-* that cell.  It can also be used to display a button that can launch a dialog for 
-* modifying the contents of the associated cell.
-*
-* <p> Here is an example of using a TableTreeEditor:
-* <code><pre>
-*	final TableTree tableTree = new TableTree(shell, SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
-*	final Table table = tableTree.getTable();
-*	TableColumn column1 = new TableColumn(table, SWT.NONE);
-*	TableColumn column2 = new TableColumn(table, SWT.NONE);
-*	for (int i = 0; i &lt; 10; i++) {
-*		TableTreeItem item = new TableTreeItem(tableTree, SWT.NONE);
-*		item.setText(0, "item " + i);
-*		item.setText(1, "edit this value");
-*		for (int j = 0; j &lt; 3; j++) {
-*			TableTreeItem subitem = new TableTreeItem(item, SWT.NONE);
-*			subitem.setText(0, "subitem " + i + " " + j);
-*			subitem.setText(1, "edit this value");
-*		}
-*	}
-*	column1.setWidth(100);
-*	column2.pack();
-*	
-*	final TableTreeEditor editor = new TableTreeEditor(tableTree);
-*	//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;
-*	
-*	tableTree.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
-*			TableTreeItem item = (TableTreeItem)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 e) {
-*					Text text = (Text)editor.getEditor();
-*					editor.getItem().setText(EDITABLECOLUMN, text.getText());
-*				}
-*			});
-*			newEditor.selectAll();
-*			newEditor.setFocus();
-*			editor.setEditor(newEditor, item, EDITABLECOLUMN);
-*		}
-*	});
-* </pre></code>
-* 
-* @deprecated As of 3.1 use TreeEditor with Tree, TreeItem and TreeColumn
-*/
-public class TableTreeEditor extends ControlEditor {
-
-	TableTree tableTree;
-	TableTreeItem item;
-	int column = -1;
-	ControlListener columnListener;
-	TreeListener treeListener;
-/**
-* Creates a TableTreeEditor for the specified TableTree.
-*
-* @param tableTree the TableTree Control above which this editor will be displayed
-*
-*/
-public TableTreeEditor (TableTree tableTree) {
-	super(tableTree.getTable());
-	this.tableTree = tableTree;
-
-	treeListener = new TreeListener () {
-		final Runnable runnable = new Runnable() {
-			public void run() {
-				if (editor == null || editor.isDisposed()) return;
-				if (TableTreeEditor.this.tableTree.isDisposed()) return;
-				_resize();
-				editor.setVisible(true);
-			}
-		};
-		public void treeCollapsed(TreeEvent e) {
-			if (editor == null || editor.isDisposed ()) return;
-			editor.setVisible(false);
-			e.display.asyncExec(runnable);
-		}
-		public void treeExpanded(TreeEvent e) {
-			if (editor == null || editor.isDisposed ()) return;
-			editor.setVisible(false);
-			e.display.asyncExec(runnable);
-		}
-	};
-	tableTree.addTreeListener(treeListener);
-	
-	columnListener = new ControlListener() {
-		public void controlMoved(ControlEvent e){
-			_resize ();
-		}
-		public void controlResized(ControlEvent e){
-			_resize ();
-		}
-	};
-	
-	// To be consistent with older versions of SWT, grabVertical defaults to true
-	grabVertical = true;
-}
-Rectangle computeBounds () {
-	if (item == null || column == -1 || item.isDisposed() || item.tableItem == null) return new Rectangle(0, 0, 0, 0);
-	Rectangle cell = item.getBounds(column);
-	Rectangle area = tableTree.getClientArea();
-	if (cell.x < area.x + area.width) {
-		if (cell.x + cell.width > area.x + area.width) {
-			cell.width = area.x + area.width - cell.x;
-		}
-	}
-	Rectangle editorRect = new Rectangle(cell.x, cell.y, minimumWidth, minimumHeight);
-
-	if (grabHorizontal) {
-		editorRect.width = Math.max(cell.width, minimumWidth);
-	}
-	
-	if (grabVertical) {
-		editorRect.height = Math.max(cell.height, minimumHeight);
-	}
-	
-	if (horizontalAlignment == SWT.RIGHT) {
-		editorRect.x += cell.width - editorRect.width;
-	} else if (horizontalAlignment == SWT.LEFT) {
-		// do nothing - cell.x is the right answer
-	} else { // default is CENTER
-		editorRect.x += (cell.width - editorRect.width)/2;
-	}
-	
-	if (verticalAlignment == SWT.BOTTOM) {
-		editorRect.y += cell.height - editorRect.height;
-	} else if (verticalAlignment == SWT.TOP) {
-		// do nothing - cell.y is the right answer
-	} else { // default is CENTER
-		editorRect.y += (cell.height - editorRect.height)/2;
-	}
-	return editorRect;
-}
-/**
- * Removes all associations between the TableTreeEditor and the cell in the table tree.  The
- * TableTree and the editor Control are <b>not</b> disposed.
- */
-public void dispose () {
-	if (treeListener != null) 
-		tableTree.removeTreeListener(treeListener);
-	treeListener = null;	
-	Table table = tableTree.getTable();
-	if (this.column > -1 && this.column < table.getColumnCount()){
-		TableColumn tableColumn = table.getColumn(this.column);
-		tableColumn.removeControlListener(columnListener);
-	}
-	tableTree = null;
-	item = null;
-	column = -1;
-	
-	super.dispose();
-}
-/**
-* Returns the zero based index of the column of the cell being tracked by this editor.
-*
-* @return the zero based index of the column of the cell being tracked by this editor
-*/
-public int getColumn () {
-	return column;
-}
-/**
-* Returns the TableTreeItem for the row of the cell being tracked by this editor.
-*
-* @return the TableTreeItem for the row of the cell being tracked by this editor
-*/
-public TableTreeItem getItem () {
-	return item;
-}
-public void setColumn(int column) {
-	Table table = tableTree.getTable();
-	int columnCount = table.getColumnCount();
-	// Separately handle the case where the table has no TableColumns.
-	// In this situation, there is a single default column.
-	if (columnCount == 0) {
-		this.column = (column == 0) ? 0 : -1;
-		_resize();
-		return;
-	}
-	if (this.column > -1 && this.column < columnCount){
-		TableColumn tableColumn = table.getColumn(this.column);
-		tableColumn.removeControlListener(columnListener);
-		this.column = -1;
-	}
-
-	if (column < 0  || column >= table.getColumnCount()) return;	
-		
-	this.column = column;
-	TableColumn tableColumn = table.getColumn(this.column);
-	tableColumn.addControlListener(columnListener);
-	_resize();
-}
-public void setItem (TableTreeItem item) {	
-	this.item = item;
-	_resize();
-}
-
-/**
-* Specify the Control that is to be displayed and the cell in the table that it is to be positioned above.
-*
-* <p>Note: The Control provided as the editor <b>must</b> be created with its parent being the Table control
-* specified in the TableEditor constructor.
-* 
-* @param editor the Control that is displayed above the cell being edited
-* @param item the TableItem for the row of the cell being tracked by this editor
-* @param column the zero based index of the column of the cell being tracked by this editor
-*/
-public void setEditor (Control editor, TableTreeItem item, int column) {
-	setItem(item);
-	setColumn(column);
-	setEditor(editor);
-}
-void _resize () {
-	if (tableTree.isDisposed()) return;
-	if (item == null || item.isDisposed()) return;
-	Table table = tableTree.getTable();
-	int columnCount = table.getColumnCount();
-	if (columnCount == 0 && column != 0) return;
-	if (columnCount > 0 && (column < 0 || column >= columnCount)) return;
-	super._resize();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeItem.java
deleted file mode 100755
index 8370fb3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TableTreeItem.java
+++ /dev/null
@@ -1,876 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A TableTreeItem is a selectable user interface object
- * that represents an item in a heirarchy of items in a
- * TableTree.
- * 
- * @deprecated As of 3.1 use Tree, TreeItem and TreeColumn
- */
-public class TableTreeItem extends Item {
-	TableItem tableItem;
-	TableTree parent;
-	TableTreeItem parentItem;
-	TableTreeItem [] items = TableTree.EMPTY_ITEMS;
-	String[] texts = TableTree.EMPTY_TEXTS;
-	Image[] images = TableTree.EMPTY_IMAGES;
-	Color background;
-	Color foreground;
-	Font font;
-	boolean expanded;
-	boolean checked;
-	boolean grayed;
-
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>TableTree</code>)
- * and a style value describing its behavior and appearance.
- * The item is added to the end of the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public TableTreeItem(TableTree parent, int style) {
-	this (parent, style, parent.getItemCount());
-}
-
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>TableTree</code>,
- * a style value describing its behavior and appearance, and the index
- * at which to place it in the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- * @param index the index to store the receiver in its parent
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public TableTreeItem(TableTree parent, int style, int index) {
-	this (parent, null, style, index);
-}
-
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>TableTreeItem</code>)
- * and a style value describing its behavior and appearance.
- * The item is added to the end of the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public TableTreeItem(TableTreeItem parent, int style) {
-	this (parent, style, parent.getItemCount());
-}
-
-/**
- * Constructs a new instance of this class given its parent
- * (which must be a <code>TableTreeItem</code>),
- * a style value describing its behavior and appearance, and the index
- * at which to place it in the items maintained by its parent.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- * @param index the index to store the receiver in its parent
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#getStyle()
- */
-public TableTreeItem(TableTreeItem parent, int style, int index) {
-	this (parent.getParent(), parent, style, index);
-}
-
-TableTreeItem(TableTree parent, TableTreeItem parentItem, int style, int index) {
-	super(parent, style);
-	this.parent = parent;
-	this.parentItem = parentItem;
-	if (parentItem == null) {
-		
-		/* Root items are visible immediately */
-		int tableIndex = parent.addItem(this, index);
-		tableItem = new TableItem(parent.getTable(), style, tableIndex);
-		tableItem.setData(TableTree.ITEMID, this);
-		addCheck();
-		/*
-		* Feature in the Table.  The table uses the first image that
-		* is inserted into the table to size the table rows.  If the
-		* user is allowed to insert the first image, this will cause
-		* the +/- images to be scaled.  The fix is to insert a dummy
-		* image to force the size.
-		*/
-		if (parent.sizeImage == null) {
-			int itemHeight = parent.getItemHeight();
-			parent.sizeImage = new Image(null, itemHeight, itemHeight);
-			GC gc = new GC (parent.sizeImage);
-			gc.setBackground(parent.getBackground());
-			gc.fillRectangle(0, 0, itemHeight, itemHeight);
-			gc.dispose();
-			tableItem.setImage(0, parent.sizeImage);
-		}
-	} else {
-		parentItem.addItem(this, index);
-	}
-}
-void addCheck() {
-	Table table = parent.getTable();
-	if ((table.getStyle() & SWT.CHECK) == 0) return;
-	tableItem.setChecked(checked);
-	tableItem.setGrayed(grayed);
-}
-void addItem(TableTreeItem item, int index) {
-	if (item == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (index < 0 || index > items.length) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		
-	/* Now that item has a sub-node it must indicate that it can be expanded */
-	if (items.length == 0 && index == 0) {
-		if (tableItem != null) {
-			Image image = expanded ? parent.getMinusImage() : parent.getPlusImage();
-			tableItem.setImage(0, image);
-		}
-	}
-	
-	/* Put the item in the items list */
-	TableTreeItem[] newItems = new TableTreeItem[items.length + 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	newItems[index] = item;
-	System.arraycopy(items, index, newItems, index + 1, items.length - index);
-	items = newItems;
-	if (expanded) item.setVisible(true);
-}
-
-/**
- * Returns the receiver's background color.
- *
- * @return the background color
- * 
- * @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>
- * 
- * @since 2.0
- * 
- */
-public Color getBackground () {
-	checkWidget ();
-	return (background == null) ? parent.getBackground() : background;
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location
- * relative to its parent.
- *
- * @return the receiver's bounding rectangle
- *
- * @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 Rectangle getBounds (int index) {
-	checkWidget();
-	if (tableItem != null) {
-		return tableItem.getBounds(index);
-	} else {
-		return new Rectangle(0, 0, 0, 0);
-	}
-}
-/**
- * Returns <code>true</code> if the receiver is checked,
- * and false otherwise.  When the parent does not have
- * the <code>CHECK style, return false.
- *
- * @return the checked state of the checkbox
- *
- * @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 getChecked () {
-	checkWidget();
-	if (tableItem == null) return checked;
-	return tableItem.getChecked();
-}
-
-/**
- * Returns <code>true</code> if the receiver is grayed,
- * and false otherwise. When the parent does not have
- * the <code>CHECK</code> style, return false.
- *
- * @return the grayed state of the checkbox
- *
- * @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>
- * 
- * @since 2.1
- */
-public boolean getGrayed () {
-	checkWidget();
-	if (tableItem == null) return grayed;
-	return tableItem.getGrayed();
-}
-
-/**
- * Returns <code>true</code> if the receiver is expanded,
- * and false otherwise.
- * <p>
- *
- * @return the expanded state
- */
-public boolean getExpanded () {
-	//checkWidget();
-	return expanded;
-}
-
-/**
- * Returns the font that the receiver will use to paint textual information for this item.
- *
- * @return the receiver's font
- *
- * @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>
- *
- * @since 3.0
- */
-public Font getFont () {
-	checkWidget ();
-	return (font == null) ? parent.getFont() : font;
-}
-/**
- * Returns the foreground color that the receiver will use to draw.
- *
- * @return the receiver's foreground color
- *
- * @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>
- * 
- * @since 2.0
- * 
- */
-public Color getForeground () {
-	checkWidget ();
-	return (foreground == null) ? parent.getForeground() : foreground;
-}
-/**
- * Gets the first image.
- * <p>
- * The image in column 0 is reserved for the [+] and [-]
- * images of the tree, therefore getImage(0) will return null.
- *
- * @return the image at index 0
- * 
- * @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 Image getImage () {
-	checkWidget();
-	return getImage(0);
-}
-
-/**
- * Gets the image at the specified index.
- * <p>
- * Indexing is zero based. The image can be null.
- * The image in column 0 is reserved for the [+] and [-]
- * images of the tree, therefore getImage(0) will return null.
- * Return null if the index is out of range.
- *
- * @param index the index of the image
- * @return the image at the specified index or null
- */
-public Image getImage (int index) {
-	//checkWidget();
-	if (0 < index && index < images.length) return images[index];
-	return null;
-}
-
-int getIndent() {
-	if (parentItem == null) return 0;
-	return parentItem.getIndent() + 1;
-}
-
-/**
- * Returns the item at the given, zero-relative index in the
- * receiver. Throws an exception if the index is out of range.
- *
- * @param index the index of the item to return
- * @return the item at the given index
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
- * </ul>
- * @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>
- * 
- * @since 3.1
- */
-public TableTreeItem getItem (int index) {
-	checkWidget();
-	int count = items.length;
-	if (!(0 <= index && index < count)) SWT.error (SWT.ERROR_INVALID_RANGE);
-	return items [index];
-}
-
-/**
- * Returns the number of items contained in the receiver
- * that are direct item children of the receiver.
- *
- * @return the number of items
- */
-public int getItemCount () {
-	//checkWidget();
-	return items.length;
-}
-
-/**
- * Returns an array of <code>TableTreeItem</code>s which are the
- * direct item children of the receiver.
- * <p>
- * Note: This is not the actual structure used by the receiver
- * to maintain its list of items, so modifying the array will
- * not affect the receiver. 
- * </p>
- *
- * @return the receiver's items
- */
-public TableTreeItem[] getItems () {
-	//checkWidget();
-	TableTreeItem[] newItems = new TableTreeItem[items.length];
-	System.arraycopy(items, 0, newItems, 0, items.length);
-	return newItems;
-}
-
-TableTreeItem getItem(TableItem tableItem) {
-	if (tableItem == null) return null;
-	if (this.tableItem == tableItem) return this;
-	for (int i = 0; i < items.length; i++) {
-		TableTreeItem item =  items[i].getItem(tableItem);
-	    	if (item != null) return item;
-	}
-	return null;
-}
-
-/**
- * Returns the receiver's parent, which must be a <code>TableTree</code>.
- *
- * @return the receiver's parent
- */
-public TableTree getParent () {
-	//checkWidget();
-	return parent;
-}
-
-/**
- * Returns the receiver's parent item, which must be a
- * <code>TableTreeItem</code> or null when the receiver is a
- * root.
- *
- * @return the receiver's parent item
- */
-public TableTreeItem getParentItem () {
-	//checkWidget();
-	return parentItem;
-}
-public String getText () {
-	checkWidget();
-	return getText(0);
-}
-
-/**
- * Gets the item text at the specified index.
- * <p>
- * Indexing is zero based.
- *
- * This operation will fail when the index is out
- * of range or an item could not be queried from
- * the OS.
- *
- * @param index the index of the item
- * @return the item text at the specified index, which can be null
- */
-public String getText(int index) {
-	//checkWidget();
-	if (0 <= index && index < texts.length) return texts[index];
-	return null;
-}
-
-boolean getVisible () {
-	return tableItem != null;
-}
-
-/**
- * Gets the index of the specified item.
- * 
- * <p>The widget is searched starting at 0 until an
- * item is found that is equal to the search item.
- * If no item is found, -1 is returned.  Indexing
- * is zero based.  This index is relative to the parent only.
- *
- * @param item the search item
- * @return the index of the item or -1 if the item is not found
- *
- */
-public int indexOf (TableTreeItem item) {
-	//checkWidget();	
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] == item) return i;
-	}
-	return -1;
-}
-
-void expandAll(boolean notify) {
-	if (items.length == 0) return;
-	if (!expanded) {
-		setExpanded(true);
-		if (notify) {
-			Event event = new Event();
-			event.item = this;
-			parent.notifyListeners(SWT.Expand, event);
-		}
-	}
-	for (int i = 0; i < items.length; i++) {
-		items[i].expandAll(notify);
-	}
-}
-int expandedIndexOf (TableTreeItem item) {	
-	int index = 0;
-	for (int i = 0; i < items.length; i++) {
-		if (items[i] == item) return index;
-		if (items[i].expanded) index += items[i].visibleChildrenCount ();
-		index++;
-	}
-	return -1;
-}
-
-int visibleChildrenCount () {
-	int count = 0;
-	for (int i = 0; i < items.length; i++) {
-		if (items[i].getVisible ()) {
-			count += 1 + items[i].visibleChildrenCount ();
-		}
-	}
-	return count;
-}
-
-public void dispose () {
-	if (isDisposed()) return;
-	for (int i = items.length - 1; i >= 0; i--) {
-		items[i].dispose();
-	}
-	super.dispose();
-	if (!parent.inDispose) {
-		if (parentItem != null) {
-			parentItem.removeItem(this);
-		} else {
-			parent.removeItem(this);
-		}
-		if (tableItem != null) tableItem.dispose();
-	}
-	items = null;
-	parentItem = null;
-	parent = null;
-	images = null;
-	texts = null;
-	tableItem = null;
-	foreground = null;
-	background = null;
-	font = null;
-}
-
-void removeItem(TableTreeItem item) {
-	int index = 0;
-	while (index < items.length && items[index] != item) index++;
-	if (index == items.length) return;
-	TableTreeItem[] newItems = new TableTreeItem[items.length - 1];
-	System.arraycopy(items, 0, newItems, 0, index);
-	System.arraycopy(items, index + 1, newItems, index, items.length - index - 1);
-	items = newItems;
-	if (items.length == 0) {
-		if (tableItem != null) tableItem.setImage(0, null);
-	}
-}
-
-/**
- * Sets the receiver's background color to the color specified
- * by the argument, or to the default system color for the item
- * if the argument is null.
- *
- * @param color the new color (or null)
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * 
- * @since 2.0
- * 
- */
-public void setBackground (Color color) {
-	checkWidget ();
-	if (color != null && color.isDisposed ()) {
-		SWT.error (SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (tableItem != null) {
-		tableItem.setBackground(color);
-	}
-	background = color;
-}
-
-/**
- * Sets the checked state of the checkbox for this item.  This state change 
- * only applies if the Table was created with the SWT.CHECK style.
- *
- * @param checked the new checked state of the checkbox
- *
- * @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 setChecked (boolean checked) {
-	checkWidget();
-	Table table = parent.getTable();
-	if ((table.getStyle() & SWT.CHECK) == 0) return;
-	if (tableItem != null) {
-		tableItem.setChecked(checked);
-	}
-	this.checked = checked;
-}
-
-/**
- * Sets the grayed state of the checkbox for this item.  This state change 
- * only applies if the Table was created with the SWT.CHECK style.
- *
- * @param grayed the new grayed state of the checkbox; 
- *
- * @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>
- * 
- * @since 2.1
- */
-public void setGrayed (boolean grayed) {
-	checkWidget();
-	Table table = parent.getTable();
-	if ((table.getStyle() & SWT.CHECK) == 0) return;
-	if (tableItem != null) {
-		tableItem.setGrayed(grayed);
-	}
-	this.grayed = grayed;
-}
-
-/**
- * Sets the expanded state.
- * <p>
- * @param expanded the new expanded state.
- *
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public void setExpanded (boolean expanded) {
-	checkWidget();
-	if (items.length == 0) return;
-	if (this.expanded == expanded) return;
-	this.expanded = expanded;
-	if (tableItem == null) return;
-	parent.setRedraw(false);
-	for (int i = 0; i < items.length; i++) {
-		items[i].setVisible(expanded);
-	}
-	Image image = expanded ? parent.getMinusImage() : parent.getPlusImage();
-	tableItem.setImage(0, image);
-	parent.setRedraw(true);
-}
-
-/**
- * Sets the font that the receiver will use to paint textual information
- * for this item to the font specified by the argument, or to the default font
- * for that kind of control if the argument is null.
- *
- * @param font the new font (or null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * 
- * @since 3.0
- */
-public void setFont (Font font){
-	checkWidget ();
-	if (font != null && font.isDisposed ()) {
-		SWT.error (SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (tableItem != null) {
-		tableItem.setFont(font);
-	}
-	this.font = font;
-}
-/**
- * Sets the receiver's foreground color to the color specified
- * by the argument, or to the default system color for the item
- * if the argument is null.
- *
- * @param color the new color (or null)
- *
- * @since 2.0
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
- * </ul>
- * @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>
- * 
- * @since 2.0
- * 
- */
-public void setForeground (Color color) {
-	checkWidget ();
-	if (color != null && color.isDisposed ()) {
-		SWT.error (SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (tableItem != null) {
-		tableItem.setForeground(color);
-	}
-	foreground = color;
-}
-
-/**
- * Sets the image at an index.
- * <p>
- * The image can be null.
- * The image in column 0 is reserved for the [+] and [-]
- * images of the tree, therefore do nothing if index is 0.
- *
- * @param image the new image or null
- *
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public void setImage (int index, Image image) {
-	checkWidget();
-	int columnCount = Math.max(parent.getTable().getColumnCount(), 1);
-	if (index <= 0 || index >= columnCount) return;
-	if (images.length < columnCount) {
-		Image[] newImages = new Image[columnCount];
-		System.arraycopy(images, 0, newImages, 0, images.length);
-		images = newImages;
-	}
-	images[index] = image;
-	if (tableItem != null) tableItem.setImage(index, image);
-}
-
-/**
- * Sets the first image.
- * <p>
- * The image can be null.
- * The image in column 0 is reserved for the [+] and [-]
- * images of the tree, therefore do nothing.
- *
- * @param image the new image or null
- * 
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public void setImage (Image image) {
-	setImage(0, image);
-}
-
-/**
- * Sets the widget text.
- * <p>
- *
- * The widget text for an item is the label of the
- * item or the label of the text specified by a column
- * number.
- *
- * @param index the column number
- * @param text the new text
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the text is null</li>
- * </ul>
- * @exception SWTException <ul>
- *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- *	</ul>
- */
-public void setText(int index, String text) {
-	checkWidget();
-	if (text == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int columnCount = Math.max(parent.getTable().getColumnCount(), 1);
-	if (index < 0 || index >= columnCount) return;
-	if (texts.length < columnCount) {
-		String[] newTexts = new String[columnCount];
-		System.arraycopy(texts, 0, newTexts, 0, texts.length);
-		texts = newTexts;
-	}
-	texts[index] = text;
-	if (tableItem != null) tableItem.setText(index, text);
-}
-public void setText (String string) {
-	setText(0, string);
-}
-
-void setVisible (boolean show) {
-	if (parentItem == null) return; // this is a root and can not be toggled between visible and hidden
-	if (getVisible() == show) return;
-
-	if (show) {
-		if (!parentItem.getVisible()) return; // parentItem must already be visible
-		// create underlying table item and set data in table item to stored data
-		Table table = parent.getTable();
-		int parentIndex = table.indexOf(parentItem.tableItem);
-		int index = parentItem.expandedIndexOf(this) + parentIndex + 1;
-		if (index < 0) return;
-		tableItem = new TableItem(table, getStyle(), index);
-		tableItem.setData(TableTree.ITEMID, this);
-		tableItem.setImageIndent(getIndent());
-		if (background != null) tableItem.setBackground(background);
-		if (foreground != null) tableItem.setForeground(foreground);
-		if (font != null) tableItem.setFont(font);
-		addCheck();
-
-		// restore fields to item
-		// ignore any images in the first column
-		int columnCount = Math.max(table.getColumnCount(), 1);
-		for (int i = 0; i < columnCount; i++) {
-			if (i < texts.length && texts[i] != null) setText(i, texts[i]);
-			if (i < images.length && images[i] != null) setImage(i, images[i]);
-		}
-
-		// display the children and the appropriate [+]/[-] symbol as required
-		if (items.length != 0) {
-			if (expanded) {
-				tableItem.setImage(0, parent.getMinusImage());
-				for (int i = 0, length = items.length; i < length; i++) {
-					items[i].setVisible(true);
-				}
-			} else {
-				tableItem.setImage(0, parent.getPlusImage());
-			}
-		}
-		
-	} else {
-
-		for (int i = 0, length = items.length; i < length; i++) {
-			items[i].setVisible(false);
-		}
-		// remove row from table
-		tableItem.dispose();
-		tableItem = null;
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java
deleted file mode 100755
index 1ed1a47..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangeListener.java
+++ /dev/null
@@ -1,61 +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.custom;
-
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-/**
- * The StyledText widget implements this listener to receive
- * notifications when changes to the model occur.
- * It is not intended to be implemented by clients or by 
- * implementors of StyledTextContent. 
- * Clients should listen to the ModifyEvent or ExtendedModifyEvent 
- * that is sent by the StyledText widget to receive text change 
- * notifications.
- * Implementors of StyledTextContent should call the textChanging
- * and textChanged methods when text changes occur as described 
- * below. If the entire text is replaced the textSet method 
- * should be called instead.
- */
-public interface TextChangeListener extends SWTEventListener {
-
-/**
- * This method is called when the content is about to be changed.
- * Callers also need to call the textChanged method after the 
- * content change has been applied. The widget only updates the 
- * screen properly when it receives both events. 
- * 
- * @param event the text changing event. All event fields need
- * 	to be set by the sender.
- * @see TextChangingEvent
- */
-public void textChanging(TextChangingEvent event);
-/**
- * This method is called when the content has changed.
- * Callers need to have called the textChanging method prior to 
- * applying the content change and calling this method. The widget 
- * only updates the screen properly when it receives both events.
- * 
- * @param event the text changed event
- */
-public void textChanged(TextChangedEvent event);
-/**
- * This method is called instead of the textChanging/textChanged 
- * combination when the entire old content has been replaced 
- * (e.g., by a call to StyledTextContent.setText()).
- * 
- * @param event the text changed event
- */
-public void textSet(TextChangedEvent event);
-}
-
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangedEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangedEvent.java
deleted file mode 100755
index f858484..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangedEvent.java
+++ /dev/null
@@ -1,33 +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.custom;
-
-import org.eclipse.swt.events.*;
-
-/**
- * This event is sent by the StyledTextContent implementor when a change to 
- * the text occurs.
- */
-public class TextChangedEvent extends TypedEvent {
-
-	static final long serialVersionUID = 3258696524257835065L;
-
-/**
- * Create the TextChangedEvent to be used by the StyledTextContent implementor.
- * <p>
- *
- * @param source the object that will be sending the TextChangedEvent, 
- * 	cannot be null	
- */
-public TextChangedEvent(StyledTextContent source) {
-	super(source);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangingEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangingEvent.java
deleted file mode 100755
index 538b9be..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TextChangingEvent.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.custom;
-
-
-import org.eclipse.swt.events.*;
-
-/**
- * This event is sent by the StyledTextContent implementor when a change
- * to the text is about to occur.
- */
-public class TextChangingEvent extends TypedEvent {
-	/**
-	 * Start offset of the text that is going to be replaced
-	 */
-	public int start;
-	/**
-	 * Text that is going to be inserted or empty string
-	 * if no text will be inserted
-	 */
-	public String newText;
-	/**
-	 * Length of text that is going to be replaced
-	 */
-	public int replaceCharCount;
-	/**
-	 * Length of text that is going to be inserted
-	 */
-	public int newCharCount;
-	/**
-	 * Number of lines that are going to be replaced
-	 */
-	public int replaceLineCount;
-	/**
-	 * Number of new lines that are going to be inserted
-	 */
-	public int newLineCount;
-
-	static final long serialVersionUID = 3257290210114352439L;
-	
-/**
- * Create the TextChangedEvent to be used by the StyledTextContent implementor.
- * <p>
- *
- * @param source the object that will be sending the new TextChangingEvent, 
- * 	cannot be null	
- */
-public TextChangingEvent(StyledTextContent source) {
-	super(source);
-}
-TextChangingEvent(StyledTextContent source, StyledTextEvent e) {
-	super(source);
-	start = e.start;
-	replaceCharCount = e.replaceCharCount;
-	newCharCount = e.newCharCount;
-	replaceLineCount = e.replaceLineCount;
-	newLineCount = e.newLineCount;
-	newText = e.text;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TreeEditor.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TreeEditor.java
deleted file mode 100755
index 6e0edb0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/TreeEditor.java
+++ /dev/null
@@ -1,282 +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.custom;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
-*
-* A TreeEditor is a manager for a Control that appears above a cell in a Tree and tracks with the
-* moving and resizing of that cell.  It can be used to display a text widget above a cell
-* in a Tree so that the user can edit the contents of that cell.  It can also be used to display
-* a button that can launch a dialog for modifying the contents of the associated cell.
-*
-* <p> Here is an example of using a TreeEditor:
-* <code><pre>
-*	final Tree tree = new Tree(shell, SWT.BORDER);
-*	for (int i = 0; i &lt; 3; i++) {
-*		TreeItem item = new TreeItem(tree, SWT.NONE);
-*		item.setText("item " + i);
-*		for (int j = 0; j &lt; 3; j++) {
-*			TreeItem subItem = new TreeItem(item, SWT.NONE);
-*			subItem.setText("item " + i + " " + j);
-*		}
-*	}
-*	
-*	final TreeEditor editor = new TreeEditor(tree);
-*	//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;
-*	
-*	tree.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
-*			TreeItem item = (TreeItem)e.item;
-*			if (item == null) return;
-*	
-*			// The control that will be the editor must be a child of the Tree
-*			Text newEditor = new Text(tree, SWT.NONE);
-*			newEditor.setText(item.getText());
-*			newEditor.addModifyListener(new ModifyListener() {
-*				public void modifyText(ModifyEvent e) {
-*					Text text = (Text)editor.getEditor();
-*					editor.getItem().setText(text.getText());
-*				}
-*			});
-*			newEditor.selectAll();
-*			newEditor.setFocus();
-*			editor.setEditor(newEditor, item);
-*		}
-*	});
-* </pre></code>
-*/
-public class TreeEditor extends ControlEditor {	
-	Tree tree;
-	TreeItem item;
-	int column = 0;
-	ControlListener columnListener;
-	TreeListener treeListener;
-	
-/**
-* Creates a TreeEditor for the specified Tree.
-*
-* @param tree the Tree Control above which this editor will be displayed
-*
-*/
-public TreeEditor (Tree tree) {
-	super(tree);
-	this.tree = tree;
-
-	columnListener = new ControlListener() {
-		public void controlMoved(ControlEvent e){
-			_resize();
-		}
-		public void controlResized(ControlEvent e){
-			_resize();
-		}
-	};
-	treeListener = new TreeListener () {
-		final Runnable runnable = new Runnable() {
-			public void run() {
-				if (editor == null || editor.isDisposed()) return;
-				if (TreeEditor.this.tree.isDisposed()) return;
-				_resize();
-				editor.setVisible(true);
-			}
-		};
-		public void treeCollapsed(TreeEvent e) {
-			if (editor == null || editor.isDisposed ()) return;
-			editor.setVisible(false);
-			e.display.asyncExec(runnable);
-		}
-		public void treeExpanded(TreeEvent e) {
-			if (editor == null || editor.isDisposed ()) return;
-			editor.setVisible(false);
-			e.display.asyncExec(runnable);
-		}
-	};
-	tree.addTreeListener(treeListener);
-	
-	// To be consistent with older versions of SWT, grabVertical defaults to true
-	grabVertical = true;
-}
-
-Rectangle computeBounds () {
-	if (item == null || column == -1 || item.isDisposed()) return new Rectangle(0, 0, 0, 0);
-	Rectangle cell = item.getBounds(column);
-	Rectangle rect = item.getImageBounds(column);
-	cell.x = rect.x + rect.width;
-	cell.width -= rect.width;
-	Rectangle area = tree.getClientArea();
-	if (cell.x < area.x + area.width) {
-		if (cell.x + cell.width > area.x + area.width) {
-			cell.width = area.x + area.width - cell.x;
-		}
-	}
-	Rectangle editorRect = new Rectangle(cell.x, cell.y, minimumWidth, minimumHeight);
-
-	if (grabHorizontal) {
-		if (tree.getColumnCount() == 0) {
-			// Bounds of tree item only include the text area - stretch out to include 
-			// entire client area
-			cell.width = area.x + area.width - cell.x;
-		}
-		editorRect.width = Math.max(cell.width, minimumWidth);
-	}
-	
-	if (grabVertical) {
-		editorRect.height = Math.max(cell.height, minimumHeight);
-	}
-	
-	if (horizontalAlignment == SWT.RIGHT) {
-		editorRect.x += cell.width - editorRect.width;
-	} else if (horizontalAlignment == SWT.LEFT) {
-		// do nothing - cell.x is the right answer
-	} else { // default is CENTER
-		editorRect.x += (cell.width - editorRect.width)/2;
-	}
-	// don't let the editor overlap with the +/- of the tree
-	editorRect.x = Math.max(cell.x, editorRect.x);
-	
-	if (verticalAlignment == SWT.BOTTOM) {
-		editorRect.y += cell.height - editorRect.height;
-	} else if (verticalAlignment == SWT.TOP) {
-		// do nothing - cell.y is the right answer
-	} else { // default is CENTER
-		editorRect.y += (cell.height - editorRect.height)/2;
-	}
-	return editorRect;
-}
-
-/**
- * Removes all associations between the TreeEditor and the row in the tree.  The
- * tree and the editor Control are <b>not</b> disposed.
- */
-public void dispose () {
-	if (this.column > -1 && this.column < tree.getColumnCount()){
-		TreeColumn treeColumn = tree.getColumn(this.column);
-		treeColumn.removeControlListener(columnListener);
-	}
-	columnListener = null;
-	if (treeListener != null) 
-		tree.removeTreeListener(treeListener);
-	treeListener = null;
-	tree = null;
-	item = null;
-	column = 0;
-	super.dispose();
-}
-
-/**
-* Returns the zero based index of the column of the cell being tracked by this editor.
-*
-* @return the zero based index of the column of the cell being tracked by this editor
-*
-* @since 3.1
-*/
-public int getColumn () {
-	return column;
-}
-
-/**
-* Returns the TreeItem for the row of the cell being tracked by this editor.
-*
-* @return the TreeItem for the row of the cell being tracked by this editor
-*/
-public TreeItem getItem () {
-	return item;
-}
-
-/**
-* Sets the zero based index of the column of the cell being tracked by this editor.
-* 
-* @param column the zero based index of the column of the cell being tracked by this editor
-*
-* @since 3.1
-*/
-public void setColumn(int column) {
-	int columnCount = tree.getColumnCount();
-	// Separately handle the case where the tree has no TreeColumns.
-	// In this situation, there is a single default column.
-	if (columnCount == 0) {
-		this.column = (column == 0) ? 0 : -1;
-		_resize();
-		return;
-	}
-	if (this.column > -1 && this.column < columnCount){
-		TreeColumn treeColumn = tree.getColumn(this.column);
-		treeColumn.removeControlListener(columnListener);
-		this.column = -1;
-	}
-
-	if (column < 0  || column >= tree.getColumnCount()) return;	
-		
-	this.column = column;
-	TreeColumn treeColumn = tree.getColumn(this.column);
-	treeColumn.addControlListener(columnListener);
-	_resize();
-}
-
-public void setItem (TreeItem item) {
-	this.item = item;
-	_resize();
-}
-
-/**
-* Specify the Control that is to be displayed and the cell in the tree that it is to be positioned above.
-*
-* <p>Note: The Control provided as the editor <b>must</b> be created with its parent being the Tree control
-* specified in the TreeEditor constructor.
-* 
-* @param editor the Control that is displayed above the cell being edited
-* @param item the TreeItem for the row of the cell being tracked by this editor
-* @param column the zero based index of the column of the cell being tracked by this editor
-*
-* @since 3.1
-*/
-public void setEditor (Control editor, TreeItem item, int column) {
-	setItem(item);
-	setColumn(column);
-	setEditor(editor);
-}
-/**
-* Specify the Control that is to be displayed and the cell in the tree that it is to be positioned above.
-*
-* <p>Note: The Control provided as the editor <b>must</b> be created with its parent being the Tree control
-* specified in the TreeEditor constructor.
-* 
-* @param editor the Control that is displayed above the cell being edited
-* @param item the TreeItem for the row of the cell being tracked by this editor
-*/
-public void setEditor (Control editor, TreeItem item) {
-	setItem(item);
-	setEditor(editor);
-}
-
-void _resize () {
-	if (tree.isDisposed()) return;
-	if (item == null || item.isDisposed()) return;	
-	int columnCount = tree.getColumnCount();
-	if (columnCount == 0 && column != 0) return;
-	if (columnCount > 0 && (column < 0 || column >= columnCount)) return;
-	super._resize();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java
deleted file mode 100755
index 59b2d8d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/VerifyKeyListener.java
+++ /dev/null
@@ -1,28 +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.custom;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.internal.SWTEventListener;
-
-public interface VerifyKeyListener extends SWTEventListener {
-/**
- * The following event fields are used:<ul>
- * <li>event.character is the character that was typed (input)</li>
- * <li>event.keyCode is the key code that was typed (input)</li>
- * <li>event.stateMask is the state of the keyboard (input)</li>
- * <li>event.doit is processed or not (output)</li>
- * </ul>
- * @param event the verify event
- * @see VerifyEvent
- */
-public void verifyKey (VerifyEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewForm.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewForm.java
deleted file mode 100755
index 3b7f294..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewForm.java
+++ /dev/null
@@ -1,468 +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.custom;
-
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.*;
-
-/**
- * Instances of this class implement a Composite that positions and sizes
- * children and allows programmatic control of layout and border parameters. 
- * ViewForm is used in the workbench to lay out a view's label/menu/toolbar
- * local bar.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>BORDER, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(None)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class ViewForm extends Composite {
-
-	/**
-	 * marginWidth specifies the number of pixels of horizontal margin
-	 * that will be placed along the left and right edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginWidth = 0;
-	/**
-	 * marginHeight specifies the number of pixels of vertical margin
-	 * that will be placed along the top and bottom edges of the form.
-	 *
-	 * The default value is 0.
-	 */
- 	public int marginHeight = 0;
- 	/**
-	 * horizontalSpacing specifies the number of pixels between the right
-	 * edge of one cell and the left edge of its neighbouring cell to
-	 * the right.
-	 *
-	 * The default value is 1.
-	 */
- 	public int horizontalSpacing = 1;
-	/**
-	 * verticalSpacing specifies the number of pixels between the bottom
-	 * edge of one cell and the top edge of its neighbouring cell underneath.
-	 *
-	 * The default value is 1.
-	 */
- 	public int verticalSpacing = 1;
-	
-	/**
-	 * Color of innermost line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated
-	 */
-	public static RGB borderInsideRGB  = new RGB (132, 130, 132);
-	/**
-	 * Color of middle line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated
-	 */
-	public static RGB borderMiddleRGB  = new RGB (143, 141, 138);
-	/**
-	 * Color of outermost line of drop shadow border.
-	 * 
-	 * NOTE This field is badly named and can not be fixed for backwards compatability.
-	 * It should be capitalized.
-	 * 
-	 * @deprecated
-	 */
-	public static RGB borderOutsideRGB = new RGB (171, 168, 165);
-	
-	// SWT widgets
-	Control topLeft;
-	Control topCenter;
-	Control topRight;
-	Control content;
-	
-	// Configuration and state info
-	boolean separateTopCenter = false;
-	boolean showBorder = false;
-	
-	int separator = -1;
-	int borderTop = 0;
-	int borderBottom = 0;
-	int borderLeft = 0;
-	int borderRight = 0;
-	int highlight = 0;
-	Point oldSize;
-	
-	Color selectionBackground;
-	
-	static final int OFFSCREEN = -200;
-	static final int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
-	static final int SELECTION_BACKGROUND = SWT.COLOR_LIST_BACKGROUND;
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- *
- * @see SWT#BORDER
- * @see SWT#FLAT
- * @see #getStyle()
- */		
-public ViewForm(Composite parent, int style) {
-	super(parent, checkStyle(style));
-	super.setLayout(new ViewFormLayout());
-	
-	setBorderVisible((style & SWT.BORDER) != 0);
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-				case SWT.Dispose: onDispose(); break;
-				case SWT.Paint: onPaint(e.gc); break;
-				case SWT.Resize: onResize(); break;
-			}
-		}
-	};
-	
-	int[] events = new int[] {SWT.Dispose, SWT.Paint, SWT.Resize};
-	
-	for (int i = 0; i < events.length; i++) {
-		addListener(events[i], listener);
-	}
-}
-
-static int checkStyle (int style) {
-	int mask = SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-	return style & mask | SWT.NO_REDRAW_RESIZE;
-}
-
-//protected void checkSubclass () {
-//	String name = getClass().getName ();
-//	String validName = ViewForm.class.getName();
-//	if (!validName.equals(name)) {
-//		SWT.error (SWT.ERROR_INVALID_SUBCLASS);
-//	}
-//}
-
-public Rectangle computeTrim (int x, int y, int width, int height) {
-	checkWidget ();
-	int trimX = x - borderLeft - highlight;
-	int trimY = y - borderTop - highlight;
-	int trimWidth = width + borderLeft + borderRight + 2*highlight;
-	int trimHeight = height + borderTop + borderBottom + 2*highlight;
-	return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-}
-public Rectangle getClientArea() {
-	checkWidget();
-	Rectangle clientArea = super.getClientArea();
-	clientArea.x += borderLeft;
-	clientArea.y += borderTop;
-	clientArea.width -= borderLeft + borderRight;
-	clientArea.height -= borderTop + borderBottom;
-	return clientArea;
-}
-/**
-* Returns the content area.
-* 
-* @return the control in the content area of the pane or null
-*/
-public Control getContent() {
-	//checkWidget();
-	return content;
-}
-/**
-* Returns Control that appears in the top center of the pane.
-* Typically this is a toolbar.
-* 
-* @return the control in the top center of the pane or null
-*/
-public Control getTopCenter() {
-	//checkWidget();
-	return topCenter;
-}
-/**
-* Returns the Control that appears in the top left corner of the pane.
-* Typically this is a label such as CLabel.
-* 
-* @return the control in the top left corner of the pane or null
-*/
-public Control getTopLeft() {
-	//checkWidget();
-	return topLeft;
-}
-/**
-* Returns the control in the top right corner of the pane.
-* Typically this is a Close button or a composite with a Menu and Close button.
-* 
-* @return the control in the top right corner of the pane or null
-*/
-public Control getTopRight() {
-	//checkWidget();
-	return topRight;
-}
-void onDispose() {
-	topLeft = null;
-	topCenter = null;
-	topRight = null;
-	content = null;
-	oldSize = null;
-	selectionBackground = null;
-}
-void onPaint(GC gc) {
-	Color gcForeground = gc.getForeground();
-	Point size = getSize();
-	Color border = getDisplay().getSystemColor(BORDER1_COLOR);
-	if (showBorder) {
-		gc.setForeground(border);
-		gc.drawRectangle(0, 0, size.x - 1, size.y - 1);
-		if (highlight > 0) {
-			int x1 = 1;
-			int y1 = 1;
-			int x2 = size.x - 1;
-			int y2 = size.y - 1;
-			int[] shape = new int[] {x1,y1, x2,y1, x2,y2, x1,y2, x1,y1+highlight,
-					           x1+highlight,y1+highlight, x1+highlight,y2-highlight, 
-							   x2-highlight,y2-highlight, x2-highlight,y1+highlight, x1,y1+highlight};
-			Color highlightColor = getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
-			gc.setBackground(highlightColor);
-			gc.fillPolygon(shape);
-		}
-	}
-	if (separator > -1) {
-		gc.setForeground(border);
-		gc.drawLine(borderLeft + highlight, separator, size.x - borderLeft - borderRight - highlight, separator);
-	}
-	gc.setForeground(gcForeground);
-}
-void onResize() {
-	Point size = getSize();
-	if (oldSize == null || oldSize.x == 0 || oldSize.y == 0) {
-		redraw();
-	} else {
-		int width = 0;
-		if (oldSize.x < size.x) {
-			width = size.x - oldSize.x + borderRight + highlight;
-		} else if (oldSize.x > size.x) {
-			width = borderRight + highlight;			
-		}
-		redraw(size.x - width, 0, width, size.y, false);
-		
-		int height = 0;
-		if (oldSize.y < size.y) {
-			height = size.y - oldSize.y + borderBottom + highlight;		
-		}
-		if (oldSize.y > size.y) {
-			height = borderBottom + highlight;		
-		}
-		redraw(0, size.y - height, size.x, height, false);
-	}
-	oldSize = size;
-}
-/**
-* Sets the content.
-* Setting the content to null will remove it from 
-* the pane - however, the creator of the content must dispose of the content.
-* 
-* @param content the control to be displayed in the content area or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-* </ul>
-*/
-public void setContent(Control content) {
-	checkWidget();
-	if (content != null && content.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.content != null && !this.content.isDisposed()) {
-		this.content.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-	}
-	this.content = content;
-	layout(false);
-}
-/**
- * Sets the layout which is associated with the receiver to be
- * the argument which may be null.
- * <p>
- * Note: No Layout can be set on this Control because it already
- * manages the size and position of its children.
- * </p>
- *
- * @param layout the receiver's new layout or null
- *
- * @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 setLayout (Layout layout) {
-	checkWidget();
-	return;
-}
-void setSelectionBackground (Color color) {
-	checkWidget();
-	if (selectionBackground == color) return;
-	if (color == null) color = getDisplay().getSystemColor(SELECTION_BACKGROUND);
-	selectionBackground = color;
-	redraw();
-}
-/**
-* Set the control that appears in the top center of the pane.
-* Typically this is a toolbar.
-* The topCenter is optional.  Setting the topCenter to null will remove it from 
-* the pane - however, the creator of the topCenter must dispose of the topCenter.
-* 
-* @param topCenter the control to be displayed in the top center or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-* </ul>
-*/
-public void setTopCenter(Control topCenter) {
-	checkWidget();
-	if (topCenter != null && topCenter.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topCenter != null && !this.topCenter.isDisposed()) {
-		Point size = this.topCenter.getSize();
-		this.topCenter.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	this.topCenter = topCenter;
-	layout(false);
-}
-/**
-* Set the control that appears in the top left corner of the pane.
-* Typically this is a label such as CLabel.
-* The topLeft is optional.  Setting the top left control to null will remove it from 
-* the pane - however, the creator of the control must dispose of the control.
-* 
-* @param c the control to be displayed in the top left corner or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-* </ul>
-*/
-public void setTopLeft(Control c) {
-	checkWidget();
-	if (c != null && c.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topLeft != null && !this.topLeft.isDisposed()) {
-		Point size = this.topLeft.getSize();
-		this.topLeft.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	this.topLeft = c;
-	layout(false);
-}
-/**
-* Set the control that appears in the top right corner of the pane.
-* Typically this is a Close button or a composite with a Menu and Close button.
-* The topRight is optional.  Setting the top right control to null will remove it from 
-* the pane - however, the creator of the control must dispose of the control.
-* 
-* @param c the control to be displayed in the top right corner or null
-* 
-* @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>
-*    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-* </ul>
-*/
-public void setTopRight(Control c) {
-	checkWidget();
-	if (c != null && c.getParent() != this) {
-		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	if (this.topRight != null && !this.topRight.isDisposed()) {
-		Point size = this.topRight.getSize();
-		this.topRight.setLocation(OFFSCREEN - size.x, OFFSCREEN - size.y);
-	}
-	this.topRight = c;
-	layout(false);
-}
-/**
-* Specify whether the border should be displayed or not.
-* 
-* @param show true if the border should be displayed
-* 
-* @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 setBorderVisible(boolean show) {
-	checkWidget();
-	if (showBorder == show) return;
-	
-	showBorder = show;
-	if (showBorder) {
-		borderLeft = borderTop = borderRight = borderBottom = 1;
-		if ((getStyle() & SWT.FLAT)== 0) highlight = 2;
-	} else {
-		borderBottom = borderTop = borderLeft = borderRight = 0;
-		highlight = 0;
-	}
-	layout(false);
-	redraw();
-}
-/**
-* If true, the topCenter will always appear on a separate line by itself, otherwise the 
-* topCenter will appear in the top row if there is room and will be moved to the second row if
-* required.
-* 
-* @param show true if the topCenter will always appear on a separate line by itself
-* 
-* @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 setTopCenterSeparate(boolean show) {
-	checkWidget();
-	separateTopCenter = show;
-	layout(false);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.java
deleted file mode 100644
index ba5f969..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/ViewFormLayout.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.custom;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class provides the layout for ViewForm
- * 
- * @see ViewForm
- */
-class ViewFormLayout extends Layout {
-
-protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-	ViewForm form = (ViewForm)composite;
-	Control left = form.topLeft;
-	Control center = form.topCenter;
-	Control right = form.topRight;
-	Control content = form.content;
-	
-	Point leftSize = new Point(0, 0);
-	if (left != null) {
-		leftSize = computeChildSize(left, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	Point centerSize = new Point(0, 0);
-	if (center != null) {
-		 centerSize = computeChildSize(center, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	Point rightSize = new Point(0, 0);
-	if (right != null) {
-		 rightSize = computeChildSize(right, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	Point size = new Point(0, 0);
-	// calculate width of title bar
-	if (form.separateTopCenter ||
-	    (wHint != SWT.DEFAULT &&  leftSize.x + centerSize.x + rightSize.x > wHint)) {
-		size.x = leftSize.x + rightSize.x;
-		if (leftSize.x > 0 && rightSize.x > 0) size.x += form.horizontalSpacing;
-		size.x = Math.max(centerSize.x, size.x);
-		size.y = Math.max(leftSize.y, rightSize.y);
-		if (center != null){
-			size.y += centerSize.y;
-			if (left != null ||right != null)size.y += form.verticalSpacing;
-		}	
-	} else {
-		size.x = leftSize.x + centerSize.x + rightSize.x;
-		int count = -1;
-		if (leftSize.x > 0) count++;
-		if (centerSize.x > 0) count++;
-		if (rightSize.x > 0) count++;
-		if (count > 0) size.x += count * form.horizontalSpacing;
-		size.y = Math.max(leftSize.y, Math.max(centerSize.y, rightSize.y));
-	}
-	
-	if (content != null) {
-		if (left != null || right != null || center != null) size.y += 1; // allow space for a vertical separator
-		Point contentSize = new Point(0, 0);
-		contentSize = computeChildSize(content, SWT.DEFAULT, SWT.DEFAULT, flushCache); 
-		size.x = Math.max (size.x, contentSize.x);
-		size.y += contentSize.y;
-		if (size.y > contentSize.y) size.y += form.verticalSpacing;
-	}
-	
-	size.x += 2*form.marginWidth;
-	size.y += 2*form.marginHeight;
-	
-	if (wHint != SWT.DEFAULT) size.x  = wHint;
-	if (hHint != SWT.DEFAULT) size.y = hHint;
-	
-	return size;
-}
-
-Point computeChildSize(Control control, int wHint, int hHint, boolean flushCache) {
-	Object data = control.getLayoutData();
-	if (data == null || !(data instanceof CLayoutData)) {
-		data = new CLayoutData();
-		control.setLayoutData(data);
-	}
-	return ((CLayoutData)data).computeSize(control, wHint, hHint, flushCache);
-}
-
-int computeTrim(Control c) {
-	if (c instanceof Scrollable) {
-		Rectangle rect = ((Scrollable) c).computeTrim (0, 0, 0, 0);
-		return rect.width;
-	}
-	return c.getBorderWidth () * 2;
-}
-
-protected boolean flushCache(Control control) {
-	Object data = control.getLayoutData();
-	if (data != null && data instanceof CLayoutData) ((CLayoutData)data).flushCache();
-	return true;
-}
-
-protected void layout(Composite composite, boolean flushCache) {
-	ViewForm form = (ViewForm)composite;
-	Control left = form.topLeft;
-	Control center = form.topCenter;
-	Control right = form.topRight;
-	Control content = form.content;
-	
-	Rectangle rect = composite.getClientArea();
-	
-	Point leftSize = new Point(0, 0);
-	if (left != null && !left.isDisposed()) {
-		leftSize = computeChildSize(left, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	Point centerSize = new Point(0, 0);
-	if (center != null && !center.isDisposed()) {
-		 centerSize = computeChildSize(center, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	Point rightSize = new Point(0, 0);
-	if (right != null && !right.isDisposed()) {
-		 rightSize = computeChildSize(right, SWT.DEFAULT, SWT.DEFAULT, flushCache);
-	}
-	
-	int minTopWidth = leftSize.x + centerSize.x + rightSize.x + 2*form.marginWidth + 2*form.highlight;
-	int count = -1;
-	if (leftSize.x > 0) count++;
-	if (centerSize.x > 0) count++;
-	if (rightSize.x > 0) count++;
-	if (count > 0) minTopWidth += count * form.horizontalSpacing;
-		
-	int x = rect.x + rect.width - form.marginWidth - form.highlight;
-	int y = rect.y + form.marginHeight + form.highlight;
-	
-	boolean top = false;
-	if (form.separateTopCenter || minTopWidth > rect.width) {
-		int topHeight = Math.max(rightSize.y, leftSize.y);
-		if (right != null && !right.isDisposed()) {
-			top = true;
-			x -= rightSize.x;
-			right.setBounds(x, y, rightSize.x, topHeight);
-			x -= form.horizontalSpacing;
-		}
-		if (left != null && !left.isDisposed()) {
-			top = true;
-			int trim = computeTrim(left);
-			int leftW = x - rect.x - form.marginWidth - form.highlight - trim;
-			leftSize = computeChildSize(left, leftW, SWT.DEFAULT, false);
-			left.setBounds(rect.x + form.marginWidth + form.highlight, y, leftSize.x, topHeight);
-		}
-		if (top) y += topHeight + form.verticalSpacing;
-		if (center != null && !center.isDisposed()) {
-			top = true;
-			int trim = computeTrim(center);
-			int w = rect.width - 2*form.marginWidth - 2*form.highlight - trim;
-			centerSize = computeChildSize(center, w, SWT.DEFAULT, false);
-			center.setBounds(rect.x + rect.width - form.marginWidth - form.highlight - centerSize.x, y, centerSize.x, centerSize.y);
-			y += centerSize.y + form.verticalSpacing;
-		}		
-	} else {
-		int topHeight = Math.max(rightSize.y, Math.max(centerSize.y, leftSize.y));
-		if (right != null && !right.isDisposed()) {
-			top = true;
-			x -= rightSize.x;
-			right.setBounds(x, y, rightSize.x, topHeight);
-			x -= form.horizontalSpacing;
-		}
-		if (center != null && !center.isDisposed()) {
-			top = true;
-			x -= centerSize.x;
-			center.setBounds(x, y, centerSize.x, topHeight);
-			x -= form.horizontalSpacing;
-		}
-		if (left != null && !left.isDisposed()) {
-			top = true;
-			Rectangle trim = left instanceof Composite ? ((Composite)left).computeTrim(0, 0, 0, 0) : new Rectangle(0, 0, 0, 0);
-			int w = x - rect.x - form.marginWidth - form.highlight - trim.width;
-			int h = topHeight - trim.height;
-			leftSize = computeChildSize(left, w, h, false);
-			left.setBounds(rect.x + form.marginWidth + form.highlight, y, leftSize.x, topHeight);
-		}
-		if (top)y += topHeight + form.verticalSpacing;
-	}
-	int oldSeperator = form.separator;
-	form.separator = -1;
-	if (content != null && !content.isDisposed()) {
-		if (left != null || right!= null || center != null){
-			form.separator = y;
-			y++;
-		}
-		 content.setBounds(rect.x + form.marginWidth + form.highlight, y, rect.width - 2 * form.marginWidth - 2*form.highlight, rect.y + rect.height - y - form.marginHeight - form.highlight);
-	}
-	if (oldSeperator != -1 && form.separator != -1) {
-		int t = Math.min(form.separator, oldSeperator);
-		int b = Math.max(form.separator, oldSeperator);
-		form.redraw(form.borderLeft, t, form.getSize().x - form.borderLeft - form.borderRight, b - t, false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/package.html b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/package.html
deleted file mode 100755
index 3011a3f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT Custom widgets.
-<h2>
-Package Specification</h2>
-This package contains the custom widgets which were written to provide the
-standard look and feel of the Eclipse platform.
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100644
index c138c1c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,182 +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.dnd;
-
- 
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-
-public TransferData[] getSupportedTypes() {
-	int[] types = getTypeIds();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i];
-	}
-	return data;
-}
-
-public boolean isSupportedType(TransferData transferData){
-	if (transferData == null) return false;
-	int[] types = getTypeIds();
-	for (int i = 0; i < types.length; i++) {
-		if (transferData.type == types[i]) return true;
-	}
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData) {
-	if (!checkByteArray(object) && !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	byte[] orig = (byte[])object;
-	byte[] buffer = new byte[orig.length];
-	System.arraycopy(orig, 0, buffer, 0, orig.length);
-	transferData.data = new byte[1][];
-	transferData.data[0] = buffer;
-	transferData.result = 0;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) || transferData.data == null) return null;
-	if (transferData.data.length == 0 || transferData.data[0].length == 0) return null;
-	return transferData.data[0];
-}
-boolean checkByteArray(Object object) {
-	return (object != null && object instanceof byte[] && ((byte[])object).length > 0);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100644
index 94a9a5e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,567 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.carbon.OS;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-
-	Display display;
-	int scrap = 0;
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-public Clipboard(Display display) {	
-	checkSubclass ();
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-	}
-	if (display.getThread() != Thread.currentThread()) {
-		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	}
-	this.display = display;
-}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the system clipboard,
- * clear the contents.  If this clipboard is not the owner, then nothing is done.
- * Note that there are clipboard assistant applications that take ownership of 
- * data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.
- * 
- * @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>
- * 
- * @since 3.1
- */
-public void clearContents() {
-	clearContents(DND.CLIPBOARD);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the specified 
- * clipboard, clear the contents.  If this clipboard is not the owner, then 
- * nothing is done.
- * 
- * <p>Note that there are clipboard assistant applications that take ownership
- * of data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.</p>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards to be cleared
- * 
- * @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>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void clearContents(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) == 0 || scrap == 0) return;
-	int oldScrap = scrap;
-	scrap = 0;
-	int[] currentScrap = new int[1];
-	if (OS.GetCurrentScrap(currentScrap) != OS.noErr) return;
-	if (currentScrap[0] == oldScrap) {
-		OS.ClearCurrentScrap();
-	}
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	return getContents(transfer, DND.CLIPBOARD);
-}
-
-/**
- * Retrieve the data of the specified type currently available on the specified 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer, DND.CLIPBOARD);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @param clipboards on which to look for data
- *  
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public Object getContents(Transfer transfer, int clipboards) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	if ((clipboards & DND.CLIPBOARD) == 0) return null;
-	int[] scrap = new int[1];
-	if (OS.GetCurrentScrap(scrap) != OS.noErr) return null;
-	int[] typeIds = transfer.getTypeIds();
-	int[] size = new int[1];	
-	// get data from system clipboard
-	for (int i=0; i<typeIds.length; i++) {
-		int type = typeIds[i];
-		size[0] = 0;
-		if (OS.GetScrapFlavorSize(scrap[0], type, size) == OS.noErr && size[0] > 0) {
-			byte[] buffer = new byte[size[0]];
-			if (OS.GetScrapFlavorData(scrap[0], type, size, buffer) == OS.noErr) {
-				TransferData tdata = new TransferData();
-				tdata.type = type;		
-				tdata.data = new byte[1][];
-				tdata.data[0] = buffer;
-				return transfer.nativeToJava(tdata);
-			}
-		}
-	}
-	return null;	// No data available for this transfer
-}
-
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	setContents(data, dataTypes, DND.CLIPBOARD);
-}
-
-/**
- * Place data of the specified type on the specified clipboard.  More than one 
- * type of data can be placed on the specified clipboard at the same time.
- * Setting the data clears any previous data from the specified
- * clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the specified
- * clipboard but on other platforms it is provided upon request.  As a result, 
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers, DND.CLIPBOARD);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * @param clipboards on which to set the data
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void setContents(Object[] data, Transfer[] dataTypes, int clipboards) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length || data.length == 0) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < data.length; i++) {
-		if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) {
-			DND.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-	}
-	if ((clipboards & DND.CLIPBOARD) == 0) return;
-	if (OS.ClearCurrentScrap() != OS.noErr) {
-		DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-	}
-	scrap = 0;
-	int[] currentScrap = new int[1];
-	if (OS.GetCurrentScrap(currentScrap) != OS.noErr) {
-		DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-	}
-	scrap = currentScrap[0];
-	// copy data directly over to System clipboard (not deferred)
-	for (int i=0; i<dataTypes.length; i++) {
-		int[] typeIds = dataTypes[i].getTypeIds();
-		for (int j=0; j<typeIds.length; j++) {
-			TransferData transferData = new TransferData();
-			transferData.type = typeIds[j];
-			dataTypes[i].javaToNative(data[i], transferData); 
-			if (transferData.result != OS.noErr) {
-				DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-			}
-			//Drag and Drop can handle multiple items in one transfer but the
-			//Clipboard can not.
-			byte[] datum = transferData.data[0];
-			if (OS.PutScrapFlavor(scrap, transferData.type, 0, datum.length, datum) != OS.noErr){
-				DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-			}
-		}
-	}
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	return getAvailableTypes(DND.CLIPBOARD);
-}
-
-/**
- * Returns an array of the data types currently available on the specified 
- * clipboard. Use with Transfer.isSupportedType.
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards from which to get the data types
- * @return array of data types currently available on the specified clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public TransferData[] getAvailableTypes(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) == 0) return new TransferData[0]; 
-	int[] types = _getAvailableTypes();
-	TransferData[] result = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		result[i] = new TransferData();
-		result[i].type = types[i];
-	}
-	return result;
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	int[] types = _getAvailableTypes();
-	String[] names = new String[types.length];
-	for (int i = 0; i < types.length; i++) {
-		int type = types[i];
-		StringBuffer sb = new StringBuffer();
-		sb.append((char)((type & 0xff000000) >> 24));
-		sb.append((char)((type & 0x00ff0000) >> 16));
-		sb.append((char)((type & 0x0000ff00) >> 8));
-		sb.append((char)((type & 0x000000ff) >> 0));
-		names[i] = sb.toString();
-	}
-	return names;
-}
-
-int[] _getAvailableTypes() {
-	int[] types = new int[0];
-	int[] scrap = new int[1];
-	if (OS.GetCurrentScrap(scrap) != OS.noErr) return types;
-	int[] count = new int[1];
-	if (OS.GetScrapFlavorCount(scrap[0], count) != OS.noErr || count[0] == 0) return types;
-	int[] info = new int[count[0] * 2];
-	if (OS.GetScrapFlavorInfoList(scrap[0], count, info) != OS.noErr) return types;
-	types = new int[count[0]];
-	for (int i= 0; i < count [0]; i++) {
-		types[i] = info[i*2];
-	}
-	return types;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100644
index ee84c15..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,486 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.Callback;
-import org.eclipse.swt.internal.carbon.CGPoint;
-import org.eclipse.swt.internal.carbon.EventRecord;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.Point;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-
-	static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-	static Callback DragSendDataProc;
-	
-	static {
-		DragSendDataProc = new Callback(DragSource.class, "DragSendDataProc", 4); //$NON-NLS-1$
-		int dragSendDataProcAddress = DragSendDataProc.getAddress();
-		if (dragSendDataProcAddress == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DRAGSOURCEID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	}
-	control.setData(DRAGSOURCEID, this);
-	
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	control.addListener (SWT.DragDetect, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});
-	
-	//	 Drag and drop effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else if (control instanceof StyledText) {
-		effect = new StyledTextDragAndDropEffect((StyledText)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-static int DragSendDataProc(int theType, int dragSendRefCon, int theItemRef, int theDrag) {
-	DragSource source = FindDragSource(dragSendRefCon, theDrag);
-	if (source == null) return OS.cantGetFlavorErr;
-	return source.dragSendDataProc(theType, dragSendRefCon, theItemRef, theDrag);
-}
-
-static DragSource FindDragSource(int dragSendRefCon, int theDrag) {
-	if (dragSendRefCon == 0) return null;
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(dragSendRefCon);
-	if (widget == null) return null;
-	return (DragSource)widget.getData(DRAGSOURCEID); 
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragStart, typedListener);
-	addListener (DND.DragSetData, typedListener);
-	addListener (DND.DragEnd, typedListener);
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void drag(Event dragEvent) {
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.x = dragEvent.x;
-	event.y = dragEvent.y;
-	event.time = dragEvent.time;
-	event.doit = true;
-	notifyListeners(DND.DragStart, event);
-	if (!event.doit || transferAgents == null || transferAgents.length == 0) return;
-	
-	int[] theDrag = new int[1];
-	if (OS.NewDrag(theDrag) != OS.noErr) {
-		event = new DNDEvent();
-		event.widget = this;
-		event.time = (int)System.currentTimeMillis();
-		event.doit = false;
-		event.detail = DND.DROP_NONE; 
-		notifyListeners(DND.DragEnd, event);
-		return;
-	}
-	
-	Point pt = new Point();
-	OS.GetGlobalMouse (pt);
-
-	for (int i = 0; i < transferAgents.length; i++) {
-		int[] types = transferAgents[i].getTypeIds();
-		if (transferAgents[i] instanceof FileTransfer) {
-			TransferData transferData = new TransferData();
-			transferData.type = types[0];
-			event = new DNDEvent();
-			event.widget = this;
-			event.time = (int)System.currentTimeMillis(); 
-			event.dataType = transferData; 
-			notifyListeners(DND.DragSetData, event);
-			if (event.data == null) return;
-			Transfer transferAgent = transferAgents[i];
-			for (int j = 0; j < types.length; j++) {
-				transferData.type = types[j];
-				transferAgent.javaToNative(event.data, transferData);
-				if (transferData.result != OS.noErr) return;
-				for (int k = 0; k < transferData.data.length; k++) {
-					byte[] datum = transferData.data[k];
-					OS.AddDragItemFlavor(theDrag[0], 1 + k, types[j], datum, datum.length, 0);
-				}
-			}
-		} else {
-			for (int j = 0; j < types.length; j++) {
-				OS.AddDragItemFlavor(theDrag[0], 1, types[j], null, 0, 0);	
-			}	
-		}
-	}
-	
-	OS.SetDragSendProc(theDrag[0], DragSendDataProc.getAddress(), control.handle);
-	
-	int theRegion = 0;
-	try {	
-		theRegion = OS.NewRgn();
-		OS.SetRectRgn(theRegion, (short)(pt.h), (short)(pt.v), (short)(pt.h+20), (short)(pt.v+20));
-		
-		int operations = opToOsOp(getStyle());
-		//set operations twice - local and not local
-		OS.SetDragAllowableActions(theDrag[0], operations, true);
-		OS.SetDragAllowableActions(theDrag[0], operations, false);
-		
-		ImageData imageData = effect.getDragSourceImage(dragEvent.x, dragEvent.y);
-		Image image = null;
-		try {
-			if (imageData != null) {
-				image = new Image(getDisplay(), imageData);
-				CGPoint imageOffsetPt = new CGPoint();
-				imageOffsetPt.x = 0;
-				imageOffsetPt.y = 0;
-				OS.SetDragImageWithCGImage(theDrag[0], image.handle, imageOffsetPt, OS.kDragStandardTranslucency);
-			}
-			EventRecord theEvent = new EventRecord();
-			theEvent.message = OS.kEventMouseMoved;
-			theEvent.modifiers = (short)OS.GetCurrentEventKeyModifiers();
-			theEvent.what = (short)OS.osEvt;
-			theEvent.where_h = pt.h;
-			theEvent.where_v = pt.v;	
-			int result = OS.TrackDrag(theDrag[0], theEvent, theRegion);
-			int operation = DND.DROP_NONE;
-			if (result == OS.noErr) { 
-				int[] outAction = new int[1];
-				OS.GetDragDropAction(theDrag[0], outAction);
-				operation = osOpToOp(outAction[0]);
-			}	
-			event = new DNDEvent();
-			event.widget = this;
-			event.time = (int)System.currentTimeMillis();
-			event.doit = result == OS.noErr;
-			event.detail = operation; 
-			notifyListeners(DND.DragEnd, event);
-		} finally {
-			if (image != null) image.dispose();
-		}
-	} finally {	
-		if (theRegion != 0) OS.DisposeRgn(theRegion);
-	}
-	OS.DisposeDrag(theDrag[0]);
-}
-
-int dragSendDataProc(int theType, int dragSendRefCon, int theItemRef, int theDrag) {
-	if (theType == 0) return OS.badDragFlavorErr;
-	TransferData transferData = new TransferData();
-	transferData.type = theType;
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = (int)System.currentTimeMillis(); 
-	event.dataType = transferData; 
-	notifyListeners(DND.DragSetData, event);
-	Transfer transfer = null;
-	for (int i = 0; i < transferAgents.length; i++) {
-		if (transferAgents[i].isSupportedType(transferData)) {
-			transfer = transferAgents[i];
-			break;
-		}
-	}
-	if (transfer == null) return OS.badDragFlavorErr;
-	transfer.javaToNative(event.data, transferData);
-	if (transferData.result != OS.noErr) return transferData.result;
-	// Except for FileTransfer (see #drag), only one item can be transferred
-	// in a Drag operation
-	byte[] datum = transferData.data[0];
-	if (datum == null) return OS.cantGetFlavorErr;
-	return OS.SetDragItemFlavorData(theDrag, theItemRef, theType, datum, datum.length, 0);
-}
-
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl () {
-	return control;
-}
-
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-void onDispose() {
-	if (control == null)
-		return;
-	if (controlListener != null) {
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-
-int opToOsOp(int operation) {
-	int osOperation = 0;
-	if ((operation & DND.DROP_COPY) != 0){
-		osOperation |= OS.kDragActionCopy;
-	}
-	if ((operation & DND.DROP_LINK) != 0) {
-		osOperation |= OS.kDragActionAlias;
-	}
-	if ((operation & DND.DROP_MOVE) != 0) {
-		osOperation |= OS.kDragActionMove;
-	}
-	if ((operation & DND.DROP_TARGET_MOVE) != 0) {
-		osOperation |= OS.kDragActionDelete;
-	}
-	return osOperation;
-}
-
-int osOpToOp(int osOperation){
-	int operation = 0;
-	if ((osOperation & OS.kDragActionCopy) != 0){
-		operation |= DND.DROP_COPY;
-	}
-	if ((osOperation & OS.kDragActionAlias) != 0) {
-		operation |= DND.DROP_LINK;
-	}
-	if ((osOperation & OS.kDragActionDelete) != 0) {
-		operation |= DND.DROP_TARGET_MOVE;
-	}
-	if ((osOperation & OS.kDragActionMove) != 0) {
-		operation |= DND.DROP_MOVE;
-	}
-	if (osOperation == OS.kDragActionAll) {
-		operation = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-	}
-	return operation;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragStart, listener);
-	removeListener (DND.DragSetData, listener);
-	removeListener (DND.DragEnd, listener);
-}
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100644
index 41ac5b8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,744 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.carbon.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-
-	// Track application selections
-	TransferData selectedDataType;
-	int selectedOperation;
-	
-	// workaround - There is no event for "operation changed" so track operation based on key state
-	int keyOperation = -1;
-	
-	// workaround - Simulate events when mouse is not moving
-	long dragOverStart;
-	Runnable dragOverHeartbeat;
-	DNDEvent dragOverEvent;
-	
-	// workaround - OS events are relative to the application, not the control.
-	// Track which control is the current target to determine when drag and
-	// drop enters or leaves a widget.
-	static DropTarget CurrentDropTarget = null;
-	
-	static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-	static final int DRAGOVER_HYSTERESIS = 50;
-	
-	static Callback DragTrackingHandler;
-	static Callback DragReceiveHandler;
-	
-	static {
-		DragTrackingHandler = new Callback(DropTarget.class, "DragTrackingHandler", 4); //$NON-NLS-1$
-		int dragTrackingHandlerAddress = DragTrackingHandler.getAddress();
-		if (dragTrackingHandlerAddress == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DragReceiveHandler = new Callback(DropTarget.class, "DragReceiveHandler", 3); //$NON-NLS-1$
-		int dragReceiveHandlerAddress = DragReceiveHandler.getAddress();
-		if (dragReceiveHandlerAddress == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		OS.InstallTrackingHandler(dragTrackingHandlerAddress, 0, null);
-		OS.InstallReceiveHandler(dragReceiveHandlerAddress, 0, null);
-	}
-
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super(control, checkStyle(style));
-	this.control = control;
-	if (DragTrackingHandler == null || DragTrackingHandler == null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	if (control.getData(DROPTARGETID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	control.setData(DROPTARGETID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (!DropTarget.this.isDisposed()) {
-				DropTarget.this.dispose();
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent (Event event) {
-			onDispose();
-		}
-	});
-	
-	// Drag and drop effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else if (control instanceof StyledText) {
-		effect = new StyledTextDragAndDropEffect((StyledText)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-
-	dragOverHeartbeat = new Runnable() {
-		public void run() {
-			Control control = DropTarget.this.control;
-			if (control == null || control.isDisposed() || dragOverStart == 0) return;
-			long time = System.currentTimeMillis();
-			int delay = DRAGOVER_HYSTERESIS;
-			if (time < dragOverStart) {
-				delay = (int)(dragOverStart - time);
-			} else {	
-				int allowedOperations = dragOverEvent.operations;
-				TransferData[] allowedTypes = dragOverEvent.dataTypes;
-				//pass a copy of data types in to listeners in case application modifies it
-				TransferData[] dataTypes = new TransferData[allowedTypes.length];
-				System.arraycopy(allowedTypes, 0, dataTypes, 0, dataTypes.length);
-	
-				DNDEvent event = new DNDEvent();
-				event.widget = dragOverEvent.widget;
-				event.x = dragOverEvent.x;
-				event.y = dragOverEvent.y;
-				event.time = (int)time;
-				event.feedback = DND.FEEDBACK_SELECT;
-				event.dataTypes = dataTypes;
-				event.dataType = selectedDataType;
-				event.operations = dragOverEvent.operations;
-				event.detail  = selectedOperation;
-				event.item = effect.getItem(event.x, event.y);
-				selectedDataType = null;
-				selectedOperation = DND.DROP_NONE;				
-				notifyListeners(DND.DragOver, event);
-				effect.showDropTargetEffect(event.feedback, event.x, event.y);
-				if (event.dataType != null) {
-					for (int i = 0; i < allowedTypes.length; i++) {
-						if (allowedTypes[i].type == event.dataType.type) {
-							selectedDataType = event.dataType;
-							break;
-						}
-					}
-				}
-				if (selectedDataType != null && (event.detail & allowedOperations) != 0) {
-					selectedOperation = event.detail;
-				}
-			}
-			control = DropTarget.this.control;
-			if (control == null || control.isDisposed()) return;
-			control.getDisplay().timerExec(delay, dragOverHeartbeat);
-		}
-	};
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-static int DragReceiveHandler(int theWindow, int handlerRefCon, int theDrag) {
-	DropTarget target = FindDropTarget(theWindow, theDrag);
-	if (target == null) return OS.noErr;
-	return target.dragReceiveHandler(theWindow, handlerRefCon, theDrag);   
-}
-
-static int DragTrackingHandler(int message, int theWindow, int handlerRefCon, int theDrag) {
-	if (message == OS.kDragTrackingLeaveHandler || message == OS.kDragTrackingEnterHandler) {
-		CurrentDropTarget = null;
-		return OS.noErr;
-	}
-	DropTarget target = FindDropTarget(theWindow, theDrag);
-	if (CurrentDropTarget != null) {
-		if (target == null || CurrentDropTarget.control.handle != target.control.handle) {
-			CurrentDropTarget.dragTrackingHandler(OS.kDragTrackingLeaveWindow, theWindow, handlerRefCon, theDrag);
-			CurrentDropTarget = target;
-			message = OS.kDragTrackingEnterWindow;
-		}
-	} else {
-		CurrentDropTarget = target;
-		message = OS.kDragTrackingEnterWindow;
-	}
-	if (target == null) return OS.noErr;
-	return target.dragTrackingHandler(message, theWindow, handlerRefCon, theDrag);   
-}
-
-static DropTarget FindDropTarget(int theWindow, int theDrag) {
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Point mouse = new Point();
-	OS.GetDragMouse(theDrag, mouse, null);
-	int[] theRoot = new int[1];
-	OS.GetRootControl(theWindow, theRoot);
-	int[] theControl = new int[1];
-	Rect rect = new Rect();
-	OS.GetWindowBounds (theWindow, (short) OS.kWindowContentRgn, rect);
-	CGPoint inPoint = new CGPoint();
-	inPoint.x = mouse.h - rect.left;
-	inPoint.y = mouse.v - rect.top;
-	OS.HIViewGetSubviewHit(theRoot[0], inPoint, true, theControl);
-	if (!OS.IsControlEnabled(theControl[0])) return null;				
-	Widget widget = display.findWidget(theControl[0]);
-	if (widget == null) return null;
-	return (DropTarget)widget.getData(DROPTARGETID);
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-int dragReceiveHandler(int theWindow, int handlerRefCon, int theDrag) {
-	updateDragOverHover(0, null);
-	effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-
-	if (keyOperation == -1) return OS.dragNotAcceptedErr;
-
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = (int)System.currentTimeMillis();
-	event.detail = DND.DROP_NONE;
-	notifyListeners(DND.DragLeave, event);
-	
-	event = new DNDEvent();
-	if (!setEventData(theDrag, event)) {
-		return OS.dragNotAcceptedErr;
-	}
-	keyOperation = -1;
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, event.dataTypes.length);
-	event.dataType = selectedDataType;
-	event.detail = selectedOperation;
-	selectedDataType = null;
-	selectedOperation = DND.DROP_NONE;
-	notifyListeners(DND.DropAccept, event);
-	
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-	if (selectedDataType != null && (event.detail & allowedOperations) != 0) {
-		selectedOperation = event.detail;
-	}	
-	if (selectedOperation == DND.DROP_NONE) {
-		// this was not a successful drop
-		return OS.dragNotAcceptedErr;
-	}
-	// ask drag source for dropped data
-	byte[][] data  = new byte[0][];
-	// locate all the items with data of the desired type 
-	short[] numItems = new short[1];
-	OS.CountDragItems(theDrag, numItems);
-	for (short i = 0; i < numItems[0]; i++) {
-		int[] theItemRef = new int[1];
-		OS.GetDragItemReferenceNumber(theDrag, (short) (i+1), theItemRef);
-		int[] size = new int[1];
-		OS.GetFlavorDataSize(theDrag, theItemRef[0], selectedDataType.type, size);
-		if (size[0] > 0) {
-			byte[] buffer = new byte[size[0]];
-			OS.GetFlavorData(theDrag, theItemRef[0], selectedDataType.type, buffer, size, 0);
-			byte[][] newData = new byte[data.length + 1][];
-			System.arraycopy(data, 0, newData, 0, data.length);
-			newData[data.length] = buffer;
-			data = newData;
-		}
-	}
-	// Get Data in a Java format
-	Object object = null;
-	for (int i = 0; i < transferAgents.length; i++) {
-		Transfer transfer = transferAgents[i];
-		if (transfer.isSupportedType(selectedDataType)) {
-			selectedDataType.data = data;
-			object = transfer.nativeToJava(selectedDataType);
-			break;
-		}
-	}
-	
-	if (object == null) {
-		selectedOperation = DND.DROP_NONE;
-	}
-		
-	event.dataType = selectedDataType;
-	event.detail = selectedOperation;
-	event.data = object;
-	notifyListeners(DND.Drop, event);
-	selectedOperation = DND.DROP_NONE;
-	if ((allowedOperations & event.detail) == event.detail) {
-		selectedOperation = event.detail;
-	}
-	//notify source of action taken
-	int action = opToOsOp(selectedOperation);
-	OS.SetDragDropAction(theDrag, action);
-	return (selectedOperation == DND.DROP_NONE) ? OS.dragNotAcceptedErr : OS.noErr;
-}
-
-int dragTrackingHandler(int message, int theWindow, int handlerRefCon, int theDrag) {
-	
-	if (message == OS.kDragTrackingLeaveWindow) {
-		updateDragOverHover(0, null);
-		effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-		OS.SetThemeCursor(OS.kThemeArrowCursor);
-		if (keyOperation == -1) return OS.dragNotAcceptedErr;
-		keyOperation = -1;
-		
-		DNDEvent event = new DNDEvent();
-		event.widget = this;
-		event.time = (int)System.currentTimeMillis();
-		event.detail = DND.DROP_NONE;
-		notifyListeners(DND.DragLeave, event);
-		return OS.noErr;
-	}
-	
-	int oldKeyOperation = keyOperation;
-	
-	if (message == OS.kDragTrackingEnterWindow) {
-		selectedDataType = null;
-		selectedOperation = 0;
-	}
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(theDrag, event)) {
-		keyOperation = -1;
-		OS.SetThemeCursor(OS.kThemeNotAllowedCursor);
-		return OS.dragNotAcceptedErr;
-	}
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	
-	switch (message) {
-		case OS.kDragTrackingEnterWindow:
-			event.type = DND.DragEnter;
-			break;
-		case OS.kDragTrackingInWindow:
-			if (keyOperation == oldKeyOperation) {
-				event.type = DND.DragOver;
-				event.dataType = selectedDataType;
-				event.detail = selectedOperation;
-			}else {
-				event.type = DND.DragOperationChanged;
-				event.dataType = selectedDataType;
-			}
-			break;
-	}
-	
-	updateDragOverHover(DRAGOVER_HYSTERESIS, event);
-	selectedDataType = null;
-	selectedOperation = DND.DROP_NONE;
-	notifyListeners(event.type, event);
-
-	if (event.detail == DND.DROP_DEFAULT) {
-		event.detail = (allowedOperations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-	}
-	
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-
-	if (selectedDataType != null && (allowedOperations & event.detail) != 0) {
-		selectedOperation = event.detail;
-	}
-	
-	OS.SetDragDropAction(theDrag, opToOsOp(selectedOperation));
-	
-	effect.showDropTargetEffect(event.feedback, event.x, event.y);
-
-	switch (selectedOperation) {
-		case DND.DROP_COPY:
-			OS.SetThemeCursor(OS.kThemeCopyArrowCursor);
-			break;
-		case DND.DROP_LINK:
-			OS.SetThemeCursor(OS.kThemeAliasArrowCursor);
-			break;
-		case DND.DROP_MOVE:
-			OS.SetThemeCursor(OS.kThemeArrowCursor);
-			break;
-		default:
-			OS.SetThemeCursor(OS.kThemeNotAllowedCursor);
-	}
-  	
-  	if (message == OS.kDragTrackingEnterWindow) {
-		dragOverHeartbeat.run();		
-	}
-	return OS.noErr;
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-int getOperationFromKeyState(int theDrag) {
-	short[] modifiers = new short[1];
-	OS.GetDragModifiers(theDrag, modifiers, null, null);
-	boolean option = (modifiers[0] & OS.optionKey) == OS.optionKey;
-	boolean command = (modifiers[0] & OS.cmdKey) == OS.cmdKey;
-	if (option && command) return DND.DROP_LINK;
-	if (option) return DND.DROP_COPY;
-	if (command) return DND.DROP_MOVE;
-	return DND.DROP_DEFAULT; 
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */
-public Transfer[] getTransfer() {
-	return transferAgents;
-}
-
-void onDispose () {	
-	if (control == null)
-		return;
-	if (controlListener != null)
-		control.removeListener(SWT.Dispose, controlListener);
-	controlListener = null;
-	control.setData(DROPTARGETID, null);
-	transferAgents = null;
-	control = null;
-}
-
-int opToOsOp(int operation) {
-	int osOperation = 0;
-	if ((operation & DND.DROP_COPY) != 0){
-		osOperation |= OS.kDragActionCopy;
-	}
-	if ((operation & DND.DROP_LINK) != 0) {
-		osOperation |= OS.kDragActionAlias;
-	}
-	if ((operation & DND.DROP_MOVE) != 0) {
-		osOperation |= OS.kDragActionMove;
-	}
-	return osOperation;
-}
-
-int osOpToOp(int osOperation){
-	int operation = 0;
-	if ((osOperation & OS.kDragActionCopy) != 0){
-		operation |= DND.DROP_COPY;
-	}
-	if ((osOperation & OS.kDragActionAlias) != 0) {
-		operation |= DND.DROP_LINK;
-	}
-	if ((osOperation & OS.kDragActionMove) != 0) {
-		operation |= DND.DROP_MOVE;
-	}
-	if (osOperation == OS.kDragActionAll) {
-		operation = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-	}
-	return operation;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-boolean setEventData(int theDrag, DNDEvent event) {
-	if (theDrag == 0) return false;
-	
-	// get allowed operations
-	int style = getStyle();
-	int[] outActions = new int[1];
-	OS.GetDragAllowableActions(theDrag, outActions);
-	int operations = osOpToOp(outActions[0]) & style;
-	if (operations == DND.DROP_NONE) return false;
-	
-	//get current operation
-	int operation =  getOperationFromKeyState(theDrag);
-	keyOperation = operation;
-	if (operation == DND.DROP_DEFAULT) {
-		 if ((style & DND.DROP_DEFAULT) == 0) {
-			operation = (operations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-		 }
-	} else {
-		if ((operation & operations) == 0) operation = DND.DROP_NONE;
-	}
-	
-	// get allowed transfer types
-	short[] numItems = new short[1];
-	OS.CountDragItems(theDrag, numItems);
-	int[] flavors = new int[10];
-	int index = -1;
-	//Get a unique list of flavors
-	for (short i = 0; i < numItems[0]; i++) {
-		int[] theItemRef = new int[1];
-		OS.GetDragItemReferenceNumber(theDrag, (short) (i+1), theItemRef);
-		short[] numFlavors = new short[1];
-		OS.CountDragItemFlavors(theDrag, theItemRef[0], numFlavors);
-		int[] theType = new int[1];
-		for (int j = 0; j < numFlavors[0]; j++) {
-			theType[0] = 0;
-			if (OS.GetFlavorType(theDrag, theItemRef[0], (short) (j+1), theType) == OS.noErr) {
-				boolean unique = true;
-				for (int k = 0; k < flavors.length; k++) {
-					if (flavors[k] == theType[0]) {
-						unique = false;
-						break;
-					}
-				}
-				if (unique) {
-					if (index == flavors.length - 1) {
-						int[] temp = new int[flavors.length + 10];
-						System.arraycopy(flavors, 0, temp, 0, flavors.length);
-						flavors = temp;
-					}
-					flavors[++index] = theType[0];
-				}
-			}
-		}
-	}
-	if (index == -1) return false;
-	
-	TransferData[] dataTypes = new TransferData[index+1];
-	index = -1;
-	for (int i = 0; i < dataTypes.length; i++) {
-		if (flavors[i] != 0) {
-			TransferData data = new TransferData();
-			data.type = flavors[i];
-			for (int j = 0; j < transferAgents.length; j++) {
-				if (transferAgents[j].isSupportedType(data)) {
-					dataTypes[++index] = data;
-					break;
-				}
-			}
-		}
-	}
-	if (index == -1) return false;
-	
-	if (index < dataTypes.length - 1) {
-		TransferData[] temp = new TransferData[index + 1];
-		System.arraycopy(dataTypes, 0, temp, 0, index + 1);
-		dataTypes = temp;
-	}
-
-	Point mouse = new Point();
-	OS.GetDragMouse(theDrag, mouse, null);
-	
-	event.widget = this;
-	event.x = mouse.h;
-	event.y = mouse.v;
-	event.time = (int)System.currentTimeMillis();
-	event.feedback = DND.FEEDBACK_SELECT;
-	event.dataTypes = dataTypes;
-	event.dataType = dataTypes[0];
-	event.operations = operations;
-	event.detail = operation;
-	event.item = effect.getItem(event.x, event.y);
-	
-	return true;
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	this.transferAgents = transferAgents;
-}
-
-void updateDragOverHover(long delay, DNDEvent event) {
-	if (delay == 0) {
-		dragOverStart = 0;
-		dragOverEvent = null;
-		return;
-	}
-	dragOverStart = System.currentTimeMillis() + delay;
-	if (dragOverEvent == null) dragOverEvent = new DNDEvent();
-	dragOverEvent.x = event.x;
-	dragOverEvent.y = event.y;
-	dragOverEvent.dataTypes  = event.dataTypes;
-	dragOverEvent.operations = event.operations;
-	dragOverEvent.dataType  = event.dataType;
-	dragOverEvent.detail  = event.detail;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100644
index ef3c8fa..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/FileTransfer.java
+++ /dev/null
@@ -1,196 +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
- *     Outhink - support for typeFileURL
- *******************************************************************************/
-package org.eclipse.swt.dnd;
-
-import java.io.*;
-import org.eclipse.swt.internal.carbon.*;
- 
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-	static FileTransfer _instance = new FileTransfer();
-	static final String HFS = "hfs "; //$NON-NLS-1$
-	static final String FURL = "furl"; //$NON-NLS-1$
-	static final int HFSID = registerType(HFS);
-	static final int FURLID = registerType(FURL);
-	
-FileTransfer() {}
-
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-	if (!checkFile(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String[] files = (String[])object;
-	transferData.result = -1;
-	byte[][] data = new byte[files.length][];
-	for (int i = 0; i < data.length; i++) {
-		File file = new File(files[i]);
-		boolean isDirectory = file.isDirectory();
-		String fileName = files[i];
-		char [] chars = new char [fileName.length ()];
-		fileName.getChars (0, chars.length, chars, 0);
-		int cfstring = OS.CFStringCreateWithCharacters (OS.kCFAllocatorDefault, chars, chars.length);
-		if (cfstring == 0) return;
-		try {
-			int url = OS.CFURLCreateWithFileSystemPath(OS.kCFAllocatorDefault, cfstring, OS.kCFURLPOSIXPathStyle, isDirectory);
-			if (url == 0) return;
-			try {
-				if (transferData.type == HFSID) {
-					byte[] fsRef = new byte[80];
-					if (!OS.CFURLGetFSRef(url, fsRef)) return;
-					byte[] fsSpec = new byte[70];
-					if (OS.FSGetCatalogInfo(fsRef, 0, null, null, fsSpec, null) != OS.noErr) return;
-					byte[] hfsflavor = new byte[10 + fsSpec.length];
-					byte[] finfo = new byte[16];
-					OS.FSpGetFInfo(fsSpec, finfo);
-					System.arraycopy(finfo, 0, hfsflavor, 0, 10);
-					System.arraycopy(fsSpec, 0, hfsflavor, 10, fsSpec.length);
-					data[i] = hfsflavor;
-				}
-				if (transferData.type == FURLID) {
-					int encoding = OS.CFStringGetSystemEncoding();
-					int theData = OS.CFURLCreateData(OS.kCFAllocatorDefault, url, encoding, true);
-					if (theData == 0) return;
-					try {
-						int length = OS.CFDataGetLength(theData);
-						byte[] buffer = new byte[length];
-						CFRange range = new CFRange();
-						range.length = length;
-						OS.CFDataGetBytes(theData, range, buffer);
-						data[i] = buffer;
-					} finally {
-						OS.CFRelease(theData);
-					}
-				}
-			} finally {
-				OS.CFRelease(url);
-			}
-		} finally {
-			OS.CFRelease(cfstring);
-		}
-	}
-	transferData.data = data;
-	transferData.result = 0;
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) || transferData.data == null) return null;
-	if (transferData.data.length == 0) return null;
-	int count = transferData.data.length;
-	String[] fileNames = new String[count];
-	for (int i=0; i<count; i++) {
-		byte[] data = transferData.data[i];
-		int url = 0;
-		if (transferData.type == HFSID) {
-			byte[] fsspec = new byte[data.length - 10];
-			System.arraycopy(data, 10, fsspec, 0, fsspec.length);
-			byte[] fsRef = new byte[80];
-			if (OS.FSpMakeFSRef(fsspec, fsRef) != OS.noErr) return null;
-			url = OS.CFURLCreateFromFSRef(OS.kCFAllocatorDefault, fsRef);
-			if (url == 0) return null;
-		}
-		if (transferData.type == FURLID) {
-			int encoding = OS.CFStringGetSystemEncoding();
-			url = OS.CFURLCreateWithBytes(OS.kCFAllocatorDefault, data, data.length, encoding, 0);
-			if (url == 0) return null;
-		}
-		try {
-			int path = OS.CFURLCopyFileSystemPath(url, OS.kCFURLPOSIXPathStyle);
-			if (path == 0) return null;
-			try {
-				int length = OS.CFStringGetLength(path);
-				if (length == 0) return null;
-				char[] buffer= new char[length];
-				CFRange range = new CFRange();
-				range.length = length;
-				OS.CFStringGetCharacters(path, range, buffer);
-				fileNames[i] = new String(buffer);
-			} finally {
-				OS.CFRelease(path);
-			}
-		} finally {
-			OS.CFRelease(url);
-		}
-	}
-	return fileNames;
-}
-
-protected int[] getTypeIds(){
-	return new int[] {FURLID, HFSID};
-}
-
-protected String[] getTypeNames(){
-	return new String[] {FURL, HFS};
-}
-
-boolean checkFile(Object object) {
-	if (object == null || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	for (int i = 0; i < strings.length; i++) {
-		if (strings[i] == null || strings[i].length() == 0) return false;
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkFile(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index ce8e2e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/HTMLTransfer.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.dnd;
- 
-import org.eclipse.swt.internal.carbon.OS;
-
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	static HTMLTransfer _instance = new HTMLTransfer();
-	static final String HTML = "HTML"; //$NON-NLS-1$
-	static final int HTMLID = registerType(HTML);
-
-HTMLTransfer() {}
-
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkHTML(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	int count = string.length();
-	char[] chars = new char[count];
-	string.getChars(0, count, chars, 0);
-	byte[] buffer = new byte[chars.length * 2];
-	OS.memcpy(buffer, chars, buffer.length);
-	transferData.data = new byte[1][];
-	transferData.data[0] = buffer;
-	transferData.result = OS.noErr;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.data == null) return null;
-	if (transferData.data.length == 0 || transferData.data[0].length == 0) return null;
-	byte[] buffer = transferData.data[0];
-	char[] chars = new char[(buffer.length + 1) / 2];
-	OS.memcpy(chars, buffer, buffer.length);
-	return new String(chars);
-}
-
-protected int[] getTypeIds() {
-	return new int[] {HTMLID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {HTML};
-}
-
-boolean checkHTML(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkHTML(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100644
index fed105d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/RTFTransfer.java
+++ /dev/null
@@ -1,129 +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.dnd;
- 
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CFRange;
-
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	static RTFTransfer _instance = new RTFTransfer();
-	static final String RTF = "RTF "; //$NON-NLS-1$
-	static final int RTFID = registerType(RTF);
-
-RTFTransfer() {}
-
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkRTF(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	transferData.result = -1;
-	String string = (String)object;
-	int count = string.length();
-	char[] chars = new char[count];
-	string.getChars(0, count, chars, 0);
-	int cfstring = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, count);
-	if (cfstring == 0) return;
-	try {
-		CFRange range = new CFRange();
-		range.length = chars.length;
-		int encoding = OS.CFStringGetSystemEncoding();
-		int[] size = new int[1];
-		int numChars = OS.CFStringGetBytes(cfstring, range, encoding, (byte)'?', true, null, 0, size);
-		if (numChars == 0 || size[0] == 0) return;
-		byte[] buffer = new byte[size[0]];
-		numChars = OS.CFStringGetBytes(cfstring, range, encoding, (byte)'?', true, buffer, size [0], size);
-		if (numChars == 0) return;
-		transferData.data = new byte[1][];
-		transferData.data[0] = buffer;
-		transferData.result = 0;
-	} finally {
-		OS.CFRelease(cfstring);
-	}
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.data == null) return null;
-	if (transferData.data.length == 0 || transferData.data[0].length == 0) return null;
-	byte[] buffer = transferData.data[0];
-	int encoding = OS.CFStringGetSystemEncoding();
-	int cfstring = OS.CFStringCreateWithBytes(OS.kCFAllocatorDefault, buffer, buffer.length, encoding, true);
-	if (cfstring == 0) return null;
-	try {
-		int length = OS.CFStringGetLength(cfstring);
-		if (length == 0) return null;
-		char[] chars = new char[length];
-		CFRange range = new CFRange();
-		range.length = length;
-		OS.CFStringGetCharacters(cfstring, range, chars);
-		return new String(chars);
-	} finally {
-		OS.CFRelease(cfstring);
-	}
-}
-
-protected int[] getTypeIds() {
-	return new int[] {RTFID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {RTF};
-}
-
-boolean checkRTF(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkRTF(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
deleted file mode 100644
index e4ef9d4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.dnd;
-
-
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-
-class StyledTextDragAndDropEffect extends DragAndDropEffect {
-	StyledText text;
-	long scrollBeginTime;
-	int scrollX = -1, scrollY = -1;
-	
-	static final int SCROLL_HYSTERESIS = 100; // milli seconds
-	static final int SCROLL_TOLERANCE = 20; // pixels
-	
-StyledTextDragAndDropEffect(StyledText control) {
-	text = control;
-}
-void showDropTargetEffect(int effect, int x, int y) {
-	Point pt = text.getDisplay().map(null, text, x, y);
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollX = scrollY = -1;
-	} else {
-		if (text.getCharCount() == 0) {
-			scrollBeginTime = 0;
-			scrollX = scrollY = -1;
-		} else {
-			if (scrollX != -1 && scrollY != -1 && scrollBeginTime != 0 &&
-				(pt.x >= scrollX && pt.x <= (scrollX + SCROLL_TOLERANCE) ||
-				 pt.y >= scrollY && pt.y <= (scrollY + SCROLL_TOLERANCE))) {
-				if (System.currentTimeMillis() >= scrollBeginTime) {
-					Rectangle area = text.getClientArea();
-					Rectangle bounds = text.getTextBounds(0, 0);
-					int charWidth = bounds.width;
-					if (pt.x < area.x + 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel - charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.x > area.width - 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel + charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					int lineHeight = bounds.height;
-					if (pt.y < area.y + lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel - lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.y > area.height - lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel + lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					scrollBeginTime = 0;
-					scrollX = scrollY = -1;
-				}
-			} else {
-				scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-				scrollX = pt.x;
-				scrollY = pt.y;
-			}
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		StyledTextContent content = text.getContent();
-		int oldOffset = text.getCaretOffset();
-		int newOffset = -1;
-		try {
-			newOffset = text.getOffsetAtLocation(pt);
-		} catch (IllegalArgumentException ex1) {
-			int maxOffset = content.getCharCount();
-			Point maxLocation = text.getLocationAtOffset(maxOffset);
-			if (pt.y >= maxLocation.y) {
-				try {
-					newOffset = text.getOffsetAtLocation(new Point(pt.x, maxLocation.y));
-				} catch (IllegalArgumentException ex2) {
-					newOffset = maxOffset;
-				}
-			} else {
-				try {
-					int startOffset = text.getOffsetAtLocation(new Point(0, pt.y));
-					int endOffset = maxOffset;
-					int line = content.getLineAtOffset(startOffset);
-					int lineCount = content.getLineCount();
-					if (line + 1 < lineCount) {
-						endOffset = content.getOffsetAtLine(line + 1)  - 1;
-					}
-					int lineHeight = text.getLineHeight(startOffset);
-					for (int i = endOffset; i >= startOffset; i--) {
-						Point p = text.getLocationAtOffset(i);
-						if (p.x < pt.x && p.y < pt.y && p.y + lineHeight > pt.y) {
-							newOffset = i;
-							break;
-						}
-					}
-				} catch (IllegalArgumentException ex2) {
-					newOffset = -1;
-				}
-			}
-		}
-		if (newOffset != -1 && newOffset != oldOffset) {
-			// check if offset is line delimiter
-			// see StyledText.isLineDelimiter()
-			int line = content.getLineAtOffset(newOffset);
-			int lineOffset = content.getOffsetAtLine(line);	
-			int offsetInLine = newOffset - lineOffset;
-			// offsetInLine will be greater than line length if the line 
-			// delimiter is longer than one character and the offset is set
-			// in between parts of the line delimiter.
-			if (offsetInLine > content.getLine(line).length()) {
-				newOffset = Math.max(0, newOffset - 1);
-			}
-			text.setFocus();
-			text.setCaretOffset(newOffset);
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TableDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TableDragAndDropEffect.java
deleted file mode 100644
index 20004bd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TableDragAndDropEffect.java
+++ /dev/null
@@ -1,128 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.carbon.DataBrowserCallbacks;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	Table table;
-	TableItem scrollItem;
-	long scrollBeginTime;
-	int currentEffect = DND.FEEDBACK_NONE;
-
-	static Callback AcceptDragProc;
-	static {
-		AcceptDragProc = new Callback(TableDragAndDropEffect.class, "AcceptDragProc", 5); //$NON-NLS-1$
-		int acceptDragProc = AcceptDragProc.getAddress();
-		if (acceptDragProc == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-	DataBrowserCallbacks callbacks = new DataBrowserCallbacks ();
-	OS.GetDataBrowserCallbacks (table.handle, callbacks);
-	callbacks.v1_acceptDragCallback = AcceptDragProc.getAddress();
-	OS.SetDataBrowserCallbacks(table.handle, callbacks);
-}
-
-static int AcceptDragProc(int theControl, int itemID, int property, int theRect, int theDrag) {
-	DropTarget target = FindDropTarget(theControl, theDrag);
-	if (target == null || target.effect == null) return 0;
-	TableDragAndDropEffect effect = (TableDragAndDropEffect)target.effect;
-	return effect.acceptDragProc(theControl, itemID, property, theRect, theDrag);
-}
-
-static DropTarget FindDropTarget(int theControl, int theDrag) {
-	if (theControl == 0) return null;
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(theControl);
-	if (widget == null) return null;
-	return (DropTarget)widget.getData(DropTarget.DROPTARGETID); 
-}
-
-int acceptDragProc(int theControl, int itemID, int property, int theRect, int theDrag) {
-	return (currentEffect & DND.FEEDBACK_SELECT) != 0 ? 1 : 0;
-}
-
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	TableItem item = table.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = table.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the table.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = table.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	TableItem item = (TableItem)getItem(x, y);
-
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollItem = null;
-	} else {
-		if (item != null && item.equals(scrollItem)  && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				Rectangle area = table.getClientArea();
-				int headerHeight = table.getHeaderHeight();
-				int itemHeight= table.getItemHeight();
-				Point pt = new Point(x, y);
-				pt = table.getDisplay().map(null, table, pt);
-				TableItem nextItem = null;
-				if (pt.y < area.y + headerHeight + 2 * itemHeight) {
-					int index = Math.max(0, table.indexOf(item)-1);
-					nextItem = table.getItem(index);
-				}
-				if (pt.y > area.y + area.height - 2 * itemHeight) {
-					int index = Math.min(table.getItemCount()-1, table.indexOf(item)+1);
-					nextItem = table.getItem(index);
-				}
-				if (nextItem != null) table.showItem(nextItem);
-				scrollBeginTime = 0;
-				scrollItem = null;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollItem = item;
-		}
-	}
-	
-	// store current effect for selection feedback
-	currentEffect = effect;
-
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100644
index 4c6594d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TextTransfer.java
+++ /dev/null
@@ -1,154 +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.dnd;
-
-import org.eclipse.swt.internal.carbon.CFRange;
-import org.eclipse.swt.internal.carbon.OS;
- 
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	static TextTransfer _instance = new TextTransfer();
-	static final String TEXT = "TEXT"; //$NON-NLS-1$
-	static final String UTEXT = "utxt"; //$NON-NLS-1$
-	static final int TEXTID = OS.kScrapFlavorTypeText;
-	static final int UTEXTID = OS.kScrapFlavorTypeUnicode;
-
-TextTransfer() {}
-
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData) {
-	if (!checkText(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	char[] chars = new char[string.length()];
-	string.getChars (0, chars.length, chars, 0);
-	transferData.result = -1;
-	switch (transferData.type) {
-		case TEXTID: {
-			int cfstring = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, chars.length);
-			if (cfstring == 0) return;
-			byte[] buffer = null;
-			try {
-				CFRange range = new CFRange();
-				range.length = chars.length;
-				int encoding = OS.CFStringGetSystemEncoding();
-				int[] size = new int[1];
-				int numChars = OS.CFStringGetBytes(cfstring, range, encoding, (byte)'?', true, null, 0, size);
-				if (numChars == 0) return;
-				buffer = new byte[size[0]];
-				numChars = OS.CFStringGetBytes(cfstring, range, encoding, (byte)'?', true, buffer, size [0], size);
-				if (numChars == 0) return;
-			} finally {
-				OS.CFRelease(cfstring);
-			}
-			transferData.data = new byte[1][];
-			transferData.data[0] = buffer;
-			transferData.result = OS.noErr;
-			break;
-		}
-		case UTEXTID: {
-			byte[] buffer = new byte[chars.length * 2];
-			OS.memcpy(buffer, chars, buffer.length);
-			transferData.data = new byte[1][];
-			transferData.data[0] = buffer;
-			transferData.result = OS.noErr;
-			break;
-		}
-	}
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.data == null) return null;
-	if (transferData.data.length == 0 || transferData.data[0].length == 0) return null;
-	byte[] buffer = transferData.data[0];
-	switch (transferData.type) {
-		case TEXTID: {
-			int encoding = OS.CFStringGetSystemEncoding();
-			int cfstring = OS.CFStringCreateWithBytes(OS.kCFAllocatorDefault, buffer, buffer.length, encoding, true);
-			if (cfstring == 0) return null;
-			try {
-				int length = OS.CFStringGetLength(cfstring);
-				if (length == 0) return null;
-				char[] chars = new char[length];
-				CFRange range = new CFRange();
-				range.length = length;
-				OS.CFStringGetCharacters(cfstring, range, chars);
-				return new String(chars);
-			} finally {
-				OS.CFRelease(cfstring);
-			}
-		}
-		case UTEXTID: {
-			char[] chars = new char[(buffer.length + 1) / 2];
-			OS.memcpy(chars, buffer, buffer.length);
-			return new String(chars);
-		}
-	}
-	return null;
-}
-
-protected int[] getTypeIds() {
-	return new int[] {UTEXTID, TEXTID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {UTEXT, TEXT};
-}
-
-boolean checkText(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-protected boolean validate(Object object) {
-	return checkText(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100644
index 3210a05..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,154 +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.dnd;
-
- 
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName) {
-	int length = formatName.length();
-	// TODO - hashcode may not be unique - need another way
-	if (length > 4) return formatName.hashCode();
-	int type = 0;
-	if (length > 0) type |= (formatName.charAt(0) & 0xff) << 24;
-	if (length > 1) type |= (formatName.charAt(1) & 0xff) << 16;
-	if (length > 2) type |= (formatName.charAt(2) & 0xff) << 8;
-	if (length > 3) type |= formatName.charAt(3) & 0xff; 
-	return type;
-}
-
-/**
- * Test that the object is of the correct format for this Transfer class.
- * 
- * @param object a java representation of the data to be converted
- * 
- * @return true if object is of the correct form for this transfer type
- * 
- * @since 3.1
- */
-protected boolean validate(Object object) {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100644
index cd7e424..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TransferData.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.dnd;
-
- 
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int type;
-	
-	/**
-	 * The data being transferred.
-	 * The data field may contain multiple values.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public byte[][] data;
-	
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	public int result;
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100644
index 2e72027..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/carbon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,211 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.carbon.DataBrowserCallbacks;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-	Tree tree;
-	
-	int currentEffect = DND.FEEDBACK_NONE;
-	TreeItem currentItem;
-
-	TreeItem insertItem = null;
-	boolean insertBefore = false;
-
-	TreeItem scrollItem;
-	long scrollBeginTime;
-
-	TreeItem expandItem;
-	long expandBeginTime;
-	
-	static Callback AcceptDragProc;
-	static {
-		AcceptDragProc = new Callback(TreeDragAndDropEffect.class, "AcceptDragProc", 5); //$NON-NLS-1$
-		int acceptDragProc = AcceptDragProc.getAddress();
-		if (acceptDragProc == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-	static final int EXPAND_HYSTERESIS = 300; // milli seconds
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-	DataBrowserCallbacks callbacks = new DataBrowserCallbacks ();
-	OS.GetDataBrowserCallbacks (tree.handle, callbacks);
-	callbacks.v1_acceptDragCallback = AcceptDragProc.getAddress();
-	OS.SetDataBrowserCallbacks(tree.handle, callbacks);
-}
-
-static int AcceptDragProc(int theControl, int itemID, int property, int theRect, int theDrag) {
-	DropTarget target = FindDropTarget(theControl, theDrag);
-	if (target == null || target.effect == null) return 0;
-	TreeDragAndDropEffect effect = (TreeDragAndDropEffect)target.effect;
-	return effect.acceptDragProc(theControl, itemID, property, theRect, theDrag);
-}
-
-static DropTarget FindDropTarget(int theControl, int theDrag) {
-	if (theControl == 0) return null;
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(theControl);
-	if (widget == null) return null;
-	return (DropTarget)widget.getData(DropTarget.DROPTARGETID); 
-}
-
-int acceptDragProc(int theControl, int itemID, int property, int theRect, int theDrag) {
-	return (currentEffect & DND.FEEDBACK_SELECT) != 0 ? 1 : 0;
-}
-
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TreeItem item = tree.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = tree.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the tree.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = tree.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-TreeItem nextItem(TreeItem item) {
-	if (item == null) return null;
-	if (item.getExpanded()) return item.getItem(0);
-	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);
-		if (parentItem == null) return null;
-		childItem = parentItem;
-		parentItem = childItem.getParentItem();
-		index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-		count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-	}
-}
-
-TreeItem previousItem(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;
-	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;
-}
-
-void setInsertMark(TreeItem item, boolean before) {
-	if (item == insertItem && before == insertBefore) return;
-	insertItem = item;
-	insertBefore = before;
-	tree.setInsertMark(item, before);
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	TreeItem item = (TreeItem)getItem(x, y);
-	
-	if ((effect & DND.FEEDBACK_EXPAND) == 0) {
-		expandBeginTime = 0;
-		expandItem = null;
-	} else {
-		if (item != null && item.equals(expandItem) && expandBeginTime != 0) {
-			if (System.currentTimeMillis() >= expandBeginTime) {
-				if (item.getItemCount() > 0 && !item.getExpanded()) {
-					Event event = new Event();
-					event.x = x;
-					event.y = y;
-					event.item = item;
-					event.time = (int) System.currentTimeMillis();
-					tree.notifyListeners(SWT.Expand, event);
-					if (item.isDisposed()) return;
-					item.setExpanded(true);
-				}
-				expandBeginTime = 0;
-				expandItem = null;
-			}
-		} else {
-			expandBeginTime = System.currentTimeMillis() + EXPAND_HYSTERESIS;
-			expandItem = item;
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollItem = null;
-	} else {
-		if (item != null && item.equals(scrollItem)  && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				Rectangle area = tree.getClientArea();
-				int headerHeight = tree.getHeaderHeight();
-				int itemHeight= tree.getItemHeight();
-				Point pt = new Point(x, y);
-				pt = tree.getDisplay().map(null, tree, pt);
-				TreeItem nextItem = null;
-				if (pt.y < area.y + headerHeight + 2 * itemHeight) {
-					nextItem = previousItem(item);
-				}
-				if (pt.y > area.y + area.height - 2 * itemHeight) {
-					nextItem = nextItem(item);
-				}
-				if (nextItem != null) tree.showItem(nextItem);
-				scrollBeginTime = 0;
-				scrollItem = null;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollItem = item;
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0 ||
-		(effect & DND.FEEDBACK_INSERT_BEFORE) != 0) {
-		if (currentItem != item || 
-			 ((effect & DND.FEEDBACK_INSERT_AFTER) != (currentEffect & DND.FEEDBACK_INSERT_AFTER)) ||
-			 ((effect & DND.FEEDBACK_INSERT_BEFORE) != (currentEffect & DND.FEEDBACK_INSERT_BEFORE))) { 
-			setInsertMark(item, (effect & DND.FEEDBACK_INSERT_BEFORE) != 0);
-			currentEffect = effect;
-			currentItem = item;
-		}
-	} else {
-		setInsertMark(null, false);
-	}
-	// save current effect for selection feedback
-	currentEffect = effect;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DND.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DND.java
deleted file mode 100755
index 1d4db81..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DND.java
+++ /dev/null
@@ -1,265 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-
-/**
- *
- * Class DND contains all the constants used in defining a 
- * DragSource or a DropTarget.
- *
- */
-public class DND {
-	
-	/**
-	 * The transfer mechanism for data that is being cut
-	 * and then pasted or copied and then pasted (value is 1).
-	 * 
-	 * @see Clipboard
-	 * 
-	 * @since 3.1
-	 */
-	public final static int CLIPBOARD = 1 << 0;
-	
-	/**
-	 * The transfer mechanism for clients that use the selection 
-	 * mechanism (value is 2).
-	 * 
-	 * @see Clipboard
-	 *
-	 * @since 3.1
-	 */
-	public final static int SELECTION_CLIPBOARD = 1 << 1;
-
-	/**
-	 * Drag and Drop Operation: no drag/drop operation performed
-	 * (value is 0).
-	 */
-	public final static int DROP_NONE = 0;
-	
-	/**
-	 * Drag and Drop Operation: a copy of the data in the drag source is 
-	 * added to the drop target (value is 1 &lt;&lt; 0).
-	 */
-	public final static int DROP_COPY = 1 << 0;
-	
-	/**
-	 * Drag and Drop Operation: a copy of the data is added to the drop target and 
-	 * the original data is removed from the drag source (value is 1 &lt;&lt; 1).
-	 */
-	public final static int DROP_MOVE = 1 << 1;
-	
-	/**
-	 * Drag and Drop Operation: the drop target makes a link to the data in 
-	 * the drag source (value is 1 &lt;&lt; 2).
-	 */
-	public final static int DROP_LINK = 1 << 2;
-	
-	/**
-	 * Drag and Drop Operation: the drop target moves the data and the drag source removes 
-	 * any references to the data and updates its display.  This is not available on all platforms
-	 * and is only used when a non-SWT application is the drop target.  In this case, the SWT 
-	 * drag source is informed in the dragFinished event that the drop target has moved the data.
-	 * (value is 1 &lt;&lt; 3).
-	 * 
-	 * @see DragSourceListener#dragFinished
-	 */
-	public final static int DROP_TARGET_MOVE = 1 << 3;
-	
-	/**
-	 * Drag and Drop Operation: During a dragEnter event or a dragOperationChanged, if no modifier keys
-	 * are pressed, the operation is set to DROP_DEFAULT.  The application can choose what the default 
-	 * operation should be by setting a new value in the operation field.  If no value is choosen, the
-	 * default operation for the platform will be selected (value is 1 &lt;&lt; 4).
-	 * 
-	 * @see DropTargetListener#dragEnter
-	 * @see DropTargetListener#dragOperationChanged
-	 * @since 2.0 
-	 */
-	public final static int DROP_DEFAULT = 1 << 4;
-	
-	/**
-	 * DragSource Event: the drop has successfully completed or has been terminated (such as hitting 
-	 * the ESC key); perform cleanup such as removing data on a move operation (value is 2000).
-	 */
-	public static final int DragEnd		= 2000;
-	
-	/**
-	 * DragSource Event: the data to be dropped is required from the drag source (value is 2001).
-	 */
-	public static final int DragSetData = 2001;
-	
-	/**
-	 * DropTarget Event: the cursor has entered the drop target boundaries (value is 2002).
-	 */
-	public static final int DragEnter	= 2002;
-	
-	/**
-	 * DropTarget Event: the cursor has left the drop target boundaries OR the drop
-	 * operation has been cancelled (such as by hitting ECS) OR the drop is about to 
-	 * happen (user has released the mous ebutotn over this target) (value is 2003).
-	 */
-	public static final int DragLeave	= 2003;
-	
-	/**
-	 * DropTarget Event: the cursor is over the drop target (value is 2004).
-	 */
-	public static final int	DragOver	= 2004;
-	
-	/**
-	 * DropTarget Event: the operation being performed has changed usually due to the user 
-	 * changing the selected modifier keys while dragging (value is 2005).
-	 */
-	public static final int DragOperationChanged = 2005;
-	
-	/**
-	 * DropTarget Event: the data has been dropped (value is 2006).
-	 */
-	public static final int	Drop = 2006;
-	
-	/**
-	 * DropTarget Event: the drop target is given a last chance to modify the drop (value is 2007).
-	 */
-	public static final int	DropAccept	= 2007;
-	
-	/**
-	 * DragSource Event: a drag is about to begin (value is 2008).
-	 */
-	public static final int	DragStart = 2008;
-
-	/**
-	 * DropTarget drag under effect: No effect is shown (value is 0).
-	 */
-	public static final int FEEDBACK_NONE = 0;
-	
-	/**
-	 * DropTarget drag under effect: The item under the cursor is selected; applies to tables
-	 * and trees (value is 1).
-	 */
-	public static final int FEEDBACK_SELECT = 1;
-	
-	/**
-	 * DropTarget drag under effect: An insertion mark is shown before the item under the cursor; applies to 
-	 * trees (value is 2).
-	 */
-	public static final int FEEDBACK_INSERT_BEFORE = 2;
-	
-	/**
-	 * DropTarget drag under effect:An insertion mark is shown after the item under the cursor; applies to
-	 * trees (value is 4).
-	 */	
-	public static final int FEEDBACK_INSERT_AFTER = 4;
-	
-	/**
-	 * DropTarget drag under effect: The widget is scrolled up or down to allow the user to drop on items that 
-	 * are not currently visible;  applies to tables and trees (value is 8).
-	 */	
-	public static final int FEEDBACK_SCROLL = 8;
-	
-	/**
-	 * DropTarget drag under effect: The item currently under the cursor is expanded to allow the user to 
-	 * select a drop target from a sub item; applies to trees (value is 16).
-	 */	
-	public static final int FEEDBACK_EXPAND = 16;
-	
-	/**
-	 * Error code: drag source can not be initialized (value is 2000).
-	 */
-	public static final int ERROR_CANNOT_INIT_DRAG = 2000;
-	
-	/**
-	 * Error code: drop target cannot be initialized (value is 2001).
-	 */
-	public static final int ERROR_CANNOT_INIT_DROP = 2001;
-	
-	/**
-	 * Error code: Data can not be set on system clipboard (value is 2002).
-	 */
-	public static final int ERROR_CANNOT_SET_CLIPBOARD = 2002;
-	
-	/**
-	 * Error code: Data does not have correct format for type (value is 2003).
-	 * @since 3.1
-	 */
-	public static final int ERROR_INVALID_DATA = 2003;
-	
-
-	static final String INIT_DRAG_MESSAGE = "Cannot initialize Drag"; //$NON-NLS-1$
-	static final String INIT_DROP_MESSAGE = "Cannot initialize Drop"; //$NON-NLS-1$
-	static final String CANNOT_SET_CLIPBOARD_MESSAGE = "Cannot set data in clipboard"; //$NON-NLS-1$
-	static final String INVALID_DATA_MESSAGE = "Data does not have correct format for type"; //$NON-NLS-1$
-
-/**
- * Throws an appropriate exception based on the passed in error code.
- *
- * @param code the DND error code
- */
-public static void error (int code) {
-	error (code, 0);
-}
-
-/**
- * Throws an appropriate exception based on the passed in error code.
- * The <code>hresult</code> argument should be either 0, or the
- * platform specific error code.
- * <p>
- * In DND, errors are reported by throwing one of three exceptions:
- * <dl>
- * <dd>java.lang.IllegalArgumentException</dd>
- * <dt>thrown whenever one of the API methods is invoked with an illegal argument</dt>
- * <dd>org.eclipse.swt.SWTException (extends java.lang.RuntimeException)</dd>
- * <dt>thrown whenever a recoverable error happens internally in SWT</dt>
- * <dd>org.eclipse.swt.SWTError (extends java.lang.Error)</dd>
- * <dt>thrown whenever a <b>non-recoverable</b> error happens internally in SWT</dt>
- * </dl>
- * This method provides the logic which maps between error codes
- * and one of the above exceptions.
- * </p>
- *
- * @param code the DND error code.
- * @param hresult the platform specific error code.
- *
- * @see SWTError
- * @see SWTException
- * @see IllegalArgumentException
- */
-public static void error (int code, int hresult) {		
-	switch (code) {		
-		/* OS Failure/Limit (fatal, may occur only on some platforms) */
-		case DND.ERROR_CANNOT_INIT_DRAG:{
-			String msg = DND.INIT_DRAG_MESSAGE;
-			if (hresult != 0) msg += " result = "+hresult; //$NON-NLS-1$
-			throw new SWTError (code, msg);
-		}
-		case DND.ERROR_CANNOT_INIT_DROP:{
-			String msg = DND.INIT_DROP_MESSAGE;
-			if (hresult != 0) msg += " result = "+hresult; //$NON-NLS-1$
-			throw new SWTError (code, msg);
-		}
-		case DND.ERROR_CANNOT_SET_CLIPBOARD:{
-			String msg = DND.CANNOT_SET_CLIPBOARD_MESSAGE;
-			if (hresult != 0) msg += " result = "+hresult; //$NON-NLS-1$
-			throw new SWTError (code, msg);
-		}
-		case DND.ERROR_INVALID_DATA:{
-			String msg = DND.INVALID_DATA_MESSAGE;
-			if (hresult != 0) msg += " result = "+hresult; //$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-	}
-			
-	/* Unknown/Undefined Error */
-	SWT.error(code);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDEvent.java
deleted file mode 100755
index f19dc73..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDEvent.java
+++ /dev/null
@@ -1,23 +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.dnd;
-
-
-import org.eclipse.swt.widgets.*;
-
-class DNDEvent extends Event {
-
-	public TransferData dataType;
-	public TransferData[] dataTypes;
-	public int operations;
-	public int feedback;
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java
deleted file mode 100755
index e80b6a8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DNDListener.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.dnd;
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.widgets.*;
-
-
-class DNDListener extends TypedListener {
-/**
- * DNDListener constructor comment.
- * @param listener org.eclipse.swt.internal.SWTEventListener
- */
-DNDListener(SWTEventListener listener) {
-	super(listener);
-}
-public void handleEvent (Event e) {
-	switch (e.type) {
-		case DND.DragStart: {
-			DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
-			((DragSourceListener) eventListener).dragStart (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragEnd: {
-			DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
-			((DragSourceListener) eventListener).dragFinished (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragSetData: {
-			DragSourceEvent event = new DragSourceEvent((DNDEvent)e);
-			((DragSourceListener) eventListener).dragSetData (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragEnter: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).dragEnter (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragLeave: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).dragLeave (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragOver: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).dragOver (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.Drop: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).drop (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DropAccept: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).dropAccept (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		case DND.DragOperationChanged: {
-			DropTargetEvent event = new DropTargetEvent((DNDEvent)e);
-			((DropTargetListener) eventListener).dragOperationChanged (event);
-			event.updateEvent((DNDEvent)e);
-			break;
-		}
-		
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragAndDropEffect.java
deleted file mode 100755
index 1991617..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragAndDropEffect.java
+++ /dev/null
@@ -1,24 +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.dnd;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-abstract class DragAndDropEffect {
-	
-Widget getItem(int x, int y){return null;}
-
-ImageData getDragSourceImage(int x, int y){return null;}
-
-void showDropTargetEffect(int effect, int x, int y) {}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceAdapter.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceAdapter.java
deleted file mode 100755
index 43afc0d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceAdapter.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.dnd;
-
-
-/**
- * This adapter class provides default implementations for the
- * methods described by the <code>DragSourceListener</code> interface.
- * 
- * <p>Classes that wish to deal with <code>DragSourceEvent</code>s can
- * extend this class and override only the methods which they are
- * interested in.</p>
- *
- * @see DragSourceListener
- * @see DragSourceEvent
- */
-public class DragSourceAdapter implements DragSourceListener {
-	/**
-	 * This implementation of <code>dragStart</code> permits the drag operation to start.
-	 * For additional information see <code>DragSourceListener.dragStart</code>.
-	 */
-	public void dragStart(DragSourceEvent event){}
-	/**
-	 * This implementation of <code>dragFinished</code> does nothing.
-	 * For additional information see <code>DragSourceListener.dragFinished</code>.
-	 */
-	public void dragFinished(DragSourceEvent event){}
-	/**
-	 * This implementation of <code>dragSetData</code> does nothing.
-	 * For additional information see <code>DragSourceListener.dragSetData</code>.
-	 */
-	public void dragSetData(DragSourceEvent event){}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceEvent.java
deleted file mode 100755
index 7673456..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceEvent.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.dnd;
-
-import org.eclipse.swt.events.TypedEvent;
-
-/**
- * The DragSourceEvent contains the event information passed in the methods of the DragSourceListener.
- * 
- * @see DragSourceListener
- */
-public class DragSourceEvent extends TypedEvent {
-	/**
-	 * The operation that was performed.
-	 * @see DND#DROP_NONE
-	 * @see DND#DROP_MOVE
-	 * @see DND#DROP_COPY
-	 * @see DND#DROP_LINK
-	 * @see DND#DROP_TARGET_MOVE
-	 */
- 	public int detail;
- 	
- 	/**
- 	 * In dragStart, the doit field determines if the drag and drop operation 
- 	 * should proceed; in dragFinished, the doit field indicates whether 
- 	 * the operation was performed successfully.
- 	 * <p></p>
- 	 * In dragStart:
- 	 * <p>Flag to determine if the drag and drop operation should proceed.
- 	 * The application can set this value to false to prevent the drag from starting. 
- 	 * Set to true by default.</p>
- 	 * 
- 	 * <p>In dragFinished:</p>
- 	 * <p>Flag to indicate if the operation was performed successfully. 
- 	 * True if the operation was performed successfully.</p>
- 	 */
- 	public boolean doit;
-
-	/**
-	 * In dragStart, the x coordinate (relative to the control) of the 
-	 * position the mouse went down to start the drag.
-	 * @since 3.2
-	 */
- 	public int x;
- 	/**
-	 * In dragStart, the y coordinate (relative to the control) of the 
-	 * position the mouse went down to start the drag .
-	 * @since 3.2
-	 */
- 	public int y;
- 	
- 	/**
-	 * The type of data requested.
-	 * Data provided in the data field must be of the same type.
- 	 */
-	public TransferData dataType;
-
-	static final long serialVersionUID = 3257002142513770808L;
-	
-/**
- * Constructs a new instance of this class based on the
- * information in the given untyped event.
- *
- * @param e the untyped event containing the information
- */
-public DragSourceEvent(DNDEvent e) {
-	super(e);
-	this.data = e.data;
-	this.detail = e.detail;
-	this.doit = e.doit;
-	this.dataType = e.dataType;
-	this.x = e.x;
-	this.y = e.y;
-}
-void updateEvent(DNDEvent e) {
-	e.widget = this.widget;
-	e.time = this.time;
-	e.data = this.data;
-	e.detail = this.detail;
-	e.doit = this.doit;
-	e.dataType = this.dataType;
-	e.x = this.x;
-	e.y = this.y;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java
deleted file mode 100755
index a7c23ca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DragSourceListener.java
+++ /dev/null
@@ -1,80 +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.dnd;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-/**
- * The <code>DragSourceListener</code> class provides event notification to the application for DragSource events.
- *
- * <p>When the user drops data on a <code>DropTarget</code>, the application which defines the <code>DragSource</code>
- * must provide the dropped data by implementing <code>dragSetData</code>.  In the dragSetData, the application
- * must support all the data types that were specified in the DragSource#setTransfer method.</p>
- *
- * <p>After the drop has completed successfully or has been aborted, the application which defines the 
- * <code>DragSource</code> is required to take the appropriate cleanup action.  In the case of a successful 
- * <b>move</b> operation, the application must remove the data that was transferred.</p>
- *
- */
-public interface DragSourceListener extends SWTEventListener {
-
-/**
- * The user has begun the actions required to drag the widget. This event gives the application 
- * the chance to decide if a drag should be started.
- *
- * <p>The following fields in the DragSourceEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in,out)doit
- * </ul></p>
- *
- * @param event the information associated with the drag start event
- * 
- * @see DragSourceEvent
- */
-public void dragStart(DragSourceEvent event);
-
-/**
- * The data is required from the drag source.
- *
- * <p>The following fields in the DragSourceEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)dataType - the type of data requested.
- * <li>(out)data    - the application inserts the actual data here (must match the dataType)
- * </ul></p>
- *
- * @param event the information associated with the drag set data event
- * 
- * @see DragSourceEvent
- */
-public void dragSetData(DragSourceEvent event);
-
-/**
- * The drop has successfully completed(mouse up over a valid target) or has been terminated (such as hitting 
- * the ESC key). Perform cleanup such as removing data from the source side on a successful move operation.
- *
- * <p>The following fields in the DragSourceEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)doit
- * <li>(in)detail
- * </ul></p>
- *
- * @param event the information associated with the drag finished event
- * 
- * @see DragSourceEvent
- */
-public void dragFinished(DragSourceEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetAdapter.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetAdapter.java
deleted file mode 100755
index fe8b7cc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetAdapter.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.dnd;
-
-
-/**
- * This adapter class provides default implementations for the
- * methods described by the <code>DropTargetListener</code> interface.
- * <p>
- * Classes that wish to deal with <code>DropTargetEvent</code>s can
- * extend this class and override only the methods which they are
- * interested in.
- * </p>
- *
- * @see DropTargetListener
- * @see DropTargetEvent
- */
-public class DropTargetAdapter implements DropTargetListener {
-
-/**
- * This implementation of <code>dragEnter</code> permits the default 
- * operation defined in <code>event.detail</code>to be performed on the current data type
- * defined in <code>event.currentDataType</code>.
- * For additional information see <code>DropTargetListener.dragEnter</code>.
- */
-public void dragEnter(DropTargetEvent event){}
-/**
- * This implementation of <code>dragLeave</code> does nothing.
- * For additional information see <code>DropTargetListener.dragOperationChanged</code>.
- */
-public void dragLeave(DropTargetEvent event){}
-/**
- * This implementation of <code>dragOperationChanged</code> permits the default 
- * operation defined in <code>event.detail</code>to be performed on the current data type
- * defined in <code>event.currentDataType</code>.
- * For additional information see <code>DropTargetListener.dragOperationChanged</code>.
- */
-public void dragOperationChanged(DropTargetEvent event){}
-/**
- * This implementation of <code>dragOver</code> permits the default 
- * operation defined in <code>event.detail</code>to be performed on the current data type
- * defined in <code>event.currentDataType</code>.
- * For additional information see <code>DropTargetListener.dragOver</code>.
- */
-public void dragOver(DropTargetEvent event){}
-/**
- * This implementation of <code>drop</code> does nothing.
- * For additional information see <code>DropTargetListener.drop</code>.
- */
-public void drop(DropTargetEvent event){}
-/**
- * This implementation of <code>dropAccept</code> permits the default 
- * operation defined in <code>event.detail</code>to be performed on the current data type
- * defined in <code>event.currentDataType</code>.
- * For additional information see <code>DropTargetListener.dropAccept</code>.
- */
-public void dropAccept(DropTargetEvent event){}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetEvent.java
deleted file mode 100755
index c5df79e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetEvent.java
+++ /dev/null
@@ -1,114 +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.dnd;
-
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * The DropTargetEvent contains the event information passed in the methods of the DropTargetListener.
- */
-public class DropTargetEvent extends TypedEvent {
-	/**
-	 * The x-cordinate of the cursor relative to the <code>Display</code>
-	 */
-	public int x;
-	
-	/**
-	 * The y-cordinate of the cursor relative to the <code>Display</code>
-	 */
-	public int y;
-	
-	/**
-	 * The operation being performed.
-	 * @see DND#DROP_NONE
-	 * @see DND#DROP_MOVE
-	 * @see DND#DROP_COPY
-	 * @see DND#DROP_LINK
-	 */
-	public int detail;
-	
-	/**
-	 * A bitwise OR'ing of the operations that the DragSource can support 
-	 * (e.g. DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK).
-	 * The detail value must be a member of this list or DND.DROP_NONE.
-	 * @see DND#DROP_NONE
-	 * @see DND#DROP_MOVE
-	 * @see DND#DROP_COPY
-	 * @see DND#DROP_LINK
-	 */
-	public int operations;
-	
-	/**
-	 * A bitwise OR'ing of the drag under effect feedback to be displayed to the user
-	 * (e.g. DND.FEEDBACK_SELECT | DND.FEEDBACK_SCROLL | DND.FEEDBACK_EXPAND).
-	 * <p>A value of DND.FEEDBACK_NONE indicates that no drag under effect will be displayed.</p>
-	 * <p>Feedback effects will only be applied if they are applicable.</p>
-	 * <p>The default value is DND.FEEDBACK_SELECT.</p>
-	 * @see DND#FEEDBACK_SELECT
-	 * @see DND#FEEDBACK_INSERT_BEFORE
-	 * @see DND#FEEDBACK_INSERT_AFTER
-	 * @see DND#FEEDBACK_SCROLL
-	 * @see DND#FEEDBACK_EXPAND
-	 */
-	public int feedback;
-	
-	/**
-	 * If the associated control is a table or tree, this field contains the item located 
-	 * at the cursor coordinates.
-	 */
-	public Widget item;
-	
-	/**
-	 * The type of data that will be dropped.
-	 */
-	public TransferData currentDataType;
-	
-	/**
-	 * A list of the types of data that the DragSource is capable of providing.
-	 * The currentDataType must be a member of this list.
-	 */
-	public TransferData[] dataTypes;
-
-	static final long serialVersionUID = 3256727264573338678L;
-	
-/**
- * Constructs a new instance of this class based on the
- * information in the given untyped event.
- *
- * @param e the untyped event containing the information
- */
-public DropTargetEvent(DNDEvent e) {
-	super(e);
-	this.data = e.data;
-	this.x = e.x;
-	this.y = e.y;
-	this.detail = e.detail;
-	this.currentDataType = e.dataType;
-	this.dataTypes = e.dataTypes;
-	this.operations = e.operations;
-	this.feedback = e.feedback;
-	this.item = e.item;
-}
-void updateEvent(DNDEvent e) {
-	e.widget = this.widget;
-	e.time = this.time;
-	e.data = this.data;
-	e.x = this.x;
-	e.y = this.y;
-	e.detail = this.detail;
-	e.dataType = this.currentDataType;
-	e.dataTypes = this.dataTypes;
-	e.operations = this.operations;
-	e.feedback = this.feedback;
-	e.item = this.item;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java
deleted file mode 100755
index df430ab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/DropTargetListener.java
+++ /dev/null
@@ -1,250 +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.dnd;
-
-import org.eclipse.swt.internal.SWTEventListener;
-
-/**
- * The <code>DropTargetListener</code> class provides event notification to the application 
- * for DropTarget events.
- *
- * <p>As the user moves the cursor into, over and out of a Control that has been designated 
- * as a DropTarget, events indicate what operation can be performed and what data can be 
- * transferred if a drop where to occur at that point.
- * The application can respond to these events and change the type of data that will 
- * be dropped by modifying event.currentDataType, or change the operation that will be performed 
- * by modifying the event.detail field or stop any drop from happening on the current target
- * by setting the event.detail field to DND_DROP_NONE.</p>
- *
- * <p>When the user causes a drop to happen by releasing the mouse over a valid drop target, 
- * the application has one last chance to change the data type of the drop through the 
- * DropAccept event.  If the drop is still allowed, the DropAccept event is immediately 
- * followed by the Drop event.  In the Drop event, the application can still change the
- * operation that is performed but the data type is fixed.</p>
- * 
- * @see DropTargetEvent
- *
- */
-public interface DropTargetListener extends SWTEventListener {
-	
-/**
- * The cursor has entered the drop target boundaries.
- *
- * <p>The following fields in the DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x
- * <li>(in)y
- * <li>(in)dataTypes
- * <li>(in,out)currentDataType
- * <li>(in)operations
- * <li>(in,out)detail
- * <li>(in,out)feedback
- * </ul></p>
- *
- * <p>The <code>operation</code> value is determined by the modifier keys pressed by the user.  
- * If no keys are pressed the <code>event.detail</code> field is set to DND.DROP_DEFAULT.  
- * If the application does not set the <code>event.detail</code> to something other 
- * than <code>DND.DROP_DEFAULT</code> the operation will be set to the platform defined standard 
- * default.</p>
- * 
- * <p>The <code>currentDataType</code> is determined by the first transfer agent specified in 
- * setTransfer() that matches a data type provided by the drag source.</p>
- * 
- * <p>It is possible to get a DragEnter event when the drag source does not provide any matching data.
- * In this case, the default operation is DND.DROP_NONE and the currentDataType is null.</p>
- * 
- * <p>The application can change the operation that will be performed by modifying the 
- * <code>detail</code> field but the choice must be one of the values in the <code>operations</code> 
- * field or DND.DROP_NONE.</p>
- * 
- * <p>The application can also change the type of data being requested by 
- * modifying the <code>currentDataTypes</code> field  but the value must be one of the values 
- * in the <code>dataTypes</code> list.</p>
- *
- * @param event  the information associated with the drag enter event
- * 
- * @see DropTargetEvent
- */
-public void dragEnter(DropTargetEvent event);
-
-/**
- * The cursor has left the drop target boundaries OR the drop has been cancelled OR the data 
- * is about to be dropped.
- *
- * <p>The following fields in the DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x
- * <li>(in)y
- * <li>(in)dataTypes
- * <li>(in)currentDataType
- * <li>(in)operations
- * <li>(in)detail
- * </ul></p>
- *
- * @param event  the information associated with the drag leave event
- *
- * @see DropTargetEvent
- */
-public void dragLeave(DropTargetEvent event);
-
-/**
- * The operation being performed has changed (usually due to the user changing the selected modifier key(s)
- * while dragging).
- *
- * <p>The following fields in the DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x
- * <li>(in)y
- * <li>(in)dataTypes
- * <li>(in,out)currentDataType
- * <li>(in)operations
- * <li>(in,out)detail
- * <li>(in,out)feedback
- * </ul></p>
- *
- * <p>The <code>operation</code> value is determined by the modifier keys pressed by the user.  
- * If no keys are pressed the <code>event.detail</code> field is set to DND.DROP_DEFAULT.  
- * If the application does not set the <code>event.detail</code> to something other than 
- * <code>DND.DROP_DEFAULT</code> the operation will be set to the platform defined standard default.</p>
- * 
- * <p>The <code>currentDataType</code> value is determined by the value assigned to 
- * <code>currentDataType</code> in previous dragEnter and dragOver calls.</p>
- * 
- * <p>The application can change the operation that will be performed by modifying the 
- * <code>detail</code> field but the choice must be one of the values in the <code>operations</code> 
- * field.</p>
- * 
- * <p>The application can also change the type of data being requested by modifying 
- * the <code>currentDataTypes</code> field  but the value must be one of the values in the 
- * <code>dataTypes</code> list.</p>
- *
- * @param event  the information associated with the drag operation changed event
- * 
- * @see DropTargetEvent
- */
-public void dragOperationChanged(DropTargetEvent event);
-
-/**
- * The cursor is moving over the drop target.
- *
- * <p>The following fields in the DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x
- * <li>(in)y
- * <li>(in)dataTypes
- * <li>(in,out)currentDataType
- * <li>(in)operations
- * <li>(in,out)detail
- * <li>(in,out)feedback
- * </ul></p>
- *
- * <p>The <code>operation</code> value is determined by the value assigned to 
- * <code>currentDataType</code> in previous dragEnter and dragOver calls.</p>
- * 
- * <p>The <code>currentDataType</code> value is determined by the value assigned to 
- * <code>currentDataType</code> in previous dragEnter and dragOver calls.</p>
- * 
- * <p>The application can change the operation that will be performed by modifying the 
- * <code>detail</code> field but the choice must be one of the values in the <code>operations</code> 
- * field.</p>
- * 
- * <p>The application can also change the type of data being requested by modifying the 
- * <code>currentDataTypes</code> field  but the value must be one of the values in the 
- * <code>dataTypes</code> list.</p>
- * 
- * <p>NOTE: At this point the <code>data</code> field is null.  On some platforms, it is possible 
- * to obtain the data being transferred before the transfer occurs but in most platforms this is 
- * not possible.  On those platforms where the data is available, the application can access the 
- * data as follows:</p>
- * 
- * <pre><code>
- * public void dragOver(DropTargetEvent event) {
- *       TextTransfer textTransfer = TextTransfer.getInstance();
- *       String data = (String)textTransfer.nativeToJava(event.currentDataType);
- *       if (data != null) {
- *           System.out.println("Data to be dropped is (Text)"+data);
- *       }
- * };
- * </code></pre>
- *
- * @param event  the information associated with the drag over event
- * 
- * @see DropTargetEvent
- */
-public void dragOver(DropTargetEvent event);
-
-/**
- * The data is being dropped.  The data field contains java format of the data being dropped.  
- * To determine the type of the data object, refer to the documentation for the Transfer subclass 
- * specified in event.currentDataType.
- *
- * <p>The following fields in DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x 
- * <li>(in)y
- * <li>(in,out)detail
- * <li>(in)currentDataType
- * <li>(in)data
- * </ul></p>
- *
- * <p>The application can refuse to perform the drop operation by setting the detail 
- * field to DND.DROP_NONE.</p>
- *
- * @param event the information associated with the drop event
- * 
- * @see DropTargetEvent
- */
-public void drop(DropTargetEvent event);
-
-/**
- * The drop is about to be performed.  
- * The drop target is given a last chance to change the nature of the drop.
- * 
- * <p>The following fields in the DropTargetEvent apply:
- * <ul>
- * <li>(in)widget
- * <li>(in)time
- * <li>(in)x
- * <li>(in)y
- * <li>(in)dataTypes
- * <li>(in,out)currentDataType
- * <li>(in)operations
- * <li>(in,out)detail
- * </ul></p>
- *
- * <p>The application can veto the drop by setting the <code>event.detail</code> field to 
- * <code>DND.DROP_NONE</code>.</p>
- *
- * <p>The application can change the operation that will be performed by modifying the 
- * <code>detail</code> field but the choice must be one of the values in the 
- * <code>operations</code> field.</p>
- * 
- * <p>The application can also change the type of data being requested by modifying the 
- * <code>currentDataTypes</code> field  but the value must be one of the values in the <
- * code>dataTypes</code> list.</p>
- *
- * @param event  the information associated with the drop accept event
- * 
- * @see DropTargetEvent
- */
-public void dropAccept(DropTargetEvent event);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/NoDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/NoDragAndDropEffect.java
deleted file mode 100755
index 4a2c23a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/NoDragAndDropEffect.java
+++ /dev/null
@@ -1,20 +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.dnd;
-
-
-import org.eclipse.swt.widgets.*;
-
-class NoDragAndDropEffect extends DragAndDropEffect {
-
-NoDragAndDropEffect(Control control) {}
-void showDropTargetEffect(int effect, int x, int y){}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/package.html b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/package.html
deleted file mode 100755
index 6773fd5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/common/org/eclipse/swt/dnd/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT Drag and Drop support.
-<h2>
-Package Specification</h2>
-This package contains the classes which make up the public API of the SWT
-Drag and Drop support.
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100644
index 2f231d9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,157 +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.dnd;
-
-
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-	
-public TransferData[] getSupportedTypes(){
-	return null;
-}
-
-public boolean isSupportedType(TransferData transferData){
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData) {
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData) {
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100644
index 515d056..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,295 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-
-	private Display display;
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-public Clipboard(Display display) {	
-	checkSubclass ();
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-	}
-	if (display.getThread() != Thread.currentThread()) {
-		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	}
-	this.display = display;
-}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	if (!(transfer instanceof TextTransfer)) return null;
-	return display.getData("TextTransfer"); //$NON-NLS-1$
-}
-
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	
-	for (int i = 0; i < dataTypes.length; i++) {
-		if (dataTypes[i] instanceof TextTransfer && data[i] instanceof String){
-			display.setData("TextTransfer", data[i]); //$NON-NLS-1$
-			return;
-		}
-	}
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	checkWidget();
-	return new TransferData[0];
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	return new String[0];
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100644
index 02ad229..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,282 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	private Control control;
-	private Listener controlListener;
-	private Transfer[] transferAgents = new Transfer[0];
-
-	private static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DRAGSOURCEID) != null)
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	control.setData(DRAGSOURCEID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					//DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	control.addListener (SWT.DragDetect, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragStart, typedListener);
-	addListener (DND.DragSetData, typedListener);
-	addListener (DND.DragEnd, typedListener);
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl () {
-	return control;
-}
-public Display getDisplay () {
-	if (control == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-	return control.getDisplay ();
-}
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-private void onDispose() {
-	if (control == null)
-		return;
-	if (controlListener != null) {
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragStart, listener);
-	removeListener (DND.DragSetData, listener);
-	removeListener (DND.DragEnd, listener);
-}
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100644
index eede505..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,276 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-
-	// info for registering as a droptarget	
-	private Control control;
-	private Listener controlListener;
-	private Transfer[] transferAgents = new Transfer[0];
-	private DragAndDropEffect effect;
-
-	private static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DROPTARGETID) != null)
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	control.setData(DROPTARGETID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (!DropTarget.this.isDisposed()){
-				DropTarget.this.dispose();
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent (Event event) {
-			onDispose();
-		}
-	});
-
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-public Display getDisplay () {
-	if (control == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-	return control.getDisplay ();
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */
-public Transfer[] getTransfer() {
-	return transferAgents;
-}
-
-private void onDispose () {	
-	if (control == null)
-		return;
-	if (controlListener != null)
-		control.removeListener(SWT.Dispose, controlListener);
-	controlListener = null;
-	control.setData(DROPTARGETID, null);
-	transferAgents = null;
-	control = null;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100644
index caa3bf2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/FileTransfer.java
+++ /dev/null
@@ -1,78 +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.dnd;
-
- 
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-private FileTransfer() {}
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return null;
-}
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-	return null;
-}
-protected String[] getTypeNames(){
-	return null;
-}
-protected int[] getTypeIds(){
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index bac26c0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/HTMLTransfer.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.dnd;
-
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	private static HTMLTransfer _instance = new HTMLTransfer();
-	private static final String TYPENAME1 = "text/html\0";
-	private static final int TYPEID1 = registerType(TYPENAME1);
-	private static final String TYPENAME2 = "TEXT/HTML\0";
-	private static final int TYPEID2 = registerType(TYPENAME2);
-
-private HTMLTransfer() {
-}
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	return null;
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME1, TYPENAME2};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID1, TYPEID2};
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100644
index e8634b2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/RTFTransfer.java
+++ /dev/null
@@ -1,77 +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.dnd;
-
- 
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	private static RTFTransfer _instance = new RTFTransfer();
-	private static final String TYPENAME1 = "text/rtf\0";
-	private static final int TYPEID1 = registerType(TYPENAME1);
-	private static final String TYPENAME2 = "TEXT/RTF\0";
-	private static final int TYPEID2 = registerType(TYPENAME2);
-	private static final String TYPENAME3 = "application/rtf\0";
-	private static final int TYPEID3 = registerType(TYPENAME3);
-
-private RTFTransfer() {
-}
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	return null;
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME1, TYPENAME2, TYPENAME3};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID1, TYPEID2, TYPEID3};
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TableDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TableDragAndDropEffect.java
deleted file mode 100644
index d13af03..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TableDragAndDropEffect.java
+++ /dev/null
@@ -1,29 +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.dnd;
-
- 
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	private Table table;
-	
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-}
-Widget getItem(int x, int y) {
-	if (table == null) return null;
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	return table.getItem(coordinates);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100644
index 802b7e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TextTransfer.java
+++ /dev/null
@@ -1,78 +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.dnd;
-
- 
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	private static TextTransfer _instance = new TextTransfer();
-	private static final String TYPENAME1 = "STRING\0";
-	private static final int TYPEID1 = registerType(TYPENAME1);
-	private static final String TYPENAME2 = "text/plain\0";
-	private static final int TYPEID2 = registerType(TYPENAME2);
-	private static final String TYPENAME3 = "text/text\0";
-	private static final int TYPEID3 = registerType(TYPENAME3);
-
-private TextTransfer() {
-}
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData){
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-	return null;
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME1, TYPENAME2, TYPENAME3};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID1, TYPEID2, TYPEID3};
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100644
index ad5ffd5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,133 +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.dnd;
-
-
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName){
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100644
index 2838124..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TransferData.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.dnd;
-
- 
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int type;
-	
-	// attributes specific to set/get
-	int length;
-	int format;
-	int pValue;
-
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	int result;
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100644
index fafd454..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/emulated/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,29 +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.dnd;
-
- 
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-
-	private Tree tree;
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-}
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	return tree.getItem(coordinates);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100644
index f8c44bc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,191 +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.dnd;
-
-import org.eclipse.swt.internal.gtk.*;
-
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-
-public TransferData[] getSupportedTypes() {
-	int[] types = getTypeIds();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i];
-	}
-	return data;
-}
-
-public boolean isSupportedType(TransferData transferData){
-	if (transferData == null) return false;
-	int[] types = getTypeIds();
-	for (int i = 0; i < types.length; i++) {
-		if (transferData.type == types[i]) return true;
-	}
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData) {
-	transferData.result = 0;
-	if (!checkByteArray(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	byte[] buffer = (byte[])object;
-	if (buffer.length == 0) return;
-	int /*long*/ pValue = OS.g_malloc(buffer.length);
-	if (pValue == 0) return;
-	OS.memmove(pValue, buffer, buffer.length);
-	transferData.length = buffer.length;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData) {
-	if ( !isSupportedType(transferData) || transferData.pValue == 0) return null;
-	int size = transferData.format * transferData.length / 8;
-	if (size == 0) return null;
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pValue, size);
-	return buffer;
-}
-
-boolean checkByteArray(Object object) {
-	return (object != null && object instanceof byte[] && ((byte[])object).length > 0);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100644
index 8c0675f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,617 +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.dnd;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.gtk.GtkSelectionData;
-import org.eclipse.swt.internal.gtk.OS;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-
-	private Display display;
-	
-	static int /*long*/ GTKCLIPBOARD;
-	static int /*long*/ GTKPRIMARYCLIPBOARD;
-	private static int /*long*/ TARGET;
-	
-	static {
-		GTKCLIPBOARD = OS.gtk_clipboard_get(OS.GDK_NONE);
-		byte[] buffer = Converter.wcsToMbcs(null, "PRIMARY", true);
-		int /*long*/ primary = OS.gdk_atom_intern(buffer, false);
-		GTKPRIMARYCLIPBOARD = OS.gtk_clipboard_get(primary);
-		buffer = Converter.wcsToMbcs(null, "TARGETS", true);
-		TARGET = OS.gdk_atom_intern(buffer, false);
-	}
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-public Clipboard(Display display) {	
-	checkSubclass ();
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-	}
-	if (display.getThread() != Thread.currentThread()) {
-		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	}
-	this.display = display;
-}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the system clipboard,
- * clear the contents.  If this clipboard is not the owner, then nothing is done.
- * Note that there are clipboard assistant applications that take ownership of 
- * data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.
- * 
- * @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>
- * 
- * @since 3.1
- */
-public void clearContents() {
-	clearContents(DND.CLIPBOARD);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the specified 
- * clipboard, clear the contents.  If this clipboard is not the owner, then 
- * nothing is done.
- * 
- * <p>Note that there are clipboard assistant applications that take ownership
- * of data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.</p>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards to be cleared
- * 
- * @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>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void clearContents(int clipboards) {
-	checkWidget();
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	proxy.clear(this, clipboards);
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	return getContents(transfer, DND.CLIPBOARD);
-}
-
-/**
- * Retrieve the data of the specified type currently available on the specified 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer, DND.CLIPBOARD);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @param clipboards on which to look for data
- *  
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public Object getContents(Transfer transfer, int clipboards) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	int /*long*/ selection_data = 0;
-	int[] typeIds = transfer.getTypeIds();
-	for (int i = 0; i < typeIds.length; i++) {
-		if ((clipboards & DND.CLIPBOARD) != 0) {
-			selection_data = gtk_clipboard_wait_for_contents(GTKCLIPBOARD, typeIds[i]);
-		}
-		if (selection_data != 0) break;
-		if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-			selection_data = gtk_clipboard_wait_for_contents(GTKPRIMARYCLIPBOARD, typeIds[i]);
-		}
-	}
-	if (selection_data == 0) return null;
-	GtkSelectionData gtkSelectionData = new GtkSelectionData();
-	OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-	TransferData tdata = new TransferData();
-	tdata.type = gtkSelectionData.type;
-	tdata.pValue = gtkSelectionData.data;
-	tdata.length = gtkSelectionData.length;
-	tdata.format = gtkSelectionData.format;
-	Object result = transfer.nativeToJava(tdata);
-	OS.gtk_selection_data_free(selection_data);
-	return result;
-}
-
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	setContents(data, dataTypes, DND.CLIPBOARD);
-}
-
-/**
- * Place data of the specified type on the specified clipboard.  More than one 
- * type of data can be placed on the specified clipboard at the same time.
- * Setting the data clears any previous data from the specified
- * clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the specified
- * clipboard but on other platforms it is provided upon request.  As a result, 
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers, DND.CLIPBOARD);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * @param clipboards on which to set the data
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void setContents(Object[] data, Transfer[] dataTypes, int clipboards) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length || data.length == 0) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < data.length; i++) {
-		if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) {
-			DND.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-	}
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	if (!proxy.setData(this, data, dataTypes, clipboards)) {
-		DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-	}
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	return getAvailableTypes(DND.CLIPBOARD);
-}
-
-/**
- * Returns an array of the data types currently available on the specified 
- * clipboard. Use with Transfer.isSupportedType.
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards from which to get the data types
- * @return array of data types currently available on the specified clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public TransferData[] getAvailableTypes(int clipboards) {
-	checkWidget();
-	TransferData[] result = null;
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		int[] types = getAvailableClipboardTypes();
-		result = new TransferData[types.length];
-		for (int i = 0; i < types.length; i++) {
-			result[i] = new TransferData();
-			result[i].type = types[i];
-		}
-	}
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-		int[] types = getAvailablePrimaryTypes();
-		int offset = 0;
-		if (result != null) {
-			TransferData[] newResult = new TransferData[result.length + types.length];
-			System.arraycopy(result,0, newResult, 0, result.length);
-			offset = result.length;
-			result = newResult;
-		} else {
-			result = new TransferData[types.length];
-		}
-		for (int i = 0; i < types.length; i++) {
-			result[offset+i] = new TransferData();
-			result[offset+i].type = types[i];
-		}
-	}
-	return result == null ? new TransferData[0] : result;
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	int[] types1 = getAvailableClipboardTypes();
-	int[] types2 = getAvailablePrimaryTypes();
-	String[] result = new String[types1.length + types2.length];
-	int count = 0;
-	for (int i = 0; i < types1.length; i++) {
-		int /*long*/ pName = OS.gdk_atom_name(types1[i]);
-		if (pName == 0) {
-			continue;
-		}
-		byte[] buffer = new byte [OS.strlen(pName)];
-		OS.memmove (buffer, pName, buffer.length);
-		OS.g_free (pName);
-		result[count++] = "GTKCLIPBOARD "+new String (Converter.mbcsToWcs (null, buffer));
-	}
-	for (int i = 0; i < types2.length; i++) {
-		int /*long*/ pName = OS.gdk_atom_name(types2[i]);
-		if (pName == 0) {
-			continue;
-		}
-		byte[] buffer = new byte [OS.strlen(pName)];
-		OS.memmove (buffer, pName, buffer.length);
-		OS.g_free (pName);
-		result[count++] = "GTKPRIMARYCLIPBOARD "+new String (Converter.mbcsToWcs (null, buffer));
-	}
-	if (count < result.length){
-		String[] temp = new String[count];
-		System.arraycopy(result, 0, temp, 0, count);
-		result = temp;
-	}
-	return result;
-}
-
-private  int[] getAvailablePrimaryTypes() {
-	int[] types = new int[0];
-	int /*long*/ selection_data = gtk_clipboard_wait_for_contents(GTKPRIMARYCLIPBOARD, TARGET);
-	if (selection_data != 0) {
-		try {
-			GtkSelectionData gtkSelectionData = new GtkSelectionData();
-			OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-			if (gtkSelectionData.length != 0) {
-				types = new int[gtkSelectionData.length * 8 / gtkSelectionData.format];
-				OS.memmove(types, gtkSelectionData.data, gtkSelectionData.length);
-			}
-		} finally {
-			OS.gtk_selection_data_free(selection_data);
-		}
-	}
-	return types;
-}
-private int[] getAvailableClipboardTypes () {
-	int[] types = new int[0];
-	int /*long*/ selection_data  = gtk_clipboard_wait_for_contents(GTKCLIPBOARD, TARGET);
-	if (selection_data != 0) {
-		try {
-			GtkSelectionData gtkSelectionData = new GtkSelectionData();
-			OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-			if (gtkSelectionData.length != 0) {
-				types = new int[gtkSelectionData.length * 8 / gtkSelectionData.format];
-				OS.memmove(types, gtkSelectionData.data, gtkSelectionData.length);
-			}
-		} finally {
-			OS.gtk_selection_data_free(selection_data);
-		}
-	}
-	return types;
-}
-
-int /*long*/ gtk_clipboard_wait_for_contents(int /*long*/ clipboard, int /*long*/ target) {
-	String key = "org.eclipse.swt.internal.gtk.dispatchEvent";
-	Display display = this.display;
-	display.setData(key, new int[]{OS.GDK_PROPERTY_NOTIFY, OS.GDK_SELECTION_CLEAR, OS.GDK_SELECTION_REQUEST, OS.GDK_SELECTION_NOTIFY});
-	int /*long*/ selection_data = OS.gtk_clipboard_wait_for_contents(clipboard, target);
-	display.setData(key, null);
-	return selection_data;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java
deleted file mode 100644
index 6e122cc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java
+++ /dev/null
@@ -1,191 +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.dnd;
-
- 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.internal.Callback;
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.gtk.GtkSelectionData;
-import org.eclipse.swt.internal.gtk.GtkTargetEntry;
-import org.eclipse.swt.internal.gtk.OS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-class ClipboardProxy {
-	/* Data is not flushed to the clipboard immediately.
-	 * This class will remember the data and provide it when requested. 
-	 */
-	Object[] clipboardData;
-	Transfer[] clipboardDataTypes;
-	Object[] primaryClipboardData;
-	Transfer[] primaryClipboardDataTypes;
-
-	Display display;
-	Clipboard activeClipboard = null;
-	Clipboard activePrimaryClipboard = null;
-	Callback getFunc;
-	Callback clearFunc;
-	
-	static String ID = "CLIPBOARD PROXY OBJECT"; //$NON-NLS-1$
-
-static ClipboardProxy _getInstance(final Display display) {
-	ClipboardProxy proxy = (ClipboardProxy) display.getData(ID);
-	if (proxy != null) return proxy;
-	proxy = new ClipboardProxy(display);
-	display.setData(ID, proxy);
-	display.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event event) {
-			ClipboardProxy clipbordProxy = (ClipboardProxy)display.getData(ID);
-			if (clipbordProxy == null) return;
-			display.setData(ID, null);
-			clipbordProxy.dispose();
-		}
-	});
-	return proxy;
-}	
-
-ClipboardProxy(Display display) {	
-	this.display = display;
-	getFunc = new Callback( this, "getFunc", 4); //$NON-NLS-1$
-	if (getFunc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	clearFunc = new Callback( this, "clearFunc", 2); //$NON-NLS-1$
-	if (clearFunc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-}
-
-void clear (Clipboard owner, int clipboards) {
-	if ((clipboards & DND.CLIPBOARD) != 0 && activeClipboard == owner) {
-		OS.gtk_clipboard_clear(Clipboard.GTKCLIPBOARD);
-	}
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0 && activePrimaryClipboard == owner) {
-		OS.gtk_clipboard_clear(Clipboard.GTKPRIMARYCLIPBOARD);
-	}
-}
-
-int /*long*/ clearFunc(int /*long*/ clipboard,int /*long*/ user_data_or_owner){
-	if (clipboard == Clipboard.GTKCLIPBOARD) {
-		activeClipboard = null;
-		clipboardData = null;
-		clipboardDataTypes = null;
-	}
-	if (clipboard == Clipboard.GTKPRIMARYCLIPBOARD) {
-		activePrimaryClipboard = null;
-		primaryClipboardData = null;
-		primaryClipboardDataTypes = null;
-	}
-	return 1;
-}
-
-void dispose () {
-	if (display == null) return;
-	if (activeClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKCLIPBOARD);
-	if (activePrimaryClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKPRIMARYCLIPBOARD);
-	display = null;
-	if (getFunc != null ) getFunc.dispose();
-	getFunc = null;
-	if (clearFunc != null) clearFunc.dispose();
-	clearFunc = null;
-	clipboardData = null;
-	clipboardDataTypes = null;
-	primaryClipboardData = null;
-	primaryClipboardDataTypes = null;
-}
-
-/**
- * This function provides the data to the clipboard on request.
- * When this clipboard is disposed, the data will no longer be available.
- */
-int /*long*/ getFunc(int /*long*/ clipboard, int /*long*/ selection_data, int /*long*/ info, int /*long*/ user_data_or_owner){
-	if (selection_data == 0) return 0;
-	GtkSelectionData selectionData = new GtkSelectionData();
-	OS.memmove(selectionData, selection_data, GtkSelectionData.sizeof);
-	TransferData tdata = new TransferData();
-	tdata.type = selectionData.target;
-	Transfer[] types = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardDataTypes : primaryClipboardDataTypes;
-	int index = -1;
-	for (int i = 0; i < types.length; i++) {
-		if (types[i].isSupportedType(tdata)) {
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return 0;
-	Object[] data = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardData : primaryClipboardData;
-	types[index].javaToNative(data[index], tdata);
-	if (tdata.format < 8 || tdata.format % 8 != 0) {
-		return 0;
-	}
-	OS.gtk_selection_data_set(selection_data, tdata.type, tdata.format, tdata.pValue, tdata.length);	
-	OS.g_free(tdata.pValue);
-	return 1;
-}
-
-boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipboards) {	
-	GtkTargetEntry[] entries = new  GtkTargetEntry [0];
-	int /*long*/ pTargetsList = 0;
-	try {
-		for (int i = 0; i < dataTypes.length; i++) {
-			Transfer transfer = dataTypes[i];
-			int[] typeIds = transfer.getTypeIds();
-			String[] typeNames = transfer.getTypeNames();
-			for (int j = 0; j < typeIds.length; j++) {
-				GtkTargetEntry	entry = new GtkTargetEntry();						
-				entry.info = typeIds[j];
-				byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
-				int /*long*/ pName = OS.g_malloc(buffer.length);
-				OS.memmove(pName, buffer, buffer.length);
-				entry.target = pName;
-				GtkTargetEntry[] tmp = new GtkTargetEntry [entries.length + 1];
-				System.arraycopy(entries, 0, tmp, 0, entries.length);
-				tmp[entries.length] = entry;
-				entries = tmp;				
-			}	
-		}
-		
-		pTargetsList = OS.g_malloc(GtkTargetEntry.sizeof * entries.length);
-		int offset = 0;
-		for (int i = 0; i < entries.length; i++) {
-			OS.memmove(pTargetsList + offset, entries[i], GtkTargetEntry.sizeof);
-			offset += GtkTargetEntry.sizeof;
-		}
-		if ((clipboards & DND.CLIPBOARD) != 0) {
-			if (activeClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKCLIPBOARD);
-			clipboardData = data;
-			clipboardDataTypes = dataTypes;
-			int /*long*/ getFuncProc = getFunc.getAddress();
-			int /*long*/ clearFuncProc = clearFunc.getAddress();
-			if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
-				return false;
-			}
-			activeClipboard = owner;
-		}
-		if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-			if (activePrimaryClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKPRIMARYCLIPBOARD);
-			primaryClipboardData = data;
-			primaryClipboardDataTypes = dataTypes;
-			int /*long*/ getFuncProc = getFunc.getAddress();
-			int /*long*/ clearFuncProc = clearFunc.getAddress();
-			if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
-				return false;
-			}
-			activePrimaryClipboard = owner;
-		}
-		return true;
-	} finally {
-		for (int i = 0; i < entries.length; i++) {
-			GtkTargetEntry entry = entries[i];
-			if( entry.target != 0) OS.g_free(entry.target);
-		}
-		if (pTargetsList != 0) OS.g_free(pTargetsList);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100644
index 284dd3f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,561 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-
-	int /*long*/ targetList;
-	
-	//workaround - remember action performed for DragEnd
-	boolean moveData = false;
-	
-	DragAndDropEffect effect;
-	static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-		
-	static Callback DragGetData;
-	static Callback DragEnd;
-	static Callback DragDataDelete;
-	static {
-		DragGetData = new Callback(DragSource.class, "DragGetData", 5);	 //$NON-NLS-1$
-		if (DragGetData.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DragEnd = new Callback(DragSource.class, "DragEnd", 2); //$NON-NLS-1$
-		if (DragEnd.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DragDataDelete = new Callback(DragSource.class, "DragDataDelete", 2); //$NON-NLS-1$
-		if (DragDataDelete.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-	
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (DragGetData == null || DragEnd == null || DragDataDelete == null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	}
-	if (control.getData(DRAGSOURCEID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	}
-	control.setData(DRAGSOURCEID, this);
-
-	OS.g_signal_connect(control.handle, OS.drag_data_get, DragGetData.getAddress(), 0);	
-	OS.g_signal_connect(control.handle, OS.drag_end, DragEnd.getAddress(), 0);
-	OS.g_signal_connect(control.handle, OS.drag_data_delete, DragDataDelete.getAddress(), 0);
-	
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	control.addListener (SWT.DragDetect, controlListener);
-	
-	// DND effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-static int /*long*/ DragDataDelete(int /*long*/ widget, int /*long*/ context){
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	source.dragDataDelete(widget, context);
-	return 0;
-}
-
-static int /*long*/ DragEnd(int /*long*/ widget, int /*long*/ context){
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	source.dragEnd(widget, context);
-	return 0;
-}
-	
-static int /*long*/ DragGetData(int /*long*/ widget, int /*long*/ context, int /*long*/ selection_data,  int /*long*/ info, int /*long*/ time){
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	source.dragGetData(widget, context, selection_data, (int)/*64*/info, (int)/*64*/time);
-	return 0;
-}
-
-static DragSource FindDragSource(int /*long*/ handle) {
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(handle);
-	if (widget == null) return null;
-	return (DragSource)widget.getData(DRAGSOURCEID);
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragStart, typedListener);
-	addListener (DND.DragSetData, typedListener);
-	addListener (DND.DragEnd, typedListener);
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void drag(Event dragEvent) {
-	moveData = false;	
-	DNDEvent event = new DNDEvent();
-	event.widget = this;	
-	event.x = dragEvent.x;
-	event.y = dragEvent.y;
-	event.time = dragEvent.time;
-	event.doit = true;
-	notifyListeners(DND.DragStart, event);
-	if (!event.doit || transferAgents == null || transferAgents.length == 0) return;
-	if (targetList == 0) return;
-	
-	int actions = opToOsOp(getStyle());
-	ImageData imageData = effect.getDragSourceImage(dragEvent.x, dragEvent.y);
-	int /*long*/ context = OS.gtk_drag_begin(control.handle, targetList, actions, 1, 0);
-	if (context != 0 && imageData != null) {
-		Image image = new Image(getDisplay(), imageData);
-		int /*long*/ pixbuf = createPixbuf(image);
-		OS.gtk_drag_set_icon_pixbuf(context, pixbuf, 0, 0);
-		OS.g_object_unref(pixbuf);
-		image.dispose();
-	}
-}
-
-void dragEnd(int /*long*/ widget, int /*long*/ context){
-	/*
-	 * Bug in GTK.  If a drag is initiated using gtk_drag_begin and the 
-	 * mouse is released immediately, the mouse and keyboard remain
-	 * grabbed.  The fix is to release the grab on the mouse and keyboard
-	 * whenever the drag is terminated.
-	 * 
-	 * NOTE: We believe that it is never an error to ungrab when
-	 * a drag is finished.
-	 */
-	OS.gdk_pointer_ungrab(OS.GDK_CURRENT_TIME); 
-	OS.gdk_keyboard_ungrab(OS.GDK_CURRENT_TIME);
-	
-	int operation = DND.DROP_NONE;
-	if (context != 0) {
-		GdkDragContext gdkDragContext = new GdkDragContext ();
-		OS.memmove(gdkDragContext, context, GdkDragContext.sizeof);
-		if (gdkDragContext.dest_window != 0) { //NOTE: if dest_window is 0, drag was aborted
-			if (moveData) {
-				operation = DND.DROP_MOVE;
-			} else {
-				operation = osOpToOp(gdkDragContext.action);
-				if (operation == DND.DROP_MOVE) operation = DND.DROP_NONE;
-			}
-		}
-	}	
-	
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	//event.time = ???
-	event.doit = operation != 0;
-	event.detail = operation; 
-	notifyListeners(DND.DragEnd, event);
-	moveData = false;	
-}	
-
-void dragGetData(int /*long*/ widget, int /*long*/ context, int /*long*/ selection_data,  int info, int time){
-	if (selection_data == 0) return;	
-	GtkSelectionData gtkSelectionData = new GtkSelectionData();
-	OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-	if (gtkSelectionData.target == 0) return;
-	
-	TransferData transferData = new TransferData();
-	transferData.type = gtkSelectionData.target;
-	transferData.pValue = gtkSelectionData.data;
-	transferData.length = gtkSelectionData.length;
-	transferData.format = gtkSelectionData.format;
-		
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = time; 
-	event.dataType = transferData; 
-	notifyListeners(DND.DragSetData, event);
-		
-	Transfer transfer = null;
-	for (int i = 0; i < transferAgents.length; i++) {
-		if (transferAgents[i].isSupportedType(transferData)) {
-			transfer = transferAgents[i];
-			break;
-		}
-	}
-	if (transfer == null) return;
-	transfer.javaToNative(event.data, transferData);
-	if (transferData.result != 1) return;
-	OS.gtk_selection_data_set(selection_data, transferData.type, transferData.format, transferData.pValue, transferData.length);
-	OS.g_free(transferData.pValue);
-	return;	
-}
-
-void dragDataDelete(int /*long*/ widget, int /*long*/ context){
-	moveData = true;
-}
-
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl () {
-	return control;
-}
-
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-void onDispose() {
-	if (control == null) return;
-	if (targetList != 0) {
-		OS.gtk_target_list_unref(targetList);
-	}
-	targetList = 0;
-	if (controlListener != null) {
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-
-int opToOsOp(int operation){
-	int osOperation = 0;
-	
-	if ((operation & DND.DROP_COPY) == DND.DROP_COPY)
-		osOperation |= OS.GDK_ACTION_COPY;
-	if ((operation & DND.DROP_MOVE) == DND.DROP_MOVE)
-		osOperation |= OS.GDK_ACTION_MOVE;
-	if ((operation & DND.DROP_LINK) == DND.DROP_LINK)
-		osOperation |= OS.GDK_ACTION_LINK;
-	
-	return osOperation;
-}
-
-int osOpToOp(int osOperation){
-	int operation = DND.DROP_NONE;
-	
-	if ((osOperation & OS.GDK_ACTION_COPY) == OS.GDK_ACTION_COPY)
-		operation |= DND.DROP_COPY;
-	if ((osOperation & OS.GDK_ACTION_MOVE) == OS.GDK_ACTION_MOVE)
-		operation |= DND.DROP_MOVE;
-	if ((osOperation & OS.GDK_ACTION_LINK) == OS.GDK_ACTION_LINK)
-		operation |= DND.DROP_LINK;
-	
-	return operation;
-}		
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragStart, listener);
-	removeListener (DND.DragSetData, listener);
-	removeListener (DND.DragEnd, listener);
-}
-
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (targetList != 0) {
-		OS.gtk_target_list_unref(targetList);
-		targetList = 0;
-	}
-	this.transferAgents = transferAgents;
-	if (transferAgents == null || transferAgents.length == 0) return;
-	
-	GtkTargetEntry[] targets = new GtkTargetEntry[0];
-	for (int i = 0; i < transferAgents.length; i++) {
-		Transfer transfer = transferAgents[i];
-		int[] typeIds = transfer.getTypeIds();
-		String[] typeNames = transfer.getTypeNames();
-		for (int j = 0; j < typeIds.length; j++) {
-			GtkTargetEntry entry = new GtkTargetEntry();
-			byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
-			entry.target = OS.g_malloc(buffer.length);
-			OS.memmove(entry.target, buffer, buffer.length);						
-			entry.info = typeIds[j];
-			GtkTargetEntry[] newTargets = new GtkTargetEntry[targets.length + 1];
-			System.arraycopy(targets, 0, newTargets, 0, targets.length);
-			newTargets[targets.length] = entry;
-			targets = newTargets;
-		}	
-	}
-	
-	int /*long*/ pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
-	for (int i = 0; i < targets.length; i++) {
-		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
-	}			
-	targetList = OS.gtk_target_list_new(pTargets, targets.length);
-	
-	for (int i = 0; i < targets.length; i++) {
-		OS.g_free(targets[i].target);
-	}
-}
-
-static int /*long*/ createPixbuf(Image image) {
-	int [] w = new int [1], h = new int [1];
- 	OS.gdk_drawable_get_size (image.pixmap, w, h);
-	int /*long*/ colormap = OS.gdk_colormap_get_system ();
-	int /*long*/ pixbuf;
-	boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
-	if (hasMask) {
-		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
-		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
-		int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
-		if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
-		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
-		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-		byte[] line = new byte[stride];
-		int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
-		int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
-		byte[] maskLine = new byte[maskStride];
-		for (int y=0; y<h[0]; y++) {
-			int /*long*/ offset = pixels + (y * stride);
-			OS.memmove(line, offset, stride);
-			int /*long*/ maskOffset = maskPixels + (y * maskStride);
-			OS.memmove(maskLine, maskOffset, maskStride);
-			for (int x=0; x<w[0]; x++) {
-				if (maskLine[x * 3] == 0) {
-					line[x * 4 + 3] = 0;
-				}
-			}
-			OS.memmove(offset, line, stride);
-		}
-		OS.g_object_unref(maskPixbuf);
-	} else {
-		ImageData data = image.getImageData ();
-		boolean hasAlpha = data.getTransparencyType () == SWT.TRANSPARENCY_ALPHA;
-		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, hasAlpha, 8, w [0], h [0]);
-		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
-		if (hasAlpha) {
-			byte [] alpha = data.alphaData;
-			int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
-			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
-			byte [] line = new byte [stride];
-			for (int y = 0; y < h [0]; y++) {
-				int /*long*/ offset = pixels + (y * stride);
-				OS.memmove (line, offset, stride);
-				for (int x = 0; x < w [0]; x++) {
-					line [x*4+3] = alpha [y*w [0]+x];
-				}
-				OS.memmove (offset, line, stride);
-			}
-		}
-	}
-	return pixbuf;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100644
index 8f139a2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,719 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-	
-	// Track application selections
-	TransferData selectedDataType;
-	int selectedOperation;
-	
-	// workaround - There is no event for "operation changed" so track operation based on key state
-	int keyOperation = -1;
-	
-	// workaround - Simulate events when the mouse is not moving
-	long dragOverStart;
-	Runnable dragOverHeartbeat;
-	DNDEvent dragOverEvent;
-	
-	int drag_motion_handler;
-	int drag_leave_handler;
-	int drag_data_received_handler;
-	int drag_drop_handler;
-	
-	static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-	static final int DRAGOVER_HYSTERESIS = 50;
-	
-	static Callback Drag_Motion;
-	static Callback Drag_Leave;
-	static Callback Drag_Data_Received;
-	static Callback Drag_Drop;
-	
-	 static {	
-		Drag_Motion = new Callback(DropTarget.class, "Drag_Motion", 5); //$NON-NLS-1$
-		if (Drag_Motion.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		Drag_Leave = new Callback(DropTarget.class, "Drag_Leave", 3); //$NON-NLS-1$
-		if (Drag_Leave.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		Drag_Data_Received = new Callback(DropTarget.class, "Drag_Data_Received", 7); //$NON-NLS-1$
-		if (Drag_Data_Received.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		Drag_Drop = new Callback(DropTarget.class, "Drag_Drop", 5); //$NON-NLS-1$
-		if (Drag_Drop.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super(control, checkStyle(style));
-	this.control = control;
-	if (Drag_Motion == null || Drag_Leave == null || Drag_Data_Received == null || Drag_Drop == null) {
-		 DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	if (control.getData(DROPTARGETID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	control.setData(DROPTARGETID, this);
-	
-	drag_motion_handler = OS.g_signal_connect(control.handle, OS.drag_motion, Drag_Motion.getAddress(), 0);
-	drag_leave_handler = OS.g_signal_connect(control.handle, OS.drag_leave, Drag_Leave.getAddress(), 0);
-	drag_data_received_handler = OS.g_signal_connect(control.handle, OS.drag_data_received, Drag_Data_Received.getAddress(), 0);
-	drag_drop_handler = OS.g_signal_connect(control.handle, OS.drag_drop, Drag_Drop.getAddress(), 0);
-
-	// Dispose listeners	
-	controlListener = new Listener(){
-		public void handleEvent(Event event){
-			if (!DropTarget.this.isDisposed()){
-				DropTarget.this.dispose();
-			}
-		}
-	};
-	control.addListener(SWT.Dispose, controlListener);
-		
-	this.addListener(SWT.Dispose, new Listener(){
-		public void handleEvent(Event event){
-			onDispose();
-		}	
-	});
-
-	// Drag under effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else if (control instanceof StyledText) {
-		effect = new StyledTextDragAndDropEffect((StyledText)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-
-	dragOverHeartbeat = new Runnable() {
-		public void run() {
-			Control control = DropTarget.this.control;
-			if (control == null || control.isDisposed() || dragOverStart == 0) return;
-			long time = System.currentTimeMillis();
-			int delay = DRAGOVER_HYSTERESIS;
-			if (time < dragOverStart) {
-				delay = (int)(dragOverStart - time);
-			} else {	
-				int allowedOperations = dragOverEvent.operations;
-				TransferData[] allowedTypes = dragOverEvent.dataTypes;
-				//pass a copy of data types in to listeners in case application modifies it
-				TransferData[] dataTypes = new TransferData[allowedTypes.length];
-				System.arraycopy(allowedTypes, 0, dataTypes, 0, dataTypes.length);
-	
-				DNDEvent event = new DNDEvent();
-				event.widget = dragOverEvent.widget;
-				event.x = dragOverEvent.x;
-				event.y = dragOverEvent.y;
-				event.time = (int)time;
-				event.feedback = DND.FEEDBACK_SELECT;
-				event.dataTypes = dataTypes;
-				event.dataType = selectedDataType;
-				event.operations = dragOverEvent.operations;
-				event.detail  = selectedOperation;
-				event.item = effect.getItem(dragOverEvent.x, dragOverEvent.y);
-				selectedDataType = null;
-				selectedOperation = DND.DROP_NONE;
-				notifyListeners(DND.DragOver, event);
-				effect.showDropTargetEffect(event.feedback, event.x, event.y);
-				if (event.dataType != null) {
-					for (int i = 0; i < allowedTypes.length; i++) {
-						if (allowedTypes[i].type == event.dataType.type) {
-							selectedDataType = event.dataType;
-							break;
-						}
-					}
-				}
-				if (selectedDataType != null && (event.detail & allowedOperations) != 0) {
-					selectedOperation = event.detail;
-				}
-			}
-			control = DropTarget.this.control;
-			if (control == null || control.isDisposed()) return;
-			control.getDisplay().timerExec(delay, dragOverHeartbeat);
-		}
-	};
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;	
-	return style;
-}
-
-static int /*long*/ Drag_Data_Received ( int /*long*/ widget, int /*long*/ context, int /*long*/ x, int /*long*/ y, int /*long*/ data, int /*long*/ info, int /*long*/ time){
-	DropTarget target = FindDropTarget(widget);
-	if (target == null) return 0;
-	target.drag_data_received (widget, context, (int)/*64*/x, (int)/*64*/y, data, (int)/*64*/info, (int)/*64*/time);
-	return 0;
-}
-
-static int /*long*/ Drag_Drop(int /*long*/ widget, int /*long*/ context, int /*long*/ x, int /*long*/ y, int /*long*/ time) {
-	DropTarget target = FindDropTarget(widget);
-	if (target == null) return 0;
-	return target.drag_drop (widget, context, (int)/*64*/x, (int)/*64*/y, (int)/*64*/time) ? 1 : 0;
-}
-
-static int /*long*/ Drag_Leave ( int /*long*/ widget, int /*long*/ context, int /*long*/ time){
-	DropTarget target = FindDropTarget(widget);
-	if (target == null) return 0;
-	target.drag_leave (widget, context, (int)/*64*/time);
-	return 0;
-}
-
-static int /*long*/ Drag_Motion ( int /*long*/ widget, int /*long*/ context, int /*long*/ x, int /*long*/ y, int /*long*/ time){
-	DropTarget target = FindDropTarget(widget);
-	if (target == null) return 0;
-	return target.drag_motion (widget, context, (int)/*64*/x, (int)/*64*/y, (int)/*64*/time) ? 1 : 0;
-}
-	
-static DropTarget FindDropTarget(int /*long*/ handle) {
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(handle);
-	if (widget == null) return null;
-	return (DropTarget)widget.getData(DROPTARGETID);
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);	
-}	
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void drag_data_received ( int /*long*/ widget, int /*long*/ context, int x, int y, int /*long*/ data, int info, int time){
-	DNDEvent event = new DNDEvent();
-	if (data == 0 || !setEventData(context, x, y, time, event)) {
-		keyOperation = -1;
-		return;
-	}
-	keyOperation = -1;
-	
-	int allowedOperations = event.operations;
-	
-	// Get data in a Java format	
-	Object object = null;
-	TransferData transferData = new TransferData();
-	GtkSelectionData selectionData = new GtkSelectionData(); 
-	OS.memmove(selectionData, data, GtkSelectionData.sizeof);
-	if (selectionData.data != 0) {
-		transferData.type = selectionData.type;
-		transferData.length = selectionData.length;
-		transferData.pValue = selectionData.data;
-		transferData.format = selectionData.format;
-		for (int i = 0; i < transferAgents.length; i++) {
-			if (transferAgents[i].isSupportedType(transferData)) {
-				object = transferAgents[i].nativeToJava(transferData);
-				break;
-			}
-		}
-	}
-	if (object == null) {
-		selectedOperation = DND.DROP_NONE;
-	}
-	
-	event.detail = selectedOperation;
-	event.dataType = transferData;
-	event.data = object;
-	selectedOperation = DND.DROP_NONE;
-	notifyListeners(DND.Drop, event);
-	if ((allowedOperations & event.detail) == event.detail) {
-		selectedOperation = event.detail;
-	}
-	//notify source of action taken
-	OS.gtk_drag_finish(context, selectedOperation != DND.DROP_NONE, selectedOperation== DND.DROP_MOVE, time); 			
-	return;	
-}
-
-boolean drag_drop(int /*long*/ widget, int /*long*/ context, int x, int y, int time) {
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(context, x, y, time, event)) {
-		keyOperation = -1;
-		return false;
-	}
-	keyOperation = -1;
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	
-	event.dataType = selectedDataType;
-	event.detail = selectedOperation;
-	selectedDataType = null;
-	selectedOperation = DND.DROP_NONE;
-	notifyListeners(DND.DropAccept,event);
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-	if (selectedDataType != null && ((event.detail & allowedOperations) == event.detail)) {
-		selectedOperation = event.detail;
-	}
-	if (selectedOperation == DND.DROP_NONE) {
-		// this was not a successful drop
-		return false;
-	}
-	// ask drag source for dropped data
-	OS.gtk_drag_get_data(widget, context, selectedDataType.type, time);
-	return true;
-}
-
-void drag_leave ( int /*long*/ widget, int /*long*/ context, int time){
-	updateDragOverHover(0, null);
-	effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-	
-	if (keyOperation == -1) return;
-	keyOperation = -1;
-	
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = time;
-	event.detail = DND.DROP_NONE;
-	notifyListeners(DND.DragLeave, event);
-}
-
-boolean drag_motion ( int /*long*/ widget, int /*long*/ context, int x, int y, int time){
-	int oldKeyOperation = keyOperation;
-	
-	if (oldKeyOperation == -1) { //drag enter
-		selectedDataType = null;
-		selectedOperation = DND.DROP_NONE;
-	}
-		
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(context, x, y, time, event)) {
-		keyOperation = -1;
-		OS.gdk_drag_status(context, 0, time);
-		return false;
-	}
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-
-	if (oldKeyOperation == -1) {
-		event.type = DND.DragEnter;
-	} else {
-		if (keyOperation == oldKeyOperation) {
-			event.type = DND.DragOver;
-			event.dataType = selectedDataType;
-			event.detail = selectedOperation;
-		} else {
-			event.type = DND.DragOperationChanged;
-			event.dataType = selectedDataType;
-		}
-	}
-	updateDragOverHover(DRAGOVER_HYSTERESIS, event);
-	selectedDataType = null;
-	selectedOperation = DND.DROP_NONE;
-	notifyListeners(event.type, event);	
-	if (event.detail == DND.DROP_DEFAULT) {
-		event.detail = (allowedOperations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-	}
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-	if (selectedDataType != null && (allowedOperations & event.detail) != 0) {
-		selectedOperation = event.detail;
-	}
-	effect.showDropTargetEffect(event.feedback, event.x, event.y);
-
-	switch (selectedOperation) {
-		case DND.DROP_NONE:
-			OS.gdk_drag_status(context, 0, time);
-			break;		
-		case DND.DROP_COPY:
-			OS.gdk_drag_status(context, OS.GDK_ACTION_COPY, time);
-			break;
-		case DND.DROP_MOVE:
-			OS.gdk_drag_status(context, OS.GDK_ACTION_MOVE, time);
-			break;
-		case DND.DROP_LINK:
-			OS.gdk_drag_status(context, OS.GDK_ACTION_LINK, time);
-			break;
-	}
-	
-	if (oldKeyOperation == -1) {
-		dragOverHeartbeat.run();
-	}
-	return true;
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-int getOperationFromKeyState() {
-	int[] state = new int[1];
-	OS.gdk_window_get_pointer(0, null, null, state);
-	boolean ctrl = (state[0] & OS.GDK_CONTROL_MASK) != 0;
-	boolean shift = (state[0] & OS.GDK_SHIFT_MASK) != 0;
-	if (ctrl && shift) return DND.DROP_LINK;
-	if (ctrl)return DND.DROP_COPY;
-	if (shift)return DND.DROP_MOVE;
-	return DND.DROP_DEFAULT;
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */ 
-public Transfer[] getTransfer() { 
-	return transferAgents; 
-}
-
-void onDispose(){
-	if (control == null) return;
-	OS.g_signal_handler_disconnect(control.handle, drag_motion_handler);
-	OS.g_signal_handler_disconnect(control.handle, drag_leave_handler);
-	OS.g_signal_handler_disconnect(control.handle, drag_data_received_handler);
-	OS.g_signal_handler_disconnect(control.handle, drag_drop_handler);
-	if (transferAgents.length != 0)
-		OS.gtk_drag_dest_unset(control.handle);
-	transferAgents = null;
-	if (controlListener != null)
-		control.removeListener(SWT.Dispose, controlListener);
-	control.setData(DROPTARGETID, null);
-	control = null;
-	controlListener = null;
-}
-
-int opToOsOp(int operation){
-	int osOperation = 0;
-	if ((operation & DND.DROP_COPY) == DND.DROP_COPY)
-		osOperation |= OS.GDK_ACTION_COPY;
-	if ((operation & DND.DROP_MOVE) == DND.DROP_MOVE)
-		osOperation |= OS.GDK_ACTION_MOVE;
-	if ((operation & DND.DROP_LINK) == DND.DROP_LINK)
-		osOperation |= OS.GDK_ACTION_LINK;
-	return osOperation;
-}
-
-int osOpToOp(int osOperation){
-	int operation = DND.DROP_NONE;
-	if ((osOperation & OS.GDK_ACTION_COPY) == OS.GDK_ACTION_COPY)
-		operation |= DND.DROP_COPY;
-	if ((osOperation & OS.GDK_ACTION_MOVE) == OS.GDK_ACTION_MOVE)
-		operation |= DND.DROP_MOVE;
-	if ((osOperation & OS.GDK_ACTION_LINK) == OS.GDK_ACTION_LINK)
-		operation |= DND.DROP_LINK;
-	return operation;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	
-	if (this.transferAgents.length != 0) {
-		OS.gtk_drag_dest_unset(control.handle);
-	}
-	this.transferAgents = transferAgents;
-	
-	GtkTargetEntry[] targets = new GtkTargetEntry[0];
-	for (int i = 0; i < transferAgents.length; i++) {
-		Transfer transfer = transferAgents[i];
-		int[] typeIds = transfer.getTypeIds();
-		String[] typeNames = transfer.getTypeNames();
-		for (int j = 0; j < typeIds.length; j++) {
-			GtkTargetEntry entry = new GtkTargetEntry();
-			byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
-			entry.target = OS.g_malloc(buffer.length);
-			OS.memmove(entry.target, buffer, buffer.length);						
-			entry.info = typeIds[j];
-			GtkTargetEntry[] newTargets = new GtkTargetEntry[targets.length + 1];
-			System.arraycopy(targets, 0, newTargets, 0, targets.length);
-			newTargets[targets.length] = entry;
-			targets = newTargets;
-		}	
-	}
-	
-	int /*long*/ pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
-	for (int i = 0; i < targets.length; i++) {
-		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
-	}			
-	
-	int actions = opToOsOp(getStyle());
-	OS.gtk_drag_dest_set(control.handle, 0, pTargets, targets.length, actions);
-	
-	for (int i = 0; i < targets.length; i++) {
-		OS.g_free(targets[i].target);
-	}
-}
-
-boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent event) {
-	if (context == 0) return false;
-	GdkDragContext dragContext = new GdkDragContext();
-	OS.memmove(dragContext, context, GdkDragContext.sizeof);
-	if (dragContext.targets == 0) return false;
-	
-	// get allowed operations
-	int style = getStyle();
-	int operations = osOpToOp(dragContext.actions) & style;
-	if (operations == DND.DROP_NONE) return false;
-	
-	// get current operation
-	int operation = getOperationFromKeyState();
-	keyOperation = operation;
-	if (operation == DND.DROP_DEFAULT) {
-		if ((style & DND.DROP_DEFAULT) == 0) {
-			operation = (operations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-		}
-	} else {
-		if ((operation & operations) == 0) operation = DND.DROP_NONE;
-	}
-
-	// Get allowed transfer types
-	int length = OS.g_list_length(dragContext.targets);
-	TransferData[] dataTypes = new TransferData[0];
-	for (int i = 0; i < length; i++) {
-		int /*long*/ pData = OS.g_list_nth(dragContext.targets, i);
-		GtkTargetPair gtkTargetPair = new GtkTargetPair();
-		OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);
-		TransferData data = new TransferData();
-		data.type = gtkTargetPair.target;
-		for (int j = 0; j < transferAgents.length; j++) {
-			if (transferAgents[j].isSupportedType(data)) {
-				TransferData[] newDataTypes = new TransferData[dataTypes.length + 1];
-				System.arraycopy(dataTypes, 0, newDataTypes, 0, dataTypes.length);
-				newDataTypes[dataTypes.length] = data;
-				dataTypes = newDataTypes;	
-				break;
-			}
-		}
-	}
-	if (dataTypes.length == 0) return false;
-
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW(control.handle);
-	int [] origin_x = new int[1], origin_y = new int[1];
-	OS.gdk_window_get_origin(window, origin_x, origin_y);
-	Point coordinates = new Point(origin_x[0] + x, origin_y[0] + y);
-	
-	event.widget = this;
-	event.x = coordinates.x;
-	event.y = coordinates.y;
-	event.time = time;
-	event.feedback = DND.FEEDBACK_SELECT;
-	event.dataTypes = dataTypes;
-	event.dataType = dataTypes[0];
-	event.operations = operations;
-	event.detail = operation;
-	event.item = effect.getItem(coordinates.x, coordinates.y);
-	return true;
-}
-
-void updateDragOverHover(long delay, DNDEvent event) {
-	if (delay == 0) {
-		dragOverStart = 0;
-		dragOverEvent = null;
-		return;
-	}
-	dragOverStart = System.currentTimeMillis() + delay;
-	if (dragOverEvent == null) dragOverEvent = new DNDEvent();
-	dragOverEvent.x = event.x;
-	dragOverEvent.y = event.y;
-	TransferData[] dataTypes = new TransferData[ event.dataTypes.length];
-	System.arraycopy( event.dataTypes, 0, dataTypes, 0, dataTypes.length);
-	dragOverEvent.dataTypes  = dataTypes;
-	dragOverEvent.operations = event.operations;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100644
index d990e6c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java
+++ /dev/null
@@ -1,201 +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.dnd;
-
-import org.eclipse.swt.internal.gtk.*;
-
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-	private static FileTransfer _instance = new FileTransfer();
-	private static final String URI_LIST = "text/uri-list"; //$NON-NLS-1$
-	private static final int URI_LIST_ID = registerType(URI_LIST);
-	private static final byte[] separator = new byte[]{'\r', '\n'};
-	
-private FileTransfer() {}
-
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-	transferData.result = 0;
-	if (!checkFile(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String[] files = (String[])object;
-	byte[] buffer = new byte[0];
-	for (int i = 0; i < files.length; i++) {
-		String string = files[i];
-		if (string == null) continue;
-		int length = string.length();
-		if (length == 0) continue;
-		char[] chars = new char[length];
-		string.getChars(0, length, chars, 0);		
-		int /*long*/[] error = new int /*long*/[1];
-		int /*long*/ utf8Ptr = OS.g_utf16_to_utf8(chars, chars.length, null, null, error);
-		if (error[0] != 0 || utf8Ptr == 0) continue;
-		int /*long*/ localePtr = OS.g_locale_from_utf8(utf8Ptr, -1, null, null, error);
-		OS.g_free(utf8Ptr);
-		if (error[0] != 0 || localePtr == 0) continue;
-		int /*long*/ uriPtr = OS.g_filename_to_uri(localePtr, 0, error);
-		OS.g_free(localePtr);
-		if (error[0] != 0 || uriPtr == 0) continue;
-		length = OS.strlen(uriPtr);
-		byte[] temp = new byte[length];
-		OS.memmove (temp, uriPtr, length);
-		OS.g_free(uriPtr);
-		int newLength = (i > 0) ? buffer.length+separator.length+temp.length :  temp.length;
-		byte[] newBuffer = new byte[newLength];
-		int offset = 0;
-		if (i > 0) {
-			System.arraycopy(buffer, 0, newBuffer, 0, buffer.length);
-			offset +=  buffer.length;
-			System.arraycopy(separator, 0, newBuffer, offset, separator.length);
-			offset += separator.length;
-		}
-		System.arraycopy(temp, 0, newBuffer, offset, temp.length);
-		buffer = newBuffer;
-	}
-	if (buffer.length == 0) return;
-	int /*long*/ ptr = OS.g_malloc(buffer.length+1);
-	OS.memset(ptr, '\0', buffer.length+1);
-	OS.memmove(ptr, buffer, buffer.length);
-	transferData.pValue = ptr;
-	transferData.length = buffer.length;
-	transferData.format = 8;
-	transferData.result = 1;
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-	if ( !isSupportedType(transferData) ||  transferData.pValue == 0 ||  transferData.length <= 0 ) return null;
-	int length = transferData.length;
-	byte[] temp = new byte[length];
-	OS.memmove(temp, transferData.pValue, length);
-	int /*long*/[] files = new int /*long*/[0];
-	int offset = 0;
-	for (int i = 0; i < temp.length - 1; i++) {
-		if (temp[i] == '\r' && temp[i+1] == '\n') {
-			int size =  i - offset;
-			int /*long*/ file = OS.g_malloc(size + 1);
-			byte[] fileBuffer = new byte[size + 1];
-			System.arraycopy(temp, offset, fileBuffer, 0, size);
-			OS.memmove(file, fileBuffer, size + 1);
-			int /*long*/[] newFiles = new int /*long*/[files.length + 1];
-			System.arraycopy(files, 0, newFiles, 0, files.length);
-			newFiles[files.length] = file;
-			files = newFiles;
-			offset = i + 2;
-		}
-	}
-	if (offset < temp.length - 2) {
-		int size =  temp.length - offset;
-		int /*long*/ file = OS.g_malloc(size + 1);
-		byte[] fileBuffer = new byte[size + 1];
-		System.arraycopy(temp, offset, fileBuffer, 0, size);
-		OS.memmove(file, fileBuffer, size + 1);
-		int /*long*/[] newFiles = new int /*long*/[files.length + 1];
-		System.arraycopy(files, 0, newFiles, 0, files.length);
-		newFiles[files.length] = file;
-		files = newFiles;
-	}
-	String[] fileNames = new String[0];
-	for (int i = 0; i < files.length; i++) {
-		int /*long*/[] error = new int /*long*/[1];
-		int /*long*/ localePtr = OS.g_filename_from_uri(files[i], null, error);
-		OS.g_free(files[i]);
-		if (error[0] != 0 || localePtr == 0) continue;
-		int /*long*/ utf8Ptr = OS.g_locale_to_utf8(localePtr, -1, null, null, error);
-		OS.g_free(localePtr);
-		if (error[0] != 0 || utf8Ptr == 0) continue;
-		int /*long*/[] items_written = new int /*long*/[1];
-		int /*long*/ utf16Ptr = OS.g_utf8_to_utf16(utf8Ptr, -1, null, items_written, null);
-		OS.g_free(utf8Ptr);
-		length = (int)/*64*/items_written[0];
-		char[] buffer = new char[length];
-		OS.memmove(buffer, utf16Ptr, length * 2);
-		OS.g_free(utf16Ptr);
-		String name = new String(buffer);
-		String[] newFileNames = new String[fileNames.length + 1];
-		System.arraycopy(fileNames, 0, newFileNames, 0, fileNames.length);
-		newFileNames[fileNames.length] = name;
-		fileNames = newFileNames;
-	}
-	if (fileNames.length == 0) return null;
-	return fileNames;
-}
-
-protected int[] getTypeIds(){
-	return new int[]{URI_LIST_ID};
-}
-
-protected String[] getTypeNames(){
-	return new String[]{URI_LIST};
-}
-
-boolean checkFile(Object object) {
-	if (object == null || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	for (int i = 0; i < strings.length; i++) {
-		if (strings[i] == null || strings[i].length() == 0) return false;
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkFile(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index 1d53ab5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/HTMLTransfer.java
+++ /dev/null
@@ -1,111 +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.dnd;
-
-import org.eclipse.swt.internal.gtk.*;
- 
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	private static HTMLTransfer _instance = new HTMLTransfer();
-	private static final String TEXT_HTML = "text/html"; //$NON-NLS-1$
-	private static final int TEXT_HTML_ID = registerType(TEXT_HTML);
-	private static final String TEXT_HTML2 = "TEXT/HTML"; //$NON-NLS-1$
-	private static final int TEXT_HTML2_ID = registerType(TEXT_HTML2);
-
-private HTMLTransfer() {}
-
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	transferData.result = 0;
-	if (!checkHTML(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	int charCount = string.length();
-	char [] chars = new char[charCount +1];
-	string.getChars(0, charCount , chars, 0);
-	int byteCount = chars.length*2;
-	int /*long*/ pValue = OS.g_malloc(byteCount);
-	if (pValue == 0) return;
-	OS.memmove(pValue, chars, byteCount);
-	transferData.length = byteCount;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if ( !isSupportedType(transferData) ||  transferData.pValue == 0 ) return null;
-	/* Ensure byteCount is a multiple of 2 bytes */
-	int size = (transferData.format * transferData.length / 8) / 2 * 2;
-	if (size <= 0) return null;			
-	char[] chars = new char [size/2];
-	OS.memmove (chars, transferData.pValue, size);
-	String string = new String (chars);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-protected int[] getTypeIds() {
-	return new int[] {TEXT_HTML_ID, TEXT_HTML2_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {TEXT_HTML, TEXT_HTML2};
-}
-
-boolean checkHTML(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkHTML(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100644
index 4e7caf2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java
+++ /dev/null
@@ -1,112 +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.dnd;
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
- 
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	private static RTFTransfer _instance = new RTFTransfer();
-	private static final String TEXT_RTF = "text/rtf"; //$NON-NLS-1$
-	private static final int TEXT_RTF_ID = registerType(TEXT_RTF);
-	private static final String TEXT_RTF2 = "TEXT/RTF"; //$NON-NLS-1$
-	private static final int TEXT_RTF2_ID = registerType(TEXT_RTF2);
-	private static final String APPLICATION_RTF = "application/rtf"; //$NON-NLS-1$
-	private static final int APPLICATION_RTF_ID = registerType(APPLICATION_RTF);
-
-private RTFTransfer() {}
-
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	transferData.result = 0;
-	if (!checkRTF(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte [] buffer = Converter.wcsToMbcs (null, string, true);
-	int /*long*/ pValue = OS.g_malloc(buffer.length);
-	if (pValue == 0) return;
-	OS.memmove(pValue, buffer, buffer.length);
-	transferData.length = buffer.length - 1;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if ( !isSupportedType(transferData) ||  transferData.pValue == 0 ) return null;
-	int size = transferData.format * transferData.length / 8;
-	if (size == 0) return null;
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pValue, size);
-	char [] chars = Converter.mbcsToWcs (null, buffer);
-	String string = new String (chars);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-
-protected int[] getTypeIds() {
-	return new int[] {TEXT_RTF_ID, TEXT_RTF2_ID, APPLICATION_RTF_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {TEXT_RTF, TEXT_RTF2, APPLICATION_RTF};
-}
-
-boolean checkRTF(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkRTF(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
deleted file mode 100644
index 24d11ce..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.dnd;
-
-
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-
-class StyledTextDragAndDropEffect extends DragAndDropEffect {
-	StyledText text;
-	Rectangle caretBounds;
-	long scrollBeginTime;
-	int scrollX = -1, scrollY = -1;
-	
-	static final int SCROLL_HYSTERESIS = 100; // milli seconds
-	static final int SCROLL_TOLERANCE = 20; // pixels
-	
-StyledTextDragAndDropEffect(StyledText control) {
-	text = control;
-}
-void showDropTargetEffect(int effect, int x, int y) {
-	Point pt = text.getDisplay().map(null, text, x, y);
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollX = scrollY = -1;
-	} else {
-		if (text.getCharCount() == 0) {
-			scrollBeginTime = 0;
-			scrollX = scrollY = -1;
-		} else {
-			if (scrollX != -1 && scrollY != -1 && scrollBeginTime != 0 &&
-				(pt.x >= scrollX && pt.x <= (scrollX + SCROLL_TOLERANCE) ||
-				 pt.y >= scrollY && pt.y <= (scrollY + SCROLL_TOLERANCE))) {
-				if (System.currentTimeMillis() >= scrollBeginTime) {
-					Rectangle area = text.getClientArea();
-					Rectangle bounds = text.getTextBounds(0, 0);
-					int charWidth = bounds.width;
-					if (pt.x < area.x + 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel - charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.x > area.width - 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel + charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					int lineHeight = bounds.height;
-					if (pt.y < area.y + lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel - lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.y > area.height - lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel + lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					scrollBeginTime = 0;
-					scrollX = scrollY = -1;
-				}
-			} else {
-				scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-				scrollX = pt.x;
-				scrollY = pt.y;
-			}
-		}
-	}
-	
-	int newOffset = -1;
-	StyledTextContent content = text.getContent();
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		try {
-			newOffset = text.getOffsetAtLocation(pt);
-		} catch (IllegalArgumentException ex1) {
-			int maxOffset = content.getCharCount();
-			Point maxLocation = text.getLocationAtOffset(maxOffset);
-			if (pt.y >= maxLocation.y) {
-				try {
-					newOffset = text.getOffsetAtLocation(new Point(pt.x, maxLocation.y));
-				} catch (IllegalArgumentException ex2) {
-					newOffset = maxOffset;
-				}
-			} else {
-				try {
-					int startOffset = text.getOffsetAtLocation(new Point(0, pt.y));
-					int endOffset = maxOffset;
-					int line = content.getLineAtOffset(startOffset);
-					int lineCount = content.getLineCount();
-					if (line + 1 < lineCount) {
-						endOffset = content.getOffsetAtLine(line + 1)  - 1;
-					}
-					int lineHeight = text.getLineHeight(startOffset);
-					for (int i = endOffset; i >= startOffset; i--) {
-						Point p = text.getLocationAtOffset(i);
-						if (p.x < pt.x && p.y < pt.y && p.y + lineHeight > pt.y) {
-							newOffset = i;
-							break;
-						}
-					}
-				} catch (IllegalArgumentException ex2) {
-					newOffset = -1;
-				}
-			}
-		}
-	}
-	if (caretBounds != null) {
-		// hide caret
-		drawCaret();
-		caretBounds = null; 
-	}
-	if (newOffset != -1) {
-		// check if offset is line delimiter
-		// see StyledText.isLineDelimiter()
-		int line = content.getLineAtOffset(newOffset);
-		int lineOffset = content.getOffsetAtLine(line);	
-		int offsetInLine = newOffset - lineOffset;
-		// offsetInLine will be greater than line length if the line 
-		// delimiter is longer than one character and the offset is set
-		// in between parts of the line delimiter.
-		if (offsetInLine > content.getLine(line).length()) {
-			newOffset = Math.max(0, newOffset - 1);
-		}
-		text.setCaretOffset(newOffset);
-		// show caret
-		caretBounds = text.getCaret().getBounds();
-		drawCaret();
-	}
-}
-void drawCaret() {
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (text.handle);
-	int /*long*/ gc = OS.gdk_gc_new (window);
-	GdkColor color = new GdkColor ();
-	color.red = (short) 0xffff;
-	color.green = (short) 0xffff;
-	color.blue = (short) 0xffff;
-	int /*long*/ colormap = OS.gdk_colormap_get_system ();
-	OS.gdk_colormap_alloc_color (colormap, color, true, true);
-	OS.gdk_gc_set_foreground (gc, color);
-	OS.gdk_gc_set_function (gc, OS.GDK_XOR);
-	int nWidth = caretBounds.width, nHeight = caretBounds.height;
-	if (nWidth <= 0) nWidth = 1;
-	OS.gdk_draw_rectangle (window, gc, 1, caretBounds.x, caretBounds.y, nWidth, nHeight);
-	OS.g_object_unref (gc);
-	OS.gdk_colormap_free_colors (colormap, color, 1);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragAndDropEffect.java
deleted file mode 100644
index fb25305..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragAndDropEffect.java
+++ /dev/null
@@ -1,173 +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.dnd;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	Table table;
-	
-	int scrollIndex = -1;
-	long scrollBeginTime;
-	
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-}
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	TableItem item = table.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = table.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the tree.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = table.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-ImageData getDragSourceImage(int x, int y) {
-	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) return null;
-	/*
-	* Bug in GTK.  gtk_tree_selection_get_selected_rows() segmentation faults
-	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
-	* to give a valid pointer instead.
-	*/
-	int /*long*/ handle = table.handle;
-	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
-	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-	if (list == 0) return null;
-	int count = Math.min(10, OS.g_list_length (list));
-	Image image = null;
-	Display display = table.getDisplay();
-	if (count == 1) {
-			int /*long*/ path = OS.g_list_nth_data (list, 0);
-			int /*long*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
-			image =  Image.gtk_new(display, SWT.ICON, pixmap, 0); 
-	} else {
-		int width = 0, height = 0;
-		int[] w = new int[1], h = new int[1];
-		int[] yy = new int[count], hh = new int[count];
-		int /*long*/ [] pixmaps = new int /*long*/ [count];
-		GdkRectangle rect = new GdkRectangle ();
-		for (int i=0; i<count; i++) {
-			int /*long*/ path = OS.g_list_nth_data (list, i);
-			OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
-			pixmaps[i] = OS.gtk_tree_view_create_row_drag_icon(handle, path);
-			OS.gdk_drawable_get_size(pixmaps[i], w, h);
-			width = Math.max(width, w[0]);
-			height = rect.y + h[0] - yy[0];
-			yy[i] = rect.y;
-			hh[i] = h[0];
-		}
-		int /*long*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
-		int /*long*/ gcSource = OS.gdk_gc_new(source);
-		int /*long*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
-		int /*long*/ gcMask = OS.gdk_gc_new(mask);
-		GdkColor color = new GdkColor();
-		color.pixel = 0;
-		OS.gdk_gc_set_foreground(gcMask, color);
-		OS.gdk_draw_rectangle(mask, gcMask, 1, 0, 0, width, height);
-		color.pixel = 1;
-		OS.gdk_gc_set_foreground(gcMask, color);
-		for (int i=0; i<count; i++) {
-			OS.gdk_draw_drawable(source, gcSource, pixmaps[i], 0, 0, 0, yy[i] - yy[0], -1, -1);
-			OS.gdk_draw_rectangle(mask, gcMask, 1, 0, yy[i] - yy[0], width, hh[i]);
-			OS.g_object_unref(pixmaps[i]);
-		}
-		OS.g_object_unref(gcSource);
-		OS.g_object_unref(gcMask);
-		 image  = Image.gtk_new(display, SWT.ICON, source, mask);
-	}
-	OS.g_list_free (list);
-	
-	ImageData imageData = image.getImageData();
-	image.dispose();
-	return imageData;
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	int /*long*/ handle = table.handle;
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	int /*long*/ [] path = new int /*long*/ [1];
-	OS.gtk_tree_view_get_path_at_pos (handle, coordinates.x, coordinates.y, path, null, null, null);
-	int index = -1;
-	if (path[0] != 0) {
-		int /*long*/ indices = OS.gtk_tree_path_get_indices (path[0]);
-		if (indices != 0) {
-			int[] temp = new int[1];
-			OS.memmove (temp, indices, 4);
-			index = temp[0];
-		}
-	}
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollIndex = -1;
-	} else {
-		if (index != -1 && scrollIndex == index && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				if (coordinates.y < table.getItemHeight()) {
-					OS.gtk_tree_path_prev(path[0]);
-				} else {
-					OS.gtk_tree_path_next(path[0]);
-				}
-				if (path[0] != 0) {
-					OS.gtk_tree_view_scroll_to_cell(handle, path[0], 0, false, 0, 0);
-					OS.gtk_tree_path_free(path[0]);
-					path[0] = 0;
-					OS.gtk_tree_view_get_path_at_pos (handle, coordinates.x, coordinates.y, path, null, null, null);
-				}
-				scrollBeginTime = 0;
-				scrollIndex = -1;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollIndex = index;
-		}
-	}
-	if (path[0] != 0) {
-		int position = 0;
-		if ((effect & DND.FEEDBACK_SELECT) != 0) position = OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE;
-		//if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) position = OS.GTK_TREE_VIEW_DROP_BEFORE;
-		//if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0) position = OS.GTK_TREE_VIEW_DROP_AFTER;
-		if (position != 0) {
-			OS.gtk_tree_view_set_drag_dest_row(handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
-		} else {
-			OS.gtk_tree_view_unset_rows_drag_dest(handle);
-		}
-	} else {
-		OS.gtk_tree_view_unset_rows_drag_dest(handle);
-	}
-	if (path[0] != 0) OS.gtk_tree_path_free (path [0]);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100644
index 70b394e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java
+++ /dev/null
@@ -1,144 +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.dnd;
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	private static TextTransfer _instance = new TextTransfer();
-	private static final String COMPOUND_TEXT = "COMPOUND_TEXT"; //$NON-NLS-1$
-	private static final String UTF8_STRING = "UTF8_STRING"; //$NON-NLS-1$
-	private static final String STRING = "STRING"; //$NON-NLS-1$
-	private static final int COMPOUND_TEXT_ID = registerType(COMPOUND_TEXT);
-	private static final int UTF8_STRING_ID = registerType(UTF8_STRING);
-	private static final int STRING_ID = registerType(STRING);
-
-private TextTransfer() {}
-
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData) {
-	transferData.result = 0;
-	if (!checkText(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte[] utf8 = Converter.wcsToMbcs (null, string, true);
-	if  (transferData.type ==  COMPOUND_TEXT_ID) {
-		int /*long*/[] encoding = new int /*long*/[1];
-		int[] format = new int[1];
-		int /*long*/[] ctext = new int /*long*/[1];
-		int[] length = new int[1];
-		boolean result = OS.gdk_utf8_to_compound_text(utf8, encoding, format, ctext, length);
-		if (!result) return;
-		transferData.type = encoding[0];
-		transferData.format = format[0];
-		transferData.length = length[0];
-		transferData.pValue = ctext[0];
-		transferData.result = 1;
-	} 
-	if (transferData.type == UTF8_STRING_ID) {
-		int /*long*/ pValue = OS.g_malloc(utf8.length);
-		if (pValue ==  0) return;
-		OS.memmove(pValue, utf8, utf8.length);
-		transferData.type = UTF8_STRING_ID;
-		transferData.format = 8;
-		transferData.length = utf8.length - 1;
-		transferData.pValue = pValue;
-		transferData.result = 1;
-	}
-	if (transferData.type == STRING_ID) {
-		int /*long*/ string_target = OS.gdk_utf8_to_string_target(utf8);
-		if (string_target ==  0) return;
-		transferData.type = STRING_ID;
-		transferData.format = 8;
-		transferData.length = OS.strlen(string_target);
-		transferData.pValue = string_target;
-		transferData.result = 1;
-	}
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
-	int /*long*/[] list = new int /*long*/[1];
-	int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, list);
-	if (count == 0) return null;
-	int /*long*/[] ptr = new int /*long*/[1];
-	OS.memmove(ptr, list[0], OS.PTR_SIZEOF);
-	int length = OS.strlen(ptr[0]);
-	byte[] utf8 = new byte[length];
-	OS.memmove(utf8, ptr[0], length);
-	OS.g_strfreev(list[0]);
-	// convert utf8 byte array to a unicode string
-	char [] unicode = Converter.mbcsToWcs (null, utf8);
-	String string = new String (unicode);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-
-protected int[] getTypeIds() {
-	return new int[] {UTF8_STRING_ID, COMPOUND_TEXT_ID, STRING_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {UTF8_STRING, COMPOUND_TEXT, STRING};
-}
-
-boolean checkText(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkText(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100644
index 74b5b24..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,151 +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.dnd;
-
- 
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.gtk.OS;
-
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName){
-	if (formatName == null) return OS.GDK_NONE;
-	byte[] buffer = Converter.wcsToMbcs(null, formatName, true);
-	return (int)/*64*/OS.gdk_atom_intern(buffer, false);
-}
-
-/**
- * Test that the object is of the correct format for this Transfer class.
- * 
- * @param object a java representation of the data to be converted
- * 
- * @return true if object is of the correct form for this transfer type
- * 
- * @since 3.1
- */
-protected boolean validate(Object object) {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100644
index 3e2d976..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java
+++ /dev/null
@@ -1,96 +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.dnd;
-
- 
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int /*long*/ type;
-	
-	/**
-	 * Specifies the number of units in pValue.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 * 
-	 * @see TransferData#format for the size of one unit
-	 */
-	public int length;
-	
-	/**
-	 * Specifies the size in bits of a single unit in pValue.
- 	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * 
- 	 * This is most commonly 8 bits.
-	 */
-	public int format;
-	
-	/**
-	 * Pointer to the data being transferred.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int /*long*/ pValue;
-
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	public int result;
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100644
index d801352..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,200 +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.dnd;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-	Tree tree;
-	
-	int scrollIndex = -1;
-	long scrollBeginTime;
-
-	int expandIndex = -1;
-	long expandBeginTime;
-	
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-	static final int EXPAND_HYSTERESIS = 300; // milli seconds
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-}
-
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TreeItem item = tree.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = tree.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the tree.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = tree.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-ImageData getDragSourceImage(int x, int y) {
-	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) return null;
-	/*
-	* Bug in GTK.  gtk_tree_selection_get_selected_rows() segmentation faults
-	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
-	* to give a valid pointer instead.
-	*/
-	int /*long*/ handle = tree.handle;
-	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
-	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-	if (list == 0) return null;
-	int count = Math.min(10, OS.g_list_length (list));
-	Image image = null;
-	Display display = tree.getDisplay();
-	if (count == 1) {
-			int /*long*/ path = OS.g_list_nth_data (list, 0);
-			int /*long*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
-			image =  Image.gtk_new(display, SWT.ICON, pixmap, 0); 
-	} else {
-		int width = 0, height = 0;
-		int[] w = new int[1], h = new int[1];
-		int[] yy = new int[count], hh = new int[count];
-		int /*long*/ [] pixmaps = new int /*long*/ [count];
-		GdkRectangle rect = new GdkRectangle ();
-		for (int i=0; i<count; i++) {
-			int /*long*/ path = OS.g_list_nth_data (list, i);
-			OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
-			pixmaps[i] = OS.gtk_tree_view_create_row_drag_icon(handle, path);
-			OS.gdk_drawable_get_size(pixmaps[i], w, h);
-			width = Math.max(width, w[0]);
-			height = rect.y + h[0] - yy[0];
-			yy[i] = rect.y;
-			hh[i] = h[0];
-		}
-		int /*long*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
-		int /*long*/ gcSource = OS.gdk_gc_new(source);
-		int /*long*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
-		int /*long*/ gcMask = OS.gdk_gc_new(mask);
-		GdkColor color = new GdkColor();
-		color.pixel = 0;
-		OS.gdk_gc_set_foreground(gcMask, color);
-		OS.gdk_draw_rectangle(mask, gcMask, 1, 0, 0, width, height);
-		color.pixel = 1;
-		OS.gdk_gc_set_foreground(gcMask, color);
-		for (int i=0; i<count; i++) {
-			OS.gdk_draw_drawable(source, gcSource, pixmaps[i], 0, 0, 0, yy[i] - yy[0], -1, -1);
-			OS.gdk_draw_rectangle(mask, gcMask, 1, 0, yy[i] - yy[0], width, hh[i]);
-			OS.g_object_unref(pixmaps[i]);
-		}
-		OS.g_object_unref(gcSource);
-		OS.g_object_unref(gcMask);
-		 image  = Image.gtk_new(display, SWT.ICON, source, mask);
-	}
-	OS.g_list_free (list);
-	
-	ImageData imageData = image.getImageData();
-	image.dispose();
-	return imageData;
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	int /*long*/ handle = tree.handle;
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	int /*long*/ [] path = new int /*long*/ [1];
-	OS.gtk_tree_view_get_path_at_pos (handle, coordinates.x, coordinates.y, path, null, null, null);
-	int index = -1;
-	if (path[0] != 0) {
-		int /*long*/ indices = OS.gtk_tree_path_get_indices(path[0]);
-		if (indices != 0) {	
-			int depth = OS.gtk_tree_path_get_depth(path[0]);
-			int[] temp = new int[depth];
-			OS.memmove (temp, indices, temp.length * 4);
-			index = temp[temp.length - 1];
-		}
-	}
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollIndex = -1;
-	} else {
-		if (index != -1 && scrollIndex == index && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				GdkRectangle cellRect = new GdkRectangle ();
-				OS.gtk_tree_view_get_cell_area (handle, path[0], 0, cellRect);
-				if (cellRect.y < cellRect.height) {
-					int[] tx = new int[1], ty = new int[1];
-					OS.gtk_tree_view_widget_to_tree_coords(handle, cellRect.x, cellRect.y - cellRect.height, tx, ty);
-					OS.gtk_tree_view_scroll_to_point (handle, -1, ty[0]);
-				} else {
-					//scroll down
-					OS.gtk_tree_view_get_path_at_pos (handle, coordinates.x, coordinates.y + cellRect.height, path, null, null, null);
-					if (path[0] != 0) {
-						OS.gtk_tree_view_scroll_to_cell(handle, path[0], 0, false, 0, 0);
-						OS.gtk_tree_path_free(path[0]);
-						path[0] = 0;
-					}
-					OS.gtk_tree_view_get_path_at_pos (handle, coordinates.x, coordinates.y, path, null, null, null);	
-				}
-				scrollBeginTime = 0;
-				scrollIndex = -1;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollIndex = index;
-		}
-	}
-	if ((effect & DND.FEEDBACK_EXPAND) == 0) {
-		expandBeginTime = 0;
-		expandIndex = -1;
-	} else {
-		if (index != -1 && expandIndex == index && expandBeginTime != 0) {
-			if (System.currentTimeMillis() >= expandBeginTime) {
-				OS.gtk_tree_view_expand_row (handle, path[0], false);
-				expandBeginTime = 0;
-				expandIndex = -1;
-			}
-		} else {
-			expandBeginTime = System.currentTimeMillis() + EXPAND_HYSTERESIS;
-			expandIndex = index;
-		}
-	}
-	if (path[0] != 0) {
-		int position = -1;
-		if ((effect & DND.FEEDBACK_SELECT) != 0) position = OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE;
-		if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) position = OS.GTK_TREE_VIEW_DROP_BEFORE;
-		if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0) position = OS.GTK_TREE_VIEW_DROP_AFTER;		
-		if (position != -1) {
-			OS.gtk_tree_view_set_drag_dest_row(handle, path[0], position);
-		} else {
-			OS.gtk_tree_view_unset_rows_drag_dest(handle);
-		}
-	} else {
-		OS.gtk_tree_view_unset_rows_drag_dest(handle);
-	}
-	
-	if (path[0] != 0) OS.gtk_tree_path_free (path [0]);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100755
index a76a199..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,190 +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.dnd;
-
-import org.eclipse.swt.internal.motif.*;
-
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-
-public TransferData[] getSupportedTypes() {
-	int[] types = getTypeIds();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i];
-	}
-	return data;
-}
-
-public boolean isSupportedType(TransferData transferData){
-	if (transferData == null) return false;
-	int[] types = getTypeIds();
-	for (int i = 0; i < types.length; i++) {
-		if (transferData.type == types[i]) return true;
-	}
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData) {
-	transferData.result = 0;
-	if (!checkByteArray(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	byte[] buffer = (byte[])object;
-	int pValue = OS.XtMalloc(buffer.length);
-	if (pValue == 0) return;
-	OS.memmove(pValue, buffer, buffer.length);
-	transferData.length = buffer.length;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) || transferData.pValue == 0) return null;
-	int size = transferData.format * transferData.length / 8;
-	if (size == 0) return null;
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pValue, size);
-	return buffer;
-}
-
-boolean checkByteArray(Object object) {
-	return (object != null  && object instanceof byte[] && ((byte[])object).length > 0);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100755
index 9abc57b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,540 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-
-	Display display;
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-	public Clipboard(Display display) {	
-		checkSubclass ();
-		if (display == null) {
-			display = Display.getCurrent();
-			if (display == null) {
-				display = Display.getDefault();
-			}
-		}
-		if (display.getThread() != Thread.currentThread()) {
-			DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-		}
-		this.display = display;
-	}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the system clipboard,
- * clear the contents.  If this clipboard is not the owner, then nothing is done.
- * Note that there are clipboard assistant applications that take ownership of 
- * data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.
- * 
- * @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>
- * 
- * @since 3.1
- */
-public void clearContents() {
-	clearContents(DND.CLIPBOARD);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the specified 
- * clipboard, clear the contents.  If this clipboard is not the owner, then 
- * nothing is done.
- * 
- * <p>Note that there are clipboard assistant applications that take ownership
- * of data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.</p>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards to be cleared
- * 
- * @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>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void clearContents(int clipboards) {
-	checkWidget();
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	proxy.clear(this, clipboards);
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	return getContents(transfer, DND.CLIPBOARD);
-}
-
-/**
- * Retrieve the data of the specified type currently available on the specified 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer, DND.CLIPBOARD);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @param clipboards on which to look for data
- *  
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public Object getContents(Transfer transfer, int clipboards) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	Object result = null;
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		 result = proxy.getContents(transfer, DND.CLIPBOARD);
-	}
-	if (result != null) return result;
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-		result = proxy.getContents(transfer, DND.SELECTION_CLIPBOARD);
-	}
-	return result;
-}
-
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	return getAvailableTypes(DND.CLIPBOARD);
-}
-
-/**
- * Returns an array of the data types currently available on the specified 
- * clipboard. Use with Transfer.isSupportedType.
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards from which to get the data types
- * @return array of data types currently available on the specified clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public TransferData[] getAvailableTypes(int clipboards) {
-	checkWidget();
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	int[] types = null;
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		types = proxy.getAvailableTypes(DND.CLIPBOARD);
-	}
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-		int[] primaryTypes = proxy.getAvailableTypes(DND.SELECTION_CLIPBOARD);
-		if (types == null) {
-			types = primaryTypes;
-		} else {
-			int[] newTypes = new int[types.length + primaryTypes.length];
-			System.arraycopy(types, 0, newTypes, 0, types.length);
-			System.arraycopy(primaryTypes, 0, newTypes, types.length, primaryTypes.length);
-			types = newTypes;
-		}
-	}
-	if (types == null) return new TransferData[0];
-	TransferData[] result = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		result[i] = new TransferData();
-		result[i].type = types[i];
-	}
-	return result;
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	int[] types = proxy.getAvailableTypes(DND.CLIPBOARD);
-	int[] primaryTypes = proxy.getAvailableTypes(DND.SELECTION_CLIPBOARD);
-	String[] names = new String[types.length + primaryTypes.length];
-	int index = 0;
-	int xDisplay = display.xDisplay;
-	for (int i = 0; i < types.length; i++) {
-		int ptr = OS.XmGetAtomName(xDisplay, types[i]);
-		int length = OS.strlen(ptr);
-		byte[] nameBuf = new byte[length];
-		OS.memmove(nameBuf, ptr, length);
-		OS.XtFree(ptr);
-		/* Use the character encoding for the default locale */
-		String name = new String(Converter.mbcsToWcs(null, nameBuf));
-		names[index++] = "CLIPBOARD "+name;
-	}
-	for (int i = 0; i < primaryTypes.length; i++) {
-		int ptr = OS.XmGetAtomName(xDisplay, primaryTypes[i]);
-		int length = OS.strlen(ptr);
-		byte[] nameBuf = new byte[length];
-		OS.memmove(nameBuf, ptr, length);
-		OS.XtFree(ptr);
-		/* Use the character encoding for the default locale */
-		String name = new String(Converter.mbcsToWcs(null, nameBuf));
-		names[index++] = "PRIMARY "+name;
-	}
-	return names;
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	setContents(data, dataTypes, DND.CLIPBOARD);
-}
-
-/**
- * Place data of the specified type on the specified clipboard.  More than one 
- * type of data can be placed on the specified clipboard at the same time.
- * Setting the data clears any previous data from the specified
- * clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the specified
- * clipboard but on other platforms it is provided upon request.  As a result, 
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers, DND.CLIPBOARD);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * @param clipboards on which to set the data
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void setContents(Object[] data, Transfer[] dataTypes, int clipboards) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length || data.length == 0) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < data.length; i++) {
-		if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) {
-			DND.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-	}
-	ClipboardProxy proxy = ClipboardProxy._getInstance(display);
-	proxy.setContents(this, data, dataTypes, clipboards);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ClipboardProxy.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ClipboardProxy.java
deleted file mode 100644
index 3af544b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/ClipboardProxy.java
+++ /dev/null
@@ -1,393 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.widgets.*;
-
-class ClipboardProxy {
-
-	Display display;
-	int shellHandle;
-	int atomAtom, clipboardAtom, motifClipboardAtom, primaryAtom, targetsAtom;
-	int[][] convertData = new int[10][3];
-	Clipboard activeClipboard = null;
-	Clipboard activePrimaryClipboard = null;
-	Object[] clipboardData;
-	Transfer[] clipboardDataTypes;
-	Object[] primaryClipboardData;
-	Transfer[] primaryClipboardDataTypes;
-	
-	boolean done = false;
-	Object selectionValue;
-	Transfer selectionTransfer;
-	
-	Callback XtConvertSelectionCallback;
-	Callback XtLoseSelectionCallback;
-	Callback XtSelectionDoneCallback;
-	Callback XtSelectionCallbackCallback;
-	
-	static byte [] ATOM = Converter.wcsToMbcs (null, "ATOM", true); //$NON-NLS-1$
-	static byte [] CLIPBOARD = Converter.wcsToMbcs (null, "CLIPBOARD", true); //$NON-NLS-1$
-	static byte [] PRIMARY = Converter.wcsToMbcs (null, "PRIMARY", true); //$NON-NLS-1$
-	static byte [] TARGETS = Converter.wcsToMbcs (null, "TARGETS", true); //$NON-NLS-1$
-	static byte [] _MOTIF_CLIPBOARD_TARGETS = Converter.wcsToMbcs (null, "_MOTIF_CLIPBOARD_TARGETS", true); //$NON-NLS-1$
-	static String ID = "CLIPBOARD PROXY OBJECT"; //$NON-NLS-1$	
-	
-	static ClipboardProxy _getInstance(final Display display) {
-		ClipboardProxy proxy = (ClipboardProxy) display.getData(ID);
-		if (proxy != null) return proxy;
-		proxy = new ClipboardProxy(display);
-		display.setData(ID, proxy);
-		display.addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event event) {
-				ClipboardProxy clipbordProxy = (ClipboardProxy)display.getData(ID);
-				if (clipbordProxy == null) return;
-				display.setData(ID, null);
-				clipbordProxy.dispose();
-			}
-		});
-		return proxy;
-	}	
-
-ClipboardProxy(Display display) {	
-	this.display = display;
-	XtConvertSelectionCallback = new Callback(this, "XtConvertSelection", 7); //$NON-NLS-1$
-	if (XtConvertSelectionCallback.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	XtLoseSelectionCallback = new Callback(this, "XtLoseSelection", 2); //$NON-NLS-1$
-	if (XtLoseSelectionCallback.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	XtSelectionDoneCallback = new Callback(this, "XtSelectionDone", 3); //$NON-NLS-1$
-	if (XtSelectionDoneCallback.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	XtSelectionCallbackCallback = new Callback(this, "XtSelectionCallback", 7); //$NON-NLS-1$
-	if (XtSelectionCallbackCallback.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	
-	int widgetClass = OS.topLevelShellWidgetClass ();
-	shellHandle = OS.XtAppCreateShell (null, null, widgetClass, display.xDisplay, null, 0);
-	OS.XtSetMappedWhenManaged (shellHandle, false);
-	OS.XtRealizeWidget (shellHandle);
-	int xDisplay = OS.XtDisplay(shellHandle);
-	atomAtom = OS.XmInternAtom(xDisplay, ATOM, true);
-	clipboardAtom = OS.XmInternAtom(xDisplay, CLIPBOARD, true);
-	motifClipboardAtom = OS.XmInternAtom(xDisplay, _MOTIF_CLIPBOARD_TARGETS, true);
-	primaryAtom = OS.XmInternAtom(xDisplay, PRIMARY, true);
-	targetsAtom = OS.XmInternAtom(xDisplay, TARGETS, true);
-}
-
-
- void clear(Clipboard owner, int clipboards) {
-	int xDisplay = OS.XtDisplay(shellHandle);
-	if (xDisplay == 0) return;
-	if ((clipboards & DND.CLIPBOARD) != 0 && activeClipboard == owner) {
-		OS.XtDisownSelection(shellHandle, clipboardAtom, OS.CurrentTime);
-	}
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0 && activePrimaryClipboard == owner) {
-		OS.XtDisownSelection(shellHandle, primaryAtom, OS.CurrentTime);
-	}
-}
-	
- void dispose () {
-	if (display == null) return;
-	if (shellHandle != 0) {
-		OS.XtDestroyWidget (shellHandle);
-		shellHandle = 0;
-	}
-	if (XtConvertSelectionCallback != null) XtConvertSelectionCallback.dispose();
-	XtConvertSelectionCallback = null;
-	if (XtLoseSelectionCallback != null) XtLoseSelectionCallback.dispose();
-	XtLoseSelectionCallback = null;
-	if (XtSelectionCallbackCallback != null) XtSelectionCallbackCallback.dispose();
-	XtSelectionCallbackCallback = null;
-	if (XtSelectionDoneCallback != null) XtSelectionDoneCallback.dispose();
-	XtSelectionDoneCallback = null;
-	activeClipboard = null;
-	activePrimaryClipboard = null;
-	clipboardData = null;
-	clipboardDataTypes = null;
-	primaryClipboardData = null;
-	primaryClipboardDataTypes = null;
-}
- 
-Object getContents(Transfer transfer, int clipboardType) {
-	int[] types = getAvailableTypes(clipboardType);
-	int index = -1;
-	TransferData transferData = new TransferData();
-	for (int i = 0; i < types.length; i++) {
-		transferData.type = types[i];
-		if (transfer.isSupportedType(transferData)) {
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return null;
-	done = false;
-	selectionValue = null; selectionTransfer = transfer;
-	int selection = clipboardType == DND.CLIPBOARD ? clipboardAtom : primaryAtom;
-	OS.XtGetSelectionValue(shellHandle, selection, types[index], XtSelectionCallbackCallback.getAddress(), 0, OS.CurrentTime);
-	if (!done) {
-		int xDisplay = OS.XtDisplay (shellHandle);
-		if (xDisplay == 0) return null;
-		int xtContext = OS.XtDisplayToApplicationContext(xDisplay);
-		int selectionTimeout = OS.XtAppGetSelectionTimeout(xtContext);
-		wait(selectionTimeout);
-	}
-	return (!done) ? null : selectionValue;
-}
-
-int[] getAvailableTypes(int clipboardType) {
-	int xDisplay = OS.XtDisplay (shellHandle);
-	if (xDisplay == 0) return new int[0];
-	done = false;
-	selectionValue = null; selectionTransfer = null;
-	int selection = clipboardType == DND.CLIPBOARD ? clipboardAtom : primaryAtom;
-	int target = targetsAtom;
-	OS.XtGetSelectionValue(shellHandle, selection, target, XtSelectionCallbackCallback.getAddress(), 0, OS.CurrentTime);
-	if (!done) {
-		int xtContext = OS.XtDisplayToApplicationContext(xDisplay);
-		int selectionTimeout = OS.XtAppGetSelectionTimeout(xtContext);
-		wait(selectionTimeout);
-		
-	}
-	if (done && selectionValue == null) {
-		done = false;
-		target = motifClipboardAtom;
-		OS.XtGetSelectionValue(shellHandle, selection, target, XtSelectionCallbackCallback.getAddress(), 0, OS.CurrentTime);
-		if (!done) {
-			int xtContext = OS.XtDisplayToApplicationContext(xDisplay);
-			int selectionTimeout = OS.XtAppGetSelectionTimeout(xtContext);
-			wait(selectionTimeout);
-			
-		}
-	}
-	if (done && selectionValue == null) {
-		done = false;
-		target = atomAtom;
-		OS.XtGetSelectionValue(shellHandle, selection, target, XtSelectionCallbackCallback.getAddress(), 0, OS.CurrentTime);
-		if (!done) {
-			int xtContext = OS.XtDisplayToApplicationContext(xDisplay);
-			int selectionTimeout = OS.XtAppGetSelectionTimeout(xtContext);
-			wait(selectionTimeout);
-			
-		}
-	}
-	return (!done || selectionValue == null) ? new int[0] : (int[])selectionValue;
-}
-
-void setContents(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipboards) {
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		clipboardData = data;
-		clipboardDataTypes = dataTypes;
-		int XtConvertSelectionProc = XtConvertSelectionCallback.getAddress();
-		int XtLoseSelectionProc = XtLoseSelectionCallback.getAddress();
-		int XtSelectionDoneProc = XtSelectionDoneCallback.getAddress();
-		if (!OS.XtOwnSelection(shellHandle, clipboardAtom, OS.CurrentTime, XtConvertSelectionProc, XtLoseSelectionProc, XtSelectionDoneProc)) {
-			DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-		}
-		activeClipboard = owner;
-	}
-	if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
-		primaryClipboardData = data;
-		primaryClipboardDataTypes = dataTypes;
-		int XtConvertSelectionProc = XtConvertSelectionCallback.getAddress();
-		int XtLoseSelectionProc = XtLoseSelectionCallback.getAddress();
-		int XtSelectionDoneProc = XtSelectionDoneCallback.getAddress();
-		if (!OS.XtOwnSelection(shellHandle, primaryAtom, OS.CurrentTime, XtConvertSelectionProc, XtLoseSelectionProc, XtSelectionDoneProc)) {
-			DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-		}
-		activePrimaryClipboard = owner;
-	}
-}
-
-void storePtr(int ptr, int selection, int target) {
-	int index = -1;
-	for (int i = 0; i < convertData.length; i++) {
-		if (convertData[i][0] == 0){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) {
-		int[][] newConvertData = new int[convertData.length + 4][3];
-		System.arraycopy(convertData, 0, newConvertData, 0, convertData.length);
-		index = convertData.length;
-		convertData = newConvertData;
-	}
-	convertData[index][0] = selection;
-	convertData[index][1] = target;
-	convertData[index][2] = ptr;
-}
-
-void wait(int timeout) {
-	int xDisplay = OS.XtDisplay(shellHandle);
-	if (xDisplay == 0) return;
-	long start = System.currentTimeMillis();
-	Callback checkEventCallback = new Callback(this, "checkEvent", 3); //$NON-NLS-1$
-	int checkEventProc = checkEventCallback.getAddress();
-	if (checkEventProc == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	int xEvent = OS.XtMalloc (XEvent.sizeof);
-	display.timerExec(timeout, new Runnable() {
-		public void run() {
-			// timer required to force display.sleep() to wake up
-			// in the case where no events are received
-		}
-	});
-	while (!done && System.currentTimeMillis() - start <  timeout && display != null) {
-		if (OS.XCheckIfEvent (xDisplay, xEvent, checkEventProc, 0) != 0) {
-			OS.XtDispatchEvent(xEvent);
-		} else {
-			display.sleep();
-		}
-	}
-	OS.XtFree (xEvent);
-	checkEventCallback.dispose();
-}
-int checkEvent(int display, int event, int arg) {
-	XEvent xEvent = new XEvent();
-	OS.memmove (xEvent, event, XEvent.sizeof);
-	switch (xEvent.type) {
-		case OS.SelectionClear:
-		case OS.SelectionNotify:
-		case OS.SelectionRequest:
-		case OS.PropertyNotify:
-			return 1;
-	}
-	return 0;
-}
-int XtConvertSelection(int widget, int selection, int target, int type, int value, int length, int format) {
-	int selectionAtom = 0;
-	if (selection != 0) {
-		int[] dest = new int[1];
-		OS.memmove(dest, selection, 4);
-		selectionAtom = dest[0];
-	}
-	if (selectionAtom == 0) return 0;
-	Transfer[] types = null;
-	if (selectionAtom == clipboardAtom) types = clipboardDataTypes;
-	if (selectionAtom == primaryAtom) types = primaryClipboardDataTypes;
-	if (types == null) return 0;
-	
-	int targetAtom = 0;
-	if (target != 0) {
-		int[] dest = new int[1];
-		OS.memmove(dest, target, 4);
-		targetAtom = dest[0];
-	}
-	if (targetAtom == atomAtom ||
-		targetAtom == targetsAtom ||
-		targetAtom == motifClipboardAtom) {
-		int[] transferTypes = new int[] {targetAtom};
-		for (int i = 0; i < types.length; i++) {
-			TransferData[] subTypes = types[i].getSupportedTypes();
-			int[] newtransferTypes = new int[transferTypes.length + subTypes.length];
-			System.arraycopy(transferTypes, 0, newtransferTypes, 0, transferTypes.length);
-			int index = transferTypes.length;
-			transferTypes = newtransferTypes;
-			for (int j = 0; j < subTypes.length; j++) {
-				transferTypes[index++] = subTypes[j].type;
-			}
-		}
-		int ptr = OS.XtMalloc(transferTypes.length*4);
-		storePtr(ptr, selectionAtom, targetAtom);
-		OS.memmove(ptr, transferTypes, transferTypes.length*4);
-		OS.memmove(type, new int[]{targetAtom}, 4);
-		OS.memmove(value, new int[] {ptr}, 4);
-		OS.memmove(length, new int[]{transferTypes.length}, 4);
-		OS.memmove(format, new int[]{32}, 4);		
-		return 1;
-	}
-	
-	TransferData tdata = new TransferData();
-	tdata.type = targetAtom;
-	int index = -1;
-	for (int i = 0; i < types.length; i++) {
-		if (types[i].isSupportedType(tdata)) {
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return 0;
-	Object[] data = selectionAtom == clipboardAtom ? clipboardData : primaryClipboardData;
-	types[index].javaToNative(data[index], tdata);
-	if (tdata.format < 8 || tdata.format % 8 != 0) {
-		OS.XtFree(tdata.pValue);
-		return 0;
-	}
-	// copy data back to value
-	OS.memmove(type, new int[]{tdata.type}, 4);
-	OS.memmove(value, new int[]{tdata.pValue}, 4);
-	OS.memmove(length, new int[]{tdata.length}, 4);
-	OS.memmove(format, new int[]{tdata.format}, 4);
-	storePtr(tdata.pValue, selectionAtom, targetAtom);
-	return 1;
-}
-
-int XtLoseSelection(int widget, int selection) {
-	if (selection == clipboardAtom) {
-		activeClipboard = null;
-		clipboardData = null;
-		clipboardDataTypes = null;
-	}
-	if (selection == primaryAtom) {
-		activePrimaryClipboard = null;
-		primaryClipboardData = null;
-		primaryClipboardDataTypes = null;
-	}
-	return 0;
-}
-
-int XtSelectionCallback(int widget, int client_data, int selection, int type, int value, int length, int format) {
-	done = true;
-	int[] selectionType = new int[1];
-	if (type != 0) OS.memmove(selectionType, type, 4);
-	if (selectionType[0] == 0) return 0;
-	int[] selectionLength = new int[1];
-	if (length != 0) OS.memmove(selectionLength, length, 4);
-	if (selectionLength[0] == 0) return 0;
-	int[] selectionFormat = new int[1];
-	if (format != 0) OS.memmove(selectionFormat, format, 4);
-	if (selectionType[0] == atomAtom ||
-		selectionType[0] == targetsAtom ||
-		selectionType[0] == motifClipboardAtom) {
-		int[] targets = new int[selectionLength[0]];
-		OS.memmove(targets, value, selectionLength[0] * selectionFormat [0] / 8);
-		selectionValue = targets;
-		return 0;
-	}
-	if (selectionTransfer != null) {
-		TransferData transferData = new TransferData();
-		transferData.type = selectionType[0];
-		transferData.length = selectionLength[0];
-		transferData.format = selectionFormat[0];
-		transferData.pValue = value;
-		transferData.result = 1;
-		selectionValue = selectionTransfer.nativeToJava(transferData);
-	}
-	return 0;
-}
-
-int XtSelectionDone(int widget, int selection, int target) {
-	if (target == 0 || selection == 0) return 0;
-	int[] selectionAtom = new int[1];
-	OS.memmove(selectionAtom, selection, 4);
-	int[] targetAtom = new int[1];
-	OS.memmove(targetAtom, target, 4);
-	for (int i = 0; i < convertData.length; i++) {
-		if (convertData[i][0] == selectionAtom[0] && convertData[i][1] == targetAtom[0]) {
-			OS.XtFree(convertData[i][2]);
-			convertData[i][0] = convertData[i][1] = convertData[i][2] = 0;
-			break;
-		}
-	}
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100755
index 59e2e8a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,533 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-
-	static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-		
-	static Callback ConvertProc;
-	static Callback DragDropFinish;
-	static Callback DropFinish;
-	static {
-		ConvertProc = new Callback(DragSource.class, "ConvertProcCallback", 10); //$NON-NLS-1$
-		if (ConvertProc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DragDropFinish = new Callback(DragSource.class, "DragDropFinishCallback", 3); //$NON-NLS-1$
-		if (DragDropFinish.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DropFinish = new Callback(DragSource.class, "DropFinishCallback", 3); //$NON-NLS-1$
-		if (DropFinish.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-	boolean moveRequested;
-
-	int dragContext;
-
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super (control, checkStyle(style));
-	if (ConvertProc == null || DragDropFinish == null || DropFinish == null)
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	this.control = control;
-	if (control.getData(DRAGSOURCEID) != null)
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	control.setData(DRAGSOURCEID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	control.addListener (SWT.DragDetect, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});
-}
-static DragSource FindDragSource(int handle) {
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	return (DragSource)display.getData(Integer.toString(handle));
-}
-static int ConvertProcCallback(int widget, int pSelection, int pTarget, int pType_return, int ppValue_return, int pLength_return, int pFormat_return, int max_length, int client_data, int request_id) {
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	return source.convertProcCallback(widget, pSelection, pTarget, pType_return, ppValue_return, pLength_return, pFormat_return, max_length, client_data, request_id);
-}
-static int DragDropFinishCallback(int widget, int client_data, int call_data) {
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	return source.dragDropFinishCallback(widget, client_data, call_data);
-}
-static int DropFinishCallback(int widget, int client_data, int call_data) {
-	DragSource source = FindDragSource(widget);
-	if (source == null) return 0;
-	return source.dropFinishCallback(widget, client_data, call_data);
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragStart, typedListener);
-	addListener (DND.DragSetData, typedListener);
-	addListener (DND.DragEnd, typedListener);
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-int convertProcCallback(int widget, int pSelection, int pTarget, int pType_return, int ppValue_return, int pLength_return, int pFormat_return, int max_length, int client_data, int request_id) {
-	if (pSelection == 0 ) return 0;
-		
-	// is this a drop?
-	int[] selection = new int[1];
-	OS.memmove(selection, pSelection, 4);
-	int xDisplay = getDisplay().xDisplay;
-	byte[] bName = Converter.wcsToMbcs (null, "_MOTIF_DROP", true); //$NON-NLS-1$
-	int motifDropAtom = OS.XmInternAtom (xDisplay, bName, true);
-	if (selection[0] != motifDropAtom) return 0;
-
-	// get the target value from pTarget
-	int[] target = new int[1];
-	OS.memmove(target, pTarget, 4);
-
-	//  handle the "Move" case
-	bName = Converter.wcsToMbcs (null, "DELETE", true); // DELETE corresponds to a Move request //$NON-NLS-1$
-	int deleteAtom = OS.XmInternAtom (xDisplay, bName, true);
-	if (target[0] == deleteAtom) { 
-		moveRequested = true;
-		bName = Converter.wcsToMbcs (null, "NULL", true); //$NON-NLS-1$
-		int nullAtom = OS.XmInternAtom (xDisplay, bName, true);
-		OS.memmove(pType_return,new int[]{nullAtom}, 4);
-		OS.memmove(ppValue_return, new int[]{0}, 4);
-		OS.memmove(pLength_return, new int[]{0}, 4);
-		OS.memmove(pFormat_return, new int[]{8}, 4);
-		return 1;
-	}
-		
-	// do we support the requested data type?
-	boolean dataMatch = false;
-	TransferData transferData = new TransferData();
-	transferData.type = target[0];
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData)){
-			dataMatch = true;
-			break;
-		}
-	}
-	if (!dataMatch) return 0;
-	
-	DNDEvent event = new DNDEvent();
-	event.widget = control;
-	//event.time = ??;
-	event.dataType = transferData;
-	notifyListeners(DND.DragSetData,event);
-
-	Transfer transferAgent = null;
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData)){
-			transferAgent = transferAgents[i];
-			break;
-		}
-	}
-	if (transferAgent == null) return 0;
-
-	transferAgent.javaToNative(event.data, transferData);
-	if (transferData.result == 1){
-		OS.memmove(ppValue_return, new int[]{transferData.pValue}, 4);
-		OS.memmove(pType_return, new int[]{transferData.type}, 4);
-		OS.memmove(pLength_return, new int[]{transferData.length}, 4);
-		OS.memmove(pFormat_return, new int[]{transferData.format}, 4);
-		return 1;
-	} 
-	OS.memmove(ppValue_return, new int[]{0}, 4);
-	OS.memmove(pLength_return, new int[]{0}, 4);
-	OS.memmove(pFormat_return, new int[]{8}, 4);
-	return 0;
-}
-void drag(Event dragEvent) {
-	moveRequested = false;
-	// Current event must be a Button Press event
-	Display display = control.getDisplay ();
-	XButtonEvent xEvent = new XButtonEvent();
-	OS.memmove(xEvent, display.xEvent, XButtonEvent.sizeof);
-	if (xEvent.type != OS.ButtonPress) return;
-
-	DNDEvent event = new DNDEvent();
-	event.widget = this;	
-	event.x = dragEvent.x;
-	event.y = dragEvent.y;
-	event.time = xEvent.time;
-	event.doit = true;
-	notifyListeners(DND.DragStart, event);
-	if (!event.doit || transferAgents == null || transferAgents.length == 0) { 
-		int time = xEvent.time;
-		int dc = OS.XmGetDragContext(control.handle, time);
-		if (dc != 0){
-			OS.XmDragCancel(dc);
-		}
-		return;
-	}
-
-	// set the protocol (optional)
-	// not implemented
-	
-	// create pixmaps for icons (optional)
-	// not implemented
-
-	// Copy targets to global memory
-	TransferData[] transferData = new TransferData[0];
-	for (int i = 0; i < transferAgents.length; i++){
-		TransferData[] data = transferAgents[i].getSupportedTypes();
-		TransferData[] newTransferData = new TransferData[transferData.length + data.length];
-		System.arraycopy(transferData, 0, newTransferData, 0, transferData.length);
-		System.arraycopy(data, 0, newTransferData, transferData.length, data.length);
-		transferData = newTransferData;
-	}
-	int[] dataTypes = new int[transferData.length];
-	for (int i = 0; i < transferData.length; i++){
-		dataTypes[i] = transferData[i].type;
-	}
-	int pExportTargets = OS.XtMalloc(dataTypes.length * 4);
-	OS.memmove(pExportTargets, dataTypes, dataTypes.length * 4);
-
-	int[] args = new int[]{
-		OS.XmNexportTargets,		pExportTargets,
-		OS.XmNnumExportTargets,		dataTypes.length,
-		OS.XmNdragOperations,		opToOsOp(getStyle()),
-		OS.XmNconvertProc,			ConvertProc.getAddress(),
-		OS.XmNoperationCursorIcon,	0,
-		OS.XmNsourceCursorIcon,		0,
-		OS.XmNstateCursorIcon,		0,
-		OS.XmNclientData,			0,
-		OS.XmNblendModel,			OS.XmBLEND_ALL
-	};	
-
-	// look for existing drag contexts
-	int time = xEvent.time;
-	dragContext = OS.XmGetDragContext(control.handle, time);
-	if (dragContext != 0){
-		OS.XtSetValues(dragContext, args, args.length /2);
-	} else {
-		dragContext = OS.XmDragStart(this.control.handle, display.xEvent, args, args.length / 2);
-	}
-	OS.XtFree(pExportTargets);
-	if (dragContext == 0) return;
-
-	// register a call back to clean up when drop is done (optional)
-	OS.XtAddCallback(dragContext, OS.XmNdragDropFinishCallback, DragDropFinish.getAddress(), 0);
-
-	// register a call back to tell user what happened (optional)
-	OS.XtAddCallback(dragContext, OS.XmNdropFinishCallback, DropFinish.getAddress(), 0);
-	
-	display.setData(Integer.toString(dragContext), this);
-	return;
-}
-
-int dragDropFinishCallback(int widget, int client_data, int call_data) {
-	
-	// uncomment the following code when we allow users to specify their own source icons
-	// release the pre set source icon 
-	//int pSourceIcon = OS.XtMalloc(4);
-	//int[] args = new int[]{OS.XmNsourceCursorIcon, pSourceIcon};
-	//OS.XtGetValues(control.handle, args, args.length / 2);
-	//int[] sourceIcon = new int[1];
-	//OS.memmove(sourceIcon, pSourceIcon, 4);
-	//if (sourceIcon[0] != 0)
-		//OS.XtDestroyWidget(sourceIcon[0]);
-	//OS.XtFree(pSourceIcon);
-
-	dragContext = 0;
-	getDisplay().setData(Integer.toString(dragContext), null);
-	return 0;
-}
-int dropFinishCallback(int widget, int client_data, int call_data) {
-	XmDropFinishCallbackStruct data = new XmDropFinishCallbackStruct();
-	OS.memmove(data, call_data, XmDropFinishCallbackStruct.sizeof);
-	if (data.dropAction != OS.XmDROP || data.dropSiteStatus != OS.XmDROP_SITE_VALID) {
-		DNDEvent event = new DNDEvent();
-		event.widget = this.control;
-		event.time = data.timeStamp;
-		event.detail = DND.DROP_NONE;
-		event.doit = false;
-		notifyListeners(DND.DragEnd,event);
-		return 0;
-	} 
-	DNDEvent event = new DNDEvent();
-	event.widget = this.control;
-	event.time = data.timeStamp;
-	if (moveRequested) {
-		event.detail = DND.DROP_MOVE;
-	} else {
-		if (data.operation == OS.XmDROP_MOVE) {
-			event.detail = DND.DROP_NONE;
-		} else {
-			event.detail = osOpToOp(data.operation);
-		}
-	}
-	event.doit = (data.completionStatus != 0);
-	notifyListeners(DND.DragEnd,event);
-	moveRequested = false;
-	return 0;
-}
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl () {
-	return control;
-}
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-void onDispose() {
-	if (control == null)
-		return;
-	if (controlListener != null) {
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-byte opToOsOp(int operation){
-	byte osOperation = OS.XmDROP_NOOP;
-	
-	if ((operation & DND.DROP_COPY) == DND.DROP_COPY)
-		osOperation |= OS.XmDROP_COPY;
-	if ((operation & DND.DROP_MOVE) == DND.DROP_MOVE)
-		osOperation |= OS.XmDROP_MOVE;
-	if ((operation & DND.DROP_LINK) == DND.DROP_LINK)
-		osOperation |= OS.XmDROP_LINK;
-	
-	return osOperation;
-}
-int osOpToOp(byte osOperation){
-	int operation = DND.DROP_NONE;
-	
-	if ((osOperation & OS.XmDROP_COPY) == OS.XmDROP_COPY)
-		operation |= DND.DROP_COPY;
-	if ((osOperation & OS.XmDROP_MOVE) == OS.XmDROP_MOVE)
-		operation |= DND.DROP_MOVE;
-	if ((osOperation & OS.XmDROP_LINK) == OS.XmDROP_LINK)
-		operation |= DND.DROP_LINK;
-	
-	return operation;
-}
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragStart, listener);
-	removeListener (DND.DragSetData, listener);
-	removeListener (DND.DragEnd, listener);
-}
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100755
index b3f442b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,867 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-	
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-	
-	// Track application selections
-	TransferData selectedDataType;
-	int selectedOperation;
-	
-	// workaround - Simulate events when the mouse is not moving
-	long dragOverStart;
-	Runnable dragOverHeartbeat;
-	DNDEvent dragOverEvent;
-	
-	// workaround - The data required in the transferProc callback is not available 
-	// so store it from the dropProc callback 
-	XmDropProcCallbackStruct droppedEventData;
-	int dropTransferObject;
-	
-	// workaround - The DND operation can time out so temporarily set the
-	// time out to be very long while the application processes the data and
-	// restore it to the previous value when done.
-	int selectionTimeout;
-	
-	// workaround - A drop target is still active even when it is not visible.
-	// This causes problems when the widget is not visible but
-	// overlaps with a visible widget.  Deregister drop target when it is
-	// not visible.
-	boolean registered = false;
-	
-	static int DELETE_TYPE = Transfer.registerType("DELETE\0"); //$NON-NLS-1$
-	static int NULL_TYPE = Transfer.registerType("NULL\0"); //$NON-NLS-1$
-	static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-	static final int DRAGOVER_HYSTERESIS = 50;
-	
-	static Callback DropProc;
-	static Callback DragProc;
-	static Callback TransferProc;
-	
-	static {
-		DropProc = new Callback(DropTarget.class, "DropProcCallback", 3); //$NON-NLS-1$
-		if (DropProc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		DragProc = new Callback(DropTarget.class, "DragProcCallback", 3); //$NON-NLS-1$
-		if (DragProc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		TransferProc = new Callback(DropTarget.class, "TransferProcCallback", 7); //$NON-NLS-1$
-		if (TransferProc.getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-	
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (DropProc == null || DragProc == null || TransferProc == null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	if (control.getData(DROPTARGETID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	control.setData(DROPTARGETID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			switch (event.type) {
-				case SWT.Dispose: {
-					if (!DropTarget.this.isDisposed()){
-						onDispose();
-					}
-					break;
-				}
-				case SWT.Show: {
-					if (!registered) {
-						registerDropTarget();
-					} else {
-						int[] args = new int[]{OS.XmNdropSiteActivity,   OS.XmDROP_SITE_ACTIVE,};
-						OS.XmDropSiteUpdate(DropTarget.this.control.handle, args, args.length/2);
-						if (DropTarget.this.control instanceof Label) {
-							int formHandle = OS.XtParent (DropTarget.this.control.handle);
-							OS.XmDropSiteUpdate(formHandle, args, args.length / 2);
-						}
-					}
-					break;
-				}
-				case SWT.Hide: {
-					int[] args = new int[]{OS.XmNdropSiteActivity,   OS.XmDROP_SITE_INACTIVE,};
-					OS.XmDropSiteUpdate(DropTarget.this.control.handle, args, args.length/2);	
-					if (DropTarget.this.control instanceof Label) {
-						int formHandle = OS.XtParent (DropTarget.this.control.handle);
-						OS.XmDropSiteUpdate(formHandle, args, args.length / 2);
-					}
-					break;
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	Control c = control;
-	while (c != null) {
-		c.addListener (SWT.Show, controlListener);
-		c.addListener (SWT.Hide, controlListener);
-		c = c.getParent();
-	}
-
-	this.addListener(SWT.Dispose, new Listener () {
-		public void handleEvent (Event event) {
-			if (DropTarget.this.control == null || 
-				DropTarget.this.control.isDisposed()) return;
-			
-			unregisterDropTarget();
-			onDispose();
-		}
-	});
-
-	// Drag under effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else if (control instanceof StyledText) {
-		effect = new StyledTextDragAndDropEffect((StyledText)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-
-	if (control.isVisible()) registerDropTarget();
-	
-	dragOverHeartbeat = new Runnable() {
-		public void run() {
-			Control control = DropTarget.this.control;
-			if (control == null || control.isDisposed() || dragOverStart == 0) return;
-			long time = System.currentTimeMillis();
-			int delay = DRAGOVER_HYSTERESIS;
-			if (time < dragOverStart) {
-				delay = (int)(dragOverStart - time);
-			} else {	
-				int allowedOperations = dragOverEvent.operations;
-				TransferData[] allowedTypes = dragOverEvent.dataTypes;
-				//pass a copy of data types in to listeners in case application modifies it
-				TransferData[] dataTypes = new TransferData[allowedTypes.length];
-				System.arraycopy(allowedTypes, 0, dataTypes, 0, dataTypes.length);
-	
-				DNDEvent event = new DNDEvent();
-				event.widget = dragOverEvent.widget;
-				event.x = dragOverEvent.x;
-				event.y = dragOverEvent.y;
-				event.time = (int)time;
-				event.feedback = DND.FEEDBACK_SELECT;
-				event.dataTypes = dataTypes;
-				event.dataType = selectedDataType;
-				event.operations = dragOverEvent.operations;
-				event.detail  = selectedOperation;
-				event.item = effect.getItem(dragOverEvent.x, dragOverEvent.y);
-				notifyListeners(DND.DragOver, event);
-				
-				effect.showDropTargetEffect(event.feedback, event.x, event.y);
-				
-				selectedDataType = null;
-				if (event.dataType != null) {
-					for (int i = 0; i < allowedTypes.length; i++) {
-						if (allowedTypes[i].type == event.dataType.type) {
-							selectedDataType = event.dataType;
-							break;
-						}
-					}
-				}
-
-				selectedOperation = DND.DROP_NONE;
-				if (selectedDataType != null && (event.detail & allowedOperations) != 0) {
-					selectedOperation = event.detail;
-				}
-			}
-			control = DropTarget.this.control;
-			if (control == null || control.isDisposed ()) return;
-			control.getDisplay().timerExec(delay, dragOverHeartbeat);
-		}
-	};
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-static int DragProcCallback(int widget, int client_data, int call_data) {
-	DropTarget target = FindDropTarget(widget);
-	if (target != null) {
-		target.dragProcCallback(widget, client_data, call_data);
-	}
-	return 0;
-}
-
-static int DropProcCallback(int widget, int client_data, int call_data) {
-	DropTarget target = FindDropTarget(widget);
-	if (target != null) {
-		target.dropProcCallback(widget, client_data, call_data);
-	}
-	return 0;
-}
-
-static DropTarget FindDropTarget(int handle) {
-	Display display = Display.findDisplay(Thread.currentThread());
-	if (display == null || display.isDisposed()) return null;
-	Widget widget = display.findWidget(handle);
-	if (widget == null) return null;
-	return (DropTarget)widget.getData(DROPTARGETID);
-}
-
-static int TransferProcCallback(int widget, int client_data, int pSelection, int pType, int pValue, int pLength, int pFormat) {
-	DropTarget target = FindDropTarget(client_data);
-	if (target != null) {
-		target.transferProcCallback(widget, client_data, pSelection, pType, pValue, pLength, pFormat);
-	}
-	return 0;
-}
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void dragProcCallback(int widget, int client_data, int call_data) {
-	if (call_data == 0) return;
-	XmDragProcCallbackStruct callbackData = new XmDragProcCallbackStruct();
-	OS.memmove(callbackData, call_data, XmDragProcCallbackStruct.sizeof);
-
-	if (callbackData.reason == OS.XmCR_DROP_SITE_LEAVE_MESSAGE) {
-		updateDragOverHover(0, null);
-		effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-		
-		if (callbackData.dropSiteStatus == OS.XmDROP_SITE_INVALID) {
-			return;
-		}
-
-		DNDEvent event = new DNDEvent();
-		event.widget = this;
-		event.time = callbackData.timeStamp;
-		event.detail = DND.DROP_NONE;
-		notifyListeners(DND.DragLeave, event);
-		return;
-	}
-	
-	if (callbackData.reason == OS.XmCR_DROP_SITE_ENTER_MESSAGE) {
-		selectedDataType = null;
-		selectedOperation = DND.DROP_NONE;
-		droppedEventData = null;
-		dropTransferObject = 0;
-	}
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(callbackData.operations, callbackData.operation, callbackData.dragContext, callbackData.x, callbackData.y, callbackData.timeStamp, event)) {
-		callbackData.dropSiteStatus = (byte)OS.XmDROP_SITE_INVALID;
-		callbackData.operation = opToOsOp(DND.DROP_NONE);
-		OS.memmove(call_data, callbackData, XmDragProcCallbackStruct.sizeof);
-		return;
-	}
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	
-	switch (callbackData.reason) {
-		case OS.XmCR_DROP_SITE_ENTER_MESSAGE :
-			event.type = DND.DragEnter;
-			break;
-		case OS.XmCR_DROP_SITE_MOTION_MESSAGE :
-			event.type = DND.DragOver;
-			event.dataType = selectedDataType;
-			event.detail = selectedOperation;
-			break;
-		case OS.XmCR_OPERATION_CHANGED :
-			event.type = DND.DragOperationChanged;
-			event.dataType = selectedDataType;
-			break;
-	}
-	
-	updateDragOverHover(DRAGOVER_HYSTERESIS, event);
-	notifyListeners(event.type, event);
-	if (event.detail == DND.DROP_DEFAULT) {
-		event.detail = (allowedOperations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-	}
-	selectedDataType = null;
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-
-	selectedOperation = DND.DROP_NONE;
-	if (selectedDataType != null && (allowedOperations & event.detail) != 0) {
-		selectedOperation = event.detail;
-	}
-	
-	effect.showDropTargetEffect(event.feedback, event.x, event.y);
-
-	callbackData.dropSiteStatus = (byte)OS.XmDROP_SITE_VALID;
-	callbackData.operation = opToOsOp(selectedOperation);
-	OS.memmove(call_data, callbackData, XmDragProcCallbackStruct.sizeof);
-	
-	if (callbackData.reason == OS.XmCR_DROP_SITE_ENTER_MESSAGE) {
-		dragOverHeartbeat.run();
-	}
-}
-
-void dropProcCallback(int widget, int client_data, int call_data) {
-	if (call_data == 0) return;
-	droppedEventData = new XmDropProcCallbackStruct();
-	OS.memmove(droppedEventData, call_data, XmDropProcCallbackStruct.sizeof);	
-	
-	if (droppedEventData.dropSiteStatus == OS.XmDROP_SITE_INVALID) {
-		int[] args = new int[] {OS.XmNtransferStatus, OS.XmTRANSFER_FAILURE, OS.XmNnumDropTransfers, 0};
-		dropTransferObject = OS.XmDropTransferStart(droppedEventData.dragContext, args, args.length / 2);
-		return;
-	}
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(droppedEventData.operations, droppedEventData.operation, droppedEventData.dragContext, droppedEventData.x, droppedEventData.y, droppedEventData.timeStamp, event)){
-		return;
-	}
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	event.dataType = selectedDataType;
-	event.detail = selectedOperation;
-	notifyListeners(DND.DropAccept,event);
-	selectedDataType = null;
-	if (event.dataType != null) {
-		for (int i = 0; i < allowedDataTypes.length; i++) {
-			if (allowedDataTypes[i].type == event.dataType.type) {
-				selectedDataType = allowedDataTypes[i];
-				break;
-			}
-		}
-	}
-	
-	selectedOperation = DND.DROP_NONE;
-	if (selectedDataType != null && ((event.detail & allowedOperations) == event.detail)) {
-		selectedOperation = event.detail;
-	}
-
-	if (selectedOperation == DND.DROP_NONE) {
-		// this was not a successful drop
-		int[] args = new int[] {OS.XmNtransferStatus, OS.XmTRANSFER_FAILURE, OS.XmNnumDropTransfers, 0};
-		dropTransferObject = OS.XmDropTransferStart(droppedEventData.dragContext, args, args.length / 2);
-		return;
-	}
-
-	// ask drag source for dropped data
-	int[] transferEntries = new int[2];
-	transferEntries[0] = control.handle; // pass control handle as data to locate drop target
-	transferEntries[1] = selectedDataType.type;
-		
-	int pTransferEntries = OS.XtMalloc(transferEntries.length * 4);
-	OS.memmove(pTransferEntries, transferEntries, transferEntries.length * 4);
-
-	int xtContext = OS.XtDisplayToApplicationContext(getDisplay().xDisplay);
-	selectionTimeout = OS.XtAppGetSelectionTimeout(xtContext);
-	OS.XtAppSetSelectionTimeout(xtContext, 0x7fffffff);
-		
-	int[] args = new int[] {OS.XmNdropTransfers, pTransferEntries,
-				            OS.XmNnumDropTransfers, transferEntries.length / 2,
-				            OS.XmNtransferProc, TransferProc.getAddress()};
-
-	dropTransferObject = OS.XmDropTransferStart(droppedEventData.dragContext, args, args.length / 2);
-	OS.XtFree(pTransferEntries);
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */
-public Transfer[] getTransfer() {
-	return transferAgents;
-}
-
-void onDispose() {
-	if (control == null) return;
-	if (controlListener != null) {
-		Control c = control;
-		while (c != null) {
-			c.removeListener (SWT.Show, controlListener);
-			c.removeListener (SWT.Hide, controlListener);
-			c = c.getParent();
-		}
-		control.removeListener(SWT.Dispose, controlListener);
-	}
-	controlListener = null;
-	control.setData(DROPTARGETID, null);
-	control = null;
-	transferAgents = null;
-}
-byte opToOsOp(int operation){
-	byte osOperation = OS.XmDROP_NOOP;
-	
-	if ((operation & DND.DROP_COPY) == DND.DROP_COPY)
-		osOperation |= OS.XmDROP_COPY;
-	if ((operation & DND.DROP_MOVE) == DND.DROP_MOVE)
-		osOperation |= OS.XmDROP_MOVE;
-	if ((operation & DND.DROP_LINK) == DND.DROP_LINK)
-		osOperation |= OS.XmDROP_LINK;
-	
-	return osOperation;
-}
-int osOpToOp(byte osOperation){
-	int operation = DND.DROP_NONE;
-	
-	if ((osOperation & OS.XmDROP_COPY) == OS.XmDROP_COPY)
-		operation |= DND.DROP_COPY;
-	if ((osOperation & OS.XmDROP_MOVE) == OS.XmDROP_MOVE)
-		operation |= DND.DROP_MOVE;
-	if ((osOperation & OS.XmDROP_LINK) == OS.XmDROP_LINK)
-		operation |= DND.DROP_LINK;
-	
-	return operation;
-}
-void registerDropTarget() {
-	if (control == null || control.isDisposed() || registered) return;
-
-	int[] args = new int[]{
-		OS.XmNdropSiteOperations, opToOsOp(getStyle()),
-		OS.XmNdropSiteActivity,   OS.XmDROP_SITE_ACTIVE,
-		OS.XmNdropProc,           DropProc.getAddress(),
-		OS.XmNdragProc,           DragProc.getAddress(),
-		OS.XmNanimationStyle,     OS.XmDRAG_UNDER_NONE,
-		OS.XmNdropSiteType,       OS.XmDROP_SITE_COMPOSITE,
-	};
-	
-	if (transferAgents.length != 0) {
-		TransferData[] transferData = new TransferData[0];
-		for (int i = 0, length = transferAgents.length; i < length; i++){
-			TransferData[] data = transferAgents[i].getSupportedTypes();
-			TransferData[] newTransferData = new TransferData[transferData.length +  data.length];
-			System.arraycopy(transferData, 0, newTransferData, 0, transferData.length);
-			System.arraycopy(data, 0, newTransferData, transferData.length, data.length);
-			transferData = newTransferData;
-		}
-		
-		int[] atoms = new int[transferData.length];
-		for (int i = 0, length = transferData.length; i < length; i++){
-			atoms[i] = transferData[i].type;
-		}
-	
-		// Copy import targets to global memory 
-		int pImportTargets = OS.XtMalloc(atoms.length * 4);
-		OS.memmove(pImportTargets, atoms, atoms.length * 4);
-		
-		int[] args2 = new int[]{
-			OS.XmNimportTargets,      pImportTargets,
-			OS.XmNnumImportTargets,   atoms.length
-		};
-		
-		int[] newArgs = new int[args.length + args2.length];
-		System.arraycopy(args, 0, newArgs, 0, args.length);
-		System.arraycopy(args2, 0, newArgs, args.length, args2.length);
-		args = newArgs;	
-	}
-	
-	OS.XmDropSiteRegister(control.handle, args, args.length / 2);
-	if (control instanceof Label) {
-		int formHandle = OS.XtParent (control.handle);
-		OS.XmDropSiteRegister(formHandle, args, args.length / 2);
-	}
-	registered = true;
-}
-
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-boolean setEventData(byte ops, byte op, int dragContext, short x, short y, int timestamp, DNDEvent event) {
-	//get allowed operations
-	int style = getStyle();
-	int operations = osOpToOp(ops) & style;
-	if (operations == DND.DROP_NONE) return false;
-	
-	//get current operation
-	int operation = osOpToOp(op);
-	int xDisplay = getDisplay().xDisplay;
-	int xWindow = OS.XDefaultRootWindow (xDisplay);
-	int [] unused = new int [1];
-	int[] mask_return = new int[1];
-	OS.XQueryPointer (xDisplay, xWindow, unused, unused, unused, unused, unused, unused, mask_return);
-	int mask = mask_return[0];
-	if ((mask & OS.ShiftMask) == 0 && (mask & OS.ControlMask) == 0) {
-		operation = DND.DROP_DEFAULT;
-	}
-	if (operation == DND.DROP_DEFAULT) {
-		if ((style & DND.DROP_DEFAULT) == 0) {
-			operation = (operations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-		}
-	} else {
-		if ((operation & operations) == 0) operation = DND.DROP_NONE;
-	}	
-	//Get allowed transfer types
-	int ppExportTargets = OS.XtMalloc(4);
-	int pNumExportTargets = OS.XtMalloc(4);
-	int[] args = new int[]{
-		OS.XmNexportTargets,          ppExportTargets,
-		OS.XmNnumExportTargets,       pNumExportTargets
-	};
-
-	OS.XtGetValues(dragContext, args, args.length / 2);
-	int[] numExportTargets = new int[1];
-	OS.memmove(numExportTargets, pNumExportTargets, 4);
-	OS.XtFree(pNumExportTargets);
-	int[] pExportTargets = new int[1];
-	OS.memmove(pExportTargets, ppExportTargets, 4);
-	OS.XtFree(ppExportTargets);
-	int[] exportTargets = new int[numExportTargets[0]];
-	OS.memmove(exportTargets, pExportTargets[0], 4*numExportTargets[0]);
-	//?OS.XtFree(pExportTargets[0]);
-
-	TransferData[] dataTypes = new TransferData[0];
-	for (int i = 0; i < exportTargets.length; i++){
-		for (int j = 0; j < transferAgents.length; j++){
-			TransferData transferData = new TransferData();
-			transferData.type = exportTargets[i];
-			if (transferAgents[j].isSupportedType(transferData)) {
-				TransferData[] newDataTypes = new TransferData[dataTypes.length + 1];
-				System.arraycopy(dataTypes, 0, newDataTypes, 0, dataTypes.length);
-				newDataTypes[dataTypes.length] = transferData;
-				dataTypes = newDataTypes;
-				break;
-			}
-		}
-	}
-	if (dataTypes.length == 0) return false;
-
-	short [] root_x = new short [1];
-	short [] root_y = new short [1];	
-	OS.XtTranslateCoords (this.control.handle, x, y, root_x, root_y);
-	
-	event.widget = this;
-	event.x = root_x[0];
-	event.y = root_y[0];
-	event.time = timestamp;
-	event.feedback = DND.FEEDBACK_SELECT;
-	event.dataTypes = dataTypes;
-	event.dataType = dataTypes[0];
-	event.operations = operations;
-	event.detail = operation;
-	event.item = effect.getItem(event.x, event.y);
-	return true;
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	this.transferAgents = transferAgents;
-	
-	if (!control.isVisible()) return;
-	
-	// register data types
-	TransferData[] transferData = new TransferData[0];
-	for (int i = 0, length = transferAgents.length; i < length; i++){
-		TransferData[] data = transferAgents[i].getSupportedTypes();
-		TransferData[] newTransferData = new TransferData[transferData.length +  data.length];
-		System.arraycopy(transferData, 0, newTransferData, 0, transferData.length);
-		System.arraycopy(data, 0, newTransferData, transferData.length, data.length);
-		transferData = newTransferData;
-	}
-	
-	int[] atoms = new int[transferData.length];
-	for (int i = 0, length = transferData.length; i < length; i++){
-		atoms[i] = transferData[i].type;
-	}
-
-	// Copy import targets to global memory 
-	int pImportTargets = OS.XtMalloc(atoms.length * 4);
-	OS.memmove(pImportTargets, atoms, atoms.length * 4);
-
-	int[] args = new int[]{
-		OS.XmNimportTargets,      pImportTargets,
-		OS.XmNnumImportTargets,   atoms.length
-	};
-
-	OS.XmDropSiteUpdate(control.handle, args, args.length / 2);
-	if (control instanceof Label) {
-		int formHandle = OS.XtParent (control.handle);
-		OS.XmDropSiteUpdate(formHandle, args, args.length / 2);
-	}
-	
-	OS.XtFree(pImportTargets);
-	
-}
-void transferProcCallback(int widget, int client_data, int pSelection, int pType, int pValue, int pLength, int pFormat) {
-	if (pType == 0 || pValue == 0 || pLength == 0 || pFormat == 0) return;
-	
-	int[] type = new int[1];
-	OS.memmove(type, pType, 4);
-	if (type[0] == NULL_TYPE) {
-		return;
-	}
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(droppedEventData.operations, droppedEventData.operation, droppedEventData.dragContext, droppedEventData.x, droppedEventData.y, droppedEventData.timeStamp, event)){
-		return;
-	}
-	
-	int allowedOperations = event.operations;
-	
-	// Get Data in a Java format
-	Object object = null;
-	TransferData transferData = new TransferData();
-	int[] length = new int[1];
-	OS.memmove(length, pLength, 4);
-	int[] format = new int[1];
-	OS.memmove(format, pFormat, 4);
-	transferData.type = type[0];
-	transferData.length = length[0];
-	transferData.pValue = pValue;
-	transferData.format = format[0];
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData)){
-			object = transferAgents[i].nativeToJava(transferData);
-			break;
-		}
-	}
-	OS.XtFree(pValue);
-	
-	if (object == null) {
-		selectedOperation = DND.DROP_NONE;
-	}
-	
-	event.detail = selectedOperation;
-	event.dataType = transferData;
-	event.data = object;
-	notifyListeners(DND.Drop, event);
-	selectedOperation = DND.DROP_NONE;
-	if ((allowedOperations & event.detail) == event.detail) {
-		selectedOperation = event.detail;
-	}
-
-	//workaround - restore original timeout
-	int xtContext = OS.XtDisplayToApplicationContext (getDisplay().xDisplay);
-	OS.XtAppSetSelectionTimeout (xtContext, selectionTimeout);
-	
-	//notify source of action taken
-	if ((selectedOperation & DND.DROP_MOVE) == DND.DROP_MOVE) {
-		int[] args = new int[]{control.handle, DELETE_TYPE};
-		OS.XmDropTransferAdd(dropTransferObject, args, args.length / 2);
-	}
-}
-
-void unregisterDropTarget() {
-	if (control == null || control.isDisposed() || !registered) return;
-	OS.XmDropSiteUnregister(control.handle);
-	if (control instanceof Label) {
-		int formHandle = OS.XtParent(control.handle);
-		OS.XmDropSiteUnregister(formHandle);
-	}
-	
-	registered = false;
-}
-
-void updateDragOverHover(long delay, DNDEvent event) {
-	if (delay == 0) {
-		dragOverStart = 0;
-		dragOverEvent = null;
-		return;
-	}
-	dragOverStart = System.currentTimeMillis() + delay;
-	if (dragOverEvent == null) dragOverEvent = new DNDEvent();
-	dragOverEvent.x = event.x;
-	dragOverEvent.y = event.y;
-	TransferData[] dataTypes = new TransferData[ event.dataTypes.length];
-	System.arraycopy( event.dataTypes, 0, dataTypes, 0, dataTypes.length);
-	dragOverEvent.dataTypes  = dataTypes;
-	dragOverEvent.operations = event.operations;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100755
index 1f5802c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/FileTransfer.java
+++ /dev/null
@@ -1,147 +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.dnd;
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
-
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-	static FileTransfer _instance = new FileTransfer();
-	static final String URI_LIST = "text/uri-list"; //$NON-NLS-1$
-	static final int URI_LIST_ID = registerType(URI_LIST);
-	static final String URI_LIST_PREFIX = "file:"; //$NON-NLS-1$
-	static final String URI_LIST_SEPARATOR = "\r"; //$NON-NLS-1$
-
-FileTransfer() {/*empty*/}
-
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-	transferData.result = 0;
-		if (!checkFile(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String[] files = (String[])object;
-	StringBuffer sb = new StringBuffer();
-	for (int i = 0, length = files.length; i < length; i++){
-		sb.append(URI_LIST_PREFIX);
-		sb.append(files[i]);
-		sb.append(URI_LIST_SEPARATOR);
-	}
-	byte[] buffer = Converter.wcsToMbcs(null, sb.toString(), true);
-	int pValue = OS.XtMalloc(buffer.length);
-	if (pValue == 0) return;
-	OS.memmove(pValue, buffer, buffer.length);
-	transferData.length = buffer.length;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
-	int size = transferData.format * transferData.length / 8;
-	if (size == 0) return null;
-	
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pValue, size);
-	char[] chars = Converter.mbcsToWcs(null, buffer);
-	String string  = new String(chars);
-	// parse data and convert string to array of files
-	int start = string.indexOf(URI_LIST_PREFIX);
-	if (start == -1) return null;
-	start += URI_LIST_PREFIX.length();
-	String[] fileNames = new String[0];
-	while (start < string.length()) { 
-		int end = string.indexOf(URI_LIST_SEPARATOR, start);
-		if (end == -1) end = string.length() - 1;
-		String fileName = string.substring(start, end);
-		String[] newFileNames = new String[fileNames.length + 1];
-		System.arraycopy(fileNames, 0, newFileNames, 0, fileNames.length);
-		newFileNames[fileNames.length] = fileName;
-		fileNames = newFileNames;
-		start = string.indexOf(URI_LIST_PREFIX, end);
-		if (start == -1) break;
-		start += URI_LIST_PREFIX.length();
-	}
-	return fileNames;
-}
-
-protected int[] getTypeIds(){
-	return new int[]{URI_LIST_ID};
-}
-
-protected String[] getTypeNames(){
-	return new String[]{URI_LIST};
-}
-
-boolean checkFile(Object object) {
-	if (object == null || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	for (int i = 0; i < strings.length; i++) {
-		if (strings[i] == null || strings[i].length() == 0) return false;
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkFile(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index 84c4142..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/HTMLTransfer.java
+++ /dev/null
@@ -1,111 +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.dnd;
-
-import org.eclipse.swt.internal.motif.*;
- 
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	static HTMLTransfer _instance = new HTMLTransfer();
-	static final String TEXT_HTML = "text/html"; //$NON-NLS-1$
-	static final int TEXT_HTML_ID = registerType(TEXT_HTML);
-	static final String TEXT_HTML2 = "TEXT/HTML"; //$NON-NLS-1$
-	static final int TEXT_HTML2_ID = registerType(TEXT_HTML2);
-
-HTMLTransfer() {/*empty*/}
-
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	transferData.result = 0;
-	if (!checkHTML(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	int charCount = string.length();
-	char [] chars = new char[charCount +1];
-	string.getChars(0, charCount , chars, 0);
-	int byteCount = chars.length*2;
-	int pValue = OS.XtMalloc(byteCount);
-	if (pValue == 0) return;
-	OS.memmove(pValue, chars, byteCount);
-	transferData.length = byteCount;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if ( !isSupportedType(transferData) ||  transferData.pValue == 0 ) return null;
-	/* Ensure byteCount is a multiple of 2 bytes */
-	int size = (transferData.format * transferData.length / 8) / 2 * 2;
-	if (size <= 0) return null;			
-	char[] chars = new char [size/2];
-	OS.memmove (chars, transferData.pValue, size);
-	String string = new String (chars);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-protected int[] getTypeIds() {
-	return new int[] {TEXT_HTML_ID, TEXT_HTML2_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {TEXT_HTML, TEXT_HTML2};
-}
-
-boolean checkHTML(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkHTML(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100755
index 2317df0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/RTFTransfer.java
+++ /dev/null
@@ -1,112 +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.dnd;
-
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*;
- 
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	static RTFTransfer _instance = new RTFTransfer();
-	static final String TEXT_RTF = "text/rtf"; //$NON-NLS-1$
-	static final int TEXT_RTF_ID = registerType(TEXT_RTF);
-	static final String TEXT_RTF2 = "TEXT/RTF"; //$NON-NLS-1$
-	static final int TEXT_RTF2_ID = registerType(TEXT_RTF2);
-	static final String APPLICATION_RTF = "application/rtf"; //$NON-NLS-1$
-	static final int APPLICATION_RTF_ID = registerType(APPLICATION_RTF);
-
-RTFTransfer() {/*empty*/}
-
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	transferData.result = 0;
-	if (!checkRTF(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte [] buffer = Converter.wcsToMbcs (null, string, true);
-	int pValue = OS.XtMalloc(buffer.length);
-	if (pValue == 0) return;
-	OS.memmove(pValue, buffer, buffer.length);
-	transferData.length = buffer.length - 1;
-	transferData.format = 8;
-	transferData.pValue = pValue;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if ( !isSupportedType(transferData) ||  transferData.pValue == 0 ) return null;
-	int size = transferData.format * transferData.length / 8;
-	if (size == 0) return null;
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pValue, size);
-	char [] chars = Converter.mbcsToWcs (null, buffer);
-	String string = new String (chars);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-
-protected int[] getTypeIds() {
-	return new int[] {TEXT_RTF_ID, TEXT_RTF2_ID, APPLICATION_RTF_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {TEXT_RTF, TEXT_RTF2, APPLICATION_RTF};
-}
-
-boolean checkRTF(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkRTF(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
deleted file mode 100644
index f20ca09..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.dnd;
-
-
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.motif.*;
-
-class StyledTextDragAndDropEffect extends DragAndDropEffect {
-	StyledText text;
-	Rectangle caretBounds;
-	long scrollBeginTime;
-	int scrollX = -1, scrollY = -1;
-	
-	static final int SCROLL_HYSTERESIS = 100; // milli seconds
-	static final int SCROLL_TOLERANCE = 20; // pixels
-	
-StyledTextDragAndDropEffect(StyledText control) {
-	text = control;
-}
-void showDropTargetEffect(int effect, int x, int y) {
-	Point pt = text.getDisplay().map(null, text, x, y);
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollX = scrollY = -1;
-	} else {
-		if (text.getCharCount() == 0) {
-			scrollBeginTime = 0;
-			scrollX = scrollY = -1;
-		} else {
-			if (scrollX != -1 && scrollY != -1 && scrollBeginTime != 0 &&
-				(pt.x >= scrollX && pt.x <= (scrollX + SCROLL_TOLERANCE) ||
-				 pt.y >= scrollY && pt.y <= (scrollY + SCROLL_TOLERANCE))) {
-				if (System.currentTimeMillis() >= scrollBeginTime) {
-					Rectangle area = text.getClientArea();
-					Rectangle bounds = text.getTextBounds(0, 0);
-					int charWidth = bounds.width;
-					if (pt.x < area.x + 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel - charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.x > area.width - 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel + charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					int lineHeight = bounds.height;
-					if (pt.y < area.y + lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel - lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.y > area.height - lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel + lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					scrollBeginTime = 0;
-					scrollX = scrollY = -1;
-				}
-			} else {
-				scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-				scrollX = pt.x;
-				scrollY = pt.y;
-			}
-		}
-	}
-	
-	int newOffset = -1;
-	StyledTextContent content = text.getContent();
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		try {
-			newOffset = text.getOffsetAtLocation(pt);
-		} catch (IllegalArgumentException ex1) {
-			int maxOffset = content.getCharCount();
-			Point maxLocation = text.getLocationAtOffset(maxOffset);
-			if (pt.y >= maxLocation.y) {
-				try {
-					newOffset = text.getOffsetAtLocation(new Point(pt.x, maxLocation.y));
-				} catch (IllegalArgumentException ex2) {
-					newOffset = maxOffset;
-				}
-			} else {
-				try {
-					int startOffset = text.getOffsetAtLocation(new Point(0, pt.y));
-					int endOffset = maxOffset;
-					int line = content.getLineAtOffset(startOffset);
-					int lineCount = content.getLineCount();
-					if (line + 1 < lineCount) {
-						endOffset = content.getOffsetAtLine(line + 1)  - 1;
-					}
-					int lineHeight = text.getLineHeight(startOffset);
-					for (int i = endOffset; i >= startOffset; i--) {
-						Point p = text.getLocationAtOffset(i);
-						if (p.x < pt.x && p.y < pt.y && p.y + lineHeight > pt.y) {
-							newOffset = i;
-							break;
-						}
-					}
-				} catch (IllegalArgumentException ex2) {
-					newOffset = -1;
-				}
-			}
-		}
-	}
-	if (caretBounds != null) {
-		// hide caret
-		drawCaret();
-		caretBounds = null; 
-	}
-	if (newOffset != -1) {
-		// check if offset is line delimiter
-		// see StyledText.isLineDelimiter()
-		int line = content.getLineAtOffset(newOffset);
-		int lineOffset = content.getOffsetAtLine(line);	
-		int offsetInLine = newOffset - lineOffset;
-		// offsetInLine will be greater than line length if the line 
-		// delimiter is longer than one character and the offset is set
-		// in between parts of the line delimiter.
-		if (offsetInLine > content.getLine(line).length()) {
-			newOffset = Math.max(0, newOffset - 1);
-		}
-		text.setCaretOffset(newOffset);
-		// show caret
-		caretBounds = text.getCaret().getBounds();
-		drawCaret();
-	}
-}
-void drawCaret() {
-	int window = OS.XtWindow(text.handle);
-	if (window == 0) return;
-	int xDisplay = OS.XtDisplay(text.handle);
-	int gc = OS.XCreateGC(xDisplay, window, 0, null);
-	int color = 0;
-	if (OS.IsSunOS) {
-		int[] argList = {OS.XmNforeground, 0};
-		OS.XtGetValues(text.handle, argList, argList.length / 2);
-		int foreground = argList[1];
-		argList = new int[] {OS.XmNbackground, 0};
-		OS.XtGetValues(text.handle, argList, argList.length / 2);
-		int background = argList[1];
-		color = foreground ^ background;
-	} else {
-		int screenNum = OS.XDefaultScreen(xDisplay);	
-		color = OS.XWhitePixel(xDisplay, screenNum);
-	}
-	OS.XSetForeground(xDisplay, gc, color);
-	OS.XSetFunction(xDisplay, gc, OS.GXxor);
-	int nWidth = caretBounds.width, nHeight = caretBounds.height;
-	if (nWidth <= 0) nWidth = 1;
-	OS.XFillRectangle(xDisplay, window, gc, caretBounds.x, caretBounds.y, nWidth, nHeight);
-	OS.XFreeGC(xDisplay, gc);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TableDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TableDragAndDropEffect.java
deleted file mode 100755
index ace1808..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TableDragAndDropEffect.java
+++ /dev/null
@@ -1,137 +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.dnd;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	Table table;
-	
-	int currentEffect = DND.FEEDBACK_NONE;
-	TableItem currentItem;
-	
-	PaintListener paintListener;
-	TableItem dropSelection = null;
-	
-	TableItem scrollItem;
-	long scrollBeginTime;
-
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-}
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	TableItem item = table.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = table.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the table.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = table.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-void setDropSelection (TableItem item) {	
-	if (item == dropSelection) return;
-	if (dropSelection != null && !dropSelection.isDisposed()) {
-		Rectangle bounds = dropSelection.getBounds(0);
-		table.redraw(bounds.x, bounds.y, bounds.width, bounds.height, true);
-	}
-	dropSelection = item;
-	if (dropSelection != null && !dropSelection.isDisposed()) {
-		Rectangle bounds = dropSelection.getBounds(0);
-		table.redraw(bounds.x, bounds.y, bounds.width, bounds.height, true);
-	}
-	if (dropSelection == null) {
-		if (paintListener != null) {
-			table.removePaintListener(paintListener);
-			paintListener = null;
-		}
-	} else {
-		if (paintListener == null) {
-			paintListener = new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					if (dropSelection == null  || dropSelection.isDisposed()) return;
-					GC gc = e.gc;
-					boolean xor = gc.getXORMode();
-					gc.setXORMode(true);
-					Rectangle bounds = dropSelection.getBounds(0);
-					gc.fillRectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-					gc.setXORMode(xor);
-				}
-			};
-			table.addPaintListener(paintListener);
-		}
-	}
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	TableItem item = (TableItem)getItem(x, y);
-
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollItem = null;
-	} else {
-		if (item != null && item.equals(scrollItem)  && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				Rectangle area = table.getClientArea();
-				int headerHeight = table.getHeaderHeight();
-				int itemHeight= table.getItemHeight();
-				Point pt = new Point(x, y);
-				pt = table.getDisplay().map(null, table, pt);
-				TableItem nextItem = null;
-				if (pt.y < area.y + headerHeight + 2 * itemHeight) {
-					int index = Math.max(0, table.indexOf(item)-1);
-					nextItem = table.getItem(index);
-				}
-				if (pt.y > area.y + area.height - 2 * itemHeight) {
-					int index = Math.min(table.getItemCount()-1, table.indexOf(item)+1);
-					nextItem = table.getItem(index);
-				}
-				if (nextItem != null) table.showItem(nextItem);
-				scrollBeginTime = 0;
-				scrollItem = null;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollItem = item;
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		if (currentItem != item || (currentEffect & DND.FEEDBACK_SELECT) == 0) { 
-			setDropSelection(item); 
-			currentEffect = effect;
-			currentItem = item;
-		}
-	} else {
-		setDropSelection(null);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100755
index 10edef6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TextTransfer.java
+++ /dev/null
@@ -1,166 +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.dnd;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.motif.OS;
-import org.eclipse.swt.internal.motif.XTextProperty;
-
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	static TextTransfer _instance = new TextTransfer();
-	static final String COMPOUND_TEXT = "COMPOUND_TEXT"; //$NON-NLS-1$
-	static final String STRING = "STRING"; //$NON-NLS-1$
-	static final int COMPOUND_TEXT_ID = registerType(COMPOUND_TEXT);
-	static final int STRING_ID = registerType(STRING);
-
-TextTransfer() {/*empty*/}
-
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData) {
-	transferData.result = 0;
-	if (!checkText(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte[] buffer = Converter.wcsToMbcs (null, string, true);
-	if (transferData.type ==  COMPOUND_TEXT_ID) {
-		Display display = Display.getCurrent();
-		if (display == null) return;
-		int xDisplay = display.xDisplay;
-		int pBuffer = OS.XtMalloc(buffer.length);
-		if (pBuffer == 0) return;
-		try {
-			OS.memmove(pBuffer, buffer, buffer.length);
-			int list = OS.XtMalloc(4);
-			if (list == 0) return;
-			OS.memmove(list, new int[] {pBuffer}, 4);
-			XTextProperty text_prop_return = new XTextProperty();
-			int result = OS.XmbTextListToTextProperty (xDisplay, list, 1, OS.XCompoundTextStyle, text_prop_return);
-			OS.XtFree(list);
-			if (result != 0)return;
-			transferData.format = text_prop_return.format;
-			transferData.length = text_prop_return.nitems;
-			transferData.pValue = text_prop_return.value;
-			transferData.type = text_prop_return.encoding;
-			transferData.result = 1;
-		} finally {
-			OS.XtFree(pBuffer);
-		}
-	}
-	if (transferData.type == STRING_ID) {
-		int pValue = OS.XtMalloc(buffer.length);
-		if (pValue ==  0) return;
-		OS.memmove(pValue, buffer, buffer.length);
-		transferData.type = STRING_ID;
-		transferData.format = 8;
-		transferData.length = buffer.length - 1;
-		transferData.pValue = pValue;
-		transferData.result = 1;
-	}
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
-	byte[] buffer = null;
-	if (transferData.type == COMPOUND_TEXT_ID) {
-		Display display = Display.getCurrent();
-		if (display == null) return null;
-		int xDisplay = display.xDisplay;
-		XTextProperty text_prop = new XTextProperty();
-		text_prop.encoding = transferData.type;
-		text_prop.format = transferData.format;
-		text_prop.nitems = transferData.length;
-		text_prop.value = transferData.pValue;
-		int[] list_return = new int[1];
-		int[] count_return = new int[1];
-		int result = OS.XmbTextPropertyToTextList (xDisplay, text_prop, list_return, count_return);
-		if (result != 0 || list_return[0] == 0) return null;
-		//Note: only handling the first string in list
-		int[] ptr = new int[1];
-		OS.memmove(ptr, list_return[0], 4);
-		int length = OS.strlen(ptr[0]);
-		buffer = new byte[length];
-		OS.memmove(buffer, ptr[0], length);
-		OS.XFreeStringList(list_return[0]);
-	}
-	if (transferData.type == STRING_ID) {
-		int size = transferData.format * transferData.length / 8;
-		if (size == 0) return null;
-		buffer = new byte[size];
-		OS.memmove(buffer, transferData.pValue, size);
-	}
-	if (buffer == null) return null;
-	// convert byte array to a string
-	char [] unicode = Converter.mbcsToWcs (null, buffer);
-	String string = new String (unicode);
-	int end = string.indexOf('\0');
-	return (end == -1) ? string : string.substring(0, end);
-}
-
-protected int[] getTypeIds() {
-	return new int[] {COMPOUND_TEXT_ID, STRING_ID};
-}
-
-protected String[] getTypeNames() {
-	return new String[] {COMPOUND_TEXT, STRING};
-}
-
-boolean checkText(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkText(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100755
index c41a17c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,154 +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.dnd;
-
- 
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.motif.OS;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName){
-	// Use default display because we don't have a particular widget
-	int xDisplay = Display.getDefault().xDisplay;
-	// Use the character encoding for the default locale
-	byte[] buffer = Converter.wcsToMbcs (null, formatName, true);
-	return OS.XmInternAtom (xDisplay, buffer, false); 
-}
-
-/**
- * Test that the object is of the correct format for this Transfer class.
- * 
- * @param object a java representation of the data to be converted
- * 
- * @return true if object is of the correct form for this transfer type
- * 
- * @since 3.1
- */
-protected boolean validate(Object object) {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100755
index 462fcb0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TransferData.java
+++ /dev/null
@@ -1,96 +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.dnd;
-
- 
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int type;
-	
-	/**
-	 * Specifies the number of units in pValue.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 * 
-	 * @see TransferData#format for the size of one unit
-	 */
-	public int length;
-	
-	/**
-	 * Specifies the size in bits of a single unit in pValue.
- 	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * 
- 	 * This is most commonly 8 bits.
-	 */
-	public int format;
-	
-	/**
-	 * Pointer to the data being transferred.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int pValue;
-
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	public int result;
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100755
index 9252aab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/motif/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,217 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-	Tree tree;
-	
-	int currentEffect = DND.FEEDBACK_NONE;
-	TreeItem currentItem;
-	
-	PaintListener paintListener;
-	TreeItem dropSelection = null;
-	
-	TreeItem insertItem = null;
-	boolean insertBefore = false;
-
-	TreeItem scrollItem;
-	long scrollBeginTime;
-
-	TreeItem expandItem;
-	long expandBeginTime;
-	
-	static final int SCROLL_HYSTERESIS = 150; // milli seconds
-	static final int EXPAND_HYSTERESIS = 300; // milli seconds
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-}
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TreeItem item = tree.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = tree.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the tree.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = tree.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-TreeItem nextItem(TreeItem item) {
-	if (item == null) return null;
-	if (item.getExpanded()) return item.getItem(0);
-	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);
-		if (parentItem == null) return null;
-		childItem = parentItem;
-		parentItem = childItem.getParentItem();
-		index = parentItem == null ? tree.indexOf(childItem) : parentItem.indexOf(childItem);
-		count = parentItem == null ? tree.getItemCount() : parentItem.getItemCount();
-	}
-}
-TreeItem previousItem(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;
-	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;
-}
-void setDropSelection (TreeItem item) {	
-	if (item == dropSelection) return;
-	if (dropSelection != null && !dropSelection.isDisposed()) {
-		Rectangle bounds = dropSelection.getBounds();
-		tree.redraw(bounds.x, bounds.y, bounds.width, bounds.height, true);
-	}
-	dropSelection = item;
-	if (dropSelection != null && !dropSelection.isDisposed()) {
-		Rectangle bounds = dropSelection.getBounds();
-		tree.redraw(bounds.x, bounds.y, bounds.width, bounds.height, true);
-	}
-	if (dropSelection == null) {
-		if (paintListener != null) {
-			tree.removePaintListener(paintListener);
-			paintListener = null;
-		}
-	} else {
-		if (paintListener == null) {
-			paintListener = new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					if (dropSelection == null  || dropSelection.isDisposed()) return;
-					GC gc = e.gc;
-					boolean xor = gc.getXORMode();
-					gc.setXORMode(true);
-					Rectangle bounds = dropSelection.getBounds();
-					gc.fillRectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-					gc.setXORMode(xor);
-				}
-			};
-			tree.addPaintListener(paintListener);
-		}
-	}
-}
-void setInsertMark(TreeItem item, boolean before) {
-	if (item == insertItem && before == insertBefore) return;
-	insertItem = item;
-	insertBefore = before;
-	tree.setInsertMark(item, before);
-}
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	TreeItem item = (TreeItem)getItem(x, y);
-	
-	if ((effect & DND.FEEDBACK_EXPAND) == 0) {
-		expandBeginTime = 0;
-		expandItem = null;
-	} else {
-		if (item != null && item.equals(expandItem) && expandBeginTime != 0) {
-			if (System.currentTimeMillis() >= expandBeginTime) {
-				if (item.getItemCount() > 0 && !item.getExpanded()) {
-					Event event = new Event();
-					event.x = x;
-					event.y = y;
-					event.item = item;
-					event.time = (int) System.currentTimeMillis();
-					tree.notifyListeners(SWT.Expand, event);
-					if (item.isDisposed()) return;
-					item.setExpanded(true);
-				}
-				expandBeginTime = 0;
-				expandItem = null;
-			}
-		} else {
-			expandBeginTime = System.currentTimeMillis() + EXPAND_HYSTERESIS;
-			expandItem = item;
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollItem = null;
-	} else {
-		if (item != null && item.equals(scrollItem)  && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				Rectangle area = tree.getClientArea();
-				int headerHeight = tree.getHeaderHeight();
-				int itemHeight= tree.getItemHeight();
-				Point pt = new Point(x, y);
-				pt = tree.getDisplay().map(null, tree, pt);
-				TreeItem nextItem = null;
-				if (pt.y < area.y + headerHeight + 2 * itemHeight) {
-					nextItem = previousItem(item);
-				}
-				if (pt.y > area.y + area.height - 2 * itemHeight) {
-					nextItem = nextItem(item);
-				}
-				if (nextItem != null) tree.showItem(nextItem);
-				scrollBeginTime = 0;
-				scrollItem = null;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollItem = item;
-		}
-	}
-	
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		if (currentItem != item || (currentEffect & DND.FEEDBACK_SELECT) == 0) { 
-			setDropSelection(item); 
-			currentEffect = effect;
-			currentItem = item;
-		}
-	} else {
-		setDropSelection(null);
-	}
-	
-	if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0 ||
-		(effect & DND.FEEDBACK_INSERT_BEFORE) != 0) {
-		if (currentItem != item || 
-			 ((effect & DND.FEEDBACK_INSERT_AFTER) != (currentEffect & DND.FEEDBACK_INSERT_AFTER)) ||
-			 ((effect & DND.FEEDBACK_INSERT_BEFORE) != (currentEffect & DND.FEEDBACK_INSERT_BEFORE))) { 
-			setInsertMark(item, (effect & DND.FEEDBACK_INSERT_BEFORE) != 0);
-			currentEffect = effect;
-			currentItem = item;
-		}
-	} else {
-		setInsertMark(null, false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100755
index 7a1e4aa..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,188 +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.dnd;
-
- 
-import org.eclipse.swt.internal.photon.*;
-
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-	
-public TransferData[] getSupportedTypes(){
-	int[] types = getTypeIds();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i];
-	}
-	return data;
-}
-public boolean isSupportedType(TransferData transferData){
-	if (transferData == null) return false;
-	int[] types = getTypeIds();
-	for (int i = 0; i < types.length; i++) {
-		if (transferData.type == types[i]) return true;
-	}
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData){
-	if (!checkByteArray(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	byte[] buffer = (byte[])object;	
-	transferData.pData = OS.malloc(buffer.length);
-	OS.memmove(transferData.pData, buffer, buffer.length);
-	transferData.length = buffer.length;
-	transferData.result = 1;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData){
-
-	if (transferData.pData == 0 || !(isSupportedType(transferData))) return null;
-	
-	int size = transferData.length;
-	if (size == 0) return null;
-	byte[] buffer = new byte[size];
-	OS.memmove(buffer, transferData.pData, size);
-	return buffer;
-}
-
-boolean checkByteArray(Object object) {
-	return (object != null && object instanceof byte[] && ((byte[])object).length > 0);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100755
index 30081e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,580 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.photon.*;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-	
-	private Display display;
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-public Clipboard(Display display) {	
-	checkSubclass ();
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-	}
-	if (display.getThread() != Thread.currentThread()) {
-		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	}
-	this.display = display;
-}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the system clipboard,
- * clear the contents.  If this clipboard is not the owner, then nothing is done.
- * Note that there are clipboard assistant applications that take ownership of 
- * data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.
- * 
- * @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>
- * 
- * @since 3.1
- */
-public void clearContents() {
-	clearContents(DND.CLIPBOARD);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the specified 
- * clipboard, clear the contents.  If this clipboard is not the owner, then 
- * nothing is done.
- * 
- * <p>Note that there are clipboard assistant applications that take ownership
- * of data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.</p>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards to be cleared
- * 
- * @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>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void clearContents(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		// TODO need to implement
-	}
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	return getContents(transfer, DND.CLIPBOARD);
-}
-/**
- * Retrieve the data of the specified type currently available on the specified 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer, DND.CLIPBOARD);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @param clipboards on which to look for data
- *  
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public Object getContents(Transfer transfer, int clipboards) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	if ((clipboards & DND.CLIPBOARD) == 0) return null;
-	
-	Object result = null;
-	
-	int ig = OS.PhInputGroup(0);
-	int cbdata = OS.PhClipboardPasteStart((short)ig);
-	if (cbdata == 0) return result;
-	try {
-		String[] names = transfer.getTypeNames();
-		int[] ids = transfer.getTypeIds();
-		for (int i = 0; i < names.length; i++) {
-			byte[] name = Converter.wcsToMbcs(null, names[i], true);
-			name [Math.min(8, name.length) - 1] = (byte)0;
-			int pClipHeader = OS.PhClipboardPasteType(cbdata, name);
-			if (pClipHeader != 0) {
-				PhClipHeader clipHeader = new PhClipHeader();
-				OS.memmove(clipHeader, pClipHeader, PhClipHeader.sizeof);
-				TransferData data = new TransferData();
-				data.pData = clipHeader.data;
-				data.length = clipHeader.length;
-				data.type = ids[i];
-				result = transfer.nativeToJava(data);
-				break;
-			}
-		}
-	} finally {
-		OS.PhClipboardPasteFinish(cbdata);
-	}
-	
-	return result;
-}
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	setContents(data, dataTypes, DND.CLIPBOARD);
-}
-
-/**
- * Place data of the specified type on the specified clipboard.  More than one 
- * type of data can be placed on the specified clipboard at the same time.
- * Setting the data clears any previous data from the specified
- * clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the specified
- * clipboard but on other platforms it is provided upon request.  As a result, 
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers, DND.CLIPBOARD);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * @param clipboards on which to set the data
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void setContents(Object[] data, Transfer[] dataTypes, int clipboards) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length || data.length == 0) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < data.length; i++) {
-		if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) {
-			DND.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-	}
-	if ((clipboards & DND.CLIPBOARD) == 0) return;
-	
-	PhClipHeader[] clips = new PhClipHeader[0];
-	int count = 0;
-	for (int i = 0; i < dataTypes.length; i++) {
-		String[] names = dataTypes[i].getTypeNames();
-		int[] ids = dataTypes[i].getTypeIds();
-		for (int j = 0; j < names.length; j++) {
-			TransferData transferData = new TransferData();
-			transferData.type = ids[j];
-			dataTypes[i].javaToNative(data[i], transferData);
-			PhClipHeader clip = new PhClipHeader();
-			clip.data = transferData.pData;
-			clip.length = (short)transferData.length;
-			byte[] buffer = Converter.wcsToMbcs(null, names[j], false);
-			System.arraycopy(buffer, 0, clip.type, 0, Math.min(clip.type.length - 1, buffer.length));
-			PhClipHeader[] newClips = new PhClipHeader[count + 1];
-			System.arraycopy(clips, 0, newClips, 0, clips.length);
-			clips = newClips;
-			clips[count++] = clip;
-		}
-	}
-	
-	if (count == 0) return;
-
-	// Copy data to clipboard
-	byte[] buffer = new byte[count * PhClipHeader.sizeof];
-	byte[] temp = new byte[PhClipHeader.sizeof];
-	for (int i = 0; i < count; i++) {
-		OS.memmove(temp, clips[i], PhClipHeader.sizeof);
-		System.arraycopy(temp, 0, buffer, i * PhClipHeader.sizeof, temp.length);
-	}	
-	int ig = OS.PhInputGroup(0);
-	if (OS.PhClipboardCopy((short)ig, count, buffer) != 0) {
-		DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-	}
-	
-	// Free allocated data
-	for (int i = 0; i < count; i++) {
-		OS.free(clips[i].data);
-	}
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	return getAvailableTypes(DND.CLIPBOARD);
-}
-
-/**
- * Returns an array of the data types currently available on the specified 
- * clipboard. Use with Transfer.isSupportedType.
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards from which to get the data types
- * @return array of data types currently available on the specified clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public TransferData[] getAvailableTypes(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) == 0) return new TransferData[0];
-	// TODO Find a way to implement this - no Photon API currently available
-	return new TransferData[0];
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	
-	PhClipHeader[] types = _getAvailableTypes();
-	String[] names = new String[types.length];
-	for (int i = 0; i < types.length; i++) {
-		char [] unicode = Converter.mbcsToWcs (null, types[i].type);
-		names[i] = new String (unicode).trim();
-	}
-	return names;
-}
-
-private PhClipHeader[] _getAvailableTypes() {
-	PhClipHeader[] types = new PhClipHeader[0];
-	int ig = OS.PhInputGroup(0);
-	int cbdata = OS.PhClipboardPasteStart((short)ig);
-	if (cbdata == 0) return types;
-	try {
-		int pClipHeader = 0;
-		int n = 0;
-		while ((pClipHeader = OS.PhClipboardPasteTypeN(cbdata, n++)) != 0) {
-			PhClipHeader clipHeader = new PhClipHeader();
-			OS.memmove(clipHeader, pClipHeader, PhClipHeader.sizeof);
-			PhClipHeader[] newTypes = new PhClipHeader[types.length + 1];
-			System.arraycopy(types, 0, newTypes, 0, types.length);
-			newTypes[types.length] = clipHeader;
-			types = newTypes;
-		}
-	} finally {
-		OS.PhClipboardPasteFinish(cbdata);
-	}
-	return types;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100755
index 49632cb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,278 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	private Control control;
-	private Listener controlListener;
-	private Transfer[] transferAgents = new Transfer[0];
-
-	private static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DRAGSOURCEID) != null)
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	control.setData(DRAGSOURCEID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					//DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	control.addListener (SWT.DragDetect, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			onDispose();
-		}
-	});
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragStart, typedListener);
-	addListener (DND.DragSetData, typedListener);
-	addListener (DND.DragEnd, typedListener);
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl () {
-	return control;
-}
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-private void onDispose() {
-	if (control == null)
-		return;
-	if (controlListener != null) {
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragStart, listener);
-	removeListener (DND.DragSetData, listener);
-	removeListener (DND.DragEnd, listener);
-}
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100755
index 4524f59..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,271 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-
-	// info for registering as a droptarget	
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-
-	static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DROPTARGETID) != null)
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	control.setData(DROPTARGETID, this);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (!DropTarget.this.isDisposed()){
-				DropTarget.this.dispose();
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent (Event event) {
-			onDispose();
-		}
-	});
-
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */
-public Transfer[] getTransfer() {
-	return transferAgents;
-}
-
-void onDispose () {	
-	if (control == null)
-		return;
-	if (controlListener != null)
-		control.removeListener(SWT.Dispose, controlListener);
-	controlListener = null;
-	control.setData(DROPTARGETID, null);
-	transferAgents = null;
-	control = null;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100755
index 770621fd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/FileTransfer.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.dnd;
-
-import org.eclipse.swt.internal.Converter;
-
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-	private static FileTransfer _instance = new FileTransfer();
-	private static final String TYPENAME = "files";
-	private static final int TYPEID = registerType(TYPENAME);
-
-private FileTransfer() {}
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-	if (!checkFile(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	// build a byte array from data
-	String[] files = (String[])object;
-	
-	// create a string separated by "new lines" to represent list of files
-	String nativeFormat = "";
-	for (int i = 0, length = files.length; i < length; i++){
-		nativeFormat += "file:"+files[i]+"\r";
-	}
-	byte[] buffer = Converter.wcsToMbcs(null, nativeFormat, true);
-	// pass byte array on to super to convert to native
-	super.javaToNative(buffer, transferData);
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-
-	byte[] data = (byte[])super.nativeToJava(transferData);
-	if (data == null) return null;
-	char[] unicode = Converter.mbcsToWcs(null, data);
-	String string  = new String(unicode);
-	// parse data and convert string to array of files
-	int start = string.indexOf("file:");
-	if (start == -1) return null;
-	start += 5;
-	String[] fileNames = new String[0];
-	while (start < string.length()) { 
-		int end = string.indexOf("\r", start);
-		if (end == -1) end = string.length() - 1;
-		String fileName = string.substring(start, end);
-		
-		String[] newFileNames = new String[fileNames.length + 1];
-		System.arraycopy(fileNames, 0, newFileNames, 0, fileNames.length);
-		newFileNames[fileNames.length] = fileName;
-		fileNames = newFileNames;
-
-		start = string.indexOf("file:", end);
-		if (start == -1) break;
-		start += 5;
-	}
-	return fileNames;
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID};
-}
-boolean checkFile(Object object) {
-	if (object == null || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	for (int i = 0; i < strings.length; i++) {
-		if (strings[i] == null || strings[i].length() == 0) return false;
-	}
-	return true;
-}
-protected boolean validate(Object object) {
-	return checkFile(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index 101c3c1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/HTMLTransfer.java
+++ /dev/null
@@ -1,97 +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.dnd;
-
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.photon.OS;
-
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	private static HTMLTransfer _instance = new HTMLTransfer();
-	private static final String TYPENAME = "HTML";
-	private static final int TYPEID = registerType(TYPENAME);
-
-private HTMLTransfer() {
-}
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkHTML(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte [] buffer = Converter.wcsToMbcs (null, string, true);
-	super.javaToNative(buffer, transferData);
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-
-	if (transferData.pData == 0 || !(isSupportedType(transferData))) return null;
-	
-	int size = transferData.length;
-	if (size == 0) return null;
-	byte[] buffer = new byte[OS.strlen(transferData.pData)];
-	OS.memmove(buffer, transferData.pData, buffer.length);
-
-	// convert byte array to a string
-	char [] unicode = Converter.mbcsToWcs (null, buffer);
-	return new String (unicode);
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID};
-}
-boolean checkHTML(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-protected boolean validate(Object object) {
-	return checkHTML(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100755
index 47608ae..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/RTFTransfer.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.dnd;
-
- 
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.photon.OS;
-
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	private static RTFTransfer _instance = new RTFTransfer();
-	private static final String TYPENAME = "RTF";
-	private static final int TYPEID = registerType(TYPENAME);
-
-private RTFTransfer() {
-}
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-		if (!checkRTF(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte [] buffer = Converter.wcsToMbcs (null, string, true);
-	super.javaToNative(buffer, transferData);
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-
-	if (transferData.pData == 0 || !(isSupportedType(transferData))) return null;
-	
-	int size = transferData.length;
-	if (size == 0) return null;
-	byte[] buffer = new byte[OS.strlen(transferData.pData)];
-	OS.memmove(buffer, transferData.pData, buffer.length);
-
-	// convert byte array to a string
-	char [] unicode = Converter.mbcsToWcs (null, buffer);
-	return new String (unicode);
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID};
-}
-boolean checkRTF(Object object) {
-	return (object != null  && object instanceof String && ((String)object).length() > 0);
-}
-protected boolean validate(Object object) {
-	return checkRTF(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TableDragUnderEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TableDragUnderEffect.java
deleted file mode 100755
index 0ffbc3f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TableDragUnderEffect.java
+++ /dev/null
@@ -1,40 +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.dnd;
-
- 
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	private Table table;
-	
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-}
-Widget getItem(int x, int y) {
-	if (table == null) return null;
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	TableItem item = table.getItem(coordinates);
-	if (item != null) return item;
-	
-	Rectangle area = table.getClientArea();
-	for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-		coordinates = new Point(x1, y);
-		coordinates = table.toControl(coordinates);
-		item = table.getItem(coordinates);
-		if (item != null) return item;
-	}
-	return null;
-	
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100755
index a5a4a95..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TextTransfer.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.dnd;
-
- 
-import org.eclipse.swt.internal.Converter;
-import org.eclipse.swt.internal.photon.OS;
-
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	private static TextTransfer _instance = new TextTransfer();
-	private static final String TYPENAME = "TEXT";
-	private static final int TYPEID = registerType(TYPENAME);
-
-private TextTransfer() {
-}
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkText(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	byte [] buffer = Converter.wcsToMbcs (null, string, true);
-	super.javaToNative(buffer, transferData);
-}
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-
-	if (transferData.pData == 0 || !(isSupportedType(transferData))) return null;
-	
-	int size = transferData.length;
-	if (size == 0) return null;
-	byte[] buffer = new byte[OS.strlen(transferData.pData)];
-	OS.memmove(buffer, transferData.pData, buffer.length);
-
-	// convert byte array to a string
-	char [] unicode = Converter.mbcsToWcs (null, buffer);
-	return new String (unicode);
-}
-protected String[] getTypeNames(){
-	return new String[]{TYPENAME};
-}
-protected int[] getTypeIds(){
-	return new int[]{TYPEID};
-}
-boolean checkText(Object object) {
-	return (object != null  && object instanceof String && ((String)object).length() > 0);
-}
-protected boolean validate(Object object) {
-	return checkText(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100755
index f7ab645..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,148 +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.dnd;
-
- 
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName){
-	if (formatName == "TEXT") return 10;
-	if (formatName == "files") return 11;
-	if (formatName == "RTF") return 12;
-	return 0;
-}
-
-/**
- * Test that the object is of the correct format for this Transfer class.
- * 
- * @param object a java representation of the data to be converted
- * 
- * @return true if object is of the correct form for this transfer type
- * 
- * @since 3.1
- */
-protected boolean validate(Object object) {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100755
index ca25599..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TransferData.java
+++ /dev/null
@@ -1,80 +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.dnd;
-
- 
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int type;
-	
-	/**
-	 * Pointer to the data being transferred.  Data is of size 
-	 * <code>length</code> bytes.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int pData;
-	
-	/**
-	 * Specifies the number of bytes in pValue.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int length;
-	
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	public int result;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100644
index 1ea8a18..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/photon/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,39 +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.dnd;
-
- 
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-
-	private Tree tree;
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-}
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TreeItem item = tree.getItem(coordinates);
-	if (item != null) return item;
-
-	Rectangle area = tree.getClientArea();
-	for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-		coordinates = new Point(x1, y);
-		coordinates = tree.toControl(coordinates);
-		item = tree.getItem(coordinates);
-		if (item != null) return item;
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/ByteArrayTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/ByteArrayTransfer.java
deleted file mode 100755
index bed7691..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/ByteArrayTransfer.java
+++ /dev/null
@@ -1,214 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>ByteArrayTransfer</code> provides a platform specific 
- * mechanism for converting a java <code>byte[]</code> to a platform 
- * specific representation of the byte array and vice versa.  See 
- * <code>Transfer</code> for additional information.
- *
- * <p><code>ByteArrayTransfer</code> is never used directly but is sub-classed 
- * by transfer agents that convert between data in a java format such as a
- * <code>String</code> and a platform specific byte array.
- * 
- * <p>If the data you are converting <b>does not</b> map to a 
- * <code>byte[]</code>, you should sub-class <code>Transfer</code> directly 
- * and do your own mapping to a platform data type.</p>
- * 
- * <p>The following snippet shows a subclass of ByteArrayTransfer that transfers
- * data defined by the class <code>MyType</code>.</p>
- * 
- * <pre><code>
- * public class MyType {
- *	public String fileName;
- *	public long fileLength;
- *	public long lastModified;
- * }
- * </code></pre>
- * 
- * <pre><code>
- * public class MyTypeTransfer extends ByteArrayTransfer {
- *	
- *	private static final String MYTYPENAME = "my_type_name";
- *	private static final int MYTYPEID = registerType(MYTYPENAME);
- *	private static MyTypeTransfer _instance = new MyTypeTransfer();
- * 
- * private MyTypeTransfer() {}
- * 
- * public static MyTypeTransfer getInstance () {
- * 	return _instance;
- * }
- * public void javaToNative (Object object, TransferData transferData) {
- * 	if (object == null || !(object instanceof MyType[])) return;
- * 	
- * 	if (isSupportedType(transferData)) {
- * 		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 &lt; 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};
- * }
- * }
- * </code></pre>
- */
-public abstract class ByteArrayTransfer extends Transfer {
-
-public TransferData[] getSupportedTypes() {
-	int[] types = getTypeIds();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i];
-		data[i].formatetc = new FORMATETC();
-		data[i].formatetc.cfFormat = types[i];
-		data[i].formatetc.dwAspect = COM.DVASPECT_CONTENT;
-		data[i].formatetc.lindex = -1;
-		data[i].formatetc.tymed = COM.TYMED_HGLOBAL;	
-	}
-	return data;
-}
-
-public boolean isSupportedType(TransferData transferData){
-	if (transferData == null) return false;
-	int[] types = getTypeIds();
-	for (int i = 0; i < types.length; i++) {
-		FORMATETC format = transferData.formatetc;
-		if (format.cfFormat == types[i] &&
-		    (format.dwAspect & COM.DVASPECT_CONTENT) == COM.DVASPECT_CONTENT && 
-		    (format.tymed & COM.TYMED_HGLOBAL) == COM.TYMED_HGLOBAL  )
-		    return true;
-	}
-	return false;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a java 
- * <code>byte[]</code> to a platform specific representation.  For additional
- * information see <code>Transfer#javaToNative</code>.
- * 
- * @see Transfer#javaToNative
- * 
- * @param object a java <code>byte[]</code> containing the data to be converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-protected void javaToNative (Object object, TransferData transferData) {
-	if (!checkByteArray(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	// Allocate the memory because the caller (DropTarget) has not handed it in
-	// The caller of this method must release the data when it is done with it.
-	byte[] data = (byte[])object;
-	int size = data.length;
-	int newPtr = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, size);
-	OS.MoveMemory(newPtr, data, size);	
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.stgmedium.unionField = newPtr;
-	transferData.stgmedium.pUnkForRelease = 0;
-	transferData.result = COM.S_OK;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a byte array to a java <code>byte[]</code>.   
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @see Transfer#nativeToJava
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>byte[]</code> containing the converted data if the 
- * conversion was successful; otherwise null
- */
-protected Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0)  return null;
-	
-	IDataObject data = new IDataObject(transferData.pIDataObject);
-	data.AddRef();
-	FORMATETC formatetc = transferData.formatetc;
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	stgmedium.tymed = COM.TYMED_HGLOBAL;	
-	transferData.result = data.GetData(formatetc, stgmedium);
-	data.Release();
-	if (transferData.result != COM.S_OK) return null;
-	int hMem = stgmedium.unionField;
-	int size = OS.GlobalSize(hMem);
-	byte[] buffer = new byte[size];
-	int ptr = OS.GlobalLock(hMem);
-	OS.MoveMemory(buffer, ptr, size);
-	OS.GlobalUnlock(hMem);	
-	OS.GlobalFree(hMem);
-	return buffer;
-}
-
-boolean checkByteArray(Object object) {
-	return (object != null && object instanceof byte[] && ((byte[])object).length > 0);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Clipboard.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Clipboard.java
deleted file mode 100755
index a7a7ab7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Clipboard.java
+++ /dev/null
@@ -1,789 +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.dnd;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.internal.ole.win32.*;
-
-/**
- * The <code>Clipboard</code> provides a mechanism for transferring data from one
- * application to another or within an application.
- * 
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- */
-public class Clipboard {
-
-	private Display display;
-	
-	// ole interfaces
-	private COMObject iDataObject;
-	private int refCount;
-	private Transfer[] transferAgents = new Transfer[0];
-	private Object[] data = new Object[0];
-	private int CFSTR_PREFERREDDROPEFFECT;
-
-/**
- * Constructs a new instance of this class.  Creating an instance of a Clipboard
- * may cause system resources to be allocated depending on the platform.  It is therefore
- * mandatory that the Clipboard instance be disposed when no longer required.
- *
- * @param display the display on which to allocate the clipboard
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see Clipboard#dispose
- * @see Clipboard#checkSubclass
- */
-public Clipboard(Display display) {	
-	checkSubclass ();
-	if (display == null) {
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-	}
-	if (display.getThread() != Thread.currentThread()) {
-		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	}
-	this.display = display;
-	TCHAR chFormatName = new TCHAR(0, "Preferred DropEffect", true); //$NON-NLS-1$
-	CFSTR_PREFERREDDROPEFFECT = OS.RegisterClipboardFormat(chFormatName);
-	createCOMInterfaces();
-	this.AddRef();
-}
-
-/**
- * Checks that this class can be subclassed.
- * <p>
- * The SWT class library is intended to be subclassed 
- * only at specific, controlled points. This method enforces this
- * rule unless it is overridden.
- * </p><p>
- * <em>IMPORTANT:</em> By providing an implementation of this
- * method that allows a subclass of a class which does not 
- * normally allow subclassing to be created, the implementer
- * agrees to be fully responsible for the fact that any such
- * subclass will likely fail between SWT releases and will be
- * strongly platform specific. No support is provided for
- * user-written classes which are implemented in this fashion.
- * </p><p>
- * The ability to subclass outside of the allowed SWT classes
- * is intended purely to enable those not on the SWT development
- * team to implement patches in order to get around specific
- * limitations in advance of when those limitations can be
- * addressed by the team. Subclassing should not be attempted
- * without an intimate and detailed understanding of the hierarchy.
- * </p>
- *
- * @exception SWTException <ul>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- */
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = Clipboard.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Throws an <code>SWTException</code> if the receiver can not
- * be accessed by the caller. This may include both checks on
- * the state of the receiver and more generally on the entire
- * execution context. This method <em>should</em> be called by
- * widget implementors to enforce the standard SWT invariants.
- * <p>
- * Currently, it is an error to invoke any method (other than
- * <code>isDisposed()</code>) on a widget that has had its 
- * <code>dispose()</code> method called. It is also an error
- * to call widget methods from any thread that is different
- * from the thread that created the widget.
- * </p><p>
- * In future releases of SWT, there may be more or fewer error
- * checks and exceptions may be thrown for different reasons.
- * </p>
- *
- * @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>
- */
-protected void checkWidget () {
-	Display display = this.display;
-	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);
-	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);
-	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the system clipboard,
- * clear the contents.  If this clipboard is not the owner, then nothing is done.
- * Note that there are clipboard assistant applications that take ownership of 
- * data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.
- * 
- * @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>
- * 
- * @since 3.1
- */
-public void clearContents() {
-	clearContents(DND.CLIPBOARD);
-}
-
-/**
- * If this clipboard is currently the owner of the data on the specified 
- * clipboard, clear the contents.  If this clipboard is not the owner, then 
- * nothing is done.
- * 
- * <p>Note that there are clipboard assistant applications that take ownership
- * of data or make copies of data when it is placed on the clipboard.  In these 
- * cases, it may not be possible to clear the clipboard.</p>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards to be cleared
- * 
- * @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>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void clearContents(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) != 0) {
-		/* OleIsCurrentClipboard([in] pDataObject)
-		 * The argument pDataObject is owned by the caller so reference count does not
-		 * need to be incremented.
-		 */
-		if (COM.OleIsCurrentClipboard(this.iDataObject.getAddress()) == COM.S_OK) {
-			/* OleSetClipboard([in] pDataObject)
-			 * The argument pDataObject is owned by the caller so reference count does not
-			 * need to be incremented.
-			 */
-			COM.OleSetClipboard(0);
-		}
-	}
-}
-
-/**
- * Disposes of the operating system resources associated with the clipboard. 
- * The data will still be available on the system clipboard after the dispose 
- * method is called.  
- * 
- * <p>NOTE: On some platforms the data will not be available once the application
- * has exited or the display has been disposed.</p>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- */
-public void dispose () {
-	if (isDisposed()) return;
-	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);
-	/* OleIsCurrentClipboard([in] pDataObject)
-	 * The argument pDataObject is owned by the caller so reference count does not
-	 * need to be incremented.
-	 */
-	if (COM.OleIsCurrentClipboard(this.iDataObject.getAddress()) == COM.S_OK) {
-		COM.OleFlushClipboard();
-	}	
-	this.Release();
-	display = null;
-}
-
-/**
- * Retrieve the data of the specified type currently available on the system 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- */
-public Object getContents(Transfer transfer) {
-	return getContents(transfer, DND.CLIPBOARD);
-}
-/**
- * Retrieve the data of the specified type currently available on the specified 
- * clipboard.  Refer to the specific subclass of <code>Transfer</code> to 
- * determine the type of object returned.
- * 
- * <p>The following snippet shows text and RTF text being retrieved from the 
- * clipboard:</p>
- * 
- *    <code><pre>
- *    Clipboard clipboard = new Clipboard(display);
- *    TextTransfer textTransfer = TextTransfer.getInstance();
- *    String textData = (String)clipboard.getContents(textTransfer);
- *    if (textData != null) System.out.println("Text is "+textData);
- *    RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *    String rtfData = (String)clipboard.getContents(rtfTransfer, DND.CLIPBOARD);
- *    if (rtfData != null) System.out.println("RTF Text is "+rtfData);
- *    clipboard.dispose();
- *    </code></pre>
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param transfer the transfer agent for the type of data being requested
- * @param clipboards on which to look for data
- *  
- * @return the data obtained from the clipboard or null if no data of this type is available
- * 
- * @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>
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li>
- * </ul>
- * 
- * @see Transfer
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public Object getContents(Transfer transfer, int clipboards) {
-	checkWidget();
-	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	if ((clipboards & DND.CLIPBOARD) == 0) return null;
-	/*
-	* Bug in Windows. When a new application takes control
-	* of the clipboard, other applications may open the 
-	* clipboard to determine if they want to record the 
-	* clipoard updates.  When this happens, the clipboard 
-	* can not be accessed until the other application is
-	* finished.  To allow the other applications to release
-	* the clipboard, use PeekMessage() to enable cross thread
-	* message sends.
-	*/
-	int[] ppv = new int[1];
-	int retryCount = 0;
-	/* OleGetClipboard([out] ppDataObject).
-	 * AddRef has already been called on ppDataObject by the callee and must be released by the caller.
-	 */
-	int result = COM.OleGetClipboard(ppv);
-	while (result != COM.S_OK && retryCount++ < 10) {
-		try {Thread.sleep(50);} catch (Throwable t) {}
-		MSG msg = new MSG();
-		OS.PeekMessage(msg, 0, 0, 0, OS.PM_NOREMOVE | OS.PM_NOYIELD);
-		result = COM.OleGetClipboard(ppv);
-	}
-	if (result != COM.S_OK) return null;
-	IDataObject dataObject = new IDataObject(ppv[0]);
-	try {
-		TransferData[] allowed = transfer.getSupportedTypes();
-		for (int i = 0; i < allowed.length; i++) {
-			if (dataObject.QueryGetData(allowed[i].formatetc) == COM.S_OK) {
-				TransferData data = allowed[i];
-				data.pIDataObject = ppv[0];
-				return transfer.nativeToJava(data);
-			}
-		}		
-	} finally {
-		dataObject.Release();
-	}
-	return null; // No data available for this transfer
-}
-/**
- * Returns <code>true</code> if the clipboard has been disposed,
- * and <code>false</code> otherwise.
- * <p>
- * This method gets the dispose state for the clipboard.
- * When a clipboard has been disposed, it is an error to
- * invoke any other method using the clipboard.
- * </p>
- *
- * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
- * 
- * @since 3.0
- */
-public boolean isDisposed () {
-	return (display == null);
-}
-
-/**
- * Place data of the specified type on the system clipboard.  More than one type
- * of data can be placed on the system clipboard at the same time.  Setting the
- * data clears any previous data from the system clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the system
- * clipboard but on other platforms it is provided upon request.  As a result,
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- */
-public void setContents(Object[] data, Transfer[] dataTypes) {
-	setContents(data, dataTypes, DND.CLIPBOARD);
-}
-
-/**
- * Place data of the specified type on the specified clipboard.  More than one 
- * type of data can be placed on the specified clipboard at the same time.
- * Setting the data clears any previous data from the specified
- * clipboard, regardless of type.
- * 
- * <p>NOTE: On some platforms, the data is immediately copied to the specified
- * clipboard but on other platforms it is provided upon request.  As a result, 
- * if the application modifes the data object it has set on the clipboard, that 
- * modification may or may not be available when the data is subsequently 
- * requested.</p>
- *
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * <p>The following snippet shows text and RTF text being set on the copy/paste
- * clipboard:
- * </p>
- * 
- * <code><pre>
- * 	Clipboard clipboard = new Clipboard(display);
- *	String textData = "Hello World";
- *	String rtfData = "{\\rtf1\\b\\i Hello World}";
- *	TextTransfer textTransfer = TextTransfer.getInstance();
- *	RTFTransfer rtfTransfer = RTFTransfer.getInstance();
- *	Transfer[] transfers = new Transfer[]{textTransfer, rtfTransfer};
- *	Object[] data = new Object[]{textData, rtfData};
- *	clipboard.setContents(data, transfers, DND.CLIPBOARD);
- *	clipboard.dispose();
- * </code></pre>
- *
- * @param data the data to be set in the clipboard
- * @param dataTypes the transfer agents that will convert the data to its 
- * platform specific format; each entry in the data array must have a 
- * corresponding dataType
- * @param clipboards on which to set the data
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null 
- *          or the length of data is not the same as the length of dataTypes</li>
- * </ul>
- * @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>
- *  @exception SWTError <ul>
- *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_SET_CLIPBOARD should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public void setContents(Object[] data, Transfer[] dataTypes, int clipboards) {
-	checkWidget();
-	if (data == null || dataTypes == null || data.length != dataTypes.length || data.length == 0) {
-		DND.error(SWT.ERROR_INVALID_ARGUMENT);
-	}
-	for (int i = 0; i < data.length; i++) {
-		if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) {
-			DND.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-	}
-	if ((clipboards & DND.CLIPBOARD) == 0) return;
-	this.data = data;
-	this.transferAgents = dataTypes;
-	/* OleSetClipboard([in] pDataObject)
-	 * The argument pDataObject is owned by the caller so the reference count does not
-	 * need to be incremented.
-	 */
-	int result = COM.OleSetClipboard(iDataObject.getAddress());
-	
-	/*
-	* Bug in Windows. When a new application takes control
-	* of the clipboard, other applications may open the 
-	* clipboard to determine if they want to record the 
-	* clipoard updates.  When this happens, the clipboard 
-	* can not be flushed until the other application is
-	* finished.  To allow other applications to get the
-	* data, use PeekMessage() to enable cross thread
-	* message sends.
-	*/
-	int retryCount = 0;
-	while (result != COM.S_OK && retryCount++ < 10) {
-		try {Thread.sleep(50);} catch (Throwable t) {}
-		MSG msg = new MSG();
-		OS.PeekMessage(msg, 0, 0, 0, OS.PM_NOREMOVE | OS.PM_NOYIELD);
-		result = COM.OleSetClipboard(iDataObject.getAddress());
-	}
-	if (result != COM.S_OK) {
-		DND.error(DND.ERROR_CANNOT_SET_CLIPBOARD);
-	}
-}
-private int AddRef() {
-	refCount++;
-	return refCount;
-}
-private void createCOMInterfaces() {
-	// register each of the interfaces that this object implements
-	iDataObject = new COMObject(new int[]{2, 0, 0, 2, 2, 1, 2, 3, 2, 4, 1, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return GetData(args[0], args[1]);}
-		// method4 GetDataHere - not implemented 
-		public int method5(int[] args) {return QueryGetData(args[0]);}
-		// method6 GetCanonicalFormatEtc - not implemented
-		// method7 SetData - not implemented
-		public int method8(int[] args) {return EnumFormatEtc(args[0], args[1]);}
-		// method9 DAdvise - not implemented
-		// method10 DUnadvise - not implemented
-		// method11 EnumDAdvise - not implemented
-	};
-}
-private void disposeCOMInterfaces() {
-	if (iDataObject != null)
-		iDataObject.dispose();
-	iDataObject = null;
-}
-/*
- * EnumFormatEtc([in] dwDirection, [out] ppenumFormatetc)
- * Ownership of ppenumFormatetc transfers from callee to caller so reference count on ppenumFormatetc 
- * must be incremented before returning.  Caller is responsible for releasing ppenumFormatetc.
- */
-private int EnumFormatEtc(int dwDirection, int ppenumFormatetc) {
-	// only allow getting of data - SetData is not currently supported
-	if (dwDirection == COM.DATADIR_SET) return COM.E_NOTIMPL;
-	// what types have been registered?
-	TransferData[] allowedDataTypes = new TransferData[0];
-	for (int i = 0; i < transferAgents.length; i++){
-		TransferData[] formats = transferAgents[i].getSupportedTypes();
-		TransferData[] newAllowedDataTypes = new TransferData[allowedDataTypes.length + formats.length];
-		System.arraycopy(allowedDataTypes, 0, newAllowedDataTypes, 0, allowedDataTypes.length);
-		System.arraycopy(formats, 0, newAllowedDataTypes, allowedDataTypes.length, formats.length);
-		allowedDataTypes = newAllowedDataTypes;
-	}
-	OleEnumFORMATETC enumFORMATETC = new OleEnumFORMATETC();
-	enumFORMATETC.AddRef();
-	FORMATETC[] formats = new FORMATETC[allowedDataTypes.length + 1];
-	for (int i = 0; i < allowedDataTypes.length; i++){
-		formats[i] = allowedDataTypes[i].formatetc;
-	}
-	// include the drop effect format to specify a copy operation
-	FORMATETC dropeffect = new FORMATETC();
-	dropeffect.cfFormat = CFSTR_PREFERREDDROPEFFECT;
-	dropeffect.dwAspect = COM.DVASPECT_CONTENT;
-	dropeffect.lindex = -1;
-	dropeffect.tymed = COM.TYMED_HGLOBAL;
-	formats[formats.length -1] = dropeffect;
-	enumFORMATETC.setFormats(formats);	
-	OS.MoveMemory(ppenumFormatetc, new int[] {enumFORMATETC.getAddress()}, 4);
-	return COM.S_OK;
-}
-private int GetData(int pFormatetc, int pmedium) {
-	/* Called by a data consumer to obtain data from a source data object. 
-	   The GetData method renders the data described in the specified FORMATETC 
-	   structure and transfers it through the specified STGMEDIUM structure. 
-	   The caller then assumes responsibility for releasing the STGMEDIUM structure.
-	*/
-	if (pFormatetc == 0 || pmedium == 0) return COM.E_INVALIDARG;
-	if (QueryGetData(pFormatetc) != COM.S_OK) return COM.DV_E_FORMATETC;
-
-	TransferData transferData = new TransferData();
-	transferData.formatetc = new FORMATETC();
-	COM.MoveMemory(transferData.formatetc, pFormatetc, FORMATETC.sizeof);
-	transferData.type = transferData.formatetc.cfFormat;
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.result = COM.E_FAIL;
-
-	if (transferData.type == CFSTR_PREFERREDDROPEFFECT) {
-		// specify that a copy operation is to be performed
-		STGMEDIUM stgmedium = new STGMEDIUM();
-		stgmedium.tymed = COM.TYMED_HGLOBAL;
-		stgmedium.unionField = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, 4);
-		OS.MoveMemory(stgmedium.unionField, new int[] {COM.DROPEFFECT_COPY}, 4);
-		stgmedium.pUnkForRelease = 0;
-		COM.MoveMemory(pmedium, stgmedium, STGMEDIUM.sizeof);
-		return COM.S_OK;
-	}
-		
-	// get matching transfer agent to perform conversion
-	int transferIndex = -1;
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData)){
-			transferIndex = i;
-			break;
-		}
-	}
-	if (transferIndex == -1) return COM.DV_E_FORMATETC;
-	transferAgents[transferIndex].javaToNative(data[transferIndex], transferData);
-	COM.MoveMemory(pmedium, transferData.stgmedium, STGMEDIUM.sizeof);
-	return transferData.result;
-}
-
-private int QueryGetData(int pFormatetc) {
-	if (transferAgents == null) return COM.E_FAIL;
-	TransferData transferData = new TransferData();
-	transferData.formatetc = new FORMATETC();
-	COM.MoveMemory(transferData.formatetc, pFormatetc, FORMATETC.sizeof);
-	transferData.type = transferData.formatetc.cfFormat;
-	if (transferData.type == CFSTR_PREFERREDDROPEFFECT) return COM.S_OK;
-	// is this type supported by the transfer agent?
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData))
-			return COM.S_OK;
-	}
-	
-	return COM.DV_E_FORMATETC;
-}
-/* QueryInterface([in] iid, [out] ppvObject)
- * Ownership of ppvObject transfers from callee to caller so reference count on ppvObject 
- * must be incremented before returning.  Caller is responsible for releasing ppvObject.
- */
-private int QueryInterface(int riid, int 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.IIDIDataObject) ) {
-		OS.MoveMemory(ppvObject, new int[] {iDataObject.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	OS.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-private int Release() {
-	refCount--;
-	if (refCount == 0) {
-		this.data = new Object[0];
-		this.transferAgents = new Transfer[0];
-		disposeCOMInterfaces();
-		COM.CoFreeUnusedLibraries();
-	}
-	return refCount;
-}
-
-/**
- * Returns an array of the data types currently available on the system 
- * clipboard. Use with Transfer.isSupportedType.
- *
- * @return array of data types currently available on the system clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * 
- * @since 3.0
- */
-public TransferData[] getAvailableTypes() {
-	return getAvailableTypes(DND.CLIPBOARD);
-}
-
-/**
- * Returns an array of the data types currently available on the specified 
- * clipboard. Use with Transfer.isSupportedType.
- * 
- * <p>The clipboards value is either one of the clipboard constants defined in
- * class <code>DND</code>, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DND</code> clipboard constants.</p>
- * 
- * @param clipboards from which to get the data types
- * @return array of data types currently available on the specified clipboard
- * 
- * @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>
- *
- * @see Transfer#isSupportedType
- * @see DND#CLIPBOARD
- * @see DND#SELECTION_CLIPBOARD
- * 
- * @since 3.1
- */
-public TransferData[] getAvailableTypes(int clipboards) {
-	checkWidget();
-	if ((clipboards & DND.CLIPBOARD) == 0) return new TransferData[0];
-	FORMATETC[] types = _getAvailableTypes();
-	TransferData[] data = new TransferData[types.length];
-	for (int i = 0; i < types.length; i++) {
-		data[i] = new TransferData();
-		data[i].type = types[i].cfFormat;
-		data[i].formatetc = types[i];
-	}
-	return data;
-}
-
-/**
- * Returns a platform specific list of the data types currently available on the 
- * system clipboard.
- * 
- * <p>Note: <code>getAvailableTypeNames</code> is a utility for writing a Transfer 
- * sub-class.  It should NOT be used within an application because it provides 
- * platform specific information.</p>
- * 
- * @return a platform specific list of the data types currently available on the 
- * system clipboard
- * 
- * @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 String[] getAvailableTypeNames() {
-	checkWidget();
-	FORMATETC[] types = _getAvailableTypes();
-	String[] names = new String[types.length];
-	int maxSize = 128;
-	for (int i = 0; i < types.length; i++){
-		TCHAR buffer = new TCHAR(0, maxSize);
-		int size = OS.GetClipboardFormatName(types[i].cfFormat, buffer, maxSize);
-		if (size != 0) {
-			names[i] = buffer.toString(0, size);
-		} else {
-			switch (types[i].cfFormat) {
-				case COM.CF_HDROP: names[i] = "CF_HDROP"; break; //$NON-NLS-1$
-				case COM.CF_TEXT: names[i] = "CF_TEXT"; break; //$NON-NLS-1$
-				case COM.CF_BITMAP: names[i] = "CF_BITMAP"; break; //$NON-NLS-1$
-				case COM.CF_METAFILEPICT: names[i] = "CF_METAFILEPICT"; break; //$NON-NLS-1$
-				case COM.CF_SYLK: names[i] = "CF_SYLK"; break; //$NON-NLS-1$
-				case COM.CF_DIF: names[i] = "CF_DIF"; break; //$NON-NLS-1$
-				case COM.CF_TIFF: names[i] = "CF_TIFF"; break; //$NON-NLS-1$
-				case COM.CF_OEMTEXT: names[i] = "CF_OEMTEXT"; break; //$NON-NLS-1$
-				case COM.CF_DIB: names[i] = "CF_DIB"; break; //$NON-NLS-1$
-				case COM.CF_PALETTE: names[i] = "CF_PALETTE"; break; //$NON-NLS-1$
-				case COM.CF_PENDATA: names[i] = "CF_PENDATA"; break; //$NON-NLS-1$
-				case COM.CF_RIFF: names[i] = "CF_RIFF"; break; //$NON-NLS-1$
-				case COM.CF_WAVE: names[i] = "CF_WAVE"; break; //$NON-NLS-1$
-				case COM.CF_UNICODETEXT: names[i] = "CF_UNICODETEXT"; break; //$NON-NLS-1$
-				case COM.CF_ENHMETAFILE: names[i] = "CF_ENHMETAFILE"; break; //$NON-NLS-1$
-				case COM.CF_LOCALE: names[i] = "CF_LOCALE"; break; //$NON-NLS-1$
-				case COM.CF_MAX: names[i] = "CF_MAX"; break; //$NON-NLS-1$
-				default: names[i] = "UNKNOWN"; //$NON-NLS-1$
-			}
-		}
-	}
-	return names;
-}
-
-private FORMATETC[] _getAvailableTypes() {
-	FORMATETC[] types = new FORMATETC[0];
-	int[] ppv = new int[1];
-	/* OleGetClipboard([out] ppDataObject).
-	 * AddRef has already been called on ppDataObject by the callee and must be released by the caller.
-	 */
-	if (COM.OleGetClipboard(ppv) != COM.S_OK) return types;
-	IDataObject dataObject = new IDataObject(ppv[0]);
-	int[] ppFormatetc = new int[1];
-	/* EnumFormatEtc([in] dwDirection, [out] ppenumFormatetc) 
-	 * AddRef has already been called on ppenumFormatetc by the callee and must be released by the caller. 
-	 */
-	int rc = dataObject.EnumFormatEtc(COM.DATADIR_GET, ppFormatetc);
-	dataObject.Release();
-	if (rc != COM.S_OK)return types;
-	IEnumFORMATETC enumFormatetc = new IEnumFORMATETC(ppFormatetc[0]);
-	// Loop over enumerator and save any types that match what we are looking for
-	int rgelt = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, FORMATETC.sizeof);
-	int[] pceltFetched = new int[1];
-	enumFormatetc.Reset();
-	while (enumFormatetc.Next(1, rgelt, pceltFetched) == COM.S_OK && pceltFetched[0] == 1) {
-		FORMATETC formatetc = new FORMATETC();
-		COM.MoveMemory(formatetc, rgelt, FORMATETC.sizeof);
-		FORMATETC[] newTypes = new FORMATETC[types.length + 1];
-		System.arraycopy(types, 0, newTypes, 0, types.length);
-		newTypes[types.length] = formatetc;
-		types = newTypes;
-	}
-	OS.GlobalFree(rgelt);
-	enumFormatetc.Release();
-	return types;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DragSource.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DragSource.java
deleted file mode 100755
index 7a27761..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DragSource.java
+++ /dev/null
@@ -1,648 +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.dnd;
-
- 
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- *
- * <code>DragSource</code> defines the source object for a drag and drop transfer.
- *
- * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p>
- *  
- * <p>A drag source is the object which originates a drag and drop operation. For the specified widget, 
- * it defines the type of data that is available for dragging and the set of operations that can 
- * be performed on that data.  The operations can be any bit-wise combination of DND.MOVE, DND.COPY or 
- * DND.LINK.  The type of data that can be transferred is specified by subclasses of Transfer such as 
- * TextTransfer or FileTransfer.  The type of data transferred can be a predefined system type or it 
- * can be a type defined by the application.  For instructions on how to define your own transfer type,
- * refer to <code>ByteArrayTransfer</code>.</p>
- *
- * <p>You may have several DragSources in an application but you can only have one DragSource 
- * per Control.  Data dragged from this DragSource can be dropped on a site within this application 
- * or it can be dropped on another application such as an external Text editor.</p>
- * 
- * <p>The application supplies the content of the data being transferred by implementing the
- * <code>DragSourceListener</code> and associating it with the DragSource via DragSource#addDragListener.</p>
- * 
- * <p>When a successful move operation occurs, the application is required to take the appropriate 
- * action to remove the data from its display and remove any associated operating system resources or
- * internal references.  Typically in a move operation, the drop target makes a copy of the data 
- * and the drag source deletes the original.  However, sometimes copying the data can take a long 
- * time (such as copying a large file).  Therefore, on some platforms, the drop target may actually 
- * move the data in the operating system rather than make a copy.  This is usually only done in 
- * file transfers.  In this case, the drag source is informed in the DragEnd event that a
- * DROP_TARGET_MOVE was performed.  It is the responsibility of the drag source at this point to clean 
- * up its displayed information.  No action needs to be taken on the operating system resources.</p>
- *
- * <p> The following example shows a Label widget that allows text to be dragged from it.</p>
- * 
- * <code><pre>
- *	// Enable a label as a Drag Source
- *	Label label = new Label(shell, SWT.NONE);
- *	// This example will allow text to be dragged
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	// This example will allow the text to be copied or moved to the drop target
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY;
- *	
- *	DragSource source = new DragSource(label, operations);
- *	source.setTransfer(types);
- *	source.addDragListener(new DragSourceListener() {
- *		public void dragStart(DragSourceEvent e) {
- *			// Only start the drag if there is actually text in the
- *			// label - this text will be what is dropped on the target.
- *			if (label.getText().length() == 0) {
- *				event.doit = false;
- *			}
- *		};
- *		public void dragSetData(DragSourceEvent event) {
- *			// A drop has been performed, so provide the data of the 
- *			// requested type.
- *			// (Checking the type of the requested data is only 
- *			// necessary if the drag source supports more than 
- *			// one data type but is shown here as an example).
- *			if (TextTransfer.getInstance().isSupportedType(event.dataType)){
- *				event.data = label.getText();
- *			}
- *		}
- *		public void dragFinished(DragSourceEvent event) {
- *			// A Move operation has been performed so remove the data
- *			// from the source
- *			if (event.detail == DND.DROP_MOVE)
- *				label.setText("");
- *		}
- *	});
- * </pre></code>
- *
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragStart, DND.DragSetData, DND.DragEnd</dd>
- * </dl>
- */
-public class DragSource extends Widget {
-
-	// info for registering as a drag source
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-	Composite topControl;
-	
-	// ole interfaces
-	COMObject iDropSource;
-	COMObject iDataObject;
-	int refCount;
-	
-	//workaround - track the operation performed by the drop target for DragEnd event
-	int dataEffect = DND.DROP_NONE;	
-	
-	static final String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$
-	static final int CFSTR_PERFORMEDDROPEFFECT  = Transfer.registerType("Performed DropEffect");	 //$NON-NLS-1$
-
-/**
- * Creates a new <code>DragSource</code> to handle dragging from the specified <code>Control</code>.
- * Creating an instance of a DragSource may cause system resources to be allocated depending on the platform.  
- * It is therefore mandatory that the DragSource instance be disposed when no longer required.
- *
- * @param control the <code>Control</code> that the user clicks on to initiate the drag
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *					DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DRAG - unable to initiate drag source; this will occur if more than one
- *        drag source is created for a control or if the operating system will not allow the creation
- *        of the drag source</li>
- * </ul>
- * 
- * <p>NOTE: ERROR_CANNOT_INIT_DRAG should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DragSource#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DragSource(Control control, int style) {
-	super(control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DRAGSOURCEID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DRAG);
-	}
-	control.setData(DRAGSOURCEID, this);
-	createCOMInterfaces();
-	this.AddRef();
-
-	controlListener = new Listener() {
-		public void handleEvent(Event event) {
-			if (event.type == SWT.Dispose) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.dispose();
-				}
-			}
-			if (event.type == SWT.DragDetect) {
-				if (!DragSource.this.isDisposed()) {
-					DragSource.this.drag(event);
-				}
-			}
-		}
-	};
-	control.addListener(SWT.Dispose, controlListener);
-	control.addListener(SWT.DragDetect, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener() {
-		public void handleEvent(Event e) {
-			DragSource.this.onDispose();
-		}
-	});
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-}
-
-static int checkStyle(int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DragSourceListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragStart</code> is called when the user has begun the actions required to drag the widget. 
- * This event gives the application the chance to decide if a drag should be started.
- * <li><code>dragSetData</code> is called when the data is required from the drag source.
- * <li><code>dragFinished</code> is called when the drop has successfully completed (mouse up 
- * over a valid target) or has been terminated (such as hitting the ESC key). Perform cleanup 
- * such as removing data from the source side on a successful move operation.
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #removeDragListener
- * @see DragSourceEvent
- */
-public void addDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener(listener);
-	addListener(DND.DragStart, typedListener);
-	addListener(DND.DragSetData, typedListener);
-	addListener(DND.DragEnd, typedListener);
-}
-
-private int AddRef() {
-	refCount++;
-	return refCount;
-}
-
-private void createCOMInterfaces() {
-	// register each of the interfaces that this object implements
-	iDropSource = new COMObject(new int[]{2, 0, 0, 2, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return QueryContinueDrag(args[0], args[1]);}
-		public int method4(int[] args) {return GiveFeedback(args[0]);}
-	};
-	
-	iDataObject = new COMObject(new int[]{2, 0, 0, 2, 2, 1, 2, 3, 2, 4, 1, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return GetData(args[0], args[1]);}
-		// method4 GetDataHere - not implemented
-		public int method5(int[] args) {return QueryGetData(args[0]);}
-		// method6 GetCanonicalFormatEtc - not implemented
-		public int method7(int[] args) {return SetData(args[0], args[1], args[2]);}
-		public int method8(int[] args) {return EnumFormatEtc(args[0], args[1]);}
-		// method9 DAdvise - not implemented
-		// method10 DUnadvise - not implemented
-		// method11 EnumDAdvise - not implemented
-	};
-}
-
-protected void checkSubclass() {
-	String name = getClass().getName();
-	String validName = DragSource.class.getName();
-	if (!validName.equals(name)) {
-		DND.error(SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-private void disposeCOMInterfaces() {
-	if (iDropSource != null)
-		iDropSource.dispose();
-	iDropSource = null;
-
-	if (iDataObject != null)
-		iDataObject.dispose();
-	iDataObject = null;
-}
-
-private void drag(Event dragEvent) {
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.x = dragEvent.x;
-	event.y = dragEvent.y;
-	event.time = OS.GetMessageTime();
-	event.doit = true;
-	notifyListeners(DND.DragStart,event);
-	if (!event.doit || transferAgents == null || transferAgents.length == 0 ) return;
-	
-	int[] pdwEffect = new int[1];
-	int operations = opToOs(getStyle());
-	Display display = control.getDisplay();
-	String key = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$
-	Object oldValue = display.getData(key);
-	display.setData(key, new Boolean(true));
-	ImageData imageData = effect.getDragSourceImage(dragEvent.x, dragEvent.y);
-	Image image = null;
-	int imagelist = 0;
-	if (imageData != null) {
-		image = new Image(display, imageData);
-		imagelist = createImageList(image);
-		if (imagelist != 0) {
-			topControl = control.getShell();
-			OS.ImageList_BeginDrag(imagelist, 0, 0, 0);
-			Point location = topControl.getLocation();
-			OS.ImageList_DragEnter(topControl.handle, dragEvent.x - location.x, dragEvent.y - location.y);
-		}
-	}
-	int result = COM.DoDragDrop(iDataObject.getAddress(), iDropSource.getAddress(), operations, pdwEffect);
-	if (imagelist != 0) {
-		OS.ImageList_DragLeave(topControl.handle);
-		OS.ImageList_EndDrag();
-		OS.ImageList_Destroy(imagelist);
-		imagelist = 0;
-		topControl = null;
-	}
-	if (image != null) {
-		image.dispose();
-	}
-	display.setData(key, oldValue);
-	int operation = osToOp(pdwEffect[0]);
-	if (dataEffect == DND.DROP_MOVE) {
-		operation = (operation == DND.DROP_NONE || operation == DND.DROP_COPY) ? DND.DROP_TARGET_MOVE : DND.DROP_MOVE;
-	} else {
-		if (dataEffect != DND.DROP_NONE) {
-			operation = dataEffect;
-		}
-	}
-	event = new DNDEvent();
-	event.widget = this;
-	event.time = OS.GetMessageTime();
-	event.doit = (result == COM.DRAGDROP_S_DROP);
-	event.detail = operation;
-	notifyListeners(DND.DragEnd,event);
-	dataEffect = DND.DROP_NONE;
-}
-int createImageList(Image image) {
-	int flags = OS.ILC_MASK;
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		flags |= OS.ILC_COLOR32;
-	} else {
-		int hDC = OS.GetDC (0);
-		int bits = OS.GetDeviceCaps (hDC, OS.BITSPIXEL);
-		int planes = OS.GetDeviceCaps (hDC, OS.PLANES);
-		OS.ReleaseDC (0, hDC);
-		int depth = bits * planes;
-		switch (depth) {
-			case 4: flags |= OS.ILC_COLOR4; break;
-			case 8: flags |= OS.ILC_COLOR8; break;
-			case 16: flags |= OS.ILC_COLOR16; break;
-			case 24: flags |= OS.ILC_COLOR24; break;
-			case 32: flags |= OS.ILC_COLOR32; break;
-			default: flags |= OS.ILC_COLOR; break;
-		}
-	}
-	if ((control.getStyle() & SWT.RIGHT_TO_LEFT) != 0) flags |= OS.ILC_MIRROR;
-	Rectangle bounds = image.getBounds();
-	int cx = bounds.width, cy = bounds.height;
-	int imageList = OS.ImageList_Create(cx, cy, flags, 0, 1);
-	int hImage = image.handle;
-	switch (image.type) {
-		case SWT.BITMAP: {
-			int background = control.getBackground().handle;
-			OS.ImageList_AddMasked(imageList, hImage, background);
-			break;
-		}
-		case SWT.ICON: {
-			int hDC = OS.GetDC(0);
-			int bitmap = OS.CreateCompatibleBitmap(hDC, cx, cy);
-			int hDC1 = OS.CreateCompatibleDC(hDC);
-			int hOldBitmap = OS.SelectObject(hDC1, bitmap);
-			int hIcon = OS.CopyImage(image.handle, OS.IMAGE_ICON, cx, cy, 0);
-			OS.DrawIconEx(hDC1, 0, 0, hIcon, 0, 0, 0, 0, OS.DI_NORMAL);
-			OS.DestroyIcon(hIcon);
-			OS.SelectObject(hDC1, hOldBitmap);
-			ImageData imageData = image.getImageData();
-			int background = imageData.transparentPixel;
-			OS.ImageList_AddMasked(imageList, bitmap, background);
-			OS.DeleteObject(bitmap);
-			OS.DeleteDC (hDC1);
-			OS.ReleaseDC (0, hDC);
-			break;
-		}
-		default: {
-			OS.ImageList_Destroy(imageList);
-			imageList = 0;
-		}
-	}
-	return imageList;
-}
-/* 
- * EnumFormatEtc([in] dwDirection, [out] ppenumFormatetc)
- * Ownership of ppenumFormatetc transfers from callee to caller so reference count on ppenumFormatetc 
- * must be incremented before returning.  Caller is responsible for releasing ppenumFormatetc.
- */
-private int EnumFormatEtc(int dwDirection, int ppenumFormatetc) {
-	// only allow getting of data - SetData is not currently supported
-	if (dwDirection == COM.DATADIR_SET) return COM.E_NOTIMPL;
-
-	// what types have been registered?
-	TransferData[] allowedDataTypes = new TransferData[0];
-	for (int i = 0; i < transferAgents.length; i++){
-		TransferData[] formats = transferAgents[i].getSupportedTypes();
-		TransferData[] newAllowedDataTypes = new TransferData[allowedDataTypes.length + formats.length];
-		System.arraycopy(allowedDataTypes, 0, newAllowedDataTypes, 0, allowedDataTypes.length);
-		System.arraycopy(formats, 0, newAllowedDataTypes, allowedDataTypes.length, formats.length);
-		allowedDataTypes = newAllowedDataTypes;
-	}
-	
-	OleEnumFORMATETC enumFORMATETC = new OleEnumFORMATETC();
-	enumFORMATETC.AddRef();
-	
-	FORMATETC[] formats = new FORMATETC[allowedDataTypes.length];
-	for (int i = 0; i < formats.length; i++){
-		formats[i] = allowedDataTypes[i].formatetc;
-	}
-	enumFORMATETC.setFormats(formats);
-	
-	OS.MoveMemory(ppenumFormatetc, new int[] {enumFORMATETC.getAddress()}, 4);
-	return COM.S_OK;
-}
-/**
- * Returns the Control which is registered for this DragSource.  This is the control that the 
- * user clicks in to initiate dragging.
- *
- * @return the Control which is registered for this DragSource
- */
-public Control getControl() {
-	return control;
-}
-
-private int GetData(int pFormatetc, int pmedium) {
-	/* Called by a data consumer to obtain data from a source data object. 
-	   The GetData method renders the data described in the specified FORMATETC 
-	   structure and transfers it through the specified STGMEDIUM structure. 
-	   The caller then assumes responsibility for releasing the STGMEDIUM structure.
-	*/
-	if (pFormatetc == 0 || pmedium == 0) return COM.E_INVALIDARG;
-
-	if (QueryGetData(pFormatetc) != COM.S_OK) return COM.DV_E_FORMATETC;
-
-	TransferData transferData = new TransferData();
-	transferData.formatetc = new FORMATETC();
-	COM.MoveMemory(transferData.formatetc, pFormatetc, FORMATETC.sizeof);
-	transferData.type = transferData.formatetc.cfFormat;
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.result = COM.E_FAIL;
-	
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = OS.GetMessageTime();
-	event.dataType = transferData;
-	notifyListeners(DND.DragSetData,event);
-	
-	// get matching transfer agent to perform conversion
-	Transfer transfer = null;
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData)){
-			transfer = transferAgents[i];
-			break;
-		}
-	}
-	
-	if (transfer == null) return COM.DV_E_FORMATETC;
-	transfer.javaToNative(event.data, transferData);
-	if (transferData.result != COM.S_OK) return transferData.result;
-	COM.MoveMemory(pmedium, transferData.stgmedium, STGMEDIUM.sizeof);
-	return transferData.result;
-}
-
-/**
- * Returns the list of data types that can be transferred by this DragSource.
- *
- * @return the list of data types that can be transferred by this DragSource
- */
-public Transfer[] getTransfer(){
-	return transferAgents;
-}
-
-private int GiveFeedback(int dwEffect) {
-	return COM.DRAGDROP_S_USEDEFAULTCURSORS;
-}
-
-private int QueryContinueDrag(int fEscapePressed, int grfKeyState) {
-	if (fEscapePressed != 0){
-		if (topControl != null) OS.ImageList_DragLeave(topControl.handle);
-		return COM.DRAGDROP_S_CANCEL;
-	}
-	int mask = OS.MK_LBUTTON | OS.MK_MBUTTON | OS.MK_RBUTTON | OS.MK_XBUTTON1 | OS.MK_XBUTTON2;
-	if ((grfKeyState & mask) == 0) {
-		if (topControl != null) OS.ImageList_DragLeave(topControl.handle);
-		return COM.DRAGDROP_S_DROP;
-	}
-	
-	if (topControl != null) {
-		Display display = getDisplay();
-		Point pt = display.getCursorLocation();
-		Point location = topControl.getLocation();
-		OS.ImageList_DragMove(pt.x - location.x, pt.y - location.y);
-	}
-	return COM.S_OK;
-}
-
-private void onDispose() {
-	if (control == null) return;
-	this.Release();
-	if (controlListener != null){
-		control.removeListener(SWT.Dispose, controlListener);
-		control.removeListener(SWT.DragDetect, controlListener);
-	}
-	controlListener = null;
-	control.setData(DRAGSOURCEID, null);
-	control = null;
-	transferAgents = null;
-}
-
-private int opToOs(int operation) {
-	int osOperation = 0;
-	if ((operation & DND.DROP_COPY) != 0){
-		osOperation |= COM.DROPEFFECT_COPY;
-	}
-	if ((operation & DND.DROP_LINK) != 0) {
-		osOperation |= COM.DROPEFFECT_LINK;
-	}
-	if ((operation & DND.DROP_MOVE) != 0) {
-		osOperation |= COM.DROPEFFECT_MOVE;
-	}
-	return osOperation;
-}
-
-private int osToOp(int osOperation){
-	int operation = 0;
-	if ((osOperation & COM.DROPEFFECT_COPY) != 0){
-		operation |= DND.DROP_COPY;
-	}
-	if ((osOperation & COM.DROPEFFECT_LINK) != 0) {
-		operation |= DND.DROP_LINK;
-	}
-	if ((osOperation & COM.DROPEFFECT_MOVE) != 0) {
-		operation |= DND.DROP_MOVE;
-	}
-	return operation;
-}
-
-private int QueryGetData(int pFormatetc) {
-	if (transferAgents == null) return COM.E_FAIL;
-	TransferData transferData = new TransferData();
-	transferData.formatetc = new FORMATETC();
-	COM.MoveMemory(transferData.formatetc, pFormatetc, FORMATETC.sizeof);
-	transferData.type = transferData.formatetc.cfFormat;
-
-	// is this type supported by the transfer agent?
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(transferData))
-			return COM.S_OK;
-	}
-	
-	return COM.DV_E_FORMATETC;
-}
-
-/* QueryInterface([in] riid, [out] ppvObject)
- * Ownership of ppvObject transfers from callee to caller so reference count on ppvObject 
- * must be incremented before returning.  Caller is responsible for releasing ppvObject.
- */
-private int QueryInterface(int riid, int 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.IIDIDropSource)) {
-		OS.MoveMemory(ppvObject, new int[] {iDropSource.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-
-	if (COM.IsEqualGUID(guid, COM.IIDIDataObject) ) {
-		OS.MoveMemory(ppvObject, new int[] {iDataObject.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	
-	OS.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-
-private int Release() {
-	refCount--;
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-		COM.CoFreeUnusedLibraries();
-	}
-	return refCount;
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DragSourceListener
- * @see #addDragListener
- */
-public void removeDragListener(DragSourceListener listener) {
-	if (listener == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	removeListener(DND.DragStart, listener);
-	removeListener(DND.DragSetData, listener);
-	removeListener(DND.DragEnd, listener);
-}
-
-private int SetData(int pFormatetc, int pmedium, int fRelease) {
-	if (pFormatetc == 0 || pmedium == 0) return COM.E_INVALIDARG;
-	FORMATETC formatetc = new FORMATETC();
-	COM.MoveMemory(formatetc, pFormatetc, FORMATETC.sizeof);
-	if (formatetc.cfFormat == CFSTR_PERFORMEDDROPEFFECT && formatetc.tymed == COM.TYMED_HGLOBAL) {
-		STGMEDIUM stgmedium = new STGMEDIUM();
-		COM.MoveMemory(stgmedium, pmedium,STGMEDIUM.sizeof);
-		int[] ptrEffect = new int[1];
-		OS.MoveMemory(ptrEffect, stgmedium.unionField,4);
-		int[] effect = new int[1];
-		OS.MoveMemory(effect, ptrEffect[0],4);
-		dataEffect = osToOp(effect[0]);
-	}
-	if (fRelease == 1) {
-		COM.ReleaseStgMedium(pmedium);
-	}
-	return COM.S_OK;
-}
-
-/**
- * Specifies the list of data types that can be transferred by this DragSource.
- * The application must be able to provide data to match each of these types when
- * a successful drop has occurred.
- * 
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- * dragged from this source
- */
-public void setTransfer(Transfer[] transferAgents){
-	this.transferAgents = transferAgents;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DropTarget.java
deleted file mode 100755
index 3538240..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/DropTarget.java
+++ /dev/null
@@ -1,675 +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.dnd;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- *
- * Class <code>DropTarget</code> defines the target object for a drag and drop transfer.
- *
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- *
- * <p>This class identifies the <code>Control</code> over which the user must position the cursor
- * in order to drop the data being transferred.  It also specifies what data types can be dropped on 
- * this control and what operations can be performed.  You may have several DropTragets in an 
- * application but there can only be a one to one mapping between a <code>Control</code> and a <code>DropTarget</code>.
- * The DropTarget can receive data from within the same application or from other applications 
- * (such as text dragged from a text editor like Word).</p>
- *
- * <code><pre>
- *	int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
- *	Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
- *	DropTarget target = new DropTarget(label, operations);
- *	target.setTransfer(types);
- * </code></pre>
- *
- * <p>The application is notified of data being dragged over this control and of when a drop occurs by 
- * implementing the interface <code>DropTargetListener</code> which uses the class 
- * <code>DropTargetEvent</code>.  The application can modify the type of drag being performed 
- * on this Control at any stage of the drag by modifying the <code>event.detail</code> field or the 
- * <code>event.currentDataType</code> field.  When the data is dropped, it is the responsibility of 
- * the application to copy this data for its own purposes.
- *
- * <code><pre>
- *	target.addDropListener (new DropTargetListener() {
- *		public void dragEnter(DropTargetEvent event) {};
- *		public void dragOver(DropTargetEvent event) {};
- *		public void dragLeave(DropTargetEvent event) {};
- *		public void dragOperationChanged(DropTargetEvent event) {};
- *		public void dropAccept(DropTargetEvent event) {}
- *		public void drop(DropTargetEvent event) {
- *			// A drop has occurred, copy over the data
- *			if (event.data == null) { // no data to copy, indicate failure in event.detail
- *				event.detail = DND.DROP_NONE;
- *				return;
- *			}
- *			label.setText ((String) event.data); // data copied to label text
- *		}
- * 	});
- * </pre></code>
- *
- * <dl>
- *	<dt><b>Styles</b></dt> <dd>DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK</dd>
- *	<dt><b>Events</b></dt> <dd>DND.DragEnter, DND.DragLeave, DND.DragOver, DND.DragOperationChanged, 
- *                             DND.DropAccept, DND.Drop </dd>
- * </dl>
- */
-public class DropTarget extends Widget {
-	
-	Control control;
-	Listener controlListener;
-	Transfer[] transferAgents = new Transfer[0];
-	DragAndDropEffect effect;
-	
-	// Track application selections
-	TransferData selectedDataType;
-	int selectedOperation;
-	
-	// workaround - There is no event for "operation changed" so track operation based on key state
-	int keyOperation = -1;
-	
-	// workaround - The dataobject address is only passed as an argument in drag enter and drop.  
-	// To allow applications to query the data values during the drag over operations, 
-	// maintain a reference to it.
-	IDataObject iDataObject;
-	
-	// interfaces
-	COMObject iDropTarget;
-	int refCount;
-	
-	static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$
-
-/**
- * Creates a new <code>DropTarget</code> to allow data to be dropped on the specified 
- * <code>Control</code>.
- * Creating an instance of a DropTarget may cause system resources to be allocated 
- * depending on the platform.  It is therefore mandatory that the DropTarget instance 
- * be disposed when no longer required.
- * 
- * @param control the <code>Control</code> over which the user positions the cursor to drop the data
- * @param style the bitwise OR'ing of allowed operations; this may be a combination of any of 
- *		   DND.DROP_NONE, DND.DROP_COPY, DND.DROP_MOVE, DND.DROP_LINK
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_CANNOT_INIT_DROP - unable to initiate drop target; this will occur if more than one
- *        drop target is created for a control or if the operating system will not allow the creation
- *        of the drop target</li>
- * </ul>
- *
- * <p>NOTE: ERROR_CANNOT_INIT_DROP should be an SWTException, since it is a
- * recoverable error, but can not be changed due to backward compatability.</p>
- * 
- * @see Widget#dispose
- * @see DropTarget#checkSubclass
- * @see DND#DROP_NONE
- * @see DND#DROP_COPY
- * @see DND#DROP_MOVE
- * @see DND#DROP_LINK
- */
-public DropTarget(Control control, int style) {
-	super (control, checkStyle(style));
-	this.control = control;
-	if (control.getData(DROPTARGETID) != null) {
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	}
-	control.setData(DROPTARGETID, this);
-	createCOMInterfaces();
-	this.AddRef();
-	
-	if (COM.CoLockObjectExternal(iDropTarget.getAddress(), true, true) != COM.S_OK)
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-	if (COM.RegisterDragDrop( control.handle, iDropTarget.getAddress()) != COM.S_OK)
-		DND.error(DND.ERROR_CANNOT_INIT_DROP);
-
-	controlListener = new Listener () {
-		public void handleEvent (Event event) {
-			if (!DropTarget.this.isDisposed()){
-				DropTarget.this.dispose();
-			}
-		}
-	};
-	control.addListener (SWT.Dispose, controlListener);
-	
-	this.addListener(SWT.Dispose, new Listener () {
-		public void handleEvent (Event event) {
-			onDispose();
-		}
-	});
-
-	// Drag under effect
-	if (control instanceof Tree) {
-		effect = new TreeDragAndDropEffect((Tree)control);
-	} else if (control instanceof Table) {
-		effect = new TableDragAndDropEffect((Table)control);
-	} else if (control instanceof StyledText) {
-		effect = new StyledTextDragAndDropEffect((StyledText)control);
-	} else {
-		effect = new NoDragAndDropEffect(control);
-	}
-}
-
-static int checkStyle (int style) {
-	if (style == SWT.NONE) return DND.DROP_MOVE;
-	return style;
-}
-
-/**
- * Adds the listener to the collection of listeners who will
- * be notified when a drag and drop operation is in progress, by sending
- * it one of the messages defined in the <code>DropTargetListener</code>
- * interface.
- * 
- * <p><ul>
- * <li><code>dragEnter</code> is called when the cursor has entered the drop target boundaries
- * <li><code>dragLeave</code> is called when the cursor has left the drop target boundaries and just before
- * the drop occurs or is cancelled.
- * <li><code>dragOperationChanged</code> is called when the operation being performed has changed 
- * (usually due to the user changing the selected modifier key(s) while dragging)
- * <li><code>dragOver</code> is called when the cursor is moving over the drop target
- * <li><code>dropAccept</code> is called just before the drop is performed.  The drop target is given 
- * the chance to change the nature of the drop or veto the drop by setting the <code>event.detail</code> field
- * <li><code>drop</code> is called when the data is being dropped
- * </ul></p>
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #removeDropListener
- * @see DropTargetEvent
- */
-public void addDropListener(DropTargetListener listener) {
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	DNDListener typedListener = new DNDListener (listener);
-	addListener (DND.DragEnter, typedListener);
-	addListener (DND.DragLeave, typedListener);
-	addListener (DND.DragOver, typedListener);
-	addListener (DND.DragOperationChanged, typedListener);
-	addListener (DND.Drop, typedListener);
-	addListener (DND.DropAccept, typedListener);
-}
-
-int AddRef() {
-	refCount++;
-	return refCount;
-}
-
-protected void checkSubclass () {
-	String name = getClass().getName ();
-	String validName = DropTarget.class.getName();
-	if (!validName.equals(name)) {
-		DND.error (SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void createCOMInterfaces() {
-	// register each of the interfaces that this object implements
-	iDropTarget = new COMObject(new int[]{2, 0, 0, 5, 4, 0, 5}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return DragEnter(args[0], args[1], args[2], args[3], args[4]);}
-		public int method4(int[] args) {return DragOver(args[0], args[1], args[2], args[3]);}
-		public int method5(int[] args) {return DragLeave();}
-		public int method6(int[] args) {return Drop(args[0], args[1], args[2], args[3], args[4]);}
-	};
-
-}
-
-void disposeCOMInterfaces() {
-	if (iDropTarget != null)
-		iDropTarget.dispose();
-	iDropTarget = null;
-}
-
-int DragEnter(int pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect) {
-	selectedDataType = null;
-	selectedOperation = DND.DROP_NONE;
-	if (iDataObject != null) iDataObject.Release();
-	iDataObject = null;
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(event, pDataObject, grfKeyState, pt_x, pt_y, pdwEffect)) {
-		OS.MoveMemory(pdwEffect, new int[] {COM.DROPEFFECT_NONE}, 4);
-		return COM.S_FALSE;
-	}	
-
-	// Remember the iDataObject because it is not passed into the DragOver callback
-	iDataObject = new IDataObject(pDataObject);
-	iDataObject.AddRef();
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	notifyListeners(DND.DragEnter, event);
-	refresh();
-	if (event.detail == DND.DROP_DEFAULT) {
-		event.detail = (allowedOperations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-	}
-	
-	selectedDataType = null;
-	for (int i = 0; i < allowedDataTypes.length; i++) {
-		if (TransferData.sameType(allowedDataTypes[i], event.dataType)){
-			selectedDataType = allowedDataTypes[i];
-			break;
-		}
-	}
-	
-	selectedOperation = DND.DROP_NONE;
-	if (selectedDataType != null && ((allowedOperations & event.detail) != 0)) {
-		selectedOperation = event.detail;
-	}
-
-	effect.showDropTargetEffect(event.feedback, event.x, event.y);
-	refresh();
-	
-	OS.MoveMemory(pdwEffect, new int[] {opToOs(selectedOperation)}, 4);
-	return COM.S_OK;
-}
-
-int DragLeave() {
-	effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-	refresh();
-	keyOperation = -1;
-
-	if (iDataObject == null) return COM.S_FALSE;
-
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = OS.GetMessageTime();
-	event.detail = DND.DROP_NONE;
-	notifyListeners(DND.DragLeave, event);
-	refresh();
-	
-	iDataObject.Release();
-	iDataObject = null;
-	return COM.S_OK;
-}
-
-int DragOver(int grfKeyState, int pt_x,	int pt_y, int pdwEffect) {
-	if (iDataObject == null) return COM.S_FALSE;
-	int oldKeyOperation = keyOperation;
-	
-	DNDEvent event = new DNDEvent();
-	if (!setEventData(event, iDataObject.getAddress(), grfKeyState, pt_x, pt_y, pdwEffect)) {
-		keyOperation = -1;
-		OS.MoveMemory(pdwEffect, new int[] {COM.DROPEFFECT_NONE}, 4);
-		return COM.S_FALSE;
-	}
-	
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-
-	if (keyOperation == oldKeyOperation) {
-		event.type = DND.DragOver;
-		event.dataType = selectedDataType;
-		event.detail = selectedOperation;
-	} else {
-		event.type = DND.DragOperationChanged;
-		event.dataType = selectedDataType;
-	}
-	notifyListeners(event.type, event);
-	refresh();
-	if (event.detail == DND.DROP_DEFAULT) {
-		event.detail = (allowedOperations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-	}
-	
-	selectedDataType = null;
-	for (int i = 0; i < allowedDataTypes.length; i++) {
-		if (TransferData.sameType(allowedDataTypes[i], event.dataType)){
-			selectedDataType = allowedDataTypes[i];
-			break;
-		}
-	}
-
-	selectedOperation = DND.DROP_NONE;
-	if (selectedDataType != null && ((allowedOperations & event.detail) == event.detail)) {
-		selectedOperation = event.detail;
-	}
-	
-	effect.showDropTargetEffect(event.feedback, event.x, event.y);
-	refresh();
-	
-	OS.MoveMemory(pdwEffect, new int[] {opToOs(selectedOperation)}, 4);
-	return COM.S_OK;
-}
-
-int Drop(int pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect) {
-	effect.showDropTargetEffect(DND.FEEDBACK_NONE, 0, 0);
-	refresh();
-	
-	DNDEvent event = new DNDEvent();
-	event.widget = this;
-	event.time = OS.GetMessageTime();
-	event.item = effect.getItem(pt_x, pt_y);
-	event.detail = DND.DROP_NONE;
-	notifyListeners(DND.DragLeave, event);
-	refresh();
-	
-	event = new DNDEvent();
-	if (!setEventData(event, pDataObject, grfKeyState, pt_x, pt_y, pdwEffect)) {
-		keyOperation = -1;
-		OS.MoveMemory(pdwEffect, new int[] {COM.DROPEFFECT_NONE}, 4);
-		return COM.S_FALSE;
-	}
-	keyOperation = -1;
-	int allowedOperations = event.operations;
-	TransferData[] allowedDataTypes = new TransferData[event.dataTypes.length];
-	System.arraycopy(event.dataTypes, 0, allowedDataTypes, 0, allowedDataTypes.length);
-	event.dataType = selectedDataType;
-	event.detail = selectedOperation;
-	notifyListeners(DND.DropAccept,event);
-	refresh();
-	
-	selectedDataType = null;
-	for (int i = 0; i < allowedDataTypes.length; i++) {
-		if (TransferData.sameType(allowedDataTypes[i], event.dataType)){
-			selectedDataType = allowedDataTypes[i];
-			break;
-		}
-	}
-	selectedOperation = DND.DROP_NONE;
-	if (selectedDataType != null && (allowedOperations & event.detail) == event.detail) {
-		selectedOperation = event.detail;
-	}
-
-	if (selectedOperation == DND.DROP_NONE){
-		OS.MoveMemory(pdwEffect, new int[] {COM.DROPEFFECT_NONE}, 4);	
-		return COM.S_OK;
-	}
-	
-	// Get Data in a Java format
-	Object object = null;
-	for (int i = 0; i < transferAgents.length; i++){
-		if (transferAgents[i].isSupportedType(selectedDataType)){
-			object = transferAgents[i].nativeToJava(selectedDataType);
-			break;
-		}
-	}
-	if (object == null){
-		selectedOperation = DND.DROP_NONE;
-	}
-	
-	event.detail = selectedOperation;
-	event.dataType = selectedDataType;
-	event.data = object;
-	OS.ImageList_DragShowNolock(false);
-	try {
-		notifyListeners(DND.Drop,event);
-	} finally {
-		OS.ImageList_DragShowNolock(true);
-	}
-	refresh();
-	selectedOperation = DND.DROP_NONE;
-	if ((allowedOperations & event.detail) == event.detail) {
-		selectedOperation = event.detail;
-	}
-	//notify source of action taken		
-	OS.MoveMemory(pdwEffect, new int[] {opToOs(selectedOperation)}, 4);	
-	return COM.S_OK;
-}
-
-/**
- * Returns the Control which is registered for this DropTarget.  This is the control over which the 
- * user positions the cursor to drop the data.
- *
- * @return the Control which is registered for this DropTarget
- */
-public Control getControl () {
-	return control;
-}
-
-int getOperationFromKeyState(int grfKeyState) {
-	boolean ctrl = (grfKeyState & OS.MK_CONTROL) != 0;
-	boolean shift = (grfKeyState & OS.MK_SHIFT) != 0;
-	if (ctrl && shift) return DND.DROP_LINK;
-	if (ctrl)return DND.DROP_COPY;
-	if (shift)return DND.DROP_MOVE;
-	return DND.DROP_DEFAULT;
-}
-
-/**
- * Returns a list of the data types that can be transferred to this DropTarget.
- *
- * @return a list of the data types that can be transferred to this DropTarget
- */
-public Transfer[] getTransfer() {
-	return transferAgents;
-}
-
-void onDispose () {	
-	if (control == null) return;
-
-	COM.RevokeDragDrop(control.handle);
-	
-	if (controlListener != null)
-		control.removeListener(SWT.Dispose, controlListener);
-	controlListener = null;
-	control.setData(DROPTARGETID, null);
-	transferAgents = null;
-	control = null;
-	
-	COM.CoLockObjectExternal(iDropTarget.getAddress(), false, true);
-	
-	this.Release();
-	
-	COM.CoFreeUnusedLibraries();
-}
-
-int opToOs(int operation) {
-	int osOperation = 0;
-	if ((operation & DND.DROP_COPY) != 0){
-		osOperation |= COM.DROPEFFECT_COPY;
-	}
-	if ((operation & DND.DROP_LINK) != 0) {
-		osOperation |= COM.DROPEFFECT_LINK;
-	}
-	if ((operation & DND.DROP_MOVE) != 0) {
-		osOperation |= COM.DROPEFFECT_MOVE;
-	}
-	return osOperation;
-}
-
-int osToOp(int osOperation){
-	int operation = 0;
-	if ((osOperation & COM.DROPEFFECT_COPY) != 0){
-		operation |= DND.DROP_COPY;
-	}
-	if ((osOperation & COM.DROPEFFECT_LINK) != 0) {
-		operation |= DND.DROP_LINK;
-	}
-	if ((osOperation & COM.DROPEFFECT_MOVE) != 0) {
-		operation |= DND.DROP_MOVE;
-	}
-	return operation;
-}
-
-/* QueryInterface([in] iid, [out] ppvObject)
- * Ownership of ppvObject transfers from callee to caller so reference count on ppvObject 
- * must be incremented before returning.  Caller is responsible for releasing ppvObject.
- */
-int QueryInterface(int riid, int 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.IIDIDropTarget)) {
-		OS.MoveMemory(ppvObject, new int[] {iDropTarget.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-
-	OS.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-
-int Release() {
-	refCount--;
-	
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-		COM.CoFreeUnusedLibraries();
-	}
-	
-	return refCount;
-}
-
-void refresh() {
-	if (control == null || control.isDisposed()) return;
-	int handle = control.handle;
-	RECT lpRect = new RECT();
-	if (OS.GetUpdateRect(handle, lpRect, false)) {
-		OS.ImageList_DragShowNolock(false);
-		OS.RedrawWindow(handle, lpRect, 0, OS.RDW_UPDATENOW | OS.RDW_INVALIDATE);
-		OS.ImageList_DragShowNolock(true);
-	}
-}
-
-/**
- * Removes the listener from the collection of listeners who will
- * be notified when a drag and drop operation is in progress.
- *
- * @param listener the listener which should be notified
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * @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>
- *
- * @see DropTargetListener
- * @see #addDropListener
- */
-public void removeDropListener(DropTargetListener listener) {	
-	if (listener == null) DND.error (SWT.ERROR_NULL_ARGUMENT);
-	removeListener (DND.DragEnter, listener);
-	removeListener (DND.DragLeave, listener);
-	removeListener (DND.DragOver, listener);
-	removeListener (DND.DragOperationChanged, listener);
-	removeListener (DND.Drop, listener);
-	removeListener (DND.DropAccept, listener);
-}
-
-boolean setEventData(DNDEvent event, int pDataObject, int grfKeyState, int pt_x, int pt_y, int pdwEffect) {	
-	if (pDataObject == 0 || pdwEffect == 0) return false;
-	
-	// get allowed operations
-	int style = getStyle();
-	int[] operations = new int[1];
-	OS.MoveMemory(operations, pdwEffect, 4);
-	operations[0] = osToOp(operations[0]) & style;
-	if (operations[0] == DND.DROP_NONE) return false;
-	
-	// get current operation
-	int operation = getOperationFromKeyState(grfKeyState);
-	keyOperation = operation;
-	if (operation == DND.DROP_DEFAULT) {
-		if ((style & DND.DROP_DEFAULT) == 0) {
-			operation = (operations[0] & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;
-		}
-	} else {
-		if ((operation & operations[0]) == 0) operation = DND.DROP_NONE;
-	}
-	
-	// Get allowed transfer types
-	TransferData[] dataTypes = new TransferData[0];
-	IDataObject dataObject = new IDataObject(pDataObject);
-	dataObject.AddRef();
-	try {
-		int[] address = new int[1];
-		if (dataObject.EnumFormatEtc(COM.DATADIR_GET, address) != COM.S_OK) {
-			return false;
-		}
-		IEnumFORMATETC enumFormatetc = new IEnumFORMATETC(address[0]);
-		try {
-			// Loop over enumerator and save any types that match what we are looking for
-			int rgelt = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, FORMATETC.sizeof);
-			try {
-				int[] pceltFetched = new int[1];
-				enumFormatetc.Reset();
-				while (enumFormatetc.Next(1, rgelt, pceltFetched) == COM.S_OK && pceltFetched[0] == 1) {
-					TransferData transferData = new TransferData();
-					transferData.formatetc = new FORMATETC();
-					COM.MoveMemory(transferData.formatetc, rgelt, FORMATETC.sizeof);
-					transferData.type = transferData.formatetc.cfFormat;
-					transferData.pIDataObject = pDataObject;
-					for (int i = 0; i < transferAgents.length; i++){
-						if (transferAgents[i].isSupportedType(transferData)){
-							TransferData[] newDataTypes = new TransferData[dataTypes.length + 1];
-							System.arraycopy(dataTypes, 0, newDataTypes, 0, dataTypes.length);
-							newDataTypes[dataTypes.length] = transferData;
-							dataTypes = newDataTypes;
-							break;
-						}
-					}
-				}
-			} finally {
-				OS.GlobalFree(rgelt);
-			}
-		} finally {
-			enumFormatetc.Release();
-		}
-	} finally {
-		dataObject.Release();
-	}
-	if (dataTypes.length == 0) return false;
-	
-	event.widget = this;
-	event.x = pt_x;
-	event.y = pt_y;
-	event.time = OS.GetMessageTime();
-	event.feedback = DND.FEEDBACK_SELECT;
-	event.dataTypes = dataTypes;
-	event.dataType = dataTypes[0];
-	event.item = effect.getItem(pt_x, pt_y);
-	event.operations = operations[0];
-	event.detail = operation;
-	return true;
-}
-
-/**
- * Specifies the data types that can be transferred to this DropTarget.  If data is 
- * being dragged that does not match one of these types, the drop target will be notified of 
- * the drag and drop operation but the currentDataType will be null and the operation 
- * will be DND.NONE.
- *
- * @param transferAgents a list of Transfer objects which define the types of data that can be
- *						 dropped on this target
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if transferAgents is null</li>
- * </ul>
- */
-public void setTransfer(Transfer[] transferAgents){
-	if (transferAgents == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
-	this.transferAgents = transferAgents;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/FileTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/FileTransfer.java
deleted file mode 100755
index b3a3662..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/FileTransfer.java
+++ /dev/null
@@ -1,156 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>FileTransfer</code> provides a platform specific mechanism 
- * for converting a list of files represented as a java <code>String[]</code> to a 
- * platform specific representation of the data and vice versa.  
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.
- * See <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String[]</code> containing a list of files is shown 
- * below:</p>
- * 
- * <code><pre>
- *     File file1 = new File("C:\temp\file1");
- *     File file2 = new File("C:\temp\file2");
- *     String[] fileData = new String[2];
- *     fileData[0] = file1.getAbsolutePath();
- *     fileData[1] = file2.getAbsolutePath();
- * </code></pre>
- */
-public class FileTransfer extends ByteArrayTransfer {
-	
-	private static FileTransfer _instance = new FileTransfer();
-	private static final String CF_HDROP = "CF_HDROP "; //$NON-NLS-1$
-	private static final int CF_HDROPID = COM.CF_HDROP;
-	private static final String CF_HDROP_SEPARATOR = "\0"; //$NON-NLS-1$
-	
-private FileTransfer() {}
-
-/**
- * Returns the singleton instance of the FileTransfer class.
- *
- * @return the singleton instance of the FileTransfer class
- */
-public static FileTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a list of file names
- * represented by a java <code>String[]</code> to a platform specific representation.
- * Each <code>String</code> in the array contains the absolute path for a single 
- * file or directory.  For additional information see 
- * <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing the file names to be 
- * converted
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative(Object object, TransferData transferData) {
-	if (!checkFile(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String[] fileNames = (String[]) object;
-	StringBuffer allFiles = new StringBuffer();
-	for (int i = 0; i < fileNames.length; i++) {
-		allFiles.append(fileNames[i]); 
-		allFiles.append(CF_HDROP_SEPARATOR); // each name is null terminated
-	}
-	TCHAR buffer = new TCHAR(0, allFiles.toString(), true); // there is an extra null terminator at the very end
-	DROPFILES dropfiles = new DROPFILES();
-	dropfiles.pFiles = DROPFILES.sizeof;
-	dropfiles.pt_x = dropfiles.pt_y = 0;
-	dropfiles.fNC = 0;
-	dropfiles.fWide = OS.IsUnicode ? 1 : 0;
-	// Allocate the memory because the caller (DropTarget) has not handed it in
-	// The caller of this method must release the data when it is done with it.
-	int byteCount = buffer.length() * TCHAR.sizeof;
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, DROPFILES.sizeof + byteCount);
-	OS.MoveMemory(newPtr, dropfiles, DROPFILES.sizeof);
-	OS.MoveMemory(newPtr + DROPFILES.sizeof, buffer, byteCount);
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.stgmedium.unionField = newPtr;
-	transferData.stgmedium.pUnkForRelease = 0;
-	transferData.result = COM.S_OK;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a list of file names to a java <code>String[]</code>.  
- * Each String in the array contains the absolute path for a single file or directory. 
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a list of file names if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData) {
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0)  return null;
-	
-	// get file names from IDataObject
-	IDataObject dataObject = new IDataObject(transferData.pIDataObject);
-	dataObject.AddRef();
-	FORMATETC formatetc = new FORMATETC();
-	formatetc.cfFormat = COM.CF_HDROP;
-	formatetc.ptd = 0;
-	formatetc.dwAspect = COM.DVASPECT_CONTENT;
-	formatetc.lindex = -1;
-	formatetc.tymed = COM.TYMED_HGLOBAL;
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.result = dataObject.GetData(formatetc, stgmedium);
-	dataObject.Release();
-	if (transferData.result != COM.S_OK) return null;
-	// How many files are there?
-	int count = OS.DragQueryFile(stgmedium.unionField, 0xFFFFFFFF, null, 0);
-	String[] fileNames = new String[count];
-	for (int i = 0; i < count; i++) {
-		// How long is the name ?
-		int size = OS.DragQueryFile(stgmedium.unionField, i, null, 0) + 1;
-		TCHAR lpszFile = new TCHAR(0, size);	
-		// Get file name and append it to string
-		OS.DragQueryFile(stgmedium.unionField, i, lpszFile, size);
-		fileNames[i] = lpszFile.toString(0, lpszFile.strlen());
-	}
-	OS.DragFinish(stgmedium.unionField); // frees data associated with HDROP data
-	return fileNames;
-}
-
-protected int[] getTypeIds(){
-	return new int[] {CF_HDROPID};
-}
-
-protected String[] getTypeNames(){
-	return new String[] {CF_HDROP};
-}
-boolean checkFile(Object object) {
-	if (object == null || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	for (int i = 0; i < strings.length; i++) {
-		if (strings[i] == null || strings[i].length() == 0) return false;
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkFile(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/HTMLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/HTMLTransfer.java
deleted file mode 100644
index 7c7c592..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/HTMLTransfer.java
+++ /dev/null
@@ -1,208 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>HTMLTransfer</code> provides a platform specific mechanism 
- * for converting text in HTML format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing HTML text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String htmlData = "<p>This is a paragraph of text.</p>";
- * </code></pre>
- */
-public class HTMLTransfer extends ByteArrayTransfer {
-
-	static HTMLTransfer _instance = new HTMLTransfer();
-	static final String HTML_FORMAT = "HTML Format"; //$NON-NLS-1$
-	static final int HTML_FORMATID = registerType(HTML_FORMAT);
-	static final String NUMBER = "00000000"; //$NON-NLS-1$
-	static final String HEADER = "Version:0.9\r\nStartHTML:"+NUMBER+"\r\nEndHTML:"+NUMBER+"\r\nStartFragment:"+NUMBER+"\r\nEndFragment:"+NUMBER+"\r\n";
-	static final String PREFIX = "<html><body><!--StartFragment-->"; //$NON-NLS-1$
-	static final String SUFFIX = "<!--EndFragment--></body></html>"; //$NON-NLS-1$
-	static final String StartFragment = "StartFragment:"; //$NON-NLS-1$
-	static final String EndFragment = "EndFragment:"; //$NON-NLS-1$
-	
-private HTMLTransfer() {}
-
-/**
- * Returns the singleton instance of the HTMLTransfer class.
- *
- * @return the singleton instance of the HTMLTransfer class
- */
-public static HTMLTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts HTML-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing HTML text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkHTML(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	String string = (String)object;
-	int count = string.length();
-	char[] chars = new char[count + 1];
-	string.getChars(0, count, chars, 0);
-	int codePage = OS.GetACP();
-	int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null);
-	if (cchMultiByte == 0) {
-		transferData.stgmedium = new STGMEDIUM();
-		transferData.result = COM.DV_E_STGMEDIUM;
-		return;
-	}
-	int startHTML = HEADER.length();
-	int startFragment = startHTML + PREFIX.length();
-	int endFragment = startFragment + cchMultiByte - 1;
-	int endHTML = endFragment + SUFFIX.length();
-	
-	StringBuffer buffer = new StringBuffer(HEADER);
-	int maxLength = NUMBER.length();
-	//startHTML
-	int start = buffer.toString().indexOf(NUMBER);
-	String temp = Integer.toString(startHTML);
-	buffer.replace(start + maxLength-temp.length(), start + maxLength, temp);
-	//endHTML
-	start = buffer.toString().indexOf(NUMBER, start);
-	temp = Integer.toString(endHTML);
-	buffer.replace(start + maxLength-temp.length(), start + maxLength, temp);
-	//startFragment
-	start = buffer.toString().indexOf(NUMBER, start);
-	temp = Integer.toString(startFragment);
-	buffer.replace(start + maxLength-temp.length(), start + maxLength, temp);
-	//endFragment
-	start = buffer.toString().indexOf(NUMBER, start);
-	temp = Integer.toString(endFragment);
-	buffer.replace(start + maxLength-temp.length(), start + maxLength, temp);
-	
-	buffer.append(PREFIX);
-	buffer.append(string);
-	buffer.append(SUFFIX);
-	
-	count = buffer.length();
-	chars = new char[count + 1];
-	buffer.getChars(0, count, chars, 0);
-	cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null);
-	int lpMultiByteStr = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
-	OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null);
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.stgmedium.unionField = lpMultiByteStr;
-	transferData.stgmedium.pUnkForRelease = 0;
-	transferData.result = COM.S_OK;
-	return;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of HTML text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing HTML text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0) return null;
-	IDataObject data = new IDataObject(transferData.pIDataObject);
-	data.AddRef();
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	FORMATETC formatetc = transferData.formatetc;
-	stgmedium.tymed = COM.TYMED_HGLOBAL;	
-	transferData.result = data.GetData(formatetc, stgmedium);
-	data.Release();	
-	if (transferData.result != COM.S_OK) return null;
-	int hMem = stgmedium.unionField;
-	
-	try {
-		int lpMultiByteStr = OS.GlobalLock(hMem);
-		if (lpMultiByteStr == 0) return null;
-		try {
-			int codePage = OS.GetACP();
-			int cchWideChar  = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0);
-			if (cchWideChar == 0) return null;
-			char[] lpWideCharStr = new char [cchWideChar - 1];
-			OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, lpWideCharStr, lpWideCharStr.length);
-			String string = new String(lpWideCharStr);
-			int fragmentStart = 0, fragmentEnd = 0;
-			int start = string.indexOf(StartFragment) + StartFragment.length();
-			int end = start + 1;
-			while (end < string.length()) { 
-				String s = string.substring(start, end);
-				try {
-					fragmentStart = Integer.parseInt(s);
-					end++;
-				} catch (NumberFormatException e) {
-					break;
-				}
-			}
-			start = string.indexOf(EndFragment) + EndFragment.length();
-			end = start + 1;
-			while (end < string.length()) { 
-				String s = string.substring(start, end);
-				try {
-					fragmentEnd = Integer.parseInt(s);
-					end++;
-				} catch (NumberFormatException e) {
-					break;
-				}
-			}
-			if (fragmentEnd <= fragmentStart || fragmentEnd > lpWideCharStr.length) return null;
-			/* TO DO:
-			 * FragmentStart and FragmentEnd are offsets in original byte stream, not
-			 * the wide char version of the byte stream.
-			 */
-			String s = string.substring(fragmentStart, fragmentEnd);
-			/*
-			 * Firefox includes <!--StartFragment --> in the fragment, so remove it.
-			 */
-			String foxStart = "<!--StartFragment -->\r\n"; //$NON-NLS-1$
-			int prefix = s.indexOf(foxStart);
-			if (prefix != -1) {
-				prefix += foxStart.length();
-				s = s.substring(prefix);
-			}
-			return s;
-		} finally {
-			OS.GlobalUnlock(hMem);
-		}
-	} finally {
-		OS.GlobalFree(hMem);
-	}
-}
-protected int[] getTypeIds(){
-	return new int[] {HTML_FORMATID};
-}
-protected String[] getTypeNames(){
-	return new String[] {HTML_FORMAT}; 
-}
-boolean checkHTML(Object object) {
-	return (object != null && object instanceof String && ((String)object).length() > 0);
-}
-protected boolean validate(Object object) {
-	return checkHTML(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/OleEnumFORMATETC.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/OleEnumFORMATETC.java
deleted file mode 100755
index 07482f7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/OleEnumFORMATETC.java
+++ /dev/null
@@ -1,160 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-
-final class OleEnumFORMATETC {
-
-	private COMObject iUnknown;
-	private COMObject iEnumFORMATETC;
-	
-	private int refCount;
-	private int index;
-	
-	private FORMATETC[] formats;
-	
-OleEnumFORMATETC() {
-	
-	createCOMInterfaces();
-
-}
-int AddRef() {
-	refCount++;
-	return refCount;
-}
-private void createCOMInterfaces() {
-	// register each of the interfaces that this object implements
-	iUnknown = new COMObject(new int[] {2, 0, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-	};
-	iEnumFORMATETC = new COMObject(new int[] {2, 0, 0, 3, 1, 0, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return Next(args[0], args[1], args[2]);}
-		public int method4(int[] args) {return Skip(args[0]);}
-		public int method5(int[] args) {return Reset();}
-		// method6 Clone - not implemented
-	};
-}
-private void disposeCOMInterfaces() {
-	
-	if (iUnknown != null)
-		iUnknown.dispose();
-	iUnknown = null;
-	
-	if (iEnumFORMATETC != null)
-		iEnumFORMATETC.dispose();
-	iEnumFORMATETC = null;
-}
-int getAddress() {
-	return iEnumFORMATETC.getAddress();
-}
-private FORMATETC[] getNextItems(int numItems){
-
-	if (formats == null || numItems < 1) return null;
-
-	int endIndex = index + numItems - 1;
-	if (endIndex > (formats.length - 1)) endIndex = formats.length - 1;
-	if (index > endIndex) return null;
-	
-	FORMATETC[] items =  new FORMATETC[endIndex - index + 1];
-	for (int i = 0; i < items.length; i++){
-		items[i] = formats[index];
-		index++;
-	}
-
-	return items;
-}
-private int Next(int celt, int rgelt, int pceltFetched) {
-	/* Retrieves the next celt items in the enumeration sequence. 
-	   If there are fewer than the requested number of elements left in the sequence, 
-	   it retrieves the remaining elements. 
-	   The number of elements actually retrieved is returned through pceltFetched 
-	   (unless the caller passed in NULL for that parameter).
-	*/
-
-	if (rgelt == 0)	return COM.E_INVALIDARG;
-	if (pceltFetched == 0 && celt != 1) return COM.E_INVALIDARG;
-		
-	FORMATETC[] nextItems = getNextItems(celt);
-	if (nextItems != null) {
-		for (int i = 0; i < nextItems.length; i++) {
-			COM.MoveMemory(rgelt + i*FORMATETC.sizeof, nextItems[i], FORMATETC.sizeof);
-		}
-		
-		if (pceltFetched != 0)
-			COM.MoveMemory(pceltFetched, new int[] {nextItems.length}, 4);
-			
-		if (nextItems.length == celt) return COM.S_OK;
-			
-	} else {
-		if (pceltFetched != 0)
-			COM.MoveMemory(pceltFetched, new int[] {0}, 4);
-		COM.MoveMemory(rgelt, new FORMATETC(), FORMATETC.sizeof);
-			
-	}
-	return COM.S_FALSE;
-}
-private int QueryInterface(int riid, int ppvObject) {
-	
-	if (riid == 0 || ppvObject == 0) return COM.E_NOINTERFACE;
-	
-	GUID guid = new GUID();
-	COM.MoveMemory(guid, riid, GUID.sizeof);
-
-	if (COM.IsEqualGUID(guid, COM.IIDIUnknown)) {
-		COM.MoveMemory(ppvObject, new int[] {iUnknown.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIEnumFORMATETC)) {
-		COM.MoveMemory(ppvObject, new int[] {iEnumFORMATETC.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-int Release() {
-	refCount--;
-	
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-		COM.CoFreeUnusedLibraries();
-	}
-	
-	return refCount;
-}
-private int Reset() {
-	//Resets the enumeration sequence to the beginning.
-	index = 0;
-	return COM.S_OK;
-}
-void setFormats(FORMATETC[] newFormats) {
-	formats = newFormats;
-	index = 0;
-}
-private int Skip(int celt) {
-	//Skips over the next specified number of elements in the enumeration sequence.
-	if (celt < 1 ) return COM.E_INVALIDARG;
-	
-	index += celt;
-	if (index > (formats.length - 1)){
-		index = formats.length - 1;
-		return COM.S_FALSE;
-	}
-	return COM.S_OK;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/RTFTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/RTFTransfer.java
deleted file mode 100755
index 38e6053..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/RTFTransfer.java
+++ /dev/null
@@ -1,135 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>RTFTransfer</code> provides a platform specific mechanism 
- * for converting text in RTF format represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information.
- * 
- * <p>An example of a java <code>String</code> containing RTF text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String rtfData = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\uc1\\b\\i Hello World}";
- * </code></pre>
- */
-public class RTFTransfer extends ByteArrayTransfer {
-
-	private static RTFTransfer _instance = new RTFTransfer();
-	private static final String CF_RTF = "Rich Text Format"; //$NON-NLS-1$
-	private static final int CF_RTFID = registerType(CF_RTF);
-
-private RTFTransfer() {}
-
-/**
- * Returns the singleton instance of the RTFTransfer class.
- *
- * @return the singleton instance of the RTFTransfer class
- */
-public static RTFTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts RTF-formatted text
- * represented by a java <code>String</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String</code> containing RTF text
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkRTF(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	// CF_RTF is stored as a null terminated byte array
-	String string = (String)object;
-	int count = string.length();
-	char[] chars = new char[count + 1];
-	string.getChars(0, count, chars, 0);
-	int codePage = OS.GetACP();
-	int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null);
-	if (cchMultiByte == 0) {
-		transferData.stgmedium = new STGMEDIUM();
-		transferData.result = COM.DV_E_STGMEDIUM;
-		return;
-	}
-	int lpMultiByteStr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte);
-	OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null);
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.stgmedium.unionField = lpMultiByteStr;
-	transferData.stgmedium.pUnkForRelease = 0;
-	transferData.result = COM.S_OK;
-	return;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of RTF text to a java <code>String</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String</code> containing RTF text if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0) return null;
-	IDataObject data = new IDataObject(transferData.pIDataObject);
-	data.AddRef();
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	FORMATETC formatetc = transferData.formatetc;
-	stgmedium.tymed = COM.TYMED_HGLOBAL;	
-	transferData.result = data.GetData(formatetc, stgmedium);
-	data.Release();	
-	if (transferData.result != COM.S_OK) return null;
-	int hMem = stgmedium.unionField;
-	try {
-		int lpMultiByteStr = OS.GlobalLock(hMem);
-		if (lpMultiByteStr == 0) return null;
-		try {
-			int codePage = OS.GetACP();
-			int cchWideChar  = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0);
-			if (cchWideChar == 0) return null;
-			char[] lpWideCharStr = new char [cchWideChar - 1];
-			OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, lpWideCharStr, lpWideCharStr.length);
-			return new String(lpWideCharStr);
-		} finally {
-			OS.GlobalUnlock(hMem);
-		}
-	} finally {
-		OS.GlobalFree(hMem);
-	}
-}
-
-protected int[] getTypeIds(){
-	return new int[] {CF_RTFID};
-}
-
-protected String[] getTypeNames(){
-	return new String[] {CF_RTF}; 
-}
-
-boolean checkRTF(Object object) {
-	return (object != null  && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkRTF(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
deleted file mode 100644
index 56ce1e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/StyledTextDragAndDropEffect.java
+++ /dev/null
@@ -1,142 +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.dnd;
-
-
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-class StyledTextDragAndDropEffect extends DragAndDropEffect {
-	StyledText text;
-	long scrollBeginTime;
-	int scrollX = -1, scrollY = -1;
-	
-	static final int SCROLL_HYSTERESIS = 100; // milli seconds
-	static final int SCROLL_TOLERANCE = 20; // pixels
-	
-StyledTextDragAndDropEffect(StyledText control) {
-	text = control;
-}
-void showDropTargetEffect(int effect, int x, int y) {
-	Point pt = text.getDisplay().map(null, text, x, y);
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollX = scrollY = -1;
-	} else {
-		if (text.getCharCount() == 0) {
-			scrollBeginTime = 0;
-			scrollX = scrollY = -1;
-		} else {
-			if (scrollX != -1 && scrollY != -1 && scrollBeginTime != 0 &&
-				(pt.x >= scrollX && pt.x <= (scrollX + SCROLL_TOLERANCE) ||
-				 pt.y >= scrollY && pt.y <= (scrollY + SCROLL_TOLERANCE))) {
-				if (System.currentTimeMillis() >= scrollBeginTime) {
-					Rectangle area = text.getClientArea();
-					Rectangle bounds = text.getTextBounds(0, 0);
-					int charWidth = bounds.width;
-					if (pt.x < area.x + 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel - charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.x > area.width - 2*charWidth) {
-						int leftPixel = text.getHorizontalPixel();
-						text.setHorizontalPixel(leftPixel + charWidth);
-						if (text.getHorizontalPixel() != leftPixel) {
-							text.redraw();
-						}
-					}
-					int lineHeight = bounds.height;
-					if (pt.y < area.y + lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel - lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					if (pt.y > area.height - lineHeight) {
-						int topPixel = text.getTopPixel();
-						text.setTopPixel(topPixel + lineHeight);
-						if (text.getTopPixel() != topPixel) {
-							text.redraw();
-						}
-					}
-					scrollBeginTime = 0;
-					scrollX = scrollY = -1;
-				}
-			} else {
-				scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-				scrollX = pt.x;
-				scrollY = pt.y;
-			}
-		}
-	}
-		
-	if ((effect & DND.FEEDBACK_SELECT) != 0) {
-		StyledTextContent content = text.getContent();
-		int oldOffset = text.getCaretOffset();
-		int newOffset = -1;
-		try {
-			newOffset = text.getOffsetAtLocation(pt);
-		} catch (IllegalArgumentException ex1) {
-			int maxOffset = content.getCharCount();
-			Point maxLocation = text.getLocationAtOffset(maxOffset);
-			if (pt.y >= maxLocation.y) {
-				try {
-					newOffset = text.getOffsetAtLocation(new Point(pt.x, maxLocation.y));
-				} catch (IllegalArgumentException ex2) {
-					newOffset = maxOffset;
-				}
-			} else {
-				try {
-					int startOffset = text.getOffsetAtLocation(new Point(0, pt.y));
-					int endOffset = maxOffset;
-					int line = content.getLineAtOffset(startOffset);
-					int lineCount = content.getLineCount();
-					if (line + 1 < lineCount) {
-						endOffset = content.getOffsetAtLine(line + 1)  - 1;
-					}
-					int lineHeight = text.getLineHeight(startOffset);
-					for (int i = endOffset; i >= startOffset; i--) {
-						Point p = text.getLocationAtOffset(i);
-						if (p.x < pt.x && p.y < pt.y && p.y + lineHeight > pt.y) {
-							newOffset = i;
-							break;
-						}
-					}
-				} catch (IllegalArgumentException ex2) {
-					newOffset = -1;
-				}
-			}
-		}
-		if (newOffset != -1 && newOffset != oldOffset) {
-			// check if offset is line delimiter
-			// see StyledText.isLineDelimiter()
-			int line = content.getLineAtOffset(newOffset);
-			int lineOffset = content.getOffsetAtLine(line);	
-			int offsetInLine = newOffset - lineOffset;
-			// offsetInLine will be greater than line length if the line 
-			// delimiter is longer than one character and the offset is set
-			// in between parts of the line delimiter.
-			if (offsetInLine > content.getLine(line).length()) {
-				newOffset = Math.max(0, newOffset - 1);
-			}
-			text.setFocus();
-			OS.ImageList_DragShowNolock(false);
-			text.setCaretOffset(newOffset);
-			OS.ImageList_DragShowNolock(true);
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TableDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TableDragAndDropEffect.java
deleted file mode 100644
index 7b9d2d0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TableDragAndDropEffect.java
+++ /dev/null
@@ -1,179 +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.dnd;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.widgets.*;
-
-class TableDragAndDropEffect extends DragAndDropEffect {
-	Table table;
-	int scrollIndex;
-	long scrollBeginTime;
-	TableItem dropHighlight;
-
-	static final int SCROLL_HYSTERESIS = 200; // milli seconds
-	
-TableDragAndDropEffect(Table table) {
-	this.table = table;
-}
-
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	TableItem item = table.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = table.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the table.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = table.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-ImageData getDragSourceImage(int x, int y) {
-	TableItem[] selection = table.getSelection();
-	if (selection.length == 0) return null;
-	int tableImageList = OS.SendMessage (table.handle, OS.LVM_GETIMAGELIST, OS.LVSIL_SMALL, 0);
-	if (tableImageList != 0) {
-		int count = Math.min(selection.length, 10);
-		Rectangle bounds = selection[0].getBounds(0);
-		for (int i = 1; i < count; i++) {
-			bounds = bounds.union(selection[i].getBounds(0));
-		}
-		int hDC = OS.GetDC(0);
-		int hDC1 = OS.CreateCompatibleDC(hDC);
-		int bitmap = OS.CreateCompatibleBitmap(hDC, bounds.width, bounds.height);
-		int hOldBitmap = OS.SelectObject(hDC1, bitmap);
-		RECT rect = new RECT();
-		rect.right = bounds.width;
-		rect.bottom = bounds.height;
-		int hBrush = OS.GetStockObject(OS.WHITE_BRUSH);
-		OS.FillRect(hDC1, rect, hBrush);
-		for (int i = 0; i < count; i++) {
-			TableItem selected = selection[i];
-			Rectangle cell = selected.getBounds(0);
-			POINT pt = new POINT();
-			int imageList = OS.SendMessage (table.handle, OS.LVM_CREATEDRAGIMAGE, table.indexOf(selected), pt);
-			OS.ImageList_Draw(imageList, 0, hDC1, cell.x - bounds.x, cell.y - bounds.y, OS.ILD_SELECTED);
-			OS.ImageList_Destroy(imageList);
-		}
-		OS.SelectObject(hDC1, hOldBitmap);
-		OS.DeleteDC (hDC1);
-		OS.ReleaseDC (0, hDC);
-		Display display = table.getDisplay();
-		Image image = Image.win32_new(display, SWT.BITMAP, bitmap);
-		ImageData imageData = image.getImageData();
-		image.dispose();
-		return imageData;
-	}
-	return null;
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	int handle = table.handle;
-	Point coordinates = new Point(x, y);
-	coordinates = table.toControl(coordinates);
-	LVHITTESTINFO pinfo = new LVHITTESTINFO();
-	pinfo.x = coordinates.x;
-	pinfo.y = coordinates.y;
-	OS.SendMessage(handle, OS.LVM_HITTEST, 0, pinfo);	
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollIndex = -1;
-	} else {
-		if (pinfo.iItem != -1 && scrollIndex == pinfo.iItem && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				int top = Math.max (0, OS.SendMessage (handle, OS.LVM_GETTOPINDEX, 0, 0));
-				int count = OS.SendMessage (handle, OS.LVM_GETITEMCOUNT, 0, 0);
-				int index = (scrollIndex - 1 < top) ? Math.max(0, scrollIndex - 1) : Math.min(count - 1, scrollIndex + 1);
-				boolean scroll = true;
-				if (pinfo.iItem == top) {
-					scroll = pinfo.iItem != index;
-				} else {
-					RECT itemRect = new RECT ();
-					itemRect.left = OS.LVIR_BOUNDS;
-					if (OS.SendMessage (handle, OS.LVM_GETITEMRECT, pinfo.iItem, itemRect) != 0) {
-						RECT rect = new RECT ();
-						OS.GetClientRect (handle, rect);
-						POINT pt = new POINT ();
-						pt.x = itemRect.left;
-						pt.y = itemRect.top;
-						if (OS.PtInRect (rect, pt)) {
-							pt.y = itemRect.bottom;
-							if (OS.PtInRect (rect, pt)) scroll = false;
-						}
-					}
-				}
-				if (scroll) {
-					OS.SendMessage (handle, OS.LVM_ENSUREVISIBLE, index, 0);
-					table.redraw();
-				}
-				scrollBeginTime = 0;
-				scrollIndex = -1;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollIndex = pinfo.iItem;
-		}
-	}
-	
-	if (pinfo.iItem != -1 && (effect & DND.FEEDBACK_SELECT) != 0) {
-		TableItem item = table.getItem(pinfo.iItem);
-		if (dropHighlight != item) {
-			LVITEM lvItem = new LVITEM();
-			lvItem.stateMask = OS.LVIS_DROPHILITED;
-			OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, lvItem);		
-			lvItem.state = OS.LVIS_DROPHILITED;
-			OS.SendMessage(handle, OS.LVM_SETITEMSTATE, pinfo.iItem, lvItem);
-			dropHighlight = item;
-		}
-	} else {
-		if (dropHighlight != null) {
-			LVITEM lvItem = new LVITEM ();
-			lvItem.stateMask = OS.LVIS_DROPHILITED;
-			OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, lvItem);		
-			dropHighlight = null;
-		}
-	}
-
-	//Insert mark only supported on Windows XP with manifest
-//	if (OS.COMCTL32_MAJOR >= 6) {
-//		if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0 || (effect & DND.FEEDBACK_INSERT_AFTER) != 0) {
-//			LVINSERTMARK lvinsertmark = new LVINSERTMARK();
-//			lvinsertmark.cbSize = LVINSERTMARK.sizeof;
-//			lvinsertmark.dwFlags = (effect & DND.FEEDBACK_INSERT_BEFORE) != 0 ? 0 : OS.LVIM_AFTER;
-//			lvinsertmark.iItem = pinfo.iItem == -1 ? 0 : pinfo.iItem;
-//			int hItem = pinfo.iItem;
-//			OS.SendMessage (handle, OS.LVM_SETINSERTMARK, 0, lvinsertmark);
-//		} else {
-//			OS.SendMessage (handle, OS.LVM_SETINSERTMARK, 0, 0);
-//		}
-//	}
-	return;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TextTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TextTransfer.java
deleted file mode 100755
index 44380f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TextTransfer.java
+++ /dev/null
@@ -1,184 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>TextTransfer</code> provides a platform specific mechanism 
- * for converting plain text represented as a java <code>String</code> 
- * to a platform specific representation of the data and vice versa.
- * 
- * <p>An example of a java <code>String</code> containing plain text is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String textData = "Hello World";
- * </code></pre>
- * 
- * @see Transfer
- */
-public class TextTransfer extends ByteArrayTransfer {
-
-	private static TextTransfer _instance = new TextTransfer();
-	private static final String CF_UNICODETEXT = "CF_UNICODETEXT"; //$NON-NLS-1$
-	private static final String CF_TEXT = "CF_TEXT"; //$NON-NLS-1$
-	private static final int CF_UNICODETEXTID = COM.CF_UNICODETEXT;
-	private static final int CF_TEXTID = COM.CF_TEXT;
-	
-private TextTransfer() {}
-
-/**
- * Returns the singleton instance of the TextTransfer class.
- *
- * @return the singleton instance of the TextTransfer class
- */
-public static TextTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts plain text
- * represented by a java <code>String</code> to a platform specific representation.
- * 
- * @param object a java <code>String</code> containing text
- * @param transferData an empty <code>TransferData</code> object; this object
- *  will be filled in on return with the platform specific format of the data
- *  
- * @see Transfer#javaToNative
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkText(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	transferData.result = COM.E_FAIL;
-	String string = (String)object;
-	switch (transferData.type) {
-		case COM.CF_UNICODETEXT: {
-			int charCount = string.length ();
-			char[] chars = new char[charCount+1];
-			string.getChars (0, charCount, chars, 0);
-			int byteCount = chars.length * 2;
-			int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, byteCount);
-			OS.MoveMemory(newPtr, chars, byteCount);
-			transferData.stgmedium = new STGMEDIUM();
-			transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-			transferData.stgmedium.unionField = newPtr;
-			transferData.stgmedium.pUnkForRelease = 0;
-			transferData.result = COM.S_OK;
-			break;
-		}
-		case COM.CF_TEXT: {
-			int count = string.length();
-			char[] chars = new char[count + 1];
-			string.getChars(0, count, chars, 0);
-			int codePage = OS.GetACP();
-			int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null);
-			if (cchMultiByte == 0) {
-				transferData.stgmedium = new STGMEDIUM();
-				transferData.result = COM.DV_E_STGMEDIUM;
-				return;
-			}
-			int lpMultiByteStr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, cchMultiByte);
-			OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null);
-			transferData.stgmedium = new STGMEDIUM();
-			transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-			transferData.stgmedium.unionField = lpMultiByteStr;
-			transferData.stgmedium.pUnkForRelease = 0;
-			transferData.result = COM.S_OK;
-			break;
-		}
-	}
-	return;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of plain text to a java <code>String</code>.
- * 
- * @param transferData the platform specific representation of the data to be converted
- * @return a java <code>String</code> containing text if the conversion was successful; otherwise null
- * 
- * @see Transfer#nativeToJava
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0) return null;
-	
-	IDataObject data = new IDataObject(transferData.pIDataObject);
-	data.AddRef();
-	FORMATETC formatetc = transferData.formatetc;
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	stgmedium.tymed = COM.TYMED_HGLOBAL;	
-	transferData.result = data.GetData(formatetc, stgmedium);
-	data.Release();
-	if (transferData.result != COM.S_OK) return null;
-	int hMem = stgmedium.unionField;
-	try {
-		switch (transferData.type) {
-			case CF_UNICODETEXTID: {
-				/* Ensure byteCount is a multiple of 2 bytes */
-				int size = OS.GlobalSize(hMem) / 2 * 2;
-				if (size == 0) return null;
-				char[] chars = new char[size/2];
-				int ptr = OS.GlobalLock(hMem);
-				if (ptr == 0) return null;
-				try {
-					OS.MoveMemory(chars, ptr, size);
-					int length = chars.length;
-					for (int i=0; i<chars.length; i++) {
-						if (chars [i] == '\0') {
-							length = i;
-							break;
-						}
-					}
-					return new String (chars, 0, length);
-				} finally {
-					OS.GlobalUnlock(hMem);	
-				}
-			}
-			case CF_TEXTID: {
-				int lpMultiByteStr = OS.GlobalLock(hMem);
-				if (lpMultiByteStr == 0) return null;
-				try {
-					int codePage = OS.GetACP();
-					int cchWideChar = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0);
-					if (cchWideChar == 0) return null;
-					char[] lpWideCharStr = new char [cchWideChar - 1];
-					OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, lpWideCharStr, lpWideCharStr.length);
-					return new String(lpWideCharStr);
-				} finally {
-					OS.GlobalUnlock(hMem);
-				}
-			}
-		}
-	} finally {
-		OS.GlobalFree(hMem);
-	}
-	return null;
-}
-
-protected int[] getTypeIds(){
-	return new int[] {CF_UNICODETEXTID, CF_TEXTID};
-}
-
-protected String[] getTypeNames(){
-	return new String[] {CF_UNICODETEXT, CF_TEXT};
-}
-
-boolean checkText(Object object) {
-	return (object != null  && object instanceof String && ((String)object).length() > 0);
-}
-
-protected boolean validate(Object object) {
-	return checkText(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Transfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Transfer.java
deleted file mode 100755
index 2bd20e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/Transfer.java
+++ /dev/null
@@ -1,152 +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.dnd;
-
- 
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * <code>Transfer</code> provides a mechanism for converting between a java 
- * representation of data and a platform specific representation of data and 
- * vice versa.  It is used in data transfer operations such as drag and drop and 
- * clipboard copy/paste.
- *
- * <p>You should only need to become familiar with this class if you are 
- * implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- * 
- * @see ByteArrayTransfer
- */
-public abstract class Transfer {
-	
-/**
- * Returns a list of the platform specific data types that can be converted using 
- * this transfer agent.
- *
- * <p>Only the data type fields of the <code>TransferData</code> objects are filled 
- * in.</p>
- *
- * @return a list of the data types that can be converted using this transfer agent
- */
-abstract public TransferData[] getSupportedTypes();
-
-/**
- * Returns true if the <code>TransferData</code> data type can be converted 
- * using this transfer agent, or false otherwise (including if transferData is
- * <code>null</code>).
- *
- * @param transferData a platform specific description of a data type; only the data
- *  type fields of the <code>TransferData</code> object need to be filled in
- *
- * @return true if the transferData data type can be converted using this transfer 
- * agent
- */
-abstract public boolean isSupportedType(TransferData transferData);
-
-/**
- * Returns the platform specfic ids of the  data types that can be converted using 
- * this transfer agent.
- * 
- * @return the platform specfic ids of the data types that can be converted using 
- * this transfer agent
- */
-abstract protected int[] getTypeIds();
-
-/**
- * Returns the platform specfic names of the  data types that can be converted 
- * using this transfer agent.
- * 
- * @return the platform specfic names of the data types that can be converted 
- * using this transfer agent.
- */
-abstract protected String[] getTypeNames();
-
-/**
- * Converts a java representation of data to a platform specific representation of 
- * the data. 
- *
- * <p>On a successful conversion, the transferData.result field will be set as follows:
- * <ul>
- * <li>Windows: COM.S_OK
- * <li>Motif: 1
- * <li>GTK: 1
- * <li>Photon: 1
- * </ul></p>
- * 
- * <p>If this transfer agent is unable to perform the conversion, the transferData.result 
- * field will be set to a failure value as follows:
- * <ul>
- * <li>Windows: COM.DV_E_TYMED or COM.E_FAIL
- * <li>Motif: 0
- * <li>GTK: 0
- * <li>Photon: 0
- * </ul></p>
- *
- * @param object a java representation of the data to be converted; the type of
- * Object that is passed in is dependant on the <code>Transfer</code> subclass.
- *
- * @param transferData an empty TransferData object; this object will be 
- * filled in on return with the platform specific representation of the data
- * 
- * @exception org.eclipse.swt.SWTException <ul>
- *    <li>ERROR_INVALID_DATA - if object does not contain data in a valid format or is <code>null</code></li>
- * </ul>
- */
-abstract protected void javaToNative (Object object, TransferData transferData);
-
-/**
- * Converts a platform specific representation of data to a java representation.
- * 
- * @param transferData the platform specific representation of the data to be 
- * converted
- *
- * @return a java representation of the converted data if the conversion was 
- * successful; otherwise null.  If transferData is <code>null</code> then
- * <code>null</code> is returned.  The type of Object that is returned is 
- * dependant on the <code>Transfer</code> subclass.
- */
-abstract protected Object nativeToJava(TransferData transferData);
-
-/**
- * Registers a name for a data type and returns the associated unique identifier.
- *
- * <p>You may register the same type more than once, the same unique identifier 
- * will be returned if the type has been previously registered.</p>
- *
- * <p>Note: On windows, do <b>not</b> call this method with pre-defined 
- * Clipboard Format types such as CF_TEXT or CF_BITMAP because the 
- * pre-defined identifier will not be returned</p>
- *
- * @param formatName the name of a data type
- *
- * @return the unique identifier associated with this data type
- */
-public static int registerType(String formatName) {
-	// Look name up in the registry
-	// If name is not in registry, add it and return assigned value.
-	// If name already exists in registry, return its assigned value
-	TCHAR chFormatName = new TCHAR(0, formatName, true);
-	return OS.RegisterClipboardFormat(chFormatName);
-}
-
-/**
- * Test that the object is of the correct format for this Transfer class.
- * 
- * @param object a java representation of the data to be converted
- * 
- * @return true if object is of the correct form for this transfer type
- * 
- * @since 3.1
- */
-protected boolean validate(Object object) {
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TransferData.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TransferData.java
deleted file mode 100755
index eb8019c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TransferData.java
+++ /dev/null
@@ -1,106 +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.dnd;
-
-import org.eclipse.swt.internal.ole.win32.*;
-
-/**
- * The <code>TransferData</code> class is a platform specific data structure for
- * describing the type and the contents of data being converted by a transfer agent.
- *
- * <p>As an application writer, you do not need to know the specifics of 
- * TransferData.  TransferData instances are passed to a subclass of Transfer 
- * and the Transfer object manages the platform specific issues.  
- * You can ask a Transfer subclass if it can handle this data by calling 
- * Transfer.isSupportedType(transferData).</p>
- *
- * <p>You should only need to become familiar with the fields in this class if you 
- * are implementing a Transfer subclass and you are unable to subclass the 
- * ByteArrayTransfer class.</p>
- */
-public class TransferData {
-	/**
-	 * The type is a unique identifier of a system format or user defined format.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int type;
-	
-	/**
-	 * The formatetc structure is a generalized data transfer format, enhanced to 
-	 * encompass a target device, the aspect, or view of the data, and 
-	 * a storage medium.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public FORMATETC formatetc;
-	
-	/**
-	 * The stgmedium structure is a generalized global memory handle used for 
-	 * data transfer operations.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public STGMEDIUM stgmedium;
-
-	/**
-	 * The result field contains the result of converting a
-	 * java data type into a platform specific value.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
- 	 * <p>The value of result is 1 if the conversion was successful.
-	 * The value of result is 0 if the conversion failed.</p>
-	 */
-	public int result = COM.E_FAIL;
-
-	/**
-	 * The pIDataObject is the address of an IDataObject OLE Interface which 
-	 * provides access to the data associated with the transfer.
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int pIDataObject;
-	
-	static boolean sameType(TransferData data1, TransferData data2) {
-		if (data1 == data2) return true;
-		if (data1 == null || data2 == null) return false;
-		return (data1.type == data2.type &&
-				data1.formatetc.cfFormat == data2.formatetc.cfFormat &&
-		    	data1.formatetc.dwAspect == data2.formatetc.dwAspect && 
-		    	data1.formatetc.tymed == data2.formatetc.tymed);
-	}
-	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TreeDragAndDropEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
deleted file mode 100644
index 2f468db..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/TreeDragAndDropEffect.java
+++ /dev/null
@@ -1,223 +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.dnd;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.widgets.*;
-
-class TreeDragAndDropEffect extends DragAndDropEffect {
-	Tree tree;
-	int dropIndex;
-	int scrollIndex;	
-	long scrollBeginTime;
-	int expandIndex;
-	long expandBeginTime;
-	TreeItem insertItem;
-	boolean insertBefore;
-	
-	static final int SCROLL_HYSTERESIS = 200; // milli seconds
-	static final int EXPAND_HYSTERESIS = 300; // milli seconds
-	
-
-TreeDragAndDropEffect(Tree tree) {
-	this.tree = tree;
-}
-
-int checkEffect(int effect) {
-	// Some effects are mutually exclusive.  Make sure that only one of the mutually exclusive effects has been specified.
-	if ((effect & DND.FEEDBACK_SELECT) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER & ~DND.FEEDBACK_INSERT_BEFORE;
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) effect = effect & ~DND.FEEDBACK_INSERT_AFTER;
-	return effect;
-}
-
-Widget getItem(int x, int y) {	
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TreeItem item = tree.getItem(coordinates);
-	if (item == null) {
-		Rectangle area = tree.getClientArea();
-		if (area.contains(coordinates)) {
-			// Scan across the width of the tree.
-			for (int x1 = area.x; x1 < area.x + area.width; x1++) {
-				Point pt = new Point(x1, coordinates.y);
-				item = tree.getItem(pt);
-				if (item != null) {
-					break;
-				}
-			}
-		}
-	}
-	return item;
-}
-
-ImageData getDragSourceImage(int x, int y) {
-	TreeItem[] selection = tree.getSelection();
-	if (selection.length == 0) return null;
-	int treeImageList = OS.SendMessage (tree.handle, OS.TVM_GETIMAGELIST, OS.TVSIL_NORMAL, 0);
-	if (treeImageList != 0) {
-		int count = Math.min(selection.length, 10);
-		Rectangle bounds = selection[0].getBounds(0);
-		for (int i = 1; i < count; i++) {
-			bounds = bounds.union(selection[i].getBounds(0));
-		}
-		int hDC = OS.GetDC(0);
-		int hDC1 = OS.CreateCompatibleDC(hDC);
-		int bitmap = OS.CreateCompatibleBitmap(hDC, bounds.width, bounds.height);
-		int hOldBitmap = OS.SelectObject(hDC1, bitmap);
-		RECT rect = new RECT();
-		rect.right = bounds.width;
-		rect.bottom = bounds.height;
-		int hBrush = OS.GetStockObject(OS.WHITE_BRUSH);
-		OS.FillRect(hDC1, rect, hBrush);
-		for (int i = 0; i < count; i++) {
-			TreeItem selected = selection[i];
-			Rectangle cell = selected.getBounds(0);
-			int imageList = OS.SendMessage(tree.handle, OS.TVM_CREATEDRAGIMAGE, 0, selected.handle);
-			OS.ImageList_Draw(imageList, 0, hDC1, cell.x - bounds.x, cell.y - bounds.y, OS.ILD_SELECTED);
-			OS.ImageList_Destroy(imageList);
-		}
-		OS.SelectObject(hDC1, hOldBitmap);
-		OS.DeleteDC (hDC1);
-		OS.ReleaseDC (0, hDC);
-		Display display = tree.getDisplay();
-		Image image = Image.win32_new(display, SWT.BITMAP, bitmap);
-		ImageData imageData  = image.getImageData();
-		image.dispose();
-		return imageData;
-	}
-	return null;
-}
-
-void showDropTargetEffect(int effect, int x, int y) {
-	effect = checkEffect(effect);
-	int handle = tree.handle;
-	Point coordinates = new Point(x, y);
-	coordinates = tree.toControl(coordinates);
-	TVHITTESTINFO lpht = new TVHITTESTINFO ();
-	lpht.x = coordinates.x;
-	lpht.y = coordinates.y;
-	OS.SendMessage (handle, OS.TVM_HITTEST, 0, lpht);
-	int hItem = lpht.hItem;
-	if ((effect & DND.FEEDBACK_SCROLL) == 0) {
-		scrollBeginTime = 0;
-		scrollIndex = -1;
-	} else {
-		if (hItem != -1 && scrollIndex == hItem && scrollBeginTime != 0) {
-			if (System.currentTimeMillis() >= scrollBeginTime) {
-				int topItem = OS.SendMessage(handle, OS.TVM_GETNEXTITEM, OS.TVGN_FIRSTVISIBLE, 0);
-				int nextItem = OS.SendMessage(handle, OS.TVM_GETNEXTITEM, hItem == topItem ? OS.TVGN_PREVIOUSVISIBLE : OS.TVGN_NEXTVISIBLE, hItem);
-				boolean scroll = true;
-				if (hItem == topItem) {
-					scroll = nextItem != 0;
-				} else {
-					RECT itemRect = new RECT ();
-					itemRect.left = nextItem;
-					if (OS.SendMessage (handle, OS.TVM_GETITEMRECT, 1, itemRect) != 0) {
-						RECT rect = new RECT ();
-						OS.GetClientRect (handle, rect);
-						POINT pt = new POINT ();
-						pt.x = itemRect.left;
-						pt.y = itemRect.top;
-						if (OS.PtInRect (rect, pt)) {
-							pt.y = itemRect.bottom;
-							if (OS.PtInRect (rect, pt)) scroll = false;
-						}
-					}
-				}
-				if (scroll) {
-					OS.SendMessage (handle, OS.TVM_ENSUREVISIBLE, 0, nextItem);
-					tree.redraw();
-				}
-				scrollBeginTime = 0;
-				scrollIndex = -1;
-			}
-		} else {
-			scrollBeginTime = System.currentTimeMillis() + SCROLL_HYSTERESIS;
-			scrollIndex = hItem;
-		}
-	}
-	if ((effect & DND.FEEDBACK_EXPAND) == 0) {
-		expandBeginTime = 0;
-		expandIndex = -1;
-	} else {
-		if (hItem != -1 && expandIndex == hItem && expandBeginTime != 0) {
-			if (System.currentTimeMillis() >= expandBeginTime) {
-				if (OS.SendMessage (handle, OS.TVM_GETNEXTITEM, OS.TVGN_CHILD, hItem) != 0) {
-					TVITEM tvItem = new TVITEM ();
-					tvItem.hItem = hItem;
-					tvItem.mask = OS.TVIF_HANDLE | OS.TVIF_STATE;
-					OS.SendMessage (handle, OS.TVM_GETITEM, 0, tvItem);
-					if ((tvItem.state & OS.TVIS_EXPANDED) == 0) {
-						OS.SendMessage (handle, OS.TVM_EXPAND, OS.TVE_EXPAND, hItem);
-						tree.redraw();
-					}
-				}
-				expandBeginTime = 0;
-				expandIndex = -1;
-			}
-		} else {
-			expandBeginTime = System.currentTimeMillis() + EXPAND_HYSTERESIS;
-			expandIndex = hItem;
-		}
-	}
-	if (dropIndex != -1 && (dropIndex != hItem || (effect & DND.FEEDBACK_SELECT) == 0)) {
-		TVITEM tvItem = new TVITEM ();
-		tvItem.hItem = dropIndex;
-		tvItem.mask = OS.TVIF_STATE;
-		tvItem.stateMask = OS.TVIS_DROPHILITED;
-		tvItem.state = 0;
-		OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);
-		dropIndex = -1;
-	}
-	if (hItem != -1 && hItem != dropIndex && (effect & DND.FEEDBACK_SELECT) != 0) {
-		TVITEM tvItem = new TVITEM ();
-		tvItem.hItem = hItem;
-		tvItem.mask = OS.TVIF_STATE;
-		tvItem.stateMask = OS.TVIS_DROPHILITED;
-		tvItem.state = OS.TVIS_DROPHILITED;
-		OS.SendMessage (handle, OS.TVM_SETITEM, 0, tvItem);
-		dropIndex = hItem;
-	}
-	if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0 || (effect & DND.FEEDBACK_INSERT_AFTER) != 0) {
-		boolean before = (effect & DND.FEEDBACK_INSERT_BEFORE) != 0;
-		/*
-		* Bug in Windows.  When TVM_SETINSERTMARK is used to set
-		* an insert mark for a tree and an item is expanded or
-		* collapsed near the insert mark, the tree does not redraw
-		* the insert mark properly.  The fix is to hide and show
-		* the insert mark whenever an item is expanded or collapsed.
-		* Since the insert mark can not be queried from the tree,
-		* use the Tree API rather than calling the OS directly.
-		*/
-		TreeItem item = (TreeItem)tree.getDisplay().findWidget(tree.handle, hItem);
-		if (item != null) {
-			if (item != insertItem || before != insertBefore) {
-				tree.setInsertMark(item, before);
-			}
-			insertItem = item;
-			insertBefore = before;
-		} else {
-			if (insertItem != null) {
-				tree.setInsertMark(null, false);
-			}
-			insertItem = null;
-		}
-	} else {
-		if (insertItem != null) {
-			tree.setInsertMark(null, false);
-		}
-		insertItem = null;
-	}
-	return;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/URLTransfer.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/URLTransfer.java
deleted file mode 100644
index dd3e731..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/win32/org/eclipse/swt/dnd/URLTransfer.java
+++ /dev/null
@@ -1,149 +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.dnd;
-
-import java.net.*;
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * The class <code>URLTransfer</code> provides a platform specific mechanism 
- * for converting text in URL format represented as a java <code>String[]</code> 
- * to a platform specific representation of the data and vice versa.  See 
- * <code>Transfer</code> for additional information. The first string in the 
- * array is mandatory and must contain the fully specified url.  The second 
- * string in the array is optional and if present contains the title for the
- * page.
- * 
- * <p>An example of a java <code>String[]</code> containing a URL is shown 
- * below:</p>
- * 
- * <code><pre>
- *     String[] urlData = new String[] {"http://www.eclipse.org", "Eclipse.org Main Page"};
- * </code></pre>
- */
-/*public*/ class URLTransfer extends ByteArrayTransfer {
-
-	static URLTransfer _instance = new URLTransfer();
-	static final String CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$
-	static final int CFSTR_INETURLID = registerType(CFSTR_INETURL);
-
-private URLTransfer() {}
-
-/**
- * Returns the singleton instance of the URLTransfer class.
- *
- * @return the singleton instance of the URLTransfer class
- */
-public static URLTransfer getInstance () {
-	return _instance;
-}
-
-/**
- * This implementation of <code>javaToNative</code> converts a URL and optionally a title
- * represented by a java <code>String[]</code> to a platform specific representation.
- * For additional information see <code>Transfer#javaToNative</code>.
- * 
- * @param object a java <code>String[]</code> containing a URL and optionally, a title
- * @param transferData an empty <code>TransferData</code> object; this
- *  object will be filled in on return with the platform specific format of the data
- */
-public void javaToNative (Object object, TransferData transferData){
-	if (!checkURL(object) || !isSupportedType(transferData)) {
-		DND.error(DND.ERROR_INVALID_DATA);
-	}
-	transferData.result = COM.E_FAIL;
-	// URL is stored as a null terminated byte array
-	String url = ((String[])object)[0];
-	int count = url.length();
-	char[] chars = new char[count + 1];
-	url.getChars(0, count, chars, 0);
-	int codePage = OS.GetACP();
-	int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null);
-	if (cchMultiByte == 0) {
-		transferData.stgmedium = new STGMEDIUM();
-		transferData.result = COM.DV_E_STGMEDIUM;
-		return;
-	}
-	int lpMultiByteStr = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, cchMultiByte);
-	OS.WideCharToMultiByte(codePage, 0, chars, -1, lpMultiByteStr, cchMultiByte, null, null);
-	transferData.stgmedium = new STGMEDIUM();
-	transferData.stgmedium.tymed = COM.TYMED_HGLOBAL;
-	transferData.stgmedium.unionField = lpMultiByteStr;
-	transferData.stgmedium.pUnkForRelease = 0;
-	transferData.result = COM.S_OK;
-	return;
-}
-
-/**
- * This implementation of <code>nativeToJava</code> converts a platform specific 
- * representation of a URL and optionally, a title to a java <code>String[]</code>.
- * For additional information see <code>Transfer#nativeToJava</code>.
- * 
- * @param transferData the platform specific representation of the data to be 
- * been converted
- * @return a java <code>String[]</code> containing a URL and optionally a title if the 
- * conversion was successful; otherwise null
- */
-public Object nativeToJava(TransferData transferData){
-	if (!isSupportedType(transferData) || transferData.pIDataObject == 0) return null;
-	IDataObject data = new IDataObject(transferData.pIDataObject);
-	data.AddRef();
-	STGMEDIUM stgmedium = new STGMEDIUM();
-	FORMATETC formatetc = transferData.formatetc;
-	stgmedium.tymed = COM.TYMED_HGLOBAL;	
-	transferData.result = data.GetData(formatetc, stgmedium);
-	data.Release();	
-	if (transferData.result != COM.S_OK) return null;
-	int hMem = stgmedium.unionField;
-	try {
-		int lpMultiByteStr = OS.GlobalLock(hMem);
-		if (lpMultiByteStr == 0) return null;
-		try {
-			int codePage = OS.GetACP();
-			int cchWideChar  = OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, null, 0);
-			if (cchWideChar == 0) return null;
-			char[] lpWideCharStr = new char [cchWideChar - 1];
-			OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, lpWideCharStr, lpWideCharStr.length);
-			return new String[]{new String(lpWideCharStr)};
-		} finally {
-			OS.GlobalUnlock(hMem);
-		}
-	} finally {
-		OS.GlobalFree(hMem);
-	}
-}
-
-protected int[] getTypeIds(){
-	return new int[] {CFSTR_INETURLID};
-}
-
-protected String[] getTypeNames(){
-	return new String[] {CFSTR_INETURL}; 
-}
-
-boolean checkURL(Object object) {
-	if (object == null  || !(object instanceof String[]) || ((String[])object).length == 0) return false;
-	String[] strings = (String[])object;
-	if (strings[0] == null || strings[0].length() == 0) return false;
-	try {
-		new URL(strings[0]);
-	} catch (java.net.MalformedURLException e) {
-		return false;
-	}
-	return true;
-}
-
-protected boolean validate(Object object) {
-	return checkURL(object);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
deleted file mode 100644
index 8a96b4d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
+++ /dev/null
@@ -1,2235 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_structs.h"
-#include "xpcom_stats.h"
-
-extern "C" {
-
-#define XPCOM_NATIVE(func) Java_org_eclipse_swt_internal_mozilla_XPCOM_##func
-
-#ifndef NO_Call
-JNIEXPORT jint JNICALL XPCOM_NATIVE(Call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jbyte *lparg3=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, Call_FUNC);
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetIntArrayElements(arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((nsWriteSegmentFun)arg0)((nsIInputStream *)arg1, (void *)arg2, (const char *)lparg3, arg4, arg5, (PRUint32 *)lparg6);
-fail:
-	if (arg6 && lparg6) env->ReleaseIntArrayElements(arg6, lparg6, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, Call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NS_1GetComponentManager
-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1GetComponentManager)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, NS_1GetComponentManager_FUNC);
-	if (arg0) if ((lparg0 = env->GetIntArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)NS_GetComponentManager((nsIComponentManager**)lparg0);
-fail:
-	if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, NS_1GetComponentManager_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NS_1GetServiceManager
-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1GetServiceManager)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, NS_1GetServiceManager_FUNC);
-	if (arg0) if ((lparg0 = env->GetIntArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)NS_GetServiceManager((nsIServiceManager**)lparg0);
-fail:
-	if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, NS_1GetServiceManager_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NS_1InitEmbedding
-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitEmbedding)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, NS_1InitEmbedding_FUNC);
-	rc = (jint)NS_InitEmbedding((nsILocalFile *)arg0, (nsIDirectoryServiceProvider *)arg1);
-	XPCOM_NATIVE_EXIT(env, that, NS_1InitEmbedding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NS_1NewLocalFile
-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1NewLocalFile)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, NS_1NewLocalFile_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)NS_NewLocalFile(*(nsAString *)arg0, arg1, (nsILocalFile**)lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, NS_1NewLocalFile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NS_1TermEmbedding
-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1TermEmbedding)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, NS_1TermEmbedding_FUNC);
-	rc = (jint)NS_TermEmbedding();
-	XPCOM_NATIVE_EXIT(env, that, NS_1TermEmbedding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PR_1Free
-JNIEXPORT void JNICALL XPCOM_NATIVE(PR_1Free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	XPCOM_NATIVE_ENTER(env, that, PR_1Free_FUNC);
-	PR_Free((void *)arg0);
-	XPCOM_NATIVE_EXIT(env, that, PR_1Free_FUNC);
-}
-#endif
-
-#ifndef NO_PR_1Malloc
-JNIEXPORT jint JNICALL XPCOM_NATIVE(PR_1Malloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, PR_1Malloc_FUNC);
-	rc = (jint)PR_Malloc(arg0);
-	XPCOM_NATIVE_EXIT(env, that, PR_1Malloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint))(*(jint **)arg1)[arg0])(arg1);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIF
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIF)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIF_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jfloat))(*(jint **)arg1)[arg0])(arg1, arg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIF_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIIZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIIIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jboolean arg6)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIIIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIIIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jboolean arg5)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIZ_3CIIIIZ_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIIZ_3CIIIIZ_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jboolean arg5, jcharArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jboolean arg11, jintArray arg12, jintArray arg13)
-{
-	jchar *lparg6=NULL;
-	jint *lparg12=NULL;
-	jint *lparg13=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIIZ_3CIIIIZ_3I_3I_FUNC);
-	if (arg6) if ((lparg6 = env->GetCharArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg12) if ((lparg12 = env->GetIntArrayElements(arg12, NULL)) == NULL) goto fail;
-	if (arg13) if ((lparg13 = env->GetIntArrayElements(arg13, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jboolean, jchar *, jint, jint, jint, jint, jboolean, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, lparg6, arg7, arg8, arg9, arg10, arg11, lparg12, lparg13);
-fail:
-	if (arg13 && lparg13) env->ReleaseIntArrayElements(arg13, lparg13, 0);
-	if (arg12 && lparg12) env->ReleaseIntArrayElements(arg12, lparg12, 0);
-	if (arg6 && lparg6) env->ReleaseCharArrayElements(arg6, lparg6, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIIZ_3CIIIIZ_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIII_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIII_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jcharArray arg5)
-{
-	jchar *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIII_3C_FUNC);
-	if (arg5) if ((lparg5 = env->GetCharArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jchar *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseCharArrayElements(arg5, lparg5, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIII_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIII_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIII_3I_FUNC);
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIJZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIJZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jlong arg4, jboolean arg5)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIJZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jlong, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIJZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jboolean arg4)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIII_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIII_3C_FUNC);
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jchar *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIII_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII_3CIJI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIII_3CIJI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4, jint arg5, jlong arg6, jint arg7)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIII_3CIJI_FUNC);
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jchar *, jint, jlong, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, arg6, arg7);
-fail:
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIII_3CIJI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIII_3I_FUNC);
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII_3J
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIII_3J)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jlongArray arg4)
-{
-	jlong *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIII_3J_FUNC);
-	if (arg4) if ((lparg4 = env->GetLongArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jlong *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseLongArrayElements(arg4, lparg4, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIII_3J_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIJJ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIJJ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jlong arg3, jlong arg4)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIJJ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jlong, jlong))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIJJ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	nsID _arg3, *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_FUNC);
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, nsID *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	nsID _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIZZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jboolean arg4)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIZZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIZZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZZII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIZZII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jboolean arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIZZII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean, jboolean, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIZZII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZZIIIIIIZZZZSI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIZZIIIIIIZZZZSI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jboolean arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jboolean arg11, jboolean arg12, jboolean arg13, jboolean arg14, jshort arg15, jint arg16)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIZZIIIIIIZZZZSI_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean, jboolean, jint, jint, jint, jint, jint, jint, jboolean, jboolean, jboolean, jboolean, jshort, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIZZIIIIIIZZZZSI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZ_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIIZ_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jbooleanArray arg4)
-{
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIIZ_3Z_FUNC);
-	if (arg4) if ((lparg4 = env->GetBooleanArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseBooleanArrayElements(arg4, lparg4, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIIZ_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3BI_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3BI_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4, jintArray arg5)
-{
-	jbyte *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3BI_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jbyte *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3BI_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3B_3B_3BI_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3B_3B_3BI_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jbyteArray arg4, jbyteArray arg5, jint arg6, jintArray arg7)
-{
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3B_3B_3BI_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetByteArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetByteArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetIntArrayElements(arg7, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jbyte *, jbyte *, jbyte *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, arg6, lparg7);
-fail:
-	if (arg7 && lparg7) env->ReleaseIntArrayElements(arg7, lparg7, 0);
-	if (arg5 && lparg5) env->ReleaseByteArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseByteArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3B_3B_3BI_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3B_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3B_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jbooleanArray arg4)
-{
-	jbyte *lparg3=NULL;
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3B_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetBooleanArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jbyte *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseBooleanArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3B_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3)
-{
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3CI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jint arg4)
-{
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3CI_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jint))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3CI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jint arg5, jcharArray arg6, jcharArray arg7, jcharArray arg8, jcharArray arg9, jbooleanArray arg10, jintArray arg11)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jchar *lparg6=NULL;
-	jchar *lparg7=NULL;
-	jchar *lparg8=NULL;
-	jchar *lparg9=NULL;
-	jboolean *lparg10=NULL;
-	jint *lparg11=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetCharArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetCharArrayElements(arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = env->GetCharArrayElements(arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = env->GetCharArrayElements(arg9, NULL)) == NULL) goto fail;
-	if (arg10) if ((lparg10 = env->GetBooleanArrayElements(arg10, NULL)) == NULL) goto fail;
-	if (arg11) if ((lparg11 = env->GetIntArrayElements(arg11, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jint, jchar *, jchar *, jchar *, jchar *, jboolean *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, arg5, lparg6, lparg7, lparg8, lparg9, lparg10, lparg11);
-fail:
-	if (arg11 && lparg11) env->ReleaseIntArrayElements(arg11, lparg11, 0);
-	if (arg10 && lparg10) env->ReleaseBooleanArrayElements(arg10, lparg10, 0);
-	if (arg9 && lparg9) env->ReleaseCharArrayElements(arg9, lparg9, 0);
-	if (arg8 && lparg8) env->ReleaseCharArrayElements(arg8, lparg8, 0);
-	if (arg7 && lparg7) env->ReleaseCharArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseCharArrayElements(arg6, lparg6, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3CI_3I_3I_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3CI_3I_3I_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jint arg5, jintArray arg6, jintArray arg7, jbooleanArray arg8)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jboolean *lparg8=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3CI_3I_3I_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetIntArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetIntArrayElements(arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = env->GetBooleanArrayElements(arg8, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jint, jint *, jint *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, arg5, lparg6, lparg7, lparg8);
-fail:
-	if (arg8 && lparg8) env->ReleaseBooleanArrayElements(arg8, lparg8, 0);
-	if (arg7 && lparg7) env->ReleaseIntArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseIntArrayElements(arg6, lparg6, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3CI_3I_3I_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3C_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3C_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jcharArray arg5, jbooleanArray arg6)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jchar *lparg5=NULL;
-	jboolean *lparg6=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3C_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetCharArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetBooleanArrayElements(arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jchar *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6);
-fail:
-	if (arg6 && lparg6) env->ReleaseBooleanArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseCharArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3C_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3C_3Z_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3C_3Z_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jcharArray arg5, jbooleanArray arg6, jbooleanArray arg7)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jchar *lparg5=NULL;
-	jboolean *lparg6=NULL;
-	jboolean *lparg7=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3C_3Z_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetCharArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetBooleanArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetBooleanArrayElements(arg7, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jchar *, jboolean *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6, lparg7);
-fail:
-	if (arg7 && lparg7) env->ReleaseBooleanArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseBooleanArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseCharArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3C_3Z_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jintArray arg5)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3I_3C_3Z_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3I_3C_3Z_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jintArray arg5, jcharArray arg6, jbooleanArray arg7, jbooleanArray arg8)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint *lparg5=NULL;
-	jchar *lparg6=NULL;
-	jboolean *lparg7=NULL;
-	jboolean *lparg8=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3I_3C_3Z_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetCharArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetBooleanArrayElements(arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = env->GetBooleanArrayElements(arg8, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jint *, jchar *, jboolean *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6, lparg7, lparg8);
-fail:
-	if (arg8 && lparg8) env->ReleaseBooleanArrayElements(arg8, lparg8, 0);
-	if (arg7 && lparg7) env->ReleaseBooleanArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseCharArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3I_3C_3Z_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jintArray arg5, jintArray arg6, jcharArray arg7, jbooleanArray arg8, jbooleanArray arg9)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jchar *lparg7=NULL;
-	jboolean *lparg8=NULL;
-	jboolean *lparg9=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetIntArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetCharArrayElements(arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = env->GetBooleanArrayElements(arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = env->GetBooleanArrayElements(arg9, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jint *, jint *, jchar *, jboolean *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6, lparg7, lparg8, lparg9);
-fail:
-	if (arg9 && lparg9) env->ReleaseBooleanArrayElements(arg9, lparg9, 0);
-	if (arg8 && lparg8) env->ReleaseBooleanArrayElements(arg8, lparg8, 0);
-	if (arg7 && lparg7) env->ReleaseCharArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseIntArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3C_3C_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3C_3C_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jcharArray arg4, jbooleanArray arg5)
-{
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jboolean *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3C_3C_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetBooleanArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jchar *, jchar *, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseBooleanArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3C_3C_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3I_3I_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3I_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetIntArrayElements(arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint *, jint *, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6);
-fail:
-	if (arg6 && lparg6) env->ReleaseIntArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__III_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbooleanArray arg3)
-{
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__III_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__III_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIJ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIJ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIJ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong))(*(jint **)arg1)[arg0])(arg1, arg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIJ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIJI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIJI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2, jint arg3)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIJI_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIJI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIJJ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIJJ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2, jlong arg3)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIJJ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong, jlong))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIJJ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIJJI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIJJI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2, jlong arg3, jint arg4)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIJJI_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong, jlong, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIJJI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIJJJJJ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIJJJJJ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2, jlong arg3, jlong arg4, jlong arg5, jlong arg6)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIJJJJJ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong, jlong, jlong, jlong, jlong))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIJJJJJ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	nsID _arg2, *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jobject arg4, jintArray arg5)
-{
-	nsID _arg2, *lparg2=NULL;
-	nsID _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getnsIDFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jint, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) setnsIDFields(env, arg4, lparg4);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jintArray arg4)
-{
-	nsID _arg2, *lparg2=NULL;
-	nsID _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jbooleanArray arg4)
-{
-	nsID _arg2, *lparg2=NULL;
-	nsID _arg3, *lparg3=NULL;
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetBooleanArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, nsID *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseBooleanArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jbyteArray arg3, jbyteArray arg4, jint arg5)
-{
-	nsID _arg2, *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetByteArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jbyte *, jbyte *, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, arg5);
-fail:
-	if (arg4 && lparg4) env->ReleaseByteArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jbyteArray arg3, jbyteArray arg4, jint arg5, jbyteArray arg6, jbyteArray arg7)
-{
-	nsID _arg2, *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	jbyte *lparg7=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetByteArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetByteArrayElements(arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetByteArrayElements(arg7, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jbyte *, jbyte *, jint, jbyte *, jbyte *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, arg5, lparg6, lparg7);
-fail:
-	if (arg7 && lparg7) env->ReleaseByteArrayElements(arg7, lparg7, 0);
-	if (arg6 && lparg6) env->ReleaseByteArrayElements(arg6, lparg6, 0);
-	if (arg4 && lparg4) env->ReleaseByteArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3)
-{
-	nsID _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jbooleanArray arg3)
-{
-	nsID _arg2, *lparg2=NULL;
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	if (arg2) if ((lparg2 = getnsIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, nsID *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) setnsIDFields(env, arg2, lparg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIZI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIZI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIZI_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jboolean, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIZI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIZ_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__IIZ_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jbooleanArray arg3)
-{
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__IIZ_3Z_FUNC);
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jboolean, jboolean *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__IIZ_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BI_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jobject arg4, jintArray arg5)
-{
-	jbyte *lparg2=NULL;
-	nsID _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getnsIDFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) setnsIDFields(env, arg4, lparg4);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BI_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BI_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jintArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BI_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BI_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BJ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BJ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jlong arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BJ_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jlong))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BJ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jobject arg3, jint arg4)
-{
-	jbyte *lparg2=NULL;
-	nsID _arg3, *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, nsID *, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jobject arg3, jintArray arg4)
-{
-	jbyte *lparg2=NULL;
-	nsID _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, nsID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jobject arg3, jbooleanArray arg4)
-{
-	jbyte *lparg2=NULL;
-	nsID _arg3, *lparg3=NULL;
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getnsIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetBooleanArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, nsID *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseBooleanArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) setnsIDFields(env, arg3, lparg3);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BZI_3I_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BZI_3I_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jboolean arg3, jint arg4, jintArray arg5, jbooleanArray arg6)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg5=NULL;
-	jboolean *lparg6=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BZI_3I_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = env->GetBooleanArrayElements(arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jboolean, jint, jint *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, lparg5, lparg6);
-fail:
-	if (arg6 && lparg6) env->ReleaseBooleanArrayElements(arg6, lparg6, 0);
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BZI_3I_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3BZ_3I_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3BZ_3I_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jboolean arg3, jintArray arg4, jbooleanArray arg5)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg4=NULL;
-	jboolean *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3BZ_3I_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetBooleanArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jboolean, jint *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseBooleanArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3BZ_3I_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3B
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3B_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jbyte *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3BZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3BZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jboolean arg4)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3BZ_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jbyte *, jboolean))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3BZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3B_3BZZ_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3B_3BZZ_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jbyteArray arg4, jboolean arg5, jboolean arg6, jintArray arg7)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3B_3BZZ_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetByteArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = env->GetIntArrayElements(arg7, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jbyte *, jbyte *, jboolean, jboolean, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, arg5, arg6, lparg7);
-fail:
-	if (arg7 && lparg7) env->ReleaseIntArrayElements(arg7, lparg7, 0);
-	if (arg4 && lparg4) env->ReleaseByteArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3B_3BZZ_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3B_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3B_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jintArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3B_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetByteArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jbyte *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3B_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jintArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jintArray arg3, jintArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3I_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3I_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jintArray arg3, jbooleanArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg3=NULL;
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3I_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetBooleanArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jint *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseBooleanArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3I_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3J
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3J)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jlongArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jlong *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3J_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetLongArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jlong *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseLongArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3J_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbooleanArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3B_3Z_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3B_3Z_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbooleanArray arg3, jintArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jboolean *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3B_3Z_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetByteArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jbyte *, jboolean *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3B_3Z_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3C_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CIIII
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3CIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3CIIII_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6);
-fail:
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3CIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CI_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3CI_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jintArray arg4)
-{
-	jchar *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3CI_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3CI_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3CZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jboolean arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3CZ_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jboolean))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3CZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C_3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3C_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jcharArray arg3)
-{
-	jchar *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3C_3C_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jchar *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3C_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C_3C_3CZ
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3C_3C_3CZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jcharArray arg3, jcharArray arg4, jboolean arg5)
-{
-	jchar *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3C_3C_3CZ_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetCharArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jchar *, jchar *, jboolean))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, arg5);
-fail:
-	if (arg4 && lparg4) env->ReleaseCharArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3C_3C_3CZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3C_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jbooleanArray arg3)
-{
-	jchar *lparg2=NULL;
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3C_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetCharArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetBooleanArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseBooleanArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseCharArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3C_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3F
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3F)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3F_FUNC);
-	if (arg2) if ((lparg2 = env->GetFloatArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jfloat *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseFloatArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3F_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I_3I_3I_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_3I_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetIntArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *, jint *, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I_3J
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I_3J)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jlongArray arg3)
-{
-	jint *lparg2=NULL;
-	jlong *lparg3=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_3J_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetLongArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *, jlong *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseLongArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_3J_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I_3J_3I
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3I_3J_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jlongArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jlong *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3I_3J_3I_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = env->GetLongArrayElements(arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *, jlong *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
-	if (arg3 && lparg3) env->ReleaseLongArrayElements(arg3, lparg3, 0);
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3I_3J_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3J
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3J)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlongArray arg2)
-{
-	jlong *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3J_FUNC);
-	if (arg2) if ((lparg2 = env->GetLongArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jlong *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseLongArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3J_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3S
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3S_FUNC);
-	if (arg2) if ((lparg2 = env->GetShortArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jshort *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseShortArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3Z
-JNIEXPORT jint JNICALL XPCOM_NATIVE(VtblCall__II_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbooleanArray arg2)
-{
-	jboolean *lparg2=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, VtblCall__II_3Z_FUNC);
-	if (arg2) if ((lparg2 = env->GetBooleanArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jboolean *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseBooleanArrayElements(arg2, lparg2, 0);
-	XPCOM_NATIVE_EXIT(env, that, VtblCall__II_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	nsID _arg1, *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-	if (arg1) if ((lparg1 = getnsIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) setnsIDFields(env, arg1, lparg1);
-	XPCOM_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3BI
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__I_3BI_FUNC);
-	if (arg1) if ((lparg1 = env->GetByteArrayElements(arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseByteArrayElements(arg1, lparg1, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3CI
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__I_3CI_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove__I_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3II
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__I_3II_FUNC);
-	if (arg1) if ((lparg1 = env->GetIntArrayElements(arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3JI
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__I_3JI)
-	(JNIEnv *env, jclass that, jint arg0, jlongArray arg1, jint arg2)
-{
-	jlong *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__I_3JI_FUNC);
-	if (arg1) if ((lparg1 = env->GetLongArrayElements(arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseLongArrayElements(arg1, lparg1, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove__I_3JI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	nsID _arg0, *lparg0=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II_FUNC);
-	if (arg0) if ((lparg0 = getnsIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setnsIDFields(env, arg0, lparg0);
-	XPCOM_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3BII
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove___3BII_FUNC);
-	if (arg0) if ((lparg0 = env->GetByteArrayElements(arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) env->ReleaseByteArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3B_3CI
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove___3B_3CI)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jcharArray arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	jchar *lparg1=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove___3B_3CI_FUNC);
-	if (arg0) if ((lparg0 = env->GetByteArrayElements(arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	if (arg0 && lparg0) env->ReleaseByteArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove___3B_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3CII
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove___3CII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove___3CII_FUNC);
-	if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove___3CII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3III
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove___3III_FUNC);
-	if (arg0) if ((lparg0 = env->GetIntArrayElements(arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove___3III_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3JII
-JNIEXPORT void JNICALL XPCOM_NATIVE(memmove___3JII)
-	(JNIEnv *env, jclass that, jlongArray arg0, jint arg1, jint arg2)
-{
-	jlong *lparg0=NULL;
-	XPCOM_NATIVE_ENTER(env, that, memmove___3JII_FUNC);
-	if (arg0) if ((lparg0 = env->GetLongArrayElements(arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) env->ReleaseLongArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, memmove___3JII_FUNC);
-}
-#endif
-
-#ifndef NO_nsEmbedCString_1Length
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedCString_1Length)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1Length_FUNC);
-	rc = (jint)((nsEmbedCString *)arg0)->Length();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1Length_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedCString_1delete
-JNIEXPORT void JNICALL XPCOM_NATIVE(nsEmbedCString_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1delete_FUNC);
-	delete (nsEmbedCString *)arg0;
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_nsEmbedCString_1get
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedCString_1get)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1get_FUNC);
-	rc = (jint)((nsEmbedCString *)arg0)->get();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedCString_1new__
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedCString_1new__)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___FUNC);
-	rc = (jint)new nsEmbedCString();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedCString_1new___3BI
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedCString_1new___3BI)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___3BI_FUNC);
-	if (arg0) if ((lparg0 = env->GetByteArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)new nsEmbedCString((const char *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) env->ReleaseByteArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___3BI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedString_1Length
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedString_1Length)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1Length_FUNC);
-	rc = (jint)((nsEmbedString *)arg0)->Length();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1Length_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedString_1delete
-JNIEXPORT void JNICALL XPCOM_NATIVE(nsEmbedString_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1delete_FUNC);
-	delete (nsEmbedString *)arg0;
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_nsEmbedString_1get
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedString_1get)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1get_FUNC);
-	rc = (jint)((nsEmbedString *)arg0)->get();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedString_1new__
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedString_1new__)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___FUNC);
-	rc = (jint)new nsEmbedString();
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsEmbedString_1new___3C
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsEmbedString_1new___3C)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___3C_FUNC);
-	if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)new nsEmbedString(lparg0);
-fail:
-	if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0);
-	XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsID_1Equals
-JNIEXPORT jboolean JNICALL XPCOM_NATIVE(nsID_1Equals)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsID_1Equals_FUNC);
-	rc = (jboolean)((nsID *)arg0)->Equals(*(nsID *)arg1);
-	XPCOM_NATIVE_EXIT(env, that, nsID_1Equals_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsID_1Parse
-JNIEXPORT jboolean JNICALL XPCOM_NATIVE(nsID_1Parse)
-	(JNIEnv *env, jclass that, jint arg0, jstring arg1)
-{
-	const char *lparg1= NULL;
-	jboolean rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsID_1Parse_FUNC);
-	if (arg1) if ((lparg1 = env->GetStringUTFChars(arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)((nsID *)arg0)->Parse((const char *)lparg1);
-fail:
-	if (arg1 && lparg1) env->ReleaseStringUTFChars(arg1, lparg1);
-	XPCOM_NATIVE_EXIT(env, that, nsID_1Parse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_nsID_1delete
-JNIEXPORT void JNICALL XPCOM_NATIVE(nsID_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	XPCOM_NATIVE_ENTER(env, that, nsID_1delete_FUNC);
-	delete (nsID *)arg0;
-	XPCOM_NATIVE_EXIT(env, that, nsID_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_nsID_1new
-JNIEXPORT jint JNICALL XPCOM_NATIVE(nsID_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, nsID_1new_FUNC);
-	rc = (jint)new nsID();
-	XPCOM_NATIVE_EXIT(env, that, nsID_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL XPCOM_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((char *)arg0);
-	XPCOM_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h
deleted file mode 100644
index 938c8f8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.h
+++ /dev/null
@@ -1,31 +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
- *******************************************************************************/
-  
-#ifndef INC_xpcom_H
-#define INC_xpcom_H
-
-#define NDEBUG
-
-#include "nsXPCOM.h"
-#include "nsEmbedAPI.h"	
-#include "nsEmbedString.h"
-#include "nsIInputStream.h"
-#include "nsISupportsUtils.h"
-#include "prmem.h"
-#include "prenv.h"
-
-#ifdef _WIN32
-#define STDMETHODCALLTYPE __stdcall
-#else
-#define STDMETHODCALLTYPE
-#endif
-
-#endif /* INC_xpcom_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_custom.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_custom.cpp
deleted file mode 100644
index cf6de2c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_custom.cpp
+++ /dev/null
@@ -1,38 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_structs.h"
-#include "xpcom_stats.h"
-
-extern "C" {
-
-#define XPCOM_NATIVE(func) Java_org_eclipse_swt_internal_mozilla_XPCOM_##func
-
-#ifndef NO_strlen_1PRUnichar
-JNIEXPORT jint JNICALL XPCOM_NATIVE(strlen_1PRUnichar)
-	(JNIEnv *env, jclass that, SWT_PTR arg0)
-{
-	jint rc;
-	XPCOM_NATIVE_ENTER(env, that, strlen_1PRUnichar_FUNC);
-	{
-	const PRUnichar* lparg0 = NULL;
-	if (arg0) lparg0 = (const PRUnichar *)arg0;
-	PRUint32 len = 0;
-	if (lparg0 != NULL)	while (*lparg0++ != 0) len++;
-	rc = (jint)len;
-	}
-	XPCOM_NATIVE_EXIT(env, that, strlen_1PRUnichar_FUNC);
-	return rc;
-}
-#endif
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.cpp
deleted file mode 100644
index c68ba8a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.cpp
+++ /dev/null
@@ -1,72 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_profile_structs.h"
-#include "xpcom_profile_stats.h"
-
-extern "C" {
-
-#define XPCOM_PROFILE_NATIVE(func) Java_org_eclipse_swt_internal_mozilla_XPCOM_1PROFILE_##func
-
-#ifndef NO_NS_1NewProfileDirServiceProvider
-JNIEXPORT jint JNICALL XPCOM_PROFILE_NATIVE(NS_1NewProfileDirServiceProvider)
-	(JNIEnv *env, jclass that, jboolean arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	XPCOM_PROFILE_NATIVE_ENTER(env, that, NS_1NewProfileDirServiceProvider_FUNC);
-	if (arg1) if ((lparg1 = env->GetIntArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)NS_NewProfileDirServiceProvider(arg0, (nsProfileDirServiceProvider**)lparg1);
-fail:
-	if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0);
-	XPCOM_PROFILE_NATIVE_EXIT(env, that, NS_1NewProfileDirServiceProvider_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ProfileDirServiceProvider_1Register
-JNIEXPORT jint JNICALL XPCOM_PROFILE_NATIVE(ProfileDirServiceProvider_1Register)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_PROFILE_NATIVE_ENTER(env, that, ProfileDirServiceProvider_1Register_FUNC);
-	rc = (jint)((nsProfileDirServiceProvider *)arg0)->Register();
-	XPCOM_PROFILE_NATIVE_EXIT(env, that, ProfileDirServiceProvider_1Register_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ProfileDirServiceProvider_1SetProfileDir
-JNIEXPORT jint JNICALL XPCOM_PROFILE_NATIVE(ProfileDirServiceProvider_1SetProfileDir)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	XPCOM_PROFILE_NATIVE_ENTER(env, that, ProfileDirServiceProvider_1SetProfileDir_FUNC);
-	rc = (jint)((nsProfileDirServiceProvider *)arg0)->SetProfileDir((nsIFile *)arg1);
-	XPCOM_PROFILE_NATIVE_EXIT(env, that, ProfileDirServiceProvider_1SetProfileDir_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ProfileDirServiceProvider_1Shutdown
-JNIEXPORT jint JNICALL XPCOM_PROFILE_NATIVE(ProfileDirServiceProvider_1Shutdown)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	XPCOM_PROFILE_NATIVE_ENTER(env, that, ProfileDirServiceProvider_1Shutdown_FUNC);
-	rc = (jint)((nsProfileDirServiceProvider *)arg0)->Shutdown();
-	XPCOM_PROFILE_NATIVE_EXIT(env, that, ProfileDirServiceProvider_1Shutdown_FUNC);
-	return rc;
-}
-#endif
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h
deleted file mode 100755
index d45d95e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile.h
+++ /dev/null
@@ -1,21 +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
- *******************************************************************************/
-  
-#ifndef INC_xpcom_profile_H
-#define INC_xpcom_profile_H
-
-#define NDEBUG
-
-#include "nsCOMPtr.h"
-#include "nsProfileDirServiceProvider.h"
-#include "xpcom_stats.h"
-
-#endif /* INC_xpcom_profile_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.cpp
deleted file mode 100644
index 4d5b691..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.cpp
+++ /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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_profile_stats.h"
-
-#ifdef NATIVE_STATS
-
-int XPCOM_PROFILE_nativeFunctionCount = 4;
-int XPCOM_PROFILE_nativeFunctionCallCount[4];
-char * XPCOM_PROFILE_nativeFunctionNames[] = {
-	"NS_1NewProfileDirServiceProvider",
-	"ProfileDirServiceProvider_1Register",
-	"ProfileDirServiceProvider_1SetProfileDir",
-	"ProfileDirServiceProvider_1Shutdown",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(XPCOM_1PROFILE_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return XPCOM_PROFILE_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(XPCOM_1PROFILE_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return env->NewStringUTF(XPCOM_PROFILE_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(XPCOM_1PROFILE_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return XPCOM_PROFILE_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.h
deleted file mode 100644
index d842b66..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_stats.h
+++ /dev/null
@@ -1,28 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int XPCOM_PROFILE_nativeFunctionCount;
-extern int XPCOM_PROFILE_nativeFunctionCallCount[];
-extern char* XPCOM_PROFILE_nativeFunctionNames[];
-#define XPCOM_PROFILE_NATIVE_ENTER(env, that, func) XPCOM_PROFILE_nativeFunctionCallCount[func]++;
-#define XPCOM_PROFILE_NATIVE_EXIT(env, that, func) 
-#else
-#define XPCOM_PROFILE_NATIVE_ENTER(env, that, func) 
-#define XPCOM_PROFILE_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	NS_1NewProfileDirServiceProvider_FUNC,
-	ProfileDirServiceProvider_1Register_FUNC,
-	ProfileDirServiceProvider_1SetProfileDir_FUNC,
-	ProfileDirServiceProvider_1Shutdown_FUNC,
-} XPCOM_PROFILE_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.c b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.c
deleted file mode 100644
index 2b0a84e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.c
+++ /dev/null
@@ -1,14 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_profile_structs.h"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.h
deleted file mode 100644
index 6c3432f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_profile_structs.h
+++ /dev/null
@@ -1,13 +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
- *******************************************************************************/
-
-#include "xpcom_profile.h"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
deleted file mode 100644
index 0424108..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
+++ /dev/null
@@ -1,174 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_stats.h"
-
-#ifdef NATIVE_STATS
-
-int XPCOM_nativeFunctionCount = 132;
-int XPCOM_nativeFunctionCallCount[132];
-char * XPCOM_nativeFunctionNames[] = {
-	"Call",
-	"NS_1GetComponentManager",
-	"NS_1GetServiceManager",
-	"NS_1InitEmbedding",
-	"NS_1NewLocalFile",
-	"NS_1TermEmbedding",
-	"PR_1Free",
-	"PR_1Malloc",
-	"VtblCall__II",
-	"VtblCall__IIF",
-	"VtblCall__III",
-	"VtblCall__IIII",
-	"VtblCall__IIIII",
-	"VtblCall__IIIIII",
-	"VtblCall__IIIIIII",
-	"VtblCall__IIIIIIII",
-	"VtblCall__IIIIIIZ",
-	"VtblCall__IIIIIZ",
-	"VtblCall__IIIIIZ_3CIIIIZ_3I_3I",
-	"VtblCall__IIIII_3C",
-	"VtblCall__IIIII_3I",
-	"VtblCall__IIIIJZ",
-	"VtblCall__IIIIZ",
-	"VtblCall__IIII_3C",
-	"VtblCall__IIII_3CIJI",
-	"VtblCall__IIII_3I",
-	"VtblCall__IIII_3J",
-	"VtblCall__IIIJJ",
-	"VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2",
-	"VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__IIIZ",
-	"VtblCall__IIIZZ",
-	"VtblCall__IIIZZII",
-	"VtblCall__IIIZZIIIIIIZZZZSI",
-	"VtblCall__IIIZ_3Z",
-	"VtblCall__III_3BI_3I",
-	"VtblCall__III_3B_3B_3BI_3I",
-	"VtblCall__III_3B_3Z",
-	"VtblCall__III_3C",
-	"VtblCall__III_3CI",
-	"VtblCall__III_3C_3C",
-	"VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I",
-	"VtblCall__III_3C_3CI_3I_3I_3Z",
-	"VtblCall__III_3C_3C_3C_3Z",
-	"VtblCall__III_3C_3C_3C_3Z_3Z",
-	"VtblCall__III_3C_3C_3I",
-	"VtblCall__III_3C_3C_3I_3C_3Z_3Z",
-	"VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z",
-	"VtblCall__III_3C_3C_3Z",
-	"VtblCall__III_3I",
-	"VtblCall__III_3I_3I_3I_3I",
-	"VtblCall__III_3Z",
-	"VtblCall__IIJ",
-	"VtblCall__IIJI",
-	"VtblCall__IIJJ",
-	"VtblCall__IIJJI",
-	"VtblCall__IIJJJJJ",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z",
-	"VtblCall__IIZ",
-	"VtblCall__IIZI",
-	"VtblCall__IIZ_3Z",
-	"VtblCall__II_3B",
-	"VtblCall__II_3BI",
-	"VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__II_3BI_3I",
-	"VtblCall__II_3BJ",
-	"VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I",
-	"VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I",
-	"VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z",
-	"VtblCall__II_3BZI_3I_3Z",
-	"VtblCall__II_3BZ_3I_3Z",
-	"VtblCall__II_3B_3B",
-	"VtblCall__II_3B_3BZ",
-	"VtblCall__II_3B_3B_3BZZ_3I",
-	"VtblCall__II_3B_3B_3I",
-	"VtblCall__II_3B_3I",
-	"VtblCall__II_3B_3I_3I",
-	"VtblCall__II_3B_3I_3Z",
-	"VtblCall__II_3B_3J",
-	"VtblCall__II_3B_3Z",
-	"VtblCall__II_3B_3Z_3I",
-	"VtblCall__II_3C",
-	"VtblCall__II_3CIIII",
-	"VtblCall__II_3CI_3I",
-	"VtblCall__II_3CZ",
-	"VtblCall__II_3C_3C",
-	"VtblCall__II_3C_3C_3CZ",
-	"VtblCall__II_3C_3Z",
-	"VtblCall__II_3F",
-	"VtblCall__II_3I",
-	"VtblCall__II_3I_3I",
-	"VtblCall__II_3I_3I_3I",
-	"VtblCall__II_3I_3I_3I_3I",
-	"VtblCall__II_3I_3J",
-	"VtblCall__II_3I_3J_3I",
-	"VtblCall__II_3J",
-	"VtblCall__II_3S",
-	"VtblCall__II_3Z",
-	"memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I",
-	"memmove__I_3BI",
-	"memmove__I_3CI",
-	"memmove__I_3II",
-	"memmove__I_3JI",
-	"memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II",
-	"memmove___3BII",
-	"memmove___3B_3CI",
-	"memmove___3CII",
-	"memmove___3III",
-	"memmove___3JII",
-	"nsEmbedCString_1Length",
-	"nsEmbedCString_1delete",
-	"nsEmbedCString_1get",
-	"nsEmbedCString_1new__",
-	"nsEmbedCString_1new___3BI",
-	"nsEmbedString_1Length",
-	"nsEmbedString_1delete",
-	"nsEmbedString_1get",
-	"nsEmbedString_1new__",
-	"nsEmbedString_1new___3C",
-	"nsID_1Equals",
-	"nsID_1Parse",
-	"nsID_1delete",
-	"nsID_1new",
-	"strlen",
-	"strlen_1PRUnichar",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(XPCOM_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return XPCOM_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(XPCOM_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return env->NewStringUTF(XPCOM_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(XPCOM_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return XPCOM_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
deleted file mode 100644
index 44885bc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
+++ /dev/null
@@ -1,156 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int XPCOM_nativeFunctionCount;
-extern int XPCOM_nativeFunctionCallCount[];
-extern char* XPCOM_nativeFunctionNames[];
-#define XPCOM_NATIVE_ENTER(env, that, func) XPCOM_nativeFunctionCallCount[func]++;
-#define XPCOM_NATIVE_EXIT(env, that, func) 
-#else
-#define XPCOM_NATIVE_ENTER(env, that, func) 
-#define XPCOM_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	Call_FUNC,
-	NS_1GetComponentManager_FUNC,
-	NS_1GetServiceManager_FUNC,
-	NS_1InitEmbedding_FUNC,
-	NS_1NewLocalFile_FUNC,
-	NS_1TermEmbedding_FUNC,
-	PR_1Free_FUNC,
-	PR_1Malloc_FUNC,
-	VtblCall__II_FUNC,
-	VtblCall__IIF_FUNC,
-	VtblCall__III_FUNC,
-	VtblCall__IIII_FUNC,
-	VtblCall__IIIII_FUNC,
-	VtblCall__IIIIII_FUNC,
-	VtblCall__IIIIIII_FUNC,
-	VtblCall__IIIIIIII_FUNC,
-	VtblCall__IIIIIIZ_FUNC,
-	VtblCall__IIIIIZ_FUNC,
-	VtblCall__IIIIIZ_3CIIIIZ_3I_3I_FUNC,
-	VtblCall__IIIII_3C_FUNC,
-	VtblCall__IIIII_3I_FUNC,
-	VtblCall__IIIIJZ_FUNC,
-	VtblCall__IIIIZ_FUNC,
-	VtblCall__IIII_3C_FUNC,
-	VtblCall__IIII_3CIJI_FUNC,
-	VtblCall__IIII_3I_FUNC,
-	VtblCall__IIII_3J_FUNC,
-	VtblCall__IIIJJ_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__IIIZ_FUNC,
-	VtblCall__IIIZZ_FUNC,
-	VtblCall__IIIZZII_FUNC,
-	VtblCall__IIIZZIIIIIIZZZZSI_FUNC,
-	VtblCall__IIIZ_3Z_FUNC,
-	VtblCall__III_3BI_3I_FUNC,
-	VtblCall__III_3B_3B_3BI_3I_FUNC,
-	VtblCall__III_3B_3Z_FUNC,
-	VtblCall__III_3C_FUNC,
-	VtblCall__III_3CI_FUNC,
-	VtblCall__III_3C_3C_FUNC,
-	VtblCall__III_3C_3CI_3C_3C_3C_3C_3Z_3I_FUNC,
-	VtblCall__III_3C_3CI_3I_3I_3Z_FUNC,
-	VtblCall__III_3C_3C_3C_3Z_FUNC,
-	VtblCall__III_3C_3C_3C_3Z_3Z_FUNC,
-	VtblCall__III_3C_3C_3I_FUNC,
-	VtblCall__III_3C_3C_3I_3C_3Z_3Z_FUNC,
-	VtblCall__III_3C_3C_3I_3I_3C_3Z_3Z_FUNC,
-	VtblCall__III_3C_3C_3Z_FUNC,
-	VtblCall__III_3I_FUNC,
-	VtblCall__III_3I_3I_3I_3I_FUNC,
-	VtblCall__III_3Z_FUNC,
-	VtblCall__IIJ_FUNC,
-	VtblCall__IIJI_FUNC,
-	VtblCall__IIJJ_FUNC,
-	VtblCall__IIJJI_FUNC,
-	VtblCall__IIJJJJJ_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2ILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2Lorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3B_3BI_3B_3B_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC,
-	VtblCall__IIZ_FUNC,
-	VtblCall__IIZI_FUNC,
-	VtblCall__IIZ_3Z_FUNC,
-	VtblCall__II_3B_FUNC,
-	VtblCall__II_3BI_FUNC,
-	VtblCall__II_3BILorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__II_3BI_3I_FUNC,
-	VtblCall__II_3BJ_FUNC,
-	VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC,
-	VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3I_FUNC,
-	VtblCall__II_3BLorg_eclipse_swt_internal_mozilla_nsID_2_3Z_FUNC,
-	VtblCall__II_3BZI_3I_3Z_FUNC,
-	VtblCall__II_3BZ_3I_3Z_FUNC,
-	VtblCall__II_3B_3B_FUNC,
-	VtblCall__II_3B_3BZ_FUNC,
-	VtblCall__II_3B_3B_3BZZ_3I_FUNC,
-	VtblCall__II_3B_3B_3I_FUNC,
-	VtblCall__II_3B_3I_FUNC,
-	VtblCall__II_3B_3I_3I_FUNC,
-	VtblCall__II_3B_3I_3Z_FUNC,
-	VtblCall__II_3B_3J_FUNC,
-	VtblCall__II_3B_3Z_FUNC,
-	VtblCall__II_3B_3Z_3I_FUNC,
-	VtblCall__II_3C_FUNC,
-	VtblCall__II_3CIIII_FUNC,
-	VtblCall__II_3CI_3I_FUNC,
-	VtblCall__II_3CZ_FUNC,
-	VtblCall__II_3C_3C_FUNC,
-	VtblCall__II_3C_3C_3CZ_FUNC,
-	VtblCall__II_3C_3Z_FUNC,
-	VtblCall__II_3F_FUNC,
-	VtblCall__II_3I_FUNC,
-	VtblCall__II_3I_3I_FUNC,
-	VtblCall__II_3I_3I_3I_FUNC,
-	VtblCall__II_3I_3I_3I_3I_FUNC,
-	VtblCall__II_3I_3J_FUNC,
-	VtblCall__II_3I_3J_3I_FUNC,
-	VtblCall__II_3J_FUNC,
-	VtblCall__II_3S_FUNC,
-	VtblCall__II_3Z_FUNC,
-	memmove__ILorg_eclipse_swt_internal_mozilla_nsID_2I_FUNC,
-	memmove__I_3BI_FUNC,
-	memmove__I_3CI_FUNC,
-	memmove__I_3II_FUNC,
-	memmove__I_3JI_FUNC,
-	memmove__Lorg_eclipse_swt_internal_mozilla_nsID_2II_FUNC,
-	memmove___3BII_FUNC,
-	memmove___3B_3CI_FUNC,
-	memmove___3CII_FUNC,
-	memmove___3III_FUNC,
-	memmove___3JII_FUNC,
-	nsEmbedCString_1Length_FUNC,
-	nsEmbedCString_1delete_FUNC,
-	nsEmbedCString_1get_FUNC,
-	nsEmbedCString_1new___FUNC,
-	nsEmbedCString_1new___3BI_FUNC,
-	nsEmbedString_1Length_FUNC,
-	nsEmbedString_1delete_FUNC,
-	nsEmbedString_1get_FUNC,
-	nsEmbedString_1new___FUNC,
-	nsEmbedString_1new___3C_FUNC,
-	nsID_1Equals_FUNC,
-	nsID_1Parse_FUNC,
-	nsID_1delete_FUNC,
-	nsID_1new_FUNC,
-	strlen_FUNC,
-	strlen_1PRUnichar_FUNC,
-} XPCOM_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.cpp
deleted file mode 100644
index 771c12c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.cpp
+++ /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
- *******************************************************************************/
-
-#include "swt.h"
-#include "xpcom_structs.h"
-
-#ifndef NO_nsID
-typedef struct nsID_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID m0, m1, m2, m3;
-} nsID_FID_CACHE;
-
-nsID_FID_CACHE nsIDFc;
-
-void cachensIDFields(JNIEnv *env, jobject lpObject)
-{
-	if (nsIDFc.cached) return;
-	nsIDFc.clazz = env->GetObjectClass(lpObject);
-	nsIDFc.m0 = env->GetFieldID(nsIDFc.clazz, "m0", "I");
-	nsIDFc.m1 = env->GetFieldID(nsIDFc.clazz, "m1", "S");
-	nsIDFc.m2 = env->GetFieldID(nsIDFc.clazz, "m2", "S");
-	nsIDFc.m3 = env->GetFieldID(nsIDFc.clazz, "m3", "[B");
-	nsIDFc.cached = 1;
-}
-
-nsID *getnsIDFields(JNIEnv *env, jobject lpObject, nsID *lpStruct)
-{
-	if (!nsIDFc.cached) cachensIDFields(env, lpObject);
-	lpStruct->m0 = env->GetIntField(lpObject, nsIDFc.m0);
-	lpStruct->m1 = env->GetShortField(lpObject, nsIDFc.m1);
-	lpStruct->m2 = env->GetShortField(lpObject, nsIDFc.m2);
-	{
-	jbyteArray lpObject1 = (jbyteArray)env->GetObjectField(lpObject, nsIDFc.m3);
-	env->GetByteArrayRegion(lpObject1, 0, sizeof(lpStruct->m3), (jbyte *)lpStruct->m3);
-	}
-	return lpStruct;
-}
-
-void setnsIDFields(JNIEnv *env, jobject lpObject, nsID *lpStruct)
-{
-	if (!nsIDFc.cached) cachensIDFields(env, lpObject);
-	env->SetIntField(lpObject, nsIDFc.m0, (jint)lpStruct->m0);
-	env->SetShortField(lpObject, nsIDFc.m1, (jshort)lpStruct->m1);
-	env->SetShortField(lpObject, nsIDFc.m2, (jshort)lpStruct->m2);
-	{
-	jbyteArray lpObject1 = (jbyteArray)env->GetObjectField(lpObject, nsIDFc.m3);
-	env->SetByteArrayRegion(lpObject1, 0, sizeof(lpStruct->m3), (jbyte *)lpStruct->m3);
-	}
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.h
deleted file mode 100644
index 34a3685..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_structs.h
+++ /dev/null
@@ -1,25 +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
- *******************************************************************************/
-
-#include "xpcom.h"
-
-#ifndef NO_nsID
-void cachensIDFields(JNIEnv *env, jobject lpObject);
-nsID *getnsIDFields(JNIEnv *env, jobject lpObject, nsID *lpStruct);
-void setnsIDFields(JNIEnv *env, jobject lpObject, nsID *lpStruct);
-#define nsID_sizeof() sizeof(nsID)
-#else
-#define cachensIDFields(a,b)
-#define getnsIDFields(a,b,c) NULL
-#define setnsIDFields(a,b,c)
-#define nsID_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
deleted file mode 100644
index 095f5d9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-import org.eclipse.swt.internal.*;
-
-public class XPCOM extends Platform {
-//	static {
-//		Library.loadLibrary ("swt-mozilla"); //$NON-NLS-1$
-//	}
-	
-	public static final String MOZILLA_FIVE_HOME = "MOZILLA_FIVE_HOME"; //$NON-NLS-1$
-	public static final String CONTENT_MAYBETEXT = "application/x-vnd.mozilla.maybe-text"; //$NON-NLS-1$
-	public static final String CONTENT_MULTIPART = "multipart/x-mixed-replace"; //$NON-NLS-1$
-	public static final String HTTPS_PROTOCOL = "https:";  //$NON-NLS-1$
-	
-	/* CID constants */
-	public static final nsID NS_APPSHELL_CID =	new nsID("2d96b3df-c051-11d1-a827-0040959a28c9"); //$NON-NLS-1$
-	public static final nsID NS_DOWNLOAD_CID = new nsID("e3fa9D0a-1dd1-11b2-bdef-8c720b597445"); //$NON-NLS-1$
-	public static final nsID NS_FILEPICKER_CID = new nsID("54ae32f8-1dd2-11b2-a209-df7c505370f8"); //$NON-NLS-1$
-	public static final nsID NS_HELPERAPPLAUNCHERDIALOG_CID = new nsID("f68578eb-6ec2-4169-ae19-8c6243f0abe1"); //$NON-NLS-1$
-	public static final nsID NS_IOSERVICE_CID =	new nsID("9ac9e770-18bc-11d3-9337-00104ba0fd40"); //$NON-NLS-1$
-	public static final nsID NS_INPUTSTREAMCHANNEL_CID = new nsID("6ddb050c-0d04-11d4-986e-00c04fa0cf4a"); //$NON-NLS-1$
-	public static final nsID NS_LOADGROUP_CID = new nsID("e1c61582-2a84-11d3-8cce-0060b0fc14a3"); //$NON-NLS-1$
-	public static final nsID NS_PROMPTSERVICE_CID = new nsID("a2112d6a-0e28-421f-b46a-25c0b308cbd0"); //$NON-NLS-1$
-	public static final nsID NS_CATEGORYMANAGER_CID = new nsID("16d222a6-1dd2-11b2-b693-f38b02c021b2"); //$NON-NLS-1$
-
-	public static final String NS_DIRECTORYSERVICE_CONTRACTID = "@mozilla.org/file/directory_service;1"; //$NON-NLS-1$
-	public static final String NS_DOWNLOAD_CONTRACTID = "@mozilla.org/download;1"; //$NON-NLS-1$
-	public static final String NS_FILEPICKER_CONTRACTID = "@mozilla.org/filepicker;1"; //$NON-NLS-1$
-	public static final String NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID = "@mozilla.org/helperapplauncherdialog;1"; //$NON-NLS-1$
-	public static final String NS_MEMORY_CONTRACTID = "@mozilla.org/xpcom/memory-service;1"; //$NON-NLS-1$
-	public static final String NS_PREFLOCALIZEDSTRING_CONTRACTID = "@mozilla.org/pref-localizedstring;1"; //$NON-NLS-1$
-	public static final String NS_PREFSERVICE_CONTRACTID = "@mozilla.org/preferences-service;1"; //$NON-NLS-1$
-	public static final String NS_PROMPTSERVICE_CONTRACTID = "@mozilla.org/embedcomp/prompt-service;1"; //$NON-NLS-1$
-	public static final String NS_WINDOWWATCHER_CONTRACTID = "@mozilla.org/embedcomp/window-watcher;1"; //$NON-NLS-1$
-	public static final String NS_COOKIEMANAGER_CONTRACTID = "@mozilla.org/cookiemanager;1"; //$NON-NLS-1$
-
-	/* XPCOM constants */
-	public static final int NS_OK =  0;
-	public static final int NS_COMFALSE = 1;
-	public static final int NS_BINDING_ABORTED = 2;
-	public static final int NS_ERROR_BASE = 0xc1f30000;
-	public static final int NS_ERROR_NOT_INITIALIZED =  NS_ERROR_BASE + 1;
-	public static final int NS_ERROR_ALREADY_INITIALIZED = NS_ERROR_BASE + 2;
-	public static final int NS_ERROR_NOT_IMPLEMENTED =  0x80004001;
-	public static final int NS_NOINTERFACE =  0x80004002;
-	public static final int NS_ERROR_NO_INTERFACE =  NS_NOINTERFACE;
-	public static final int NS_ERROR_INVALID_POINTER =  0x80004003;
-	public static final int NS_ERROR_NULL_POINTER = NS_ERROR_INVALID_POINTER;
-	public static final int NS_ERROR_ABORT = 0x80004004;
-	public static final int NS_ERROR_FAILURE = 0x80004005;
-	public static final int NS_ERROR_UNEXPECTED = 0x8000ffff;
-	public static final int NS_ERROR_OUT_OF_MEMORY = 0x8007000e;
-	public static final int NS_ERROR_ILLEGAL_VALUE = 0x80070057;
-	public static final int NS_ERROR_INVALID_ARG = NS_ERROR_ILLEGAL_VALUE;
-	public static final int NS_ERROR_NO_AGGREGATION = 0x80040110;
-	public static final int NS_ERROR_NOT_AVAILABLE = 0x80040111;
-	public static final int NS_ERROR_FACTORY_NOT_REGISTERED = 0x80040154;
-	public static final int NS_ERROR_FACTORY_REGISTER_AGAIN = 0x80040155;
-	public static final int NS_ERROR_FACTORY_NOT_LOADED = 0x800401f8;
-	public static final int NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT = NS_ERROR_BASE + 0x101;
-	public static final int NS_ERROR_FACTORY_EXISTS = NS_ERROR_BASE + 0x100;
-	public static final int NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = 0x804e03f3;
-	public static final int NS_ERROR_FILE_NOT_FOUND = 0x80520012;
-	public static final String NS_APP_APPLICATION_REGISTRY_DIR = "AppRegD"; //$NON-NLS-1$
-
-public static final native void memmove(nsID dest, int /*long*/ src, int nbytes);
-public static final native void memmove(int /*long*/ dest, nsID src, int nbytes);
-public static final native void memmove(int /*long*/ dest, int[] src, int nbytes);
-public static final native void memmove(int /*long*/ dest, long[] src, int nbytes);
-public static final native void memmove(long[] dest, int /*long*/ src, int nbytes);
-public static final native void memmove(int[] dest, int /*long*/ src, int nbytes);
-public static final native void memmove(byte[] dest, int /*long*/ src, int nbytes);
-public static final native void memmove(char[] dest, int /*long*/ src, int nbytes);
-public static final native void memmove(int /*long*/ dest, byte[] src, int nbytes);
-public static final native void memmove(int /*long*/ dest, char[] src, int nbytes);
-public static final native void memmove(byte[] dest, char[] src, int nbytes);
-public static final native int NS_GetComponentManager(int /*long*/[] result);
-public static final native int NS_GetServiceManager(int /*long*/[] result);
-public static final native int NS_InitEmbedding(int /*long*/ aMozBinDirectory, int /*long*/ aAppFileLocProvider);
-public static final native int NS_NewLocalFile(int /*long*/ path, boolean followLinks, int /*long*/[] result);
-public static final native int NS_TermEmbedding();
-public static final native int strlen_PRUnichar(int /*long*/ s);
-public static final native int /*long*/ nsEmbedCString_new();
-public static final native int /*long*/ nsEmbedCString_new(byte[] aString, int length);
-public static final native void nsEmbedCString_delete(int /*long*/ ptr);
-public static final native int nsEmbedCString_Length(int /*long*/ ptr);
-public static final native int /*long*/ nsEmbedCString_get(int /*long*/ ptr);
-public static final native void nsID_delete(int /*long*/ ptr);
-public static final native int /*long*/ nsID_new();
-public static final native boolean nsID_Parse(int /*long*/ ptr, String aIDStr);
-public static final native boolean nsID_Equals(int /*long*/ ptr, int /*long*/ other);
-public static final native int /*long*/ nsEmbedString_new();
-public static final native int /*long*/ nsEmbedString_new(char[] aString);
-public static final native void nsEmbedString_delete(int /*long*/ ptr);
-public static final native int nsEmbedString_Length(int /*long*/ ptr);
-public static final native int /*long*/ nsEmbedString_get(int /*long*/ ptr);
-public static final native void PR_Free(int /*long*/ ptr);
-public static final native int /*long*/ PR_Malloc(int Length);
-public static final native int strlen(int /*long*/ s);
-
-public static final native int /*long*/ Call(int /*long*/ ptr, int /*long*/ aInStream, int /*long*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount);
-
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, boolean arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, boolean[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, boolean arg0, boolean[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, boolean arg0, int /*long*/ arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, boolean[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, nsID arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/arg0, char[] arg1, int arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, boolean[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int /*long*/ arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int /*long*/[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1, boolean arg2, int /*long*/ arg3, int arg4, int arg5, int arg6, int arg7, int arg8, boolean arg9, boolean arg10, boolean arg11, boolean arg12, short arg13, int /*long*/ arg14);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, boolean arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, boolean[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int /*long*/[] arg1, boolean[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/[] arg0, int /*long*/[] arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, boolean[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int /*long*/ arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1, boolean arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1, boolean[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, nsID arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, boolean[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, boolean arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, boolean[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, boolean arg1, int /*long*/[] arg2, boolean[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int /*long*/ arg1, nsID arg2, int /*long*/[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, byte[] arg1, int /*long*/ arg2, int /*long*/[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, boolean[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, int /*long*/[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int arg2, boolean arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, long arg2, boolean arg3);	// needed for 64-bit
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int arg2, char[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int arg2, int arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int arg2, int[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int /*long*/ arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int /*long*/ arg1, nsID arg2, int /*long*/[] arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1, char[] arg2, boolean arg3);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, boolean arg1, int /*long*/ arg2, int /*long*/[] arg3, boolean[] arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1, boolean arg2, int /*long*/ arg3, int arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, char[] arg3, boolean[] arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, boolean arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, byte[] arg1, byte[] arg2, byte[] arg3, int /*long*/ arg4, int /*long*/[] arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, char[] arg3, boolean[] arg4, boolean[] arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, char[] arg2, int /*long*/ arg3, long arg4, int /*long*/ arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int arg2, int arg3, int arg4, int arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int /*long*/ arg3, byte[] arg4, byte[] arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, int /*long*/[] arg3, char[] arg4, boolean[] arg5, boolean[] arg6);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, int arg3, int /*long*/[] arg4, int[] arg5, boolean[] arg6);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, int /*long*/[] arg3, int /*long*/[] arg4, char[] arg5, boolean[] arg6, boolean[] arg7);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, boolean[] arg8, int[] arg9);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, boolean arg3, char[] arg4, int /*long*/ arg5, int /*long*/ arg6, int arg7, int /*long*/ arg8, boolean arg9, int /*long*/[] arg10, int /*long*/[] arg11);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, boolean arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, boolean arg3, boolean arg4, int /*long*/[] arg5);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, int /*long*/[] arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int /*long*/ arg2);
-static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, boolean[] arg1, int /*long*/[] arg2);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM_PROFILE.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM_PROFILE.java
deleted file mode 100644
index 8a42cdd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM_PROFILE.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-import org.eclipse.swt.internal.*;
-
-public class XPCOM_PROFILE extends Platform {
-	public static final native int NS_NewProfileDirServiceProvider (boolean aNotifyObservers, int /*long*/[] result);
-	public static final native int ProfileDirServiceProvider_Register(int /*long*/ ptr);
-	public static final native int ProfileDirServiceProvider_SetProfileDir(int /*long*/ ptr, int /*long*/ aProfileDir);
-	public static final native int ProfileDirServiceProvider_Shutdown(int /*long*/ ptr);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsEmbedString.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsEmbedString.java
deleted file mode 100644
index 162a0ad..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsEmbedString.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsEmbedString {
-	int /*long*/ handle;
-	
-public nsEmbedString() {
-	handle = XPCOM.nsEmbedString_new();
-}
-
-public nsEmbedString(String string) {
-	if (string != null) {
-	   char[] aString = new char[string.length() + 1];
-	   string.getChars(0, string.length(), aString, 0);
-	   handle = XPCOM.nsEmbedString_new(aString);
-	}   
-}
-
-public int /*long*/ getAddress() {
-	return handle;
-}	
-	
-public String toString() {
-	if (handle == 0) return null;
-	int length = XPCOM.nsEmbedString_Length(handle);
-	int /*long*/ buffer = XPCOM.nsEmbedString_get(handle);
-	char[] dest = new char[length];
-	XPCOM.memmove(dest, buffer, length * 2);
-	return new String(dest);
-}	
-	
-public void dispose() {
-	if (handle == 0) return;			
-	XPCOM.nsEmbedString_delete(handle);
-	handle = 0; 	
-}	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
deleted file mode 100644
index 004003c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIAppShell.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIAppShell extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 8;
-
-	public static final String NS_IAPPSHELL_IID_STR =
-		"a0757c31-eeac-11d1-9ec1-00aa002fb821";
-
-	public static final nsID NS_IAPPSHELL_IID =
-		new nsID(NS_IAPPSHELL_IID_STR);
-
-	public nsIAppShell(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Create(int /*long*/ argc, int /*long*/[] argv) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), argc, argv);
-	}
-
-	public int Run() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-
-	public int Spinup() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int Spindown() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
-	}
-
-	public int ListenToEventQueue(int /*long*/ aQueue, boolean aListen) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aQueue, aListen);
-	}
-
-	public int GetNativeEvent(int /*long*/ aRealEvent, int /*long*/[] aEvent) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aRealEvent, aEvent);
-	}
-
-	public int DispatchNativeEvent(boolean aRealEvent, int /*long*/ aEvent) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aRealEvent, aEvent);
-	}
-
-	public int Exit() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
deleted file mode 100644
index 2ed2275..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIBaseWindow extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 24;
-
-	public static final String NS_IBASEWINDOW_IID_STR =
-		"046bc8a0-8015-11d3-af70-00a024ffc08c";
-
-	public static final nsID NS_IBASEWINDOW_IID =
-		new nsID(NS_IBASEWINDOW_IID_STR);
-
-	public nsIBaseWindow(int /*long*/ address) {
-		super(address);
-	}
-
-	public int InitWindow(int /*long*/ parentNativeWindow, int /*long*/ parentWidget, int x, int y, int cx, int cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parentNativeWindow, parentWidget, x, y, cx, cy);
-	}
-
-	public int Create() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-
-	public int Destroy() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int SetPosition(int x, int y) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), x, y);
-	}
-
-	public int GetPosition(int[] x, int[] y) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), x, y);
-	}
-
-	public int SetSize(int cx, int cy, boolean fRepaint) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), cx, cy, fRepaint);
-	}
-
-	public int GetSize(int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), cx, cy);
-	}
-
-	public int SetPositionAndSize(int x, int y, int cx, int cy, boolean fRepaint) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), x, y, cx, cy, fRepaint);
-	}
-
-	public int GetPositionAndSize(int[] x, int[] y, int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), x, y, cx, cy);
-	}
-
-	public int Repaint(boolean force) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
-	}
-
-	public int GetParentWidget(int /*long*/[] aParentWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
-	}
-
-	public int SetParentWidget(int /*long*/ aParentWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
-	}
-
-	public int GetParentNativeWindow(int /*long*/[] aParentNativeWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
-	}
-
-	public int SetParentNativeWindow(int /*long*/ aParentNativeWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
-	}
-
-	public int GetVisibility(boolean[] aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aVisibility);
-	}
-
-	public int SetVisibility(boolean aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aVisibility);
-	}
-
-	public int GetEnabled(boolean[] aEnabled) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aEnabled);
-	}
-
-	public int SetEnabled(boolean aEnabled) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aEnabled);
-	}
-
-	public int GetBlurSuppression(boolean[] aBlurSuppression) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aBlurSuppression);
-	}
-
-	public int SetBlurSuppression(boolean aBlurSuppression) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
-	}
-
-	public int GetMainWidget(int /*long*/[] aMainWidget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aMainWidget);
-	}
-
-	public int SetFocus() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress());
-	}
-
-	public int GetTitle(int /*long*/[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aTitle);
-	}
-
-	public int SetTitle(char[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aTitle);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICategoryManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
deleted file mode 100644
index 1941ea3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsICategoryManager extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 6;
-
-	public static final String NS_ICATEGORYMANAGER_IID_STR =
-		"3275b2cd-af6d-429a-80d7-f0c5120342ac";
-
-	public static final nsID NS_ICATEGORYMANAGER_IID =
-		new nsID(NS_ICATEGORYMANAGER_IID_STR);
-
-	public nsICategoryManager(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetCategoryEntry(byte[] aCategory, byte[] aEntry, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCategory, aEntry, _retval);
-	}
-
-	public int AddCategoryEntry(byte[] aCategory, byte[] aEntry, byte[] aValue, boolean aPersist, boolean aReplace, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCategory, aEntry, aValue, aPersist, aReplace, _retval);
-	}
-
-	public int DeleteCategoryEntry(byte[] aCategory, byte[] aEntry, boolean aPersist) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aCategory, aEntry, aPersist);
-	}
-
-	public int DeleteCategory(byte[] aCategory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCategory);
-	}
-
-	public int EnumerateCategory(byte[] aCategory, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCategory, _retval);
-	}
-
-	public int EnumerateCategories(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
deleted file mode 100644
index 0dd1e04..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIComponentManager extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
-
-	public static final String NS_ICOMPONENTMANAGER_IID_STR =
-		"a88e5a60-205a-4bb1-94e1-2628daf51eae";
-
-	public static final nsID NS_ICOMPONENTMANAGER_IID =
-		new nsID(NS_ICOMPONENTMANAGER_IID_STR);
-
-	public nsIComponentManager(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetClassObject(nsID aClass, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
-	}
-
-	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
-	}
-
-	public int CreateInstance(nsID aClass, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aDelegate, aIID, result);
-	}
-
-	public int CreateInstanceByContractID(byte[] aContractID, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContractID, aDelegate, aIID, result);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
deleted file mode 100644
index 0f63955..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIComponentRegistrar extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 12;
-
-	public static final String NS_ICOMPONENTREGISTRAR_IID_STR =
-		"2417cbfe-65ad-48a6-b4b6-eb84db174392";
-
-	public static final nsID NS_ICOMPONENTREGISTRAR_IID =
-		new nsID(NS_ICOMPONENTREGISTRAR_IID_STR);
-
-	public nsIComponentRegistrar(int /*long*/ address) {
-		super(address);
-	}
-
-	public int AutoRegister(int /*long*/ aSpec) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
-	}
-
-	public int AutoUnregister(int /*long*/ aSpec) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
-	}
-
-	public int RegisterFactory(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFactory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aClassName, aContractID, aFactory);
-	}
-
-	public int UnregisterFactory(nsID aClass, int /*long*/ aFactory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClass, aFactory);
-	}
-
-	public int RegisterFactoryLocation(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFile, byte[] aLoaderStr, byte[] aType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClass, aClassName, aContractID, aFile, aLoaderStr, aType);
-	}
-
-	public int UnregisterFactoryLocation(nsID aClass, int /*long*/ aFile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aClass, aFile);
-	}
-
-	public int IsCIDRegistered(nsID aClass, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aClass, _retval);
-	}
-
-	public int IsContractIDRegistered(byte[] aContractID, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aContractID, _retval);
-	}
-
-	public int EnumerateCIDs(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
-	}
-
-	public int EnumerateContractIDs(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
-	}
-
-	public int CIDToContractID(nsID aClass, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aClass, _retval);
-	}
-
-	public int ContractIDToCID(byte[] aContractID, int /*long*/ _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aContractID, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
deleted file mode 100644
index b29155e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIContextMenuListener extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_ICONTEXTMENULISTENER_IID_STR =
-		"3478b6b0-3875-11d4-94ef-0020183bf181";
-
-	public static final nsID NS_ICONTEXTMENULISTENER_IID =
-		new nsID(NS_ICONTEXTMENULISTENER_IID_STR);
-
-	public nsIContextMenuListener(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int CONTEXT_NONE = 0;
-
-	public static final int CONTEXT_LINK = 1;
-
-	public static final int CONTEXT_IMAGE = 2;
-
-	public static final int CONTEXT_DOCUMENT = 4;
-
-	public static final int CONTEXT_TEXT = 8;
-
-	public static final int CONTEXT_INPUT = 16;
-
-	public int OnShowContextMenu(int aContextFlags, int /*long*/ aEvent, int /*long*/ aNode) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aContextFlags, aEvent, aNode);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookie.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookie.java
deleted file mode 100644
index 63be221..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookie.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsICookie extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 9;
-
-	public static final String NS_ICOOKIE_IID_STR =
-		"e9fcb9a4-d376-458f-b720-e65e7df593bc";
-
-	public static final nsID NS_ICOOKIE_IID =
-		new nsID(NS_ICOOKIE_IID_STR);
-
-	public nsICookie(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetName(int /*long*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
-	}
-
-	public int GetValue(int /*long*/ aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aValue);
-	}
-
-	public int GetIsDomain(boolean[] aIsDomain) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aIsDomain);
-	}
-
-	public int GetHost(int /*long*/ aHost) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aHost);
-	}
-
-	public int GetPath(int /*long*/ aPath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPath);
-	}
-
-	public int GetIsSecure(boolean[] aIsSecure) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aIsSecure);
-	}
-
-	public int GetExpires(long[] aExpires) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aExpires);
-	}
-
-	public static final int STATUS_UNKNOWN = 0;
-
-	public static final int STATUS_ACCEPTED = 1;
-
-	public static final int STATUS_DOWNGRADED = 2;
-
-	public static final int STATUS_FLAGGED = 3;
-
-	public static final int STATUS_REJECTED = 4;
-
-	public int GetStatus(int /*long*/ aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStatus);
-	}
-
-	public static final int POLICY_UNKNOWN = 0;
-
-	public static final int POLICY_NONE = 1;
-
-	public static final int POLICY_NO_CONSENT = 2;
-
-	public static final int POLICY_IMPLICIT_CONSENT = 3;
-
-	public static final int POLICY_EXPLICIT_CONSENT = 4;
-
-	public static final int POLICY_NO_II = 5;
-
-	public int GetPolicy(int /*long*/ aPolicy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPolicy);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookieManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookieManager.java
deleted file mode 100644
index cdf9e83..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsICookieManager.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsICookieManager extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3;
-
-	public static final String NS_ICOOKIEMANAGER_IID_STR =
-		"aaab6710-0f2c-11d5-a53b-0010a401eb10";
-
-	public static final nsID NS_ICOOKIEMANAGER_IID =
-		new nsID(NS_ICOOKIEMANAGER_IID_STR);
-
-	public nsICookieManager(int /*long*/ address) {
-		super(address);
-	}
-
-	public int RemoveAll() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
-	public int GetEnumerator(int /*long*/[] aEnumerator) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aEnumerator);
-	}
-
-	public int Remove(int /*long*/ aDomain, int /*long*/ aName, int /*long*/ aPath, boolean aBlocked) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDomain, aName, aPath, aBlocked);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsID.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsID.java
deleted file mode 100644
index 7cf9ad5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsID.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2004 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsID {
-	
-	public int m0;
-	public short m1;
-	public short m2;
-	public byte[] m3 = new byte[8];
-	public static final int sizeof = 16;
-
-public nsID() {
-}
-
-public nsID(String id) {
-	Parse(id);
-}
-	
-public boolean Equals(nsID other) {
-	int /*long*/ ptr = XPCOM.nsID_new();
-	XPCOM.memmove(ptr, this, nsID.sizeof);
-	int /*long*/ otherPtr = XPCOM.nsID_new();
-	XPCOM.memmove(otherPtr, other, nsID.sizeof);
-	boolean result = XPCOM.nsID_Equals(ptr, otherPtr);
-	XPCOM.nsID_delete(ptr);
-	XPCOM.nsID_delete(otherPtr);
-	return result;
-}
-
-public boolean Parse(String aIDStr) {
-	int /*long*/ ptr = XPCOM.nsID_new();
-	boolean result = XPCOM.nsID_Parse(ptr, aIDStr);
-	XPCOM.memmove(this, ptr, nsID.sizeof);
-	XPCOM.nsID_delete(ptr);
-	return result;
-}	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
deleted file mode 100644
index 8f7df68..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDOMEvent extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 10;
-
-	public static final String NS_IDOMEVENT_IID_STR =
-		"a66b7b80-ff46-bd97-0080-5f8ae38add32";
-
-	public static final nsID NS_IDOMEVENT_IID =
-		new nsID(NS_IDOMEVENT_IID_STR);
-
-	public nsIDOMEvent(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int CAPTURING_PHASE = 1;
-
-	public static final int AT_TARGET = 2;
-
-	public static final int BUBBLING_PHASE = 3;
-
-	public int GetType(int /*long*/ aType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType);
-	}
-
-	public int GetTarget(int /*long*/[] aTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aTarget);
-	}
-
-	public int GetCurrentTarget(int /*long*/[] aCurrentTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aCurrentTarget);
-	}
-
-	public int GetEventPhase(short[] aEventPhase) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aEventPhase);
-	}
-
-	public int GetBubbles(boolean[] aBubbles) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aBubbles);
-	}
-
-	public int GetCancelable(boolean[] aCancelable) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCancelable);
-	}
-
-	public int GetTimeStamp(int /*long*/[] aTimeStamp) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTimeStamp);
-	}
-
-	public int StopPropagation() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-
-	public int PreventDefault() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress());
-	}
-
-	public int InitEvent(int /*long*/ eventTypeArg, boolean canBubbleArg, boolean cancelableArg) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), eventTypeArg, canBubbleArg, cancelableArg);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
deleted file mode 100644
index bb51c19..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDOMMouseEvent extends nsIDOMUIEvent {
-
-	static final int LAST_METHOD_ID = nsIDOMUIEvent.LAST_METHOD_ID + 11;
-
-	public static final String NS_IDOMMOUSEEVENT_IID_STR =
-		"ff751edc-8b02-aae7-0010-8301838a3123";
-
-	public static final nsID NS_IDOMMOUSEEVENT_IID =
-		new nsID(NS_IDOMMOUSEEVENT_IID_STR);
-
-	public nsIDOMMouseEvent(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetScreenX(int[] aScreenX) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 1, getAddress(), aScreenX);
-	}
-
-	public int GetScreenY(int[] aScreenY) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 2, getAddress(), aScreenY);
-	}
-
-	public int GetClientX(int[] aClientX) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 3, getAddress(), aClientX);
-	}
-
-	public int GetClientY(int[] aClientY) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 4, getAddress(), aClientY);
-	}
-
-	public int GetCtrlKey(boolean[] aCtrlKey) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 5, getAddress(), aCtrlKey);
-	}
-
-	public int GetShiftKey(boolean[] aShiftKey) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 6, getAddress(), aShiftKey);
-	}
-
-	public int GetAltKey(boolean[] aAltKey) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 7, getAddress(), aAltKey);
-	}
-
-	public int GetMetaKey(boolean[] aMetaKey) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 8, getAddress(), aMetaKey);
-	}
-
-	public int GetButton(short[] aButton) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 9, getAddress(), aButton);
-	}
-
-	public int GetRelatedTarget(int /*long*/[] aRelatedTarget) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 10, getAddress(), aRelatedTarget);
-	}
-
-	public int InitMouseEvent(int /*long*/ typeArg, boolean canBubbleArg, boolean cancelableArg, int /*long*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, int /*long*/ relatedTargetArg) {
-		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 11, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
deleted file mode 100644
index 3bdf983..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDOMUIEvent extends nsIDOMEvent {
-
-	static final int LAST_METHOD_ID = nsIDOMEvent.LAST_METHOD_ID + 3;
-
-	public static final String NS_IDOMUIEVENT_IID_STR =
-		"a6cf90c3-15b3-11d2-932e-00805f8add32";
-
-	public static final nsID NS_IDOMUIEVENT_IID =
-		new nsID(NS_IDOMUIEVENT_IID_STR);
-
-	public nsIDOMUIEvent(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetView(int /*long*/[] aView) {
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
-	}
-
-	public int GetDetail(int[] aDetail) {
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 2, getAddress(), aDetail);
-	}
-
-	public int InitUIEvent(int /*long*/ typeArg, boolean canBubbleArg, boolean cancelableArg, int /*long*/ viewArg, int detailArg) {
-		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 3, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
deleted file mode 100644
index 514843a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDOMWindow extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 17;
-
-	public static final String NS_IDOMWINDOW_IID_STR =
-		"a6cf906b-15b3-11d2-932e-00805f8add32";
-
-	public static final nsID NS_IDOMWINDOW_IID =
-		new nsID(NS_IDOMWINDOW_IID_STR);
-
-	public nsIDOMWindow(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetDocument(int /*long*/[] aDocument) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDocument);
-	}
-
-	public int GetParent(int /*long*/[] aParent) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent);
-	}
-
-	public int GetTop(int /*long*/[] aTop) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTop);
-	}
-
-	public int GetScrollbars(int /*long*/[] aScrollbars) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScrollbars);
-	}
-
-	public int GetFrames(int /*long*/[] aFrames) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFrames);
-	}
-
-	public int GetName(int /*long*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aName);
-	}
-
-	public int SetName(int /*long*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aName);
-	}
-
-	public int GetTextZoom(float[] aTextZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aTextZoom);
-	}
-
-	public int SetTextZoom(float aTextZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aTextZoom);
-	}
-
-	public int GetScrollX(int[] aScrollX) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aScrollX);
-	}
-
-	public int GetScrollY(int[] aScrollY) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aScrollY);
-	}
-
-	public int ScrollTo(int xScroll, int yScroll) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), xScroll, yScroll);
-	}
-
-	public int ScrollBy(int xScrollDif, int yScrollDif) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), xScrollDif, yScrollDif);
-	}
-
-	public int GetSelection(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
-	}
-
-	public int ScrollByLines(int numLines) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), numLines);
-	}
-
-	public int ScrollByPages(int numPages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), numPages);
-	}
-
-	public int SizeToContent() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
deleted file mode 100644
index 58aef5f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDirectoryService extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3;
-
-	public static final String NS_IDIRECTORYSERVICE_IID_STR =
-		"57a66a60-d43a-11d3-8cc2-00609792278c";
-
-	public static final nsID NS_IDIRECTORYSERVICE_IID =
-		new nsID(NS_IDIRECTORYSERVICE_IID_STR);
-
-	public nsIDirectoryService(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Init() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
-	public int RegisterProvider(int /*long*/ prov) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prov);
-	}
-
-	public int UnregisterProvider(int /*long*/ prov) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), prov);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
deleted file mode 100644
index 97c34c9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDirectoryServiceProvider extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_IDIRECTORYSERVICEPROVIDER_IID_STR =
-		"bbf8cab0-d43a-11d3-8cc2-00609792278c";
-
-	public static final nsID NS_IDIRECTORYSERVICEPROVIDER_IID =
-		new nsID(NS_IDIRECTORYSERVICEPROVIDER_IID_STR);
-
-	public nsIDirectoryServiceProvider(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetFile(byte[] prop, boolean[] persistent, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, persistent, _retval);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
deleted file mode 100644
index b1cf5c4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDirectoryServiceProvider2 extends nsIDirectoryServiceProvider {
-
-	static final int LAST_METHOD_ID = nsIDirectoryServiceProvider.LAST_METHOD_ID + 1;
-
-	public static final String NS_IDIRECTORYSERVICEPROVIDER2_IID_STR =
-		"2f977d4b-5485-11d4-87e2-0010a4e75ef2";
-
-	public static final nsID NS_IDIRECTORYSERVICEPROVIDER2_IID =
-		new nsID(NS_IDIRECTORYSERVICEPROVIDER2_IID_STR);
-
-	public nsIDirectoryServiceProvider2(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetFiles(byte[] prop, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsIDirectoryServiceProvider.LAST_METHOD_ID + 1, getAddress(), prop, _retval);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
deleted file mode 100644
index 4b8a93a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDocShell.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDocShell extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 51;
-
-	public static final String NS_IDOCSHELL_IID_STR =
-		"69e5de00-7b8b-11d3-af61-00a024ffc08c";
-
-	public static final nsID NS_IDOCSHELL_IID =
-		new nsID(NS_IDOCSHELL_IID_STR);
-
-	public nsIDocShell(int /*long*/ address) {
-		super(address);
-	}
-
-	public int LoadURI(int /*long*/ uri, int /*long*/ loadInfo, int aLoadFlags, boolean firstParty) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
-	}
-
-	public int LoadStream(int /*long*/ aStream, int /*long*/ aURI, int /*long*/ aContentType, int /*long*/ aContentCharset, int /*long*/ aLoadInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
-	}
-
-	public int InternalLoad(int /*long*/ aURI, int /*long*/ aReferrer, int /*long*/ aOwner, boolean aInheritOwner, char[] aWindowTarget, int /*long*/ aPostDataStream, int /*long*/ aHeadersStream, int aLoadFlags, int /*long*/ aSHEntry, boolean firstParty, int /*long*/[] aDocShell, int /*long*/[] aRequest) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aInheritOwner, aWindowTarget, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
-	}
-
-	public int CreateLoadInfo(int /*long*/[] loadInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
-	}
-
-	public int PrepareForNewContentModel() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
-	}
-
-	public int SetCurrentURI(int /*long*/ aURI) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
-	}
-
-	public int FireUnloadNotification() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress());
-	}
-
-	public int GetPresContext(int /*long*/[] aPresContext) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
-	}
-
-	public int GetPresShell(int /*long*/[] aPresShell) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
-	}
-
-	public int GetEldestPresShell(int /*long*/[] aEldestPresShell) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
-	}
-
-	public int GetContentViewer(int /*long*/[] aContentViewer) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
-	}
-
-	public int GetChromeEventHandler(int /*long*/[] aChromeEventHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
-	}
-
-	public int SetChromeEventHandler(int /*long*/ aChromeEventHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
-	}
-
-	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentURIContentListener);
-	}
-
-	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aParentURIContentListener);
-	}
-
-	public int GetDocumentCharsetInfo(int /*long*/[] aDocumentCharsetInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aDocumentCharsetInfo);
-	}
-
-	public int SetDocumentCharsetInfo(int /*long*/ aDocumentCharsetInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aDocumentCharsetInfo);
-	}
-
-	public int GetAllowPlugins(boolean[] aAllowPlugins) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aAllowPlugins);
-	}
-
-	public int SetAllowPlugins(boolean aAllowPlugins) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aAllowPlugins);
-	}
-
-	public int GetAllowJavascript(boolean[] aAllowJavascript) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aAllowJavascript);
-	}
-
-	public int SetAllowJavascript(boolean aAllowJavascript) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aAllowJavascript);
-	}
-
-	public int GetAllowMetaRedirects(boolean[] aAllowMetaRedirects) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aAllowMetaRedirects);
-	}
-
-	public int SetAllowMetaRedirects(boolean aAllowMetaRedirects) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aAllowMetaRedirects);
-	}
-
-	public int GetAllowSubframes(boolean[] aAllowSubframes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aAllowSubframes);
-	}
-
-	public int SetAllowSubframes(boolean aAllowSubframes) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aAllowSubframes);
-	}
-
-	public int GetAllowImages(boolean[] aAllowImages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aAllowImages);
-	}
-
-	public int SetAllowImages(boolean aAllowImages) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aAllowImages);
-	}
-
-	public static final int ENUMERATE_FORWARDS = 0;
-
-	public static final int ENUMERATE_BACKWARDS = 1;
-
-	public int GetDocShellEnumerator(int aItemType, int aDirection, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aItemType, aDirection, _retval);
-	}
-
-	public static final int APP_TYPE_UNKNOWN = 0;
-
-	public static final int APP_TYPE_MAIL = 1;
-
-	public int GetAppType(int[] aAppType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aAppType);
-	}
-
-	public int SetAppType(int aAppType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aAppType);
-	}
-
-	public int GetAllowAuth(boolean[] aAllowAuth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), aAllowAuth);
-	}
-
-	public int SetAllowAuth(boolean aAllowAuth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), aAllowAuth);
-	}
-
-	public int GetZoom(float[] aZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), aZoom);
-	}
-
-	public int SetZoom(float aZoom) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), aZoom);
-	}
-
-	public int GetMarginWidth(int[] aMarginWidth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), aMarginWidth);
-	}
-
-	public int SetMarginWidth(int aMarginWidth) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), aMarginWidth);
-	}
-
-	public int GetMarginHeight(int[] aMarginHeight) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 37, getAddress(), aMarginHeight);
-	}
-
-	public int SetMarginHeight(int aMarginHeight) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 38, getAddress(), aMarginHeight);
-	}
-
-	public int GetHasFocus(boolean[] aHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 39, getAddress(), aHasFocus);
-	}
-
-	public int SetHasFocus(boolean aHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), aHasFocus);
-	}
-
-	public int GetCanvasHasFocus(boolean[] aCanvasHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), aCanvasHasFocus);
-	}
-
-	public int SetCanvasHasFocus(boolean aCanvasHasFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), aCanvasHasFocus);
-	}
-
-	public int TabToTreeOwner(boolean forward, boolean[] tookFocus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), forward, tookFocus);
-	}
-
-	public static final int BUSY_FLAGS_NONE = 0;
-
-	public static final int BUSY_FLAGS_BUSY = 1;
-
-	public static final int BUSY_FLAGS_BEFORE_PAGE_LOAD = 2;
-
-	public static final int BUSY_FLAGS_PAGE_LOADING = 4;
-
-	public static final int LOAD_CMD_NORMAL = 1;
-
-	public static final int LOAD_CMD_RELOAD = 2;
-
-	public static final int LOAD_CMD_HISTORY = 4;
-
-	public int GetBusyFlags(int[] aBusyFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aBusyFlags);
-	}
-
-	public int GetLoadType(int[] aLoadType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aLoadType);
-	}
-
-	public int SetLoadType(int aLoadType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 46, getAddress(), aLoadType);
-	}
-
-	public int IsBeingDestroyed(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 47, getAddress(), _retval);
-	}
-
-	public int GetIsExecutingOnLoadHandler(boolean[] aIsExecutingOnLoadHandler) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aIsExecutingOnLoadHandler);
-	}
-
-	public int GetLayoutHistoryState(int /*long*/[] aLayoutHistoryState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aLayoutHistoryState);
-	}
-
-	public int SetLayoutHistoryState(int /*long*/ aLayoutHistoryState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aLayoutHistoryState);
-	}
-
-	public int GetShouldSaveLayoutState(boolean[] aShouldSaveLayoutState) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 51, getAddress(), aShouldSaveLayoutState);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDownload.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDownload.java
deleted file mode 100644
index 365f51f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDownload.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIDownload extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 13;
-
-	public static final String NS_IDOWNLOAD_IID_STR =
-		"06cb92f2-1dd2-11b2-95f2-96dfdfb804a1";
-
-	public static final nsID NS_IDOWNLOAD_IID =
-		new nsID(NS_IDOWNLOAD_IID_STR);
-
-	public nsIDownload(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Init(int /*long*/ aSource, int /*long*/ aTarget, char[] aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aPersist) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aPersist);
-	}
-
-	public int GetSource(int /*long*/[] aSource) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
-	}
-
-	public int GetTarget(int /*long*/[] aTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTarget);
-	}
-
-	public int GetPersist(int /*long*/[] aPersist) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPersist);
-	}
-
-	public int GetPercentComplete(int[] aPercentComplete) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPercentComplete);
-	}
-
-	public int GetDisplayName(int /*long*/[] aDisplayName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDisplayName);
-	}
-
-	public int SetDisplayName(char[] aDisplayName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aDisplayName);
-	}
-
-	public int GetStartTime(long[] aStartTime) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStartTime);
-	}
-
-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aMIMEInfo);
-	}
-
-	public int GetListener(int /*long*/[] aListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aListener);
-	}
-
-	public int SetListener(int /*long*/ aListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aListener);
-	}
-
-	public int GetObserver(int /*long*/[] aObserver) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aObserver);
-	}
-
-	public int SetObserver(int /*long*/ aObserver) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aObserver);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
deleted file mode 100644
index 24bf668..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIEmbeddingSiteWindow extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 8;
-
-	public static final String NS_IEMBEDDINGSITEWINDOW_IID_STR =
-		"3e5432cd-9568-4bd1-8cbe-d50aba110743";
-
-	public static final nsID NS_IEMBEDDINGSITEWINDOW_IID =
-		new nsID(NS_IEMBEDDINGSITEWINDOW_IID_STR);
-
-	public nsIEmbeddingSiteWindow(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int DIM_FLAGS_POSITION = 1;
-
-	public static final int DIM_FLAGS_SIZE_INNER = 2;
-
-	public static final int DIM_FLAGS_SIZE_OUTER = 4;
-
-	public int SetDimensions(int flags, int x, int y, int cx, int cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), flags, x, y, cx, cy);
-	}
-
-	public int GetDimensions(int flags, int[] x, int[] y, int[] cx, int[] cy) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), flags, x, y, cx, cy);
-	}
-
-	public int SetFocus() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int GetVisibility(boolean[] aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aVisibility);
-	}
-
-	public int SetVisibility(boolean aVisibility) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aVisibility);
-	}
-
-	public int GetTitle(int /*long*/[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aTitle);
-	}
-
-	public int SetTitle(char[] aTitle) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTitle);
-	}
-
-	public int GetSiteWindow(int /*long*/[] aSiteWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aSiteWindow);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFactory.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFactory.java
deleted file mode 100644
index 224191d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFactory.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIFactory extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 2;
-
-	public static final String NS_IFACTORY_IID_STR =
-		"00000001-0000-0000-c000-000000000046";
-
-	public static final nsID NS_IFACTORY_IID =
-		new nsID(NS_IFACTORY_IID_STR);
-
-	public nsIFactory(int /*long*/ address) {
-		super(address);
-	}
-
-	public int CreateInstance(int /*long*/ aOuter, nsID iid, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aOuter, iid, result);
-	}
-
-	public int LockFactory(boolean lock) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), lock);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
deleted file mode 100644
index 2bd9d08..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFile.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIFile extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 45;
-
-	public static final String NS_IFILE_IID_STR =
-		"c8c0a080-0868-11d3-915f-d9d889d48e3c";
-
-	public static final nsID NS_IFILE_IID =
-		new nsID(NS_IFILE_IID_STR);
-
-	public nsIFile(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int NORMAL_FILE_TYPE = 0;
-
-	public static final int DIRECTORY_TYPE = 1;
-
-	public int Append(int /*long*/ node) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), node);
-	}
-
-	public int AppendNative(int /*long*/ node) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), node);
-	}
-
-	public int Normalize() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int Create(int type, int permissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), type, permissions);
-	}
-
-	public int GetLeafName(int /*long*/ aLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLeafName);
-	}
-
-	public int SetLeafName(int /*long*/ aLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLeafName);
-	}
-
-	public int GetNativeLeafName(int /*long*/ aNativeLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNativeLeafName);
-	}
-
-	public int SetNativeLeafName(int /*long*/ aNativeLeafName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNativeLeafName);
-	}
-
-	public int CopyTo(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToNative(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToFollowingLinks(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), newParentDir, newName);
-	}
-
-	public int CopyToFollowingLinksNative(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), newParentDir, newName);
-	}
-
-	public int MoveTo(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), newParentDir, newName);
-	}
-
-	public int MoveToNative(int /*long*/ newParentDir, int /*long*/ newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), newParentDir, newName);
-	}
-
-	public int Remove(boolean recursive) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), recursive);
-	}
-
-	public int GetPermissions(int[] aPermissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aPermissions);
-	}
-
-	public int SetPermissions(int aPermissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aPermissions);
-	}
-
-	public int GetPermissionsOfLink(int[] aPermissionsOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPermissionsOfLink);
-	}
-
-	public int SetPermissionsOfLink(int aPermissionsOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aPermissionsOfLink);
-	}
-
-	public int GetLastModifiedTime(long[] aLastModifiedTime) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aLastModifiedTime);
-	}
-
-	public int SetLastModifiedTime(long aLastModifiedTime) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aLastModifiedTime);
-	}
-
-	public int GetLastModifiedTimeOfLink(long[] aLastModifiedTimeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aLastModifiedTimeOfLink);
-	}
-
-	public int SetLastModifiedTimeOfLink(long aLastModifiedTimeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aLastModifiedTimeOfLink);
-	}
-
-	public int GetFileSize(long[] aFileSize) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aFileSize);
-	}
-
-	public int SetFileSize(long aFileSize) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aFileSize);
-	}
-
-	public int GetFileSizeOfLink(long[] aFileSizeOfLink) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aFileSizeOfLink);
-	}
-
-	public int GetTarget(int /*long*/ aTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aTarget);
-	}
-
-	public int GetNativeTarget(int /*long*/ aNativeTarget) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aNativeTarget);
-	}
-
-	public int GetPath(int /*long*/ aPath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aPath);
-	}
-
-	public int GetNativePath(int /*long*/ aNativePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aNativePath);
-	}
-
-	public int Exists(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), _retval);
-	}
-
-	public int IsWritable(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), _retval);
-	}
-
-	public int IsReadable(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), _retval);
-	}
-
-	public int IsExecutable(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), _retval);
-	}
-
-	public int IsHidden(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), _retval);
-	}
-
-	public int IsDirectory(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), _retval);
-	}
-
-	public int IsFile(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 37, getAddress(), _retval);
-	}
-
-	public int IsSymlink(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 38, getAddress(), _retval);
-	}
-
-	public int IsSpecial(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 39, getAddress(), _retval);
-	}
-
-	public int CreateUnique(int type, int permissions) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), type, permissions);
-	}
-
-	public int Clone(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), _retval);
-	}
-
-	public int Equals(int /*long*/ inFile, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), inFile, _retval);
-	}
-
-	public int Contains(int /*long*/ inFile, boolean recur, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), inFile, recur, _retval);
-	}
-
-	public int GetParent(int /*long*/[] aParent) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aParent);
-	}
-
-	public int GetDirectoryEntries(int /*long*/[] aDirectoryEntries) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aDirectoryEntries);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
deleted file mode 100644
index 916f834..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIFilePicker extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 15;
-
-	public static final String NS_IFILEPICKER_IID_STR =
-		"c47de916-1dd1-11b2-8141-82507fa02b21";
-
-	public static final nsID NS_IFILEPICKER_IID =
-		new nsID(NS_IFILEPICKER_IID_STR);
-
-	public nsIFilePicker(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int modeOpen = 0;
-	public static final int modeSave = 1;
-	public static final int modeGetFolder = 2;
-	public static final int modeOpenMultiple = 3;
-	public static final int returnOK = 0;
-	public static final int returnCancel = 1;
-	public static final int returnReplace = 2;
-	public static final int filterAll = 1;
-	public static final int filterHTML = 2;
-	public static final int filterText = 4;
-	public static final int filterImages = 8;
-	public static final int filterXML = 16;
-	public static final int filterXUL = 32;
-	public static final int filterApps = 64;
-
-	public int Init(int /*long*/ parent, char[] title, int mode) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, title, mode);
-	}
-
-	public int AppendFilters(int filterMask) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), filterMask);
-	}
-
-	public int AppendFilter(char[] title, char[] filter) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), title, filter);
-	}
-
-	public int GetDefaultString(int /*long*/[] aDefaultString) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aDefaultString);
-	}
-
-	public int SetDefaultString(char[] aDefaultString) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aDefaultString);
-	}
-
-	public int GetDefaultExtension(int /*long*/[] aDefaultExtension) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDefaultExtension);
-	}
-
-	public int SetDefaultExtension(char[] aDefaultExtension) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aDefaultExtension);
-	}
-
-	public int GetFilterIndex(int[] aFilterIndex) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aFilterIndex);
-	}
-
-	public int SetFilterIndex(int aFilterIndex) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aFilterIndex);
-	}
-
-	public int GetDisplayDirectory(int /*long*/[] aDisplayDirectory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aDisplayDirectory);
-	}
-
-	public int SetDisplayDirectory(int /*long*/ aDisplayDirectory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDisplayDirectory);
-	}
-
-	public int GetFile(int /*long*/[] aFile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aFile);
-	}
-
-	public int GetFileURL(int /*long*/[] aFileURL) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aFileURL);
-	}
-
-	public int GetFiles(int /*long*/[] aFiles) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aFiles);
-	}
-
-	public int Show(int /*long*/ _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), _retval);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
deleted file mode 100644
index b4f8237..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIHelperAppLauncher extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 9;
-
-	public static final String NS_IHELPERAPPLAUNCHER_IID_STR =
-		"9503d0fe-4c9d-11d4-98d0-001083010e9b";
-
-	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
-		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
-
-	public nsIHelperAppLauncher(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
-	}
-
-	public int GetSource(int /*long*/[] aSource) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
-	}
-
-	public int GetSuggestedFileName(int /*long*/[] aSuggestedFileName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
-	}
-
-	public int SaveToDisk(int /*long*/ aNewFileLocation, boolean aRememberThisPreference) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
-	}
-
-	public int LaunchWithApplication(int /*long*/ aApplication, boolean aRememberThisPreference) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
-	}
-
-	public int Cancel() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
-	}
-
-	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aWebProgressListener);
-	}
-
-	public int CloseProgressWindow() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-
-	public int GetDownloadInfo(int /*long*/[] aSourceUrl, long[] aTimeDownloadStarted, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aSourceUrl, aTimeDownloadStarted, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
deleted file mode 100644
index 10ca834..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIHelperAppLauncherDialog extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3;
-
-	public static final String NS_IHELPERAPPLAUNCHERDIALOG_IID_STR =
-		"d7ebddf0-4c84-11d4-807a-00600811a9c3";
-
-	public static final nsID NS_IHELPERAPPLAUNCHERDIALOG_IID =
-		new nsID(NS_IHELPERAPPLAUNCHERDIALOG_IID_STR);
-
-	public nsIHelperAppLauncherDialog(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Show(int /*long*/ aLauncher, int /*long*/ aContext) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLauncher, aContext);
-	}
-
-	public int PromptForSaveToFile(int /*long*/ aWindowContext, char[] aDefaultFile, char[] aSuggestedFileExtension, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWindowContext, aDefaultFile, aSuggestedFileExtension, _retval);
-	}
-
-	public int ShowProgressDialog(int /*long*/ aLauncher, int /*long*/ aContext) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aLauncher, aContext);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIIOService.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIIOService.java
deleted file mode 100644
index ad377b3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIIOService.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIIOService extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 10;
-
-	public static final String NS_IIOSERVICE_IID_STR =
-		"bddeda3f-9020-4d12-8c70-984ee9f7935e";
-
-	public static final nsID NS_IIOSERVICE_IID =
-		new nsID(NS_IIOSERVICE_IID_STR);
-
-	public nsIIOService(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetProtocolHandler(byte[] aScheme, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aScheme, _retval);
-	}
-
-	public int GetProtocolFlags(byte[] aScheme, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aScheme, _retval);
-	}
-
-	public int NewURI(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
-	}
-
-	public int NewFileURI(int /*long*/ aFile, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile, _retval);
-	}
-
-	public int NewChannelFromURI(int /*long*/ aURI, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aURI, _retval);
-	}
-
-	public int NewChannel(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
-	}
-
-	public int GetOffline(boolean[] aOffline) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aOffline);
-	}
-
-	public int SetOffline(boolean aOffline) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aOffline);
-	}
-
-	public int AllowPort(int aPort, byte[] aScheme, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPort, aScheme, _retval);
-	}
-
-	public int ExtractScheme(int /*long*/ urlString, int /*long*/ _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), urlString, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
deleted file mode 100644
index f95ef69..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInputStream.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIInputStream extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
-
-	public static final String NS_IINPUTSTREAM_IID_STR =
-		"fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a";
-
-	public static final nsID NS_IINPUTSTREAM_IID =
-		new nsID(NS_IINPUTSTREAM_IID_STR);
-
-	public nsIInputStream(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Close() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
-	public int Available(int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
-	}
-
-	public int Read(byte[] aBuf, int aCount, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aBuf, aCount, _retval);
-	}
-
-	public int ReadSegments(int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWriter, aClosure, aCount, _retval);
-	}
-
-	public int IsNonBlocking(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
deleted file mode 100644
index 16af6e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIInterfaceRequestor extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_IINTERFACEREQUESTOR_IID_STR =
-		"033a1470-8b2a-11d3-af88-00a024ffc08c";
-
-	public static final nsID NS_IINTERFACEREQUESTOR_IID =
-		new nsID(NS_IINTERFACEREQUESTOR_IID_STR);
-
-	public nsIInterfaceRequestor(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetInterface(nsID uuid, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
deleted file mode 100644
index 1f13be9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsILocalFile.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsILocalFile extends nsIFile {
-
-	static final int LAST_METHOD_ID = nsIFile.LAST_METHOD_ID + 17;
-
-	public static final String NS_ILOCALFILE_IID_STR =
-		"aa610f20-a889-11d3-8c81-000064657374";
-
-	public static final nsID NS_ILOCALFILE_IID =
-		new nsID(NS_ILOCALFILE_IID_STR);
-
-	public nsILocalFile(int /*long*/ address) {
-		super(address);
-	}
-
-	public int InitWithPath(int /*long*/ filePath) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 1, getAddress(), filePath);
-	}
-
-	public int InitWithNativePath(int /*long*/ filePath) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 2, getAddress(), filePath);
-	}
-
-	public int InitWithFile(int /*long*/ aFile) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 3, getAddress(), aFile);
-	}
-
-	public int GetFollowLinks(boolean[] aFollowLinks) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 4, getAddress(), aFollowLinks);
-	}
-
-	public int SetFollowLinks(boolean aFollowLinks) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 5, getAddress(), aFollowLinks);
-	}
-
-	public int OpenNSPRFileDesc(int flags, int mode, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 6, getAddress(), flags, mode, _retval);
-	}
-
-	public int OpenANSIFileDesc(byte[] mode, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 7, getAddress(), mode, _retval);
-	}
-
-	public int Load(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 8, getAddress(), _retval);
-	}
-
-	public int GetDiskSpaceAvailable(long[] aDiskSpaceAvailable) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 9, getAddress(), aDiskSpaceAvailable);
-	}
-
-	public int AppendRelativePath(int /*long*/ relativeFilePath) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 10, getAddress(), relativeFilePath);
-	}
-
-	public int AppendRelativeNativePath(int /*long*/ relativeFilePath) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 11, getAddress(), relativeFilePath);
-	}
-
-	public int GetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 12, getAddress(), aPersistentDescriptor);
-	}
-
-	public int SetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 13, getAddress(), aPersistentDescriptor);
-	}
-
-	public int Reveal() {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 14, getAddress());
-	}
-
-	public int Launch() {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 15, getAddress());
-	}
-
-	public int GetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ _retval) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 16, getAddress(), fromFile, _retval);
-	}
-
-	public int SetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ relativeDesc) {
-		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 17, getAddress(), fromFile, relativeDesc);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIMemory.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIMemory.java
deleted file mode 100644
index 99e9f2e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIMemory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIMemory extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
-
-	public static final String NS_IMEMORY_IID_STR =
-		"59e7e77a-38e4-11d4-8cf5-0060b0fc14a3";
-
-	public static final nsID NS_IMEMORY_IID =
-		new nsID(NS_IMEMORY_IID_STR);
-
-	public nsIMemory(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Alloc(int size) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), size);
-	}
-
-	public int Realloc(int /*long*/ ptr, int newSize) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ptr, newSize);
-	}
-
-	public int Free(int /*long*/ ptr) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ptr);
-	}
-
-	public int HeapMinimize(boolean immediate) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), immediate);
-	}
-
-	public int IsLowMemory(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
deleted file mode 100755
index 3cf5e5e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIPrefBranch extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 18;
-
-	public static final String NS_IPREFBRANCH_IID_STR =
-		"56c35506-f14b-11d3-99d3-ddbfac2ccf65";
-
-	public static final nsID NS_IPREFBRANCH_IID =
-		new nsID(NS_IPREFBRANCH_IID_STR);
-
-	public nsIPrefBranch(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int PREF_INVALID = 0;
-
-	public static final int PREF_STRING = 32;
-
-	public static final int PREF_INT = 64;
-
-	public static final int PREF_BOOL = 128;
-
-	public int GetRoot(int /*long*/[] aRoot) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aRoot);
-	}
-
-	public int GetPrefType(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aPrefName, _retval);
-	}
-
-	public int GetBoolPref(byte[] aPrefName, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aPrefName, _retval);
-	}
-
-	public int SetBoolPref(byte[] aPrefName, int aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPrefName, aValue);
-	}
-
-	public int GetCharPref(byte[] aPrefName, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefName, _retval);
-	}
-
-	public int SetCharPref(byte[] aPrefName, byte[] aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPrefName, aValue);
-	}
-
-	public int GetIntPref(byte[] aPrefName, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPrefName, _retval);
-	}
-
-	public int SetIntPref(byte[] aPrefName, int aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPrefName, aValue);
-	}
-
-	public int GetComplexValue(byte[] aPrefName, nsID aType, int /*long*/[] aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPrefName, aType, aValue);
-	}
-
-	public int SetComplexValue(byte[] aPrefName, nsID aType, int /*long*/ aValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPrefName, aType, aValue);
-	}
-
-	public int ClearUserPref(byte[] aPrefName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aPrefName);
-	}
-
-	public int LockPref(byte[] aPrefName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aPrefName);
-	}
-
-	public int PrefHasUserValue(byte[] aPrefName, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aPrefName, _retval);
-	}
-
-	public int PrefIsLocked(byte[] aPrefName, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aPrefName, _retval);
-	}
-
-	public int UnlockPref(byte[] aPrefName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aPrefName);
-	}
-
-	public int DeleteBranch(byte[] aStartingAt) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aStartingAt);
-	}
-
-	public int GetChildList(byte[] aStartingAt, int[] aCount, int /*long*/[] aChildArray) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aStartingAt, aCount, aChildArray);
-	}
-
-	public int ResetBranch(byte[] aStartingAt) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aStartingAt);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
deleted file mode 100755
index ba0c32a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIPrefLocalizedString extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
-
-	public static final String NS_IPREFLOCALIZEDSTRING_IID_STR =
-		"ae419e24-1dd1-11b2-b39a-d3e5e7073802";
-
-	public static final nsID NS_IPREFLOCALIZEDSTRING_IID =
-		new nsID(NS_IPREFLOCALIZEDSTRING_IID_STR);
-
-	public nsIPrefLocalizedString(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetData(int /*long*/[] aData) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aData);
-	}
-
-	public int SetData(char[] aData) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData);
-	}
-
-	public int ToString(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
-	}
-
-	public int SetDataWithLength(int length, char[] data) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), length, data);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefService.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefService.java
deleted file mode 100755
index b3fc9fb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPrefService.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIPrefService extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 6;
-
-	public static final String NS_IPREFSERVICE_IID_STR =
-		"decb9cc7-c08f-4ea5-be91-a8fc637ce2d2";
-
-	public static final nsID NS_IPREFSERVICE_IID =
-		new nsID(NS_IPREFSERVICE_IID_STR);
-
-	public nsIPrefService(int /*long*/ address) {
-		super(address);
-	}
-
-	public int ReadUserPrefs(int /*long*/ aFile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFile);
-	}
-
-	public int ResetPrefs() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-
-	public int ResetUserPrefs() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int SavePrefFile(int /*long*/ aFile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile);
-	}
-
-	public int GetBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefRoot, _retval);
-	}
-
-	public int GetDefaultBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPrefRoot, _retval);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProfile.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProfile.java
deleted file mode 100644
index 8691ca3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProfile.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIProfile extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 10;
-
-	public static final String NS_IPROFILE_IID_STR =
-		"02b0625a-e7f3-11d2-9f5a-006008a6efe9";
-
-	public static final nsID NS_IPROFILE_IID =
-		new nsID(NS_IPROFILE_IID_STR);
-
-	public nsIProfile(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetProfileCount(int[] aProfileCount) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aProfileCount);
-	}
-
-	public int GetProfileList(int[] length, int /*long*/[] profileNames) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), length, profileNames);
-	}
-
-	public int ProfileExists(char[] profileName, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), profileName, _retval);
-	}
-
-	public int GetCurrentProfile(int /*long*/[] aCurrentProfile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCurrentProfile);
-	}
-
-	public int SetCurrentProfile(char[] aCurrentProfile) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCurrentProfile);
-	}
-
-	public static final int SHUTDOWN_PERSIST = 1;
-
-	public static final int SHUTDOWN_CLEANSE = 2;
-
-	public int ShutDownCurrentProfile(int shutDownType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), shutDownType);
-	}
-
-	public int CreateNewProfile(char[] profileName, char[] nativeProfileDir, char[] langcode, boolean useExistingDir) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), profileName, nativeProfileDir, langcode, useExistingDir);
-	}
-
-	public int RenameProfile(char[] oldName, char[] newName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), oldName, newName);
-	}
-
-	public int DeleteProfile(char[] name, boolean canDeleteFiles) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), name, canDeleteFiles);
-	}
-
-	public int CloneProfile(char[] profileName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), profileName);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
deleted file mode 100644
index 4e80357..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIProgressDialog extends nsIDownload {
-
-	static final int LAST_METHOD_ID = nsIDownload.LAST_METHOD_ID + 5;
-
-	public static final String NS_IPROGRESSDIALOG_IID_STR =
-		"88a478b3-af65-440a-94dc-ed9b154d2990";
-
-	public static final nsID NS_IPROGRESSDIALOG_IID =
-		new nsID(NS_IPROGRESSDIALOG_IID_STR);
-
-	public nsIProgressDialog(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Open(int /*long*/ aParent) {
-		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 1, getAddress(), aParent);
-	}
-
-	public int GetCancelDownloadOnClose(boolean[] aCancelDownloadOnClose) {
-		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 2, getAddress(), aCancelDownloadOnClose);
-	}
-
-	public int SetCancelDownloadOnClose(boolean aCancelDownloadOnClose) {
-		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 3, getAddress(), aCancelDownloadOnClose);
-	}
-
-	public int GetDialog(int /*long*/[] aDialog) {
-		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 4, getAddress(), aDialog);
-	}
-
-	public int SetDialog(int /*long*/ aDialog) {
-		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 5, getAddress(), aDialog);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPromptService.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPromptService.java
deleted file mode 100644
index bfb939b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIPromptService.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIPromptService extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 9;
-
-	public static final String NS_IPROMPTSERVICE_IID_STR =
-		"1630c61a-325e-49ca-8759-a31b16c47aa5";
-
-	public static final nsID NS_IPROMPTSERVICE_IID =
-		new nsID(NS_IPROMPTSERVICE_IID_STR);
-
-	public nsIPromptService(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Alert(int /*long*/ parent, char[] dialogTitle, char[] text) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, dialogTitle, text);
-	}
-
-	public int AlertCheck(int /*long*/ parent, char[] dialogTitle, char[] text, char[] checkMsg, boolean[] checkValue) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), parent, dialogTitle, text, checkMsg, checkValue);
-	}
-
-	public int Confirm(int /*long*/ parent, char[] dialogTitle, char[] text, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), parent, dialogTitle, text, _retval);
-	}
-
-	public int ConfirmCheck(int /*long*/ parent, char[] dialogTitle, char[] text, char[] checkMsg, boolean[] checkValue, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), parent, dialogTitle, text, checkMsg, checkValue, _retval);
-	}
-
-	public static final int BUTTON_POS_0 = 1;
-
-	public static final int BUTTON_POS_1 = 256;
-
-	public static final int BUTTON_POS_2 = 65536;
-
-	public static final int BUTTON_TITLE_OK = 1;
-
-	public static final int BUTTON_TITLE_CANCEL = 2;
-
-	public static final int BUTTON_TITLE_YES = 3;
-
-	public static final int BUTTON_TITLE_NO = 4;
-
-	public static final int BUTTON_TITLE_SAVE = 5;
-
-	public static final int BUTTON_TITLE_DONT_SAVE = 6;
-
-	public static final int BUTTON_TITLE_REVERT = 7;
-
-	public static final int BUTTON_TITLE_IS_STRING = 127;
-
-	public static final int STD_OK_CANCEL_BUTTONS = 513;
-
-	public int ConfirmEx(int /*long*/ parent, char[] dialogTitle, char[] text, int buttonFlags, char[] button0Title, char[] button1Title, char[] button2Title, char[] checkMsg, boolean[] checkValue, int[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), parent, dialogTitle, text, buttonFlags, button0Title, button1Title, button2Title, checkMsg, checkValue, _retval);
-	}
-
-	public int Prompt(int /*long*/ parent, char[] dialogTitle, char[] text, int /*long*/[] value, char[] checkMsg, boolean[] checkValue, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), parent, dialogTitle, text, value, checkMsg, checkValue, _retval);
-	}
-
-	public int PromptUsernameAndPassword(int /*long*/ parent, char[] dialogTitle, char[] text, int /*long*/[] username, int /*long*/[] password, char[] checkMsg, boolean[] checkValue, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), parent, dialogTitle, text, username, password, checkMsg, checkValue, _retval);
-	}
-
-	public int PromptPassword(int /*long*/ parent, char[] dialogTitle, char[] text, int /*long*/[] password, char[] checkMsg, boolean[] checkValue, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), parent, dialogTitle, text, password, checkMsg, checkValue, _retval);
-	}
-
-	public int Select(int /*long*/ parent, char[] dialogTitle, char[] text, int count, int /*long*/[] selectList, int[] outSelection, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), parent, dialogTitle, text, count, selectList, outSelection, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProperties.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProperties.java
deleted file mode 100644
index 0e4e345..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIProperties.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIProperties extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
-
-	public static final String NS_IPROPERTIES_IID_STR =
-		"78650582-4e93-4b60-8e85-26ebd3eb14ca";
-
-	public static final nsID NS_IPROPERTIES_IID =
-		new nsID(NS_IPROPERTIES_IID_STR);
-
-	public nsIProperties(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Get(byte[] prop, nsID iid, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, iid, result);
-	}
-
-	public int Set(byte[] prop, int /*long*/ value) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prop, value);
-	}
-
-	public int Has(byte[] prop, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), prop, _retval);
-	}
-
-	public int Undefine(byte[] prop) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), prop);
-	}
-
-	public int GetKeys(int[] count, int /*long*/[] keys) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), count, keys);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIRequest.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIRequest.java
deleted file mode 100644
index fe2d1e1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIRequest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIRequest extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 10;
-
-	public static final String NS_IREQUEST_IID_STR =
-		"ef6bfbd2-fd46-48d8-96b7-9f8f0fd387fe";
-
-	public static final nsID NS_IREQUEST_IID =
-		new nsID(NS_IREQUEST_IID_STR);
-
-	public nsIRequest(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetName(int /*long*/ aName) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
-	}
-
-	public int IsPending(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
-	}
-
-	public int GetStatus(int /*long*/[] aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aStatus);
-	}
-
-	public int Cancel(int aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aStatus);
-	}
-
-	public int Suspend() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
-	}
-
-	public int Resume() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
-	}
-
-	public int GetLoadGroup(int /*long*/[] aLoadGroup) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aLoadGroup);
-	}
-
-	public int SetLoadGroup(int /*long*/ aLoadGroup) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aLoadGroup);
-	}
-
-	public int GetLoadFlags(int /*long*/[] aLoadFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aLoadFlags);
-	}
-
-	public int SetLoadFlags(int aLoadFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aLoadFlags);
-	}
-
-	public static final int LOAD_NORMAL = 0;
-
-	public static final int LOAD_BACKGROUND = 1;
-
-	public static final int INHIBIT_CACHING = 128;
-
-	public static final int INHIBIT_PERSISTENT_CACHING = 256;
-
-	public static final int LOAD_BYPASS_CACHE = 512;
-
-	public static final int LOAD_FROM_CACHE = 1024;
-
-	public static final int VALIDATE_ALWAYS = 2048;
-
-	public static final int VALIDATE_NEVER = 4096;
-
-	public static final int VALIDATE_ONCE_PER_SESSION = 8192;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIServiceManager.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
deleted file mode 100644
index b3708cf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIServiceManager extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
-
-	public static final String NS_ISERVICEMANAGER_IID_STR =
-		"8bb35ed9-e332-462d-9155-4a002ab5c958";
-
-	public static final nsID NS_ISERVICEMANAGER_IID =
-		new nsID(NS_ISERVICEMANAGER_IID_STR);
-
-	public nsIServiceManager(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetService(nsID aClass, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
-	}
-
-	public int GetServiceByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
-	}
-
-	public int IsServiceInstantiated(nsID aClass, nsID aIID, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aIID, _retval);
-	}
-
-	public int IsServiceInstantiatedByContractID(byte[] aContractID, nsID aIID, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContractID, aIID, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
deleted file mode 100644
index 66ee3f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsISimpleEnumerator extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 2;
-
-	public static final String NS_ISIMPLEENUMERATOR_IID_STR =
-		"d1899240-f9d2-11d2-bdd6-000064657374";
-
-	public static final nsID NS_ISIMPLEENUMERATOR_IID =
-		new nsID(NS_ISIMPLEENUMERATOR_IID_STR);
-
-	public nsISimpleEnumerator(int /*long*/ address) {
-		super(address);
-	}
-
-	public int HasMoreElements(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
-	}
-
-	public int GetNext(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupports.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupports.java
deleted file mode 100644
index 5efb3ee..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupports.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsISupports {
-
-	static final int LAST_METHOD_ID = 2;
-
-	public static final String NS_ISUPPORTS_IID_STR =
-		"00000000-0000-0000-c000-000000000046";
-
-	public static final nsID NS_ISUPPORTS_IID =
-		new nsID(NS_ISUPPORTS_IID_STR);
-
-	int /*long*/ address;
-
-	public nsISupports(int /*long*/ address) {
-		this.address = address;
-	}
-
-	public int /*long*/ getAddress() {
-		return this.address;
-	}
-
-	public int QueryInterface(nsID uuid, int /*long*/[] result) {
-		return XPCOM.VtblCall(0, getAddress(), uuid, result);
-	}
-
-	public int AddRef() {
-		return XPCOM.VtblCall(1, getAddress());
-	}
-
-	public int Release() {
-		return XPCOM.VtblCall(2, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
deleted file mode 100644
index 3d34624..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsISupportsWeakReference extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_ISUPPORTSWEAKREFERENCE_IID_STR =
-		"9188bc86-f92e-11d2-81ef-0060083a0bcf";
-
-	public static final nsID NS_ISUPPORTSWEAKREFERENCE_IID =
-		new nsID(NS_ISUPPORTSWEAKREFERENCE_IID_STR);
-
-	public nsISupportsWeakReference(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetWeakReference(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsITooltipListener.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
deleted file mode 100644
index e0c58a3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2004, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsITooltipListener extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 2;
-
-	public static final String NS_ITOOLTIPLISTENER_IID_STR =
-		"44b78386-1dd2-11b2-9ad2-e4eee2ca1916";
-
-	public static final nsID NS_ITOOLTIPLISTENER_IID =
-		new nsID(NS_ITOOLTIPLISTENER_IID_STR);
-
-	public nsITooltipListener(int /*long*/ address) {
-		super(address);
-	}
-
-	public int OnShowTooltip(int aXCoords, int aYCoords, char[] aTipText) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aXCoords, aYCoords, aTipText);
-	}
-
-	public int OnHideTooltip() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
deleted file mode 100644
index c141bd3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURI.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIURI extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 26;
-
-	public static final String NS_IURI_IID_STR =
-		"07a22cc0-0ce5-11d3-9331-00104ba0fd40";
-
-	public static final nsID NS_IURI_IID =
-		new nsID(NS_IURI_IID_STR);
-
-	public nsIURI(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetSpec(int /*long*/ aSpec) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
-	}
-
-	public int SetSpec(int /*long*/ aSpec) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
-	}
-
-	public int GetPrePath(int /*long*/ aPrePath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aPrePath);
-	}
-
-	public int GetScheme(int /*long*/ aScheme) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScheme);
-	}
-
-	public int SetScheme(int /*long*/ aScheme) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aScheme);
-	}
-
-	public int GetUserPass(int /*long*/ aUserPass) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aUserPass);
-	}
-
-	public int SetUserPass(int /*long*/ aUserPass) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aUserPass);
-	}
-
-	public int GetUsername(int /*long*/ aUsername) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aUsername);
-	}
-
-	public int SetUsername(int /*long*/ aUsername) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aUsername);
-	}
-
-	public int GetPassword(int /*long*/ aPassword) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPassword);
-	}
-
-	public int SetPassword(int /*long*/ aPassword) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aPassword);
-	}
-
-	public int GetHostPort(int /*long*/ aHostPort) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aHostPort);
-	}
-
-	public int SetHostPort(int /*long*/ aHostPort) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aHostPort);
-	}
-
-	public int GetHost(int /*long*/ aHost) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aHost);
-	}
-
-	public int SetHost(int /*long*/ aHost) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aHost);
-	}
-
-	public int GetPort(int[] aPort) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aPort);
-	}
-
-	public int SetPort(int aPort) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aPort);
-	}
-
-	public int GetPath(int /*long*/ aPath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPath);
-	}
-
-	public int SetPath(int /*long*/ aPath) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aPath);
-	}
-
-	public int Equals(int /*long*/ other, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), other, _retval);
-	}
-
-	public int SchemeIs(byte[] scheme, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), scheme, _retval);
-	}
-
-	public int Clone(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
-	}
-
-	public int Resolve(int /*long*/ relativePath, int /*long*/ _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), relativePath, _retval);
-	}
-
-	public int GetAsciiSpec(int /*long*/ aAsciiSpec) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aAsciiSpec);
-	}
-
-	public int GetAsciiHost(int /*long*/ aAsciiHost) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aAsciiHost);
-	}
-
-	public int GetOriginCharset(int /*long*/ aOriginCharset) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aOriginCharset);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
deleted file mode 100644
index b5918f5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIURIContentListener extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 8;
-
-	public static final String NS_IURICONTENTLISTENER_IID_STR =
-		"94928ab3-8b63-11d3-989d-001083010e9b";
-
-	public static final nsID NS_IURICONTENTLISTENER_IID =
-		new nsID(NS_IURICONTENTLISTENER_IID_STR);
-
-	public nsIURIContentListener(int /*long*/ address) {
-		super(address);
-	}
-
-	public int OnStartURIOpen(int /*long*/ aURI, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, _retval);
-	}
-
-	public int DoContent(byte[] aContentType, boolean aIsContentPreferred, int /*long*/ aRequest, int /*long*/[] aContentHandler, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContentType, aIsContentPreferred, aRequest, aContentHandler, _retval);
-	}
-
-	public int IsPreferred(byte[] aContentType, int /*long*/[] aDesiredContentType, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContentType, aDesiredContentType, _retval);
-	}
-
-	public int CanHandleContent(byte[] aContentType, boolean aIsContentPreferred, int /*long*/[] aDesiredContentType, boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContentType, aIsContentPreferred, aDesiredContentType, _retval);
-	}
-
-	public int GetLoadCookie(int /*long*/[] aLoadCookie) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLoadCookie);
-	}
-
-	public int SetLoadCookie(int /*long*/ aLoadCookie) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLoadCookie);
-	}
-
-	public int GetParentContentListener(int /*long*/[] aParentContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aParentContentListener);
-	}
-
-	public int SetParentContentListener(int /*long*/ aParentContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aParentContentListener);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWeakReference.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
deleted file mode 100644
index faf448b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWeakReference extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_IWEAKREFERENCE_IID_STR =
-		"9188bc85-f92e-11d2-81ef-0060083a0bcf";
-
-	public static final nsID NS_IWEAKREFERENCE_IID =
-		new nsID(NS_IWEAKREFERENCE_IID_STR);
-
-	public nsIWeakReference(int /*long*/ address) {
-		super(address);
-	}
-
-	public int QueryReferent(nsID uuid, int /*long*/[] result) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
deleted file mode 100644
index 22113bd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebBrowser extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 7;
-
-	public static final String NS_IWEBBROWSER_IID_STR =
-		"69e5df00-7b8b-11d3-af61-00a024ffc08c";
-
-	public static final nsID NS_IWEBBROWSER_IID =
-		new nsID(NS_IWEBBROWSER_IID_STR);
-
-	public nsIWebBrowser(int /*long*/ address) {
-		super(address);
-	}
-
-	public int AddWebBrowserListener(int /*long*/ aListener, nsID aIID) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aListener, aIID);
-	}
-
-	public int RemoveWebBrowserListener(int /*long*/ aListener, nsID aIID) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aListener, aIID);
-	}
-
-	public int GetContainerWindow(int /*long*/[] aContainerWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContainerWindow);
-	}
-
-	public int SetContainerWindow(int /*long*/ aContainerWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContainerWindow);
-	}
-
-	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParentURIContentListener);
-	}
-
-	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParentURIContentListener);
-	}
-
-	public int GetContentDOMWindow(int /*long*/[] aContentDOMWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aContentDOMWindow);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
deleted file mode 100644
index d933359..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebBrowserChrome extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 10;
-
-	public static final String NS_IWEBBROWSERCHROME_IID_STR =
-		"ba434c60-9d52-11d3-afb0-00a024ffc08c";
-
-	public static final nsID NS_IWEBBROWSERCHROME_IID =
-		new nsID(NS_IWEBBROWSERCHROME_IID_STR);
-
-	public nsIWebBrowserChrome(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int STATUS_SCRIPT = 1;
-
-	public static final int STATUS_SCRIPT_DEFAULT = 2;
-
-	public static final int STATUS_LINK = 3;
-
-	public int SetStatus(int statusType, char[] status) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), statusType, status);
-	}
-
-	public int GetWebBrowser(int /*long*/[] aWebBrowser) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebBrowser);
-	}
-
-	public int SetWebBrowser(int /*long*/ aWebBrowser) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebBrowser);
-	}
-
-	public static final int CHROME_DEFAULT = 1;
-
-	public static final int CHROME_WINDOW_BORDERS = 2;
-
-	public static final int CHROME_WINDOW_CLOSE = 4;
-
-	public static final int CHROME_WINDOW_RESIZE = 8;
-
-	public static final int CHROME_MENUBAR = 16;
-
-	public static final int CHROME_TOOLBAR = 32;
-
-	public static final int CHROME_LOCATIONBAR = 64;
-
-	public static final int CHROME_STATUSBAR = 128;
-
-	public static final int CHROME_PERSONAL_TOOLBAR = 256;
-
-	public static final int CHROME_SCROLLBARS = 512;
-
-	public static final int CHROME_TITLEBAR = 1024;
-
-	public static final int CHROME_EXTRA = 2048;
-
-	public static final int CHROME_WITH_SIZE = 4096;
-
-	public static final int CHROME_WITH_POSITION = 8192;
-
-	public static final int CHROME_WINDOW_MIN = 16384;
-
-	public static final int CHROME_WINDOW_POPUP = 32768;
-
-	public static final int CHROME_WINDOW_RAISED = 33554432;
-
-	public static final int CHROME_WINDOW_LOWERED = 67108864;
-
-	public static final int CHROME_CENTER_SCREEN = 134217728;
-
-	public static final int CHROME_DEPENDENT = 268435456;
-
-	public static final int CHROME_MODAL = 536870912;
-
-	public static final int CHROME_OPENAS_DIALOG = 1073741824;
-
-//	public static final int CHROME_OPENAS_CHROME = 2147483648;
-
-	public static final int CHROME_ALL = 4094;
-
-	public int GetChromeFlags(int[] aChromeFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aChromeFlags);
-	}
-
-	public int SetChromeFlags(int aChromeFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aChromeFlags);
-	}
-
-	public int DestroyBrowserWindow() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
-	}
-
-	public int SizeBrowserTo(int aCX, int aCY) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aCX, aCY);
-	}
-
-	public int ShowAsModal() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
-	}
-
-	public int IsWindowModal(boolean[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
-	}
-
-	public int ExitModalEventLoop(int aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aStatus);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
deleted file mode 100644
index 6ad6792..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebBrowserChromeFocus extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 2;
-
-	public static final String NS_IWEBBROWSERCHROMEFOCUS_IID_STR =
-		"d2206418-1dd1-11b2-8e55-acddcd2bcfb8";
-
-	public static final nsID NS_IWEBBROWSERCHROMEFOCUS_IID =
-		new nsID(NS_IWEBBROWSERCHROMEFOCUS_IID_STR);
-
-	public nsIWebBrowserChromeFocus(int /*long*/ address) {
-		super(address);
-	}
-
-	public int FocusNextElement() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
-	public int FocusPrevElement() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
deleted file mode 100644
index 788f44e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebBrowserFocus extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 8;
-
-	public static final String NS_IWEBBROWSERFOCUS_IID_STR =
-		"9c5d3c58-1dd1-11b2-a1c9-f3699284657a";
-
-	public static final nsID NS_IWEBBROWSERFOCUS_IID =
-		new nsID(NS_IWEBBROWSERFOCUS_IID_STR);
-
-	public nsIWebBrowserFocus(int /*long*/ address) {
-		super(address);
-	}
-
-	public int Activate() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
-	}
-
-	public int Deactivate() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress());
-	}
-
-	public int SetFocusAtFirstElement() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int SetFocusAtLastElement() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
-	}
-
-	public int GetFocusedWindow(int /*long*/[] aFocusedWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFocusedWindow);
-	}
-
-	public int SetFocusedWindow(int /*long*/ aFocusedWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aFocusedWindow);
-	}
-
-	public int GetFocusedElement(int /*long*/[] aFocusedElement) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFocusedElement);
-	}
-
-	public int SetFocusedElement(int /*long*/ aFocusedElement) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aFocusedElement);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
deleted file mode 100644
index e1acfbe..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebBrowserStream extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 3;
-
-	public static final String NS_IWEBBROWSERSTREAM_IID_STR =
-		"86d02f0e-219b-4cfc-9c88-bd98d2cce0b8";
-
-	public static final nsID NS_IWEBBROWSERSTREAM_IID =
-		new nsID(NS_IWEBBROWSERSTREAM_IID_STR);
-
-	public nsIWebBrowserStream(int /*long*/ address) {
-		super(address);
-	}
-
-	public int OpenStream(int /*long*/ aBaseURI, int /*long*/ aContentType) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aBaseURI, aContentType);
-	}
-
-	public int AppendToStream(int /*long*/ aData, int aLen) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData, aLen);
-	}
-
-	public int CloseStream() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
deleted file mode 100644
index 6a9b7f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebNavigation extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 13;
-
-	public static final String NS_IWEBNAVIGATION_IID_STR =
-		"f5d9e7b0-d930-11d3-b057-00a024ffc08c";
-
-	public static final nsID NS_IWEBNAVIGATION_IID =
-		new nsID(NS_IWEBNAVIGATION_IID_STR);
-
-	public nsIWebNavigation(int /*long*/ address) {
-		super(address);
-	}
-
-	public int GetCanGoBack(boolean[] aCanGoBack) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCanGoBack);
-	}
-
-	public int GetCanGoForward(boolean[] aCanGoForward) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCanGoForward);
-	}
-
-	public int GoBack() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
-	}
-
-	public int GoForward() {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
-	}
-
-	public int GotoIndex(int index) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), index);
-	}
-
-	public static final int LOAD_FLAGS_MASK = 65535;
-
-	public static final int LOAD_FLAGS_NONE = 0;
-
-	public static final int LOAD_FLAGS_IS_REFRESH = 16;
-
-	public static final int LOAD_FLAGS_IS_LINK = 32;
-
-	public static final int LOAD_FLAGS_BYPASS_HISTORY = 64;
-
-	public static final int LOAD_FLAGS_REPLACE_HISTORY = 128;
-
-	public static final int LOAD_FLAGS_BYPASS_CACHE = 256;
-
-	public static final int LOAD_FLAGS_BYPASS_PROXY = 512;
-
-	public static final int LOAD_FLAGS_CHARSET_CHANGE = 1024;
-
-	public int LoadURI(char[] uri, int loadFlags, int /*long*/ referrer, int /*long*/ postData, int /*long*/ headers) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), uri, loadFlags, referrer, postData, headers);
-	}
-
-	public int Reload(int reloadFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), reloadFlags);
-	}
-
-	public static final int STOP_NETWORK = 1;
-
-	public static final int STOP_CONTENT = 2;
-
-	public static final int STOP_ALL = 3;
-
-	public int Stop(int stopFlags) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), stopFlags);
-	}
-
-	public int GetDocument(int /*long*/[] aDocument) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDocument);
-	}
-
-	public int GetCurrentURI(int /*long*/[] aCurrentURI) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aCurrentURI);
-	}
-
-	public int GetReferringURI(int /*long*/[] aReferringURI) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aReferringURI);
-	}
-
-	public int GetSessionHistory(int /*long*/[] aSessionHistory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aSessionHistory);
-	}
-
-	public int SetSessionHistory(int /*long*/ aSessionHistory) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aSessionHistory);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgress.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
deleted file mode 100644
index c7f4eab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebProgress extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
-
-	public static final String NS_IWEBPROGRESS_IID_STR =
-		"570f39d0-efd0-11d3-b093-00a024ffc08c";
-
-	public static final nsID NS_IWEBPROGRESS_IID =
-		new nsID(NS_IWEBPROGRESS_IID_STR);
-
-	public nsIWebProgress(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int NOTIFY_STATE_REQUEST = 1;
-
-	public static final int NOTIFY_STATE_DOCUMENT = 2;
-
-	public static final int NOTIFY_STATE_NETWORK = 4;
-
-	public static final int NOTIFY_STATE_WINDOW = 8;
-
-	public static final int NOTIFY_STATE_ALL = 15;
-
-	public static final int NOTIFY_PROGRESS = 16;
-
-	public static final int NOTIFY_STATUS = 32;
-
-	public static final int NOTIFY_SECURITY = 64;
-
-	public static final int NOTIFY_LOCATION = 128;
-
-	public static final int NOTIFY_ALL = 255;
-
-	public int AddProgressListener(int /*long*/ listener, int aNotifyMask) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), listener, aNotifyMask);
-	}
-
-	public int RemoveProgressListener(int /*long*/ listener) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), listener);
-	}
-
-	public int GetDOMWindow(int /*long*/[] aDOMWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDOMWindow);
-	}
-
-	public int GetIsLoadingDocument(boolean[] aIsLoadingDocument) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aIsLoadingDocument);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
deleted file mode 100644
index 2704c1b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWebProgressListener extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
-
-	public static final String NS_IWEBPROGRESSLISTENER_IID_STR =
-		"570f39d1-efd0-11d3-b093-00a024ffc08c";
-
-	public static final nsID NS_IWEBPROGRESSLISTENER_IID =
-		new nsID(NS_IWEBPROGRESSLISTENER_IID_STR);
-
-	public nsIWebProgressListener(int /*long*/ address) {
-		super(address);
-	}
-
-	public static final int STATE_START = 1;
-
-	public static final int STATE_REDIRECTING = 2;
-
-	public static final int STATE_TRANSFERRING = 4;
-
-	public static final int STATE_NEGOTIATING = 8;
-
-	public static final int STATE_STOP = 16;
-
-	public static final int STATE_IS_REQUEST = 65536;
-
-	public static final int STATE_IS_DOCUMENT = 131072;
-
-	public static final int STATE_IS_NETWORK = 262144;
-
-	public static final int STATE_IS_WINDOW = 524288;
-
-	public static final int STATE_IS_INSECURE = 4;
-
-	public static final int STATE_IS_BROKEN = 1;
-
-	public static final int STATE_IS_SECURE = 2;
-
-	public static final int STATE_SECURE_HIGH = 262144;
-
-	public static final int STATE_SECURE_MED = 65536;
-
-	public static final int STATE_SECURE_LOW = 131072;
-
-	public int OnStateChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aStateFlags, aStatus);
-	}
-
-	public int OnProgressChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
-	}
-
-	public int OnLocationChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ location) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebProgress, aRequest, location);
-	}
-
-	public int OnStatusChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, char[] aMessage) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWebProgress, aRequest, aStatus, aMessage);
-	}
-
-	public int OnSecurityChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int state) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aWebProgress, aRequest, state);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
deleted file mode 100644
index d7f5d7f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWindowCreator extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 1;
-
-	public static final String NS_IWINDOWCREATOR_IID_STR =
-		"30465632-a777-44cc-90f9-8145475ef999";
-
-	public static final nsID NS_IWINDOWCREATOR_IID =
-		new nsID(NS_IWINDOWCREATOR_IID_STR);
-
-	public nsIWindowCreator(int /*long*/ address) {
-		super(address);
-	}
-
-	public int CreateChromeWindow(int /*long*/ parent, int chromeFlags, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, chromeFlags, _retval);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
deleted file mode 100644
index 6a1fc59..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation.  All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Mozilla and SWT
- * -  Copyright (C) 2003, 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsIWindowWatcher extends nsISupports {
-
-	static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 11;
-
-	public static final String NS_IWINDOWWATCHER_IID_STR =
-		"002286a8-494b-43b3-8ddd-49e3fc50622b";
-
-	public static final nsID NS_IWINDOWWATCHER_IID =
-		new nsID(NS_IWINDOWWATCHER_IID_STR);
-
-	public nsIWindowWatcher(int /*long*/ address) {
-		super(address);
-	}
-
-	public int OpenWindow(int /*long*/ aParent, byte[] aUrl, byte[] aName, byte[] aFeatures, int /*long*/ aArguments, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, aUrl, aName, aFeatures, aArguments, _retval);
-	}
-
-	public int RegisterNotification(int /*long*/ aObserver) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aObserver);
-	}
-
-	public int UnregisterNotification(int /*long*/ aObserver) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aObserver);
-	}
-
-	public int GetWindowEnumerator(int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), _retval);
-	}
-
-	public int GetNewPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParent, _retval);
-	}
-
-	public int GetNewAuthPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParent, _retval);
-	}
-
-	public int SetWindowCreator(int /*long*/ creator) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), creator);
-	}
-
-	public int GetChromeForWindow(int /*long*/ aWindow, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aWindow, _retval);
-	}
-
-	public int GetWindowByName(char[] aTargetName, int /*long*/ aCurrentWindow, int /*long*/[] _retval) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aTargetName, aCurrentWindow, _retval);
-	}
-
-	public int GetActiveWindow(int /*long*/[] aActiveWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aActiveWindow);
-	}
-
-	public int SetActiveWindow(int /*long*/ aActiveWindow) {
-		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aActiveWindow);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/package.html b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/package.html
deleted file mode 100644
index 0458804..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal Mozilla XPCOM implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which represent the Mozilla
-XPCOM platform interfaces that the SWT Mozilla Browser is built from.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java
deleted file mode 100644
index 2161169..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/gtk/org/eclipse/swt/browser/Browser.java
+++ /dev/null
@@ -1,2596 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.browser;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.internal.mozilla.*;
-import org.eclipse.swt.layout.*;
-
-/**
- * Instances of this class implement the browser user interface
- * metaphor.  It allows the user to visualize and navigate through
- * HTML documents.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-public class Browser extends Composite {
-	int /*long*/ embedHandle;
-	int /*long*/ mozillaHandle;
-	nsIWebBrowser webBrowser;
-
-	/* Interfaces for this Mozilla embedding notification */
-	XPCOMObject supports;
-	XPCOMObject weakReference;
-	XPCOMObject webProgressListener;
-	XPCOMObject	webBrowserChrome;
-	XPCOMObject webBrowserChromeFocus;
-	XPCOMObject embeddingSiteWindow;
-	XPCOMObject interfaceRequestor;
-	XPCOMObject supportsWeakReference;
-	XPCOMObject contextMenuListener;	
-	XPCOMObject uriContentListener;
-	XPCOMObject tooltipListener;
-	int chromeFlags = nsIWebBrowserChrome.CHROME_DEFAULT;
-	int refCount = 0;
-	int /*long*/ request;
-	Point location;
-	Point size;
-	boolean addressBar, menuBar, statusBar, toolBar;
-	boolean visible;
-	Shell tip = null;
-
-	/* External Listener management */
-	CloseWindowListener[] closeWindowListeners = new CloseWindowListener[0];
-	LocationListener[] locationListeners = new LocationListener[0];
-	OpenWindowListener[] openWindowListeners = new OpenWindowListener[0];
-	ProgressListener[] progressListeners = new ProgressListener[0];
-	StatusTextListener[] statusTextListeners = new StatusTextListener[0];
-	TitleListener[] titleListeners = new TitleListener[0];
-	VisibilityWindowListener[] visibilityWindowListeners = new VisibilityWindowListener[0];
-
-	static nsIAppShell AppShell;
-	static WindowCreator WindowCreator;
-	static int BrowserCount;
-	static boolean mozilla, ignoreDispose, usingProfile;
-	static Callback eventCallback;
-	static int /*long*/ eventProc;
-
-	/* Package Name */
-	static final String PACKAGE_PREFIX = "org.eclipse.swt.browser."; //$NON-NLS-1$
-	static final String ADD_WIDGET_KEY = "org.eclipse.swt.internal.addWidget"; //$NON-NLS-1$
-	static final String NO_INPUT_METHOD = "org.eclipse.swt.internal.gtk.noInputMethod"; //$NON-NLS-1$
-	static final String URI_FROMMEMORY = "file:///"; //$NON-NLS-1$
-	static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$
-	static final String PREFERENCE_LANGUAGES = "intl.accept_languages"; //$NON-NLS-1$
-	static final String PREFERENCE_CHARSET = "intl.charset.default"; //$NON-NLS-1$
-	static final String SEPARATOR_LOCALE = "-"; //$NON-NLS-1$
-	static final String TOKENIZER_LOCALE = ","; //$NON-NLS-1$
-	static final String PROFILE_DIR = "/eclipse"; //$NON-NLS-1$
-	static final int STOP_PROPOGATE = 1;
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a widget which will be the parent of the new instance (cannot be null)
- * @param style the style of widget to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES if a handle could not be obtained for browser creation</li>
- * </ul>
- * 
- * @see #getStyle
- * 
- * @since 3.0
- */
-public Browser(Composite parent, int style) {
-	super(fixIM(parent), style);
-	Display display = parent.getDisplay();	
-	display.setData(NO_INPUT_METHOD, null);
-	
-	int /*long*/[] result = new int /*long*/[1];
-	if (!mozilla) {
-		String mozillaPath = null;
-		int /*long*/ ptr = OS.getenv(Converter.wcsToMbcs(null, XPCOM.MOZILLA_FIVE_HOME, true));
-		if (ptr != 0) {
-			int length = OS.strlen(ptr);
-			byte[] buffer = new byte[length];
-			OS.memmove(buffer, ptr, length);
-			mozillaPath = new String (Converter.mbcsToWcs (null, buffer));
-		}
-		if (mozillaPath == null) {
-			dispose();
-			SWT.error(SWT.ERROR_NO_HANDLES, null, " [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]"); //$NON-NLS-1$
-		}
-		/*
-		* Note.  Embedding a Mozilla GTK1.2 causes a crash.  The workaround
-		* is to check the version of GTK used by Mozilla by looking for
-		* the libwidget_gtk.so library used by Mozilla GTK1.2. Mozilla GTK2
-		* uses the libwidget_gtk2.so library.   
-		*/
-		File file = new File(mozillaPath, "components/libwidget_gtk.so"); //$NON-NLS-1$
-		if (file.exists()) {
-			dispose();
-			SWT.error(SWT.ERROR_NO_HANDLES, null, " [Mozilla GTK2 required (GTK1.2 detected)]"); //$NON-NLS-1$							
-		}
-
-		try {
-			Library.loadLibrary ("swt-mozilla"); //$NON-NLS-1$
-		} catch (UnsatisfiedLinkError e) {
-			try {
-				/* 
-				 * The initial loadLibrary attempt may have failed as a result of the user's
-				 * system not having libstdc++.so.6 installed, so try to load the alternate
-				 * swt mozilla library that depends on libswtc++.so.5 instead.
-				 */
-				Library.loadLibrary ("swt-mozilla-gcc3"); //$NON-NLS-1$
-			} catch (UnsatisfiedLinkError ex) {
-				dispose ();
-				/*
-				 * Print the error from the first failed attempt since at this point it's
-				 * known that the failure was not due to the libstdc++.so.6 dependency.
-				 */
-				SWT.error (SWT.ERROR_NO_HANDLES, e);
-			}
-		}
-
-		/*
-		 * Try to load the various profile libraries until one is found that loads successfully:
-		 * - mozilla14profile/mozilla14profile-gcc should succeed for mozilla 1.4 - 1.6
-		 * - mozilla17profile/mozilla17profile-gcc should succeed for mozilla 1.7.x and firefox
-		 * - mozilla18profile/mozilla18profile-gcc should succeed for mozilla 1.8.x (seamonkey)
-		 */
-		try {
-			Library.loadLibrary ("swt-mozilla14-profile"); //$NON-NLS-1$
-			usingProfile = true;
-		} catch (UnsatisfiedLinkError e1) {
-			try {
-				Library.loadLibrary ("swt-mozilla17-profile"); //$NON-NLS-1$
-				usingProfile = true;
-			} catch (UnsatisfiedLinkError e2) {
-				try {
-					Library.loadLibrary ("swt-mozilla14-profile-gcc3"); //$NON-NLS-1$
-					usingProfile = true;
-				} catch (UnsatisfiedLinkError e3) {
-					try {
-						Library.loadLibrary ("swt-mozilla17-profile-gcc3"); //$NON-NLS-1$
-						usingProfile = true;
-					} catch (UnsatisfiedLinkError e4) {
-						try {
-							Library.loadLibrary ("swt-mozilla18-profile"); //$NON-NLS-1$
-							usingProfile = true;
-						} catch (UnsatisfiedLinkError e5) {
-							try {
-								Library.loadLibrary ("swt-mozilla18-profile-gcc3"); //$NON-NLS-1$
-								usingProfile = true;
-							} catch (UnsatisfiedLinkError e6) {
-								/* 
-								* fail silently, the Browser will still work without profile support
-								* but will abort any attempts to navigate to HTTPS pages
-								*/
-							}
-						}
-					}
-				}
-			}
-		}
-
-		int /*long*/[] retVal = new int /*long*/[1];
-		nsEmbedString pathString = new nsEmbedString(mozillaPath);
-		int rc = XPCOM.NS_NewLocalFile(pathString.getAddress(), true, retVal);
-		pathString.dispose();
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (retVal[0] == 0) error(XPCOM.NS_ERROR_NULL_POINTER);
-		
-		nsILocalFile localFile = new nsILocalFile(retVal[0]);
-		rc = XPCOM.NS_InitEmbedding(localFile.getAddress(), 0);
-		localFile.Release();
-		if (rc != XPCOM.NS_OK) {
-			dispose();
-			SWT.error(SWT.ERROR_NO_HANDLES, null, " [NS_InitEmbedding "+mozillaPath+" error "+rc+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-		rc = XPCOM.NS_GetComponentManager(result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-		
-		nsIComponentManager componentManager = new nsIComponentManager(result[0]);
-		result[0] = 0;
-		rc = componentManager.CreateInstance(XPCOM.NS_APPSHELL_CID, 0, nsIAppShell.NS_IAPPSHELL_IID, result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-		
-		AppShell = new nsIAppShell(result[0]);
-		rc = AppShell.Create(0, null);
-		if (rc != XPCOM.NS_OK) error(rc);
-		rc = AppShell.Spinup();
-		if (rc != XPCOM.NS_OK) error(rc);
-		
-		WindowCreator = new WindowCreator();
-		WindowCreator.AddRef();
-		
-		rc = XPCOM.NS_GetServiceManager(result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-		
-		nsIServiceManager serviceManager = new nsIServiceManager(result[0]);
-		result[0] = 0;		
-		byte[] buffer = XPCOM.NS_WINDOWWATCHER_CONTRACTID.getBytes();
-		byte[] aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		rc = serviceManager.GetServiceByContractID(aContractID, nsIWindowWatcher.NS_IWINDOWWATCHER_IID, result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);		
-
-		nsIWindowWatcher windowWatcher = new nsIWindowWatcher(result[0]);
-		result[0] = 0;
-		rc = windowWatcher.SetWindowCreator(WindowCreator.getAddress());
-		if (rc != XPCOM.NS_OK) error(rc);
-		windowWatcher.Release();
-
-		/* specify the user profile directory */
-		if (usingProfile) {
-			buffer = Converter.wcsToMbcs(null, XPCOM.NS_DIRECTORYSERVICE_CONTRACTID, true);
-			rc = serviceManager.GetServiceByContractID(buffer, nsIDirectoryService.NS_IDIRECTORYSERVICE_IID, result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-			nsIDirectoryService directoryService = new nsIDirectoryService(result[0]);
-			result[0] = 0;
-			rc = directoryService.QueryInterface(nsIProperties.NS_IPROPERTIES_IID, result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			directoryService.Release();
-
-			nsIProperties properties = new nsIProperties(result[0]);
-			result[0] = 0;
-			buffer = Converter.wcsToMbcs(null, XPCOM.NS_APP_APPLICATION_REGISTRY_DIR, true);
-			rc = properties.Get(buffer, nsIFile.NS_IFILE_IID, result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			properties.Release();
-
-			nsIFile profileDir = new nsIFile(result[0]);
-			result[0] = 0;
-			int /*long*/ path = XPCOM.nsEmbedCString_new();
-			rc = profileDir.GetNativePath(path);
-			if (rc != XPCOM.NS_OK) error(rc);
-			profileDir.Release(); //
-
-			int length = XPCOM.nsEmbedCString_Length(path);
-			ptr = XPCOM.nsEmbedCString_get(path);
-			buffer = new byte [length];
-			XPCOM.memmove(buffer, ptr, length);
-			XPCOM.nsEmbedCString_delete(path);
-			String string = new String(Converter.mbcsToWcs(null, buffer)) + PROFILE_DIR; 
-			pathString = new nsEmbedString(string);
-			rc = XPCOM.NS_NewLocalFile(pathString.getAddress(), true, result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_ERROR_NULL_POINTER);
-			pathString.dispose(); //
-
-			profileDir = new nsIFile(result[0]);
-			result[0] = 0;
-
-			rc = XPCOM_PROFILE.NS_NewProfileDirServiceProvider(true, result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-			final int /*long*/ dirServiceProvider = result[0];
-			result[0] = 0;
-			rc = XPCOM_PROFILE.ProfileDirServiceProvider_Register(dirServiceProvider);
-			if (rc != XPCOM.NS_OK) error(rc);
-			rc = XPCOM_PROFILE.ProfileDirServiceProvider_SetProfileDir(dirServiceProvider, profileDir.getAddress());
-			if (rc != XPCOM.NS_OK) error(rc);
-
-			getDisplay().addListener(SWT.Dispose, new Listener() {
-				public void handleEvent(Event e) {
-					XPCOM_PROFILE.ProfileDirServiceProvider_Shutdown(dirServiceProvider);
-				}
-			});
-		}
-
-		/*
-		 * As a result of using a common profile (or none at all), the user cannot specify
-		 * their locale and charset.  The fix for this is to set mozilla's locale and charset
-		 * preference values according to the user's current locale and charset.
-		 */
-		buffer = XPCOM.NS_PREFSERVICE_CONTRACTID.getBytes();
-		aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		rc = serviceManager.GetServiceByContractID(aContractID, nsIPrefService.NS_IPREFSERVICE_IID, result);
-		serviceManager.Release();
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-		nsIPrefService prefService = new nsIPrefService(result[0]);
-		result[0] = 0;
-		buffer = new byte[1];
-		rc = prefService.GetBranch(buffer, result);	/* empty buffer denotes root preference level */
-		prefService.Release();
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-		nsIPrefBranch prefBranch = new nsIPrefBranch(result[0]);
-		result[0] = 0;
-
-		/* get Mozilla's current locale preference value */
-		String prefLocales = null;
-		nsIPrefLocalizedString localizedString = null;
-		buffer = Converter.wcsToMbcs(null, PREFERENCE_LANGUAGES, true);
-		rc = prefBranch.GetComplexValue(buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
-		/* 
-		 * Feature of Debian.  For some reason attempting to query for the current locale
-		 * preference fails on Debian.  The workaround for this is to assume a value of
-		 * "en-us,en" since this is typically the default value when mozilla is used without
-		 * a profile.
-		 */
-		if (rc != XPCOM.NS_OK) {
-			prefLocales = "en-us,en" + TOKENIZER_LOCALE;	//$NON-NLS-1$
-		} else {
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			localizedString = new nsIPrefLocalizedString(result[0]);
-			result[0] = 0;
-			rc = localizedString.ToString(result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			int length = XPCOM.strlen_PRUnichar(result[0]);
-			char[] dest = new char[length];
-			XPCOM.memmove(dest, result[0], length * 2);
-			prefLocales = new String(dest) + TOKENIZER_LOCALE;
-		}
-		result[0] = 0;
-
-		/*
-		 * construct the new locale preference value by prepending the
-		 * user's current locale and language to the original value 
-		 */
-		Locale locale = Locale.getDefault();
-		String language = locale.getLanguage();
-		String country = locale.getCountry();
-		StringBuffer stringBuffer = new StringBuffer (language);
-		stringBuffer.append(SEPARATOR_LOCALE);
-		stringBuffer.append(country.toLowerCase());
-		stringBuffer.append(TOKENIZER_LOCALE);
-		stringBuffer.append(language);
-		stringBuffer.append(TOKENIZER_LOCALE);
-		String newLocales = stringBuffer.toString();
-		StringTokenizer tokenzier = new StringTokenizer(prefLocales, TOKENIZER_LOCALE);
-		while (tokenzier.hasMoreTokens()) {
-			String token = (tokenzier.nextToken() + TOKENIZER_LOCALE).trim();
-			/* ensure that duplicate locale values are not added */
-			if (newLocales.indexOf(token) == -1) {
-				stringBuffer.append(token);
-			}
-		}
-		newLocales = stringBuffer.toString();
-		if (!newLocales.equals(prefLocales)) {
-			/* write the new locale value */
-			newLocales = newLocales.substring(0, newLocales.length() - TOKENIZER_LOCALE.length ()); /* remove trailing tokenizer */
-			int length = newLocales.length();
-			char[] charBuffer = new char[length + 1];
-			newLocales.getChars(0, length, charBuffer, 0);
-			if (localizedString == null) {
-				byte[] contractID = Converter.wcsToMbcs(null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
-				rc = componentManager.CreateInstanceByContractID(contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
-				if (rc != XPCOM.NS_OK) error(rc);
-				if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-				localizedString = new nsIPrefLocalizedString(result[0]);
-				result[0] = 0;
-			}
-			localizedString.SetDataWithLength(length, charBuffer);
-			rc = prefBranch.SetComplexValue(buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress());
-		}
-		if (localizedString != null) {
-			localizedString.Release();
-			localizedString = null;
-		}
-
-		/* get Mozilla's current charset preference value */
-		String prefCharset = null;
-		buffer = Converter.wcsToMbcs(null, PREFERENCE_CHARSET, true);
-		rc = prefBranch.GetComplexValue(buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
-		/* 
-		 * Feature of Debian.  For some reason attempting to query for the current charset
-		 * preference fails on Debian.  The workaround for this is to assume a value of
-		 * "ISO-8859-1" since this is typically the default value when mozilla is used
-		 * without a profile.
-		 */
-		if (rc != XPCOM.NS_OK) {
-			prefCharset = "ISO-8859-1";	//$NON_NLS-1$
-		} else {
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			localizedString = new nsIPrefLocalizedString(result[0]);
-			result[0] = 0;
-			rc = localizedString.ToString(result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			int length = XPCOM.strlen_PRUnichar(result[0]);
-			char[] dest = new char[length];
-			XPCOM.memmove(dest, result[0], length * 2);
-			prefCharset = new String(dest);
-		}
-		result[0] = 0;
-
-		String newCharset = System.getProperty("file.encoding");	// $NON-NLS-1$
-		if (!newCharset.equals(prefCharset)) {
-			/* write the new charset value */
-			int length = newCharset.length();
-			char[] charBuffer = new char[length + 1];
-			newCharset.getChars(0, length, charBuffer, 0);
-			if (localizedString == null) {
-				byte[] contractID = Converter.wcsToMbcs(null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
-				rc = componentManager.CreateInstanceByContractID(contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
-				if (rc != XPCOM.NS_OK) error(rc);
-				if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-				localizedString = new nsIPrefLocalizedString(result[0]);
-				result[0] = 0;
-			}
-			localizedString.SetDataWithLength(length, charBuffer);
-			rc = prefBranch.SetComplexValue(buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress());
-		}
-		if (localizedString != null) localizedString.Release();
-		prefBranch.Release();
-
-		PromptServiceFactory factory = new PromptServiceFactory();
-		factory.AddRef();
-
-		rc = componentManager.QueryInterface(nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-		
-		nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar(result[0]);
-		result[0] = 0;
-		buffer = XPCOM.NS_PROMPTSERVICE_CONTRACTID.getBytes();
-		aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		buffer = "Prompt Service".getBytes(); //$NON-NLS-1$
-		byte[] aClassName = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aClassName, 0, buffer.length);
-		rc = componentRegistrar.RegisterFactory(XPCOM.NS_PROMPTSERVICE_CID, aClassName, aContractID, factory.getAddress());
-		if (rc != XPCOM.NS_OK) error(rc);
-		factory.Release();
-		
-		HelperAppLauncherDialogFactory dialogFactory = new HelperAppLauncherDialogFactory();
-		dialogFactory.AddRef();
-		
-		buffer = XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID.getBytes();
-		aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		buffer = "Helper App Launcher Dialog".getBytes(); //$NON-NLS-1$
-		aClassName = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aClassName, 0, buffer.length);
-		rc = componentRegistrar.RegisterFactory(XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CID, aClassName, aContractID, dialogFactory.getAddress());
-		if (rc != XPCOM.NS_OK) error(rc);
-		dialogFactory.Release();
-		
-		DownloadFactory downloadFactory = new DownloadFactory();
-		downloadFactory.AddRef();
-		
-		buffer = XPCOM.NS_DOWNLOAD_CONTRACTID.getBytes();
-		aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		buffer = "Download".getBytes(); //$NON-NLS-1$
-		aClassName = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aClassName, 0, buffer.length);
-		rc = componentRegistrar.RegisterFactory(XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory.getAddress());
-		if (rc != XPCOM.NS_OK) error(rc);
-		downloadFactory.Release();
-		
-		FilePickerFactory pickerFactory = new FilePickerFactory();
-		pickerFactory.AddRef();
-
-		buffer = XPCOM.NS_FILEPICKER_CONTRACTID.getBytes();
-		aContractID = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
-		buffer = "FilePicker".getBytes(); //$NON-NLS-1$
-		aClassName = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, aClassName, 0, buffer.length);
-		rc = componentRegistrar.RegisterFactory(XPCOM.NS_FILEPICKER_CID, aClassName, aContractID, pickerFactory.getAddress());
-		if (rc != XPCOM.NS_OK) error(rc);
-		pickerFactory.Release();
-
-		componentRegistrar.Release();
-		componentManager.Release();
-		mozilla = true;
-	}
-	BrowserCount++;
-	int rc = XPCOM.NS_GetComponentManager(result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-	
-	nsIComponentManager componentManager = new nsIComponentManager(result[0]);
-	result[0] = 0;
-	nsID NS_IWEBBROWSER_CID = new nsID("F1EAC761-87E9-11d3-AF80-00A024FFC08C"); //$NON-NLS-1$
-	rc = componentManager.CreateInstance(NS_IWEBBROWSER_CID, 0, nsIWebBrowser.NS_IWEBBROWSER_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);	
-	componentManager.Release();
-	
-	webBrowser = new nsIWebBrowser(result[0]); 
-
-	createCOMInterfaces();
-	AddRef();
-
-	rc = webBrowser.SetContainerWindow(webBrowserChrome.getAddress());
-	if (rc != XPCOM.NS_OK) error(rc);
-			
-	rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);	
-	Rectangle rect = getClientArea();
-	if (rect.isEmpty()) {
-		rect.width = 1;
-		rect.height = 1;
-	}
-
-	/*
-	* Bug in Mozilla Linux GTK.  Embedding Mozilla into a GtkFixed
-	* handle causes problems with some Mozilla plug-ins.  For some
-	* reason, the Flash plug-in causes the child of the GtkFixed
-	* handle to be resized to 1 when the Flash document is loaded.
-	* That could be due to gtk_container_resize_children being called
-	* by Mozilla - or one of its plug-ins - on the GtkFixed handle,
-	* causing the child of the GtkFixed handle to be resized to 1.
-	* The workaround is to embed Mozilla into a GtkHBox handle.
-	*/
-	embedHandle = OS.gtk_hbox_new (false, 0);
-	OS.gtk_container_add (handle, embedHandle);
-	OS.gtk_widget_show (embedHandle);
-	
-	rc = baseWindow.InitWindow(embedHandle, 0, 0, 0, rect.width, rect.height);
-	if (rc != XPCOM.NS_OK) error(XPCOM.NS_ERROR_FAILURE);
-	rc = baseWindow.Create();
-	if (rc != XPCOM.NS_OK) error(XPCOM.NS_ERROR_FAILURE);
-	rc = baseWindow.SetVisibility(true);
-	if (rc != XPCOM.NS_OK) error(XPCOM.NS_ERROR_FAILURE);
-	baseWindow.Release();
-
-	rc = webBrowser.AddWebBrowserListener(weakReference.getAddress(), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
-	if (rc != XPCOM.NS_OK) error(rc);
-
-	rc = webBrowser.SetParentURIContentListener(uriContentListener.getAddress());
-	if (rc != XPCOM.NS_OK) error(rc);
-
-	if (eventCallback == null) {
-		eventCallback = new Callback(Browser.class, "eventProc", 3);
-		eventProc = eventCallback.getAddress();
-		if (eventProc == 0) error(SWT.ERROR_NO_MORE_CALLBACKS);
-	}
-
-	/*
-	* Feature in Mozilla.  GtkEvents such as key down, key pressed may be consumed
-	* by Mozilla and never be received by the parent embedder.  The workaround
-	* is to find the top Mozilla gtk widget that receives all the Mozilla GtkEvents,
-	* i.e. the first child of the parent embedder. Then hook event callbacks and
-	* forward the event to the parent embedder before Mozilla received and consumed
-	* them.
-	*/
-	int /*long*/ list = OS.gtk_container_get_children(embedHandle);
-	if (list != 0) {
-		mozillaHandle = OS.g_list_data(list);
-		OS.g_list_free(list);
-		
-		if (mozillaHandle != 0) {			
-			getDisplay().setData(ADD_WIDGET_KEY, new Object[] {new LONG(mozillaHandle), this});
-
-			/* Note. Callback to get events before Mozilla receives and consumes them. */
-			OS.g_signal_connect (mozillaHandle, OS.event, eventProc, 0);
-			
-			/* 
-			* Note.  Callback to get the events not consumed by Mozilla - and to block 
-			* them so that they don't get propagated to the parent handle twice.  
-			* This hook is set after Mozilla and is therefore called after Mozilla's 
-			* handler because GTK dispatches events in their order of registration.
-			*/
-			OS.g_signal_connect (mozillaHandle, OS.key_press_event, eventProc, STOP_PROPOGATE);
-			OS.g_signal_connect (mozillaHandle, OS.key_release_event, eventProc, STOP_PROPOGATE);
-		}
-	}
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose: {
-					/* make this handler run after other dispose listeners */
-					if (ignoreDispose) {
-						ignoreDispose = false;
-						break;
-					}
-					ignoreDispose = true;
-					notifyListeners (event.type, event);
-					event.type = SWT.NONE;
-					onDispose(event.display);
-					break;
-				}
-				case SWT.Resize: onResize(); break;
-				case SWT.FocusIn: Activate(); break;
-				case SWT.Deactivate: {
-					Display display = event.display;
-					if (Browser.this == display.getFocusControl()) Deactivate();
-					break;
-				}
-				case SWT.Show: {
-					/*
-					* Feature on GTK Mozilla.  Mozilla does not show up when
-					* its container (a GTK fixed handle) is made visible
-					* after having been hidden.  The workaround is to reset
-					* its size after the container has been made visible. 
-					*/
-					Display display = event.display;
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (Browser.this.isDisposed()) return;
-							onResize();
-						}
-					});
-					break;
-				}
-			}
-		}
-	};	
-	int[] folderEvents = new int[]{
-		SWT.Dispose,
-		SWT.Resize,  
-		SWT.FocusIn, 
-		SWT.Deactivate,
-		SWT.Show
-	};
-	for (int i = 0; i < folderEvents.length; i++) {
-		addListener(folderEvents[i], listener);
-	}
-}
-
-public static void clearSessions () {
-	if (!mozilla) return;
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = XPCOM.NS_GetServiceManager (result);
-	if (rc != XPCOM.NS_OK) error (rc);
-	if (result [0] == 0) error (XPCOM.NS_NOINTERFACE);
-	nsIServiceManager serviceManager = new nsIServiceManager (result [0]);
-	result [0] = 0;
-	byte[] buffer = XPCOM.NS_COOKIEMANAGER_CONTRACTID.getBytes ();
-	byte[] aContractID = new byte [buffer.length + 1];
-	System.arraycopy (buffer, 0, aContractID, 0, buffer.length);
-	rc = serviceManager.GetServiceByContractID (aContractID, nsICookieManager.NS_ICOOKIEMANAGER_IID, result);
-	if (rc != XPCOM.NS_OK) error (rc);
-	if (result [0] == 0) error (XPCOM.NS_NOINTERFACE);
-	serviceManager.Release ();
-
-	nsICookieManager manager = new nsICookieManager (result [0]);
-	result [0] = 0;
-	rc = manager.GetEnumerator (result);
-	if (rc != XPCOM.NS_OK) error (rc);
-	manager.Release ();
-
-	nsISimpleEnumerator enumerator = new nsISimpleEnumerator (result [0]);
-	boolean[] moreElements = new boolean [1];
-	rc = enumerator.HasMoreElements (moreElements);
-	if (rc != XPCOM.NS_OK) error (rc);
-	while (moreElements [0]) {
-		result [0] = 0;
-		rc = enumerator.GetNext (result);
-		if (rc != XPCOM.NS_OK) error (rc);
-		nsICookie cookie = new nsICookie (result [0]);
-		long[] expires = new long [1];
-		rc = cookie.GetExpires (expires);
-		if (expires [0] == 0) {
-			/* indicates a session cookie */
-			int /*long*/ domain = XPCOM.nsEmbedCString_new ();
-			int /*long*/ name = XPCOM.nsEmbedCString_new ();
-			int /*long*/ path = XPCOM.nsEmbedCString_new ();
-			cookie.GetHost (domain);
-			cookie.GetName (name);
-			cookie.GetPath (path);
-			rc = manager.Remove (domain, name, path, false);
-			XPCOM.nsEmbedCString_delete (domain);
-			XPCOM.nsEmbedCString_delete (name);
-			XPCOM.nsEmbedCString_delete (path);
-			if (rc != XPCOM.NS_OK) error (rc);
-		}
-		cookie.Release ();
-		rc = enumerator.HasMoreElements (moreElements);
-		if (rc != XPCOM.NS_OK) error (rc);
-	}
-	enumerator.Release ();
-}
-
-static int /*long*/ eventProc (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
-	Widget widget = Display.getCurrent().findWidget(handle);
-	if (widget != null && widget instanceof Browser) {
-		return ((Browser)widget).gtk_event(handle, gdkEvent, pointer);
-	}
-	return 0;
-}
-
-static Composite fixIM(Composite parent) {
-	/*
-	* Note.  Mozilla provides all IM suport needed for text input in webpages.
-	* If SWTcreates another input method context for the widget it will cause
-	* undetermine results to happen (hungs and crashes). The fix is to prevent 
-	* SWT from creating an input method context for the  Browser widget.
-	*/
-	if (parent != null && !parent.isDisposed()) {
-		Display display = parent.getDisplay();
-		if (display != null) {
-			if (display.getThread() == Thread.currentThread ()) {
-				display.setData (NO_INPUT_METHOD, "true");
-			}
-		}
-	}
-	return parent;
-}
-
-int /*long*/ gtk_event (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
-	/* 
-	* Stop the propagation of events that are not consumed by Mozilla, before
-	* they reach the parent embedder.  These event have already been received.
-	*/
-	if (pointer == STOP_PROPOGATE) return 1;
-
-	GdkEvent event = new GdkEvent ();
-	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
-	switch (event.type) {
-		case OS.GDK_KEY_PRESS:
-		case OS.GDK_KEY_RELEASE:
-		case OS.GDK_BUTTON_PRESS:
-		case OS.GDK_BUTTON_RELEASE: {
-			/* 
-			* Forward the event to the parent embedder before Mozilla receives it, 
-			* as Mozilla may or may not consume it.
-			*/
-			OS.gtk_widget_event (this.handle, gdkEvent);
-			break;
-		}
-	}
-	return 0;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addCloseWindowListener(CloseWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);	
-	CloseWindowListener[] newCloseWindowListeners = new CloseWindowListener[closeWindowListeners.length + 1];
-	System.arraycopy(closeWindowListeners, 0, newCloseWindowListeners, 0, closeWindowListeners.length);
-	closeWindowListeners = newCloseWindowListeners;
-	closeWindowListeners[closeWindowListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addLocationListener(LocationListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	LocationListener[] newLocationListeners = new LocationListener[locationListeners.length + 1];
-	System.arraycopy(locationListeners, 0, newLocationListeners, 0, locationListeners.length);
-	locationListeners = newLocationListeners;
-	locationListeners[locationListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addOpenWindowListener(OpenWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	OpenWindowListener[] newOpenWindowListeners = new OpenWindowListener[openWindowListeners.length + 1];
-	System.arraycopy(openWindowListeners, 0, newOpenWindowListeners, 0, openWindowListeners.length);
-	openWindowListeners = newOpenWindowListeners;
-	openWindowListeners[openWindowListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addProgressListener(ProgressListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	ProgressListener[] newProgressListeners = new ProgressListener[progressListeners.length + 1];
-	System.arraycopy(progressListeners, 0, newProgressListeners, 0, progressListeners.length);
-	progressListeners = newProgressListeners;
-	progressListeners[progressListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addStatusTextListener(StatusTextListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	StatusTextListener[] newStatusTextListeners = new StatusTextListener[statusTextListeners.length + 1];
-	System.arraycopy(statusTextListeners, 0, newStatusTextListeners, 0, statusTextListeners.length);
-	statusTextListeners = newStatusTextListeners;
-	statusTextListeners[statusTextListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addTitleListener(TitleListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	TitleListener[] newTitleListeners = new TitleListener[titleListeners.length + 1];
-	System.arraycopy(titleListeners, 0, newTitleListeners, 0, titleListeners.length);
-	titleListeners = newTitleListeners;
-	titleListeners[titleListeners.length - 1] = listener;
-}
-
-/**	 
- * Adds the listener to receive events.
- * <p>
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void addVisibilityWindowListener(VisibilityWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length + 1];
-	System.arraycopy(visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, visibilityWindowListeners.length);
-	visibilityWindowListeners = newVisibilityWindowListeners;
-	visibilityWindowListeners[visibilityWindowListeners.length - 1] = listener;
-}
-
-/**
- * Navigate to the previous session history item.
- *
- * @return <code>true</code> if the operation was successful and <code>false</code> otherwise
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @see #forward
- * 
- * @since 3.0
- */
-public boolean back() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);		 	
-	rc = webNavigation.GoBack();	
-	webNavigation.Release();
-	
-	return rc == XPCOM.NS_OK;
-}
-
-protected void checkSubclass() {
-	String name = getClass().getName();
-	int index = name.lastIndexOf('.');
-	if (!name.substring(0, index + 1).equals(PACKAGE_PREFIX)) {
-		SWT.error(SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-void createCOMInterfaces() {
-	// Create each of the interfaces that this object implements
-	supports = new XPCOMObject(new int[]{2, 0, 0}){
-		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();}
-	};
-	
-	weakReference = new XPCOMObject(new int[]{2, 0, 0, 2}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return QueryReferent(args[0], args[1]);}
-	};
-
-	webProgressListener = new XPCOMObject(new int[]{2, 0, 0, 4, 6, 3, 4, 3}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return OnStateChange(args[0], args[1], args[2],args[3]);}
-		public int /*long*/ method4(int /*long*/[] args) {return OnProgressChange(args[0], args[1], args[2],args[3],args[4],args[5]);}
-		public int /*long*/ method5(int /*long*/[] args) {return OnLocationChange(args[0], args[1], args[2]);}
-		public int /*long*/ method6(int /*long*/[] args) {return OnStatusChange(args[0], args[1], args[2],args[3]);}
-		public int /*long*/ method7(int /*long*/[] args) {return OnSecurityChange(args[0], args[1], args[2]);}
-	};
-	
-	webBrowserChrome = new XPCOMObject(new int[]{2, 0, 0, 2, 1, 1, 1, 1, 0, 2, 0, 1, 1}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return SetStatus(args[0], args[1]);}
-		public int /*long*/ method4(int /*long*/[] args) {return GetWebBrowser(args[0]);}
-		public int /*long*/ method5(int /*long*/[] args) {return SetWebBrowser(args[0]);}
-		public int /*long*/ method6(int /*long*/[] args) {return GetChromeFlags(args[0]);}
-		public int /*long*/ method7(int /*long*/[] args) {return SetChromeFlags(args[0]);}
-		public int /*long*/ method8(int /*long*/[] args) {return DestroyBrowserWindow();}
-		public int /*long*/ method9(int /*long*/[] args) {return SizeBrowserTo(args[0], args[1]);}
-		public int /*long*/ method10(int /*long*/[] args) {return ShowAsModal();}
-		public int /*long*/ method11(int /*long*/[] args) {return IsWindowModal(args[0]);}
-		public int /*long*/ method12(int /*long*/[] args) {return ExitModalEventLoop(args[0]);}
-	};
-	
-	webBrowserChromeFocus = new XPCOMObject(new int[]{2, 0, 0, 0, 0}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return FocusNextElement();}
-		public int /*long*/ method4(int /*long*/[] args) {return FocusPrevElement();}
-	};
-		
-	embeddingSiteWindow = new XPCOMObject(new int[]{2, 0, 0, 5, 5, 0, 1, 1, 1, 1, 1}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return SetDimensions(args[0], args[1], args[2], args[3], args[4]);}
-		public int /*long*/ method4(int /*long*/[] args) {return GetDimensions(args[0], args[1], args[2], args[3], args[4]);}
-		public int /*long*/ method5(int /*long*/[] args) {return SetFocus();}
-		public int /*long*/ method6(int /*long*/[] args) {return GetVisibility(args[0]);}
-		public int /*long*/ method7(int /*long*/[] args) {return SetVisibility(args[0]);}
-		public int /*long*/ method8(int /*long*/[] args) {return GetTitle(args[0]);}
-		public int /*long*/ method9(int /*long*/[] args) {return SetTitle(args[0]);}
-		public int /*long*/ method10(int /*long*/[] args) {return GetSiteWindow(args[0]);}
-	};
-	
-	interfaceRequestor = new XPCOMObject(new int[]{2, 0, 0, 2}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return GetInterface(args[0], args[1]);}
-	};
-		
-	supportsWeakReference = new XPCOMObject(new int[]{2, 0, 0, 1}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return GetWeakReference(args[0]);}
-	};
-	
-	contextMenuListener = new XPCOMObject(new int[]{2, 0, 0, 3}){
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return OnShowContextMenu(args[0],args[1],args[2]);}
-	};
-	
-	uriContentListener = new XPCOMObject(new int[]{2, 0, 0, 2, 5, 3, 4, 1, 1, 1, 1}) {
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return OnStartURIOpen(args[0], args[1]);}
-		public int /*long*/ method4(int /*long*/[] args) {return DoContent(args[0], args[1], args[2], args[3], args[4]);}
-		public int /*long*/ method5(int /*long*/[] args) {return IsPreferred(args[0], args[1], args[2]);}
-		public int /*long*/ method6(int /*long*/[] args) {return CanHandleContent(args[0], args[1], args[2], args[3]);}
-		public int /*long*/ method7(int /*long*/[] args) {return GetLoadCookie(args[0]);}
-		public int /*long*/ method8(int /*long*/[] args) {return SetLoadCookie(args[0]);}
-		public int /*long*/ method9(int /*long*/[] args) {return GetParentContentListener(args[0]);}
-		public int /*long*/ method10(int /*long*/[] args) {return SetParentContentListener(args[0]);}		
-	};
-	
-	tooltipListener = new XPCOMObject(new int[]{2, 0, 0, 3, 0}) {
-		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();}
-		public int /*long*/ method3(int /*long*/[] args) {return OnShowTooltip(args[0], args[1], args[2]);}
-		public int /*long*/ method4(int /*long*/[] args) {return OnHideTooltip();}		
-	};
-}
-
-void disposeCOMInterfaces() {
-	if (supports != null) {
-		supports.dispose();
-		supports = null;
-	}	
-	if (weakReference != null) {
-		weakReference.dispose();
-		weakReference = null;	
-	}
-	if (webProgressListener != null) {
-		webProgressListener.dispose();
-		webProgressListener = null;
-	}
-	if (webBrowserChrome != null) {
-		webBrowserChrome.dispose();
-		webBrowserChrome = null;
-	}
-	if (webBrowserChromeFocus != null) {
-		webBrowserChromeFocus.dispose();
-		webBrowserChromeFocus = null;
-	}
-	if (embeddingSiteWindow != null) {
-		embeddingSiteWindow.dispose();
-		embeddingSiteWindow = null;
-	}
-	if (interfaceRequestor != null) {
-		interfaceRequestor.dispose();
-		interfaceRequestor = null;
-	}		
-	if (supportsWeakReference != null) {
-		supportsWeakReference.dispose();
-		supportsWeakReference = null;
-	}	
-	if (contextMenuListener != null) {
-		contextMenuListener.dispose();
-		contextMenuListener = null;
-	}
-	if (uriContentListener != null) {
-		uriContentListener.dispose();
-		uriContentListener = null;
-	}
-	if (tooltipListener != null) {
-		tooltipListener.dispose();
-		tooltipListener = null;
-	}
-}
-
-public boolean execute(String script) {
-	checkWidget();
-	if (script == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	String url = "javascript:"+script+";void(0);";//$NON-NLS-1$ //$NON-NLS-2$
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-    char[] arg = url.toCharArray(); 
-    char[] c = new char[arg.length+1];
-    System.arraycopy(arg,0,c,0,arg.length);
-	rc = webNavigation.LoadURI(c, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0);
-	webNavigation.Release();
-	return rc == XPCOM.NS_OK;
-}
-
-static Browser findBrowser(int /*long*/ handle) {
-	/*
-	* Note.  On GTK, Mozilla is embedded into a GtkHBox handle
-	* and not directly into the parent Composite handle.
-	*/
-	int /*long*/ parent = OS.gtk_widget_get_parent(handle);
-	Display display = Display.getCurrent();
-	return (Browser)display.findWidget(parent); 
-}
-
-/**
- * Navigate to the next session history item.
- *
- * @return <code>true</code> if the operation was successful and <code>false</code> otherwise
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @see #back
- * 
- * @since 3.0
- */
-public boolean forward() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-	rc = webNavigation.GoForward();
-	webNavigation.Release();
-
-	return rc == XPCOM.NS_OK;
-}
-
-/**
- * Returns the current URL.
- *
- * @return the current URL or an empty <code>String</code> if there is no current URL
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @see #setUrl
- * 
- * @since 3.0
- */
-public String getUrl() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-	int /*long*/[] aCurrentURI = new int /*long*/[1];
-	rc = webNavigation.GetCurrentURI(aCurrentURI);
-	if (rc != XPCOM.NS_OK) error(rc);
-	/*
-	 * This code is intentionally commented.  aCurrentURI is 0
-	 * when no location has previously been set.
-	 */
-	//if (aCurrentURI[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	webNavigation.Release();
-	
-	byte[] dest = null;
-	if (aCurrentURI[0] != 0) {
-		nsIURI uri = new nsIURI(aCurrentURI[0]);
-		int /*long*/ aSpec = XPCOM.nsEmbedCString_new();
-		rc = uri.GetSpec(aSpec);
-		if (rc != XPCOM.NS_OK) error(rc);
-		int length = XPCOM.nsEmbedCString_Length(aSpec);
-		int /*long*/ buffer = XPCOM.nsEmbedCString_get(aSpec);
-		dest = new byte[length];
-		XPCOM.memmove(dest, buffer, length);
-		XPCOM.nsEmbedCString_delete(aSpec);
-		uri.Release();
-	}
-	if (dest == null) return ""; //$NON-NLS-1$
-	/*
-	 * If the URI indicates that the current page is being rendered from
-	 * memory (ie.- via setText()) then answer about:blank as the URL
-	 * to be consistent with win32.
-	 */
-	String location = new String (dest);
-	if (location.equals (URI_FROMMEMORY)) location = ABOUT_BLANK;
-	return location;
-}
-
-/**
- * Returns <code>true</code> if the receiver can navigate to the 
- * previous session history item, and <code>false</code> otherwise.
- *
- * @return the receiver's back command enabled state
- *
- * @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>
- * 
- * @see #back
- */
-public boolean isBackEnabled() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-	boolean[] aCanGoBack = new boolean[1];
-	rc = webNavigation.GetCanGoBack(aCanGoBack);	
-	webNavigation.Release();
-	
-	return aCanGoBack[0];
-}
-
-/**
- * Returns <code>true</code> if the receiver can navigate to the 
- * next session history item, and <code>false</code> otherwise.
- *
- * @return the receiver's forward command enabled state
- *
- * @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>
- * 
- * @see #forward
- */
-public boolean isForwardEnabled() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-	boolean[] aCanGoForward = new boolean[1];
-	rc = webNavigation.GetCanGoForward(aCanGoForward);
-	webNavigation.Release();
-
-	return aCanGoForward[0];
-}
-
-static String error(int code) {
-	throw new SWTError("XPCOM error "+code); //$NON-NLS-1$
-}
-
-void onDispose(Display display) {
-	display.setData(ADD_WIDGET_KEY, new Object[] {new LONG(mozillaHandle), null});
-
-	int rc = webBrowser.RemoveWebBrowserListener(weakReference.getAddress(), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
-	if (rc != XPCOM.NS_OK) error(rc);
-
-	rc = webBrowser.SetParentURIContentListener(0);
-	if (rc != XPCOM.NS_OK) error(rc);
-	
-	int /*long*/[] result = new int /*long*/[1];
-	rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
-	rc = baseWindow.Destroy();
-	if (rc != XPCOM.NS_OK) error(rc);
-	baseWindow.Release();
-	
-	Release();
-	webBrowser.Release();
-	
-	if (tip != null && !tip.isDisposed()) tip.dispose();
-	tip = null;
-
-	BrowserCount--;
-	/*
-	* This code is intentionally commented.  It is not possible to reinitialize
-	* Mozilla once it has been terminated.  NS_InitEmbedding always fails after
-	* NS_TermEmbedding has been called.  The workaround is to call NS_InitEmbedding
-	* once and never call NS_TermEmbedding.
-	*/
-//	if (BrowserCount == 0) {
-//		if (AppShell != null) {
-//			// Shutdown the appshell service.
-//			rc = AppShell.Spindown();
-//			if (rc != XPCOM.NS_OK) error(rc);
-//			AppShell.Release();
-//			AppShell = null;
-//		}
-//		WindowCreator.Release();
-//		WindowCreator = null;
-//		PromptService.Release();
-//		PromptService = null;
-//		XPCOM.NS_TermEmbedding();
-//		mozilla = false;
-//	}
-}
-
-void Activate() {
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus(result[0]);
-	rc = webBrowserFocus.Activate();
-	if (rc != XPCOM.NS_OK) error(rc);
-	webBrowserFocus.Release();
-}
-	
-void Deactivate() {
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus(result[0]);
-	rc = webBrowserFocus.Deactivate();
-	if (rc != XPCOM.NS_OK) error(rc);
-	webBrowserFocus.Release();
-}
-
-void SetFocusAtFirstElement() {
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebBrowserFocus webBrowserFocus = new nsIWebBrowserFocus(result[0]);
-	rc = webBrowserFocus.SetFocusAtFirstElement();
-	if (rc != XPCOM.NS_OK) error(rc);
-	webBrowserFocus.Release();
-}
-
-void onResize() {
-	Rectangle rect = getClientArea();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-
-	OS.gtk_widget_set_size_request(embedHandle, rect.width, rect.height);
-	nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
-	rc = baseWindow.SetPositionAndSize(rect.x, rect.y, rect.width, rect.height, true);
-	if (rc != XPCOM.NS_OK) error(rc);
-	baseWindow.Release();
-}
-
-/**
- * Refresh the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void refresh() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);		 	
-	rc = webNavigation.Reload(nsIWebNavigation.LOAD_FLAGS_NONE);
-	webNavigation.Release();
-	if (rc == XPCOM.NS_OK) return;
-	/*
-	* Feature in Mozilla.  Reload returns an error code NS_ERROR_INVALID_POINTER
-	* when it is called immediately after a request to load a new document using
-	* LoadURI.  The workaround is to ignore this error code.
-	* 
-	* Feature in Mozilla.  Attempting to reload a file that no longer exists
-	* returns an error code of NS_ERROR_FILE_NOT_FOUND.  This is equivalent to
-	* attempting to load a non-existent local url, which is not a Browser error,
-	* so this error code should be ignored. 
-	*/
-	if (rc != XPCOM.NS_ERROR_INVALID_POINTER && rc != XPCOM.NS_ERROR_FILE_NOT_FOUND) error(rc);
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeCloseWindowListener(CloseWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (closeWindowListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < closeWindowListeners.length; i++) {
-		if (listener == closeWindowListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (closeWindowListeners.length == 1) {
-		closeWindowListeners = new CloseWindowListener[0];
-		return;
-	}
-	CloseWindowListener[] newCloseWindowListeners = new CloseWindowListener[closeWindowListeners.length - 1];
-	System.arraycopy(closeWindowListeners, 0, newCloseWindowListeners, 0, index);
-	System.arraycopy(closeWindowListeners, index + 1, newCloseWindowListeners, index, closeWindowListeners.length - index - 1);
-	closeWindowListeners = newCloseWindowListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeLocationListener(LocationListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (locationListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < locationListeners.length; i++) {
-		if (listener == locationListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (locationListeners.length == 1) {
-		locationListeners = new LocationListener[0];
-		return;
-	}
-	LocationListener[] newLocationListeners = new LocationListener[locationListeners.length - 1];
-	System.arraycopy(locationListeners, 0, newLocationListeners, 0, index);
-	System.arraycopy(locationListeners, index + 1, newLocationListeners, index, locationListeners.length - index - 1);
-	locationListeners = newLocationListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeOpenWindowListener(OpenWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (openWindowListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < openWindowListeners.length; i++) {
-		if (listener == openWindowListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (openWindowListeners.length == 1) {
-		openWindowListeners = new OpenWindowListener[0];
-		return;
-	}
-	OpenWindowListener[] newOpenWindowListeners = new OpenWindowListener[openWindowListeners.length - 1];
-	System.arraycopy(openWindowListeners, 0, newOpenWindowListeners, 0, index);
-	System.arraycopy(openWindowListeners, index + 1, newOpenWindowListeners, index, openWindowListeners.length - index - 1);
-	openWindowListeners = newOpenWindowListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeProgressListener(ProgressListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (progressListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < progressListeners.length; i++) {
-		if (listener == progressListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (progressListeners.length == 1) {
-		progressListeners = new ProgressListener[0];
-		return;
-	}
-	ProgressListener[] newProgressListeners = new ProgressListener[progressListeners.length - 1];
-	System.arraycopy(progressListeners, 0, newProgressListeners, 0, index);
-	System.arraycopy(progressListeners, index + 1, newProgressListeners, index, progressListeners.length - index - 1);
-	progressListeners = newProgressListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeStatusTextListener(StatusTextListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (statusTextListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < statusTextListeners.length; i++) {
-		if (listener == statusTextListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (statusTextListeners.length == 1) {
-		statusTextListeners = new StatusTextListener[0];
-		return;
-	}
-	StatusTextListener[] newStatusTextListeners = new StatusTextListener[statusTextListeners.length - 1];
-	System.arraycopy(statusTextListeners, 0, newStatusTextListeners, 0, index);
-	System.arraycopy(statusTextListeners, index + 1, newStatusTextListeners, index, statusTextListeners.length - index - 1);
-	statusTextListeners = newStatusTextListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeTitleListener(TitleListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (titleListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < titleListeners.length; i++) {
-		if (listener == titleListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (titleListeners.length == 1) {
-		titleListeners = new TitleListener[0];
-		return;
-	}
-	TitleListener[] newTitleListeners = new TitleListener[titleListeners.length - 1];
-	System.arraycopy(titleListeners, 0, newTitleListeners, 0, index);
-	System.arraycopy(titleListeners, index + 1, newTitleListeners, index, titleListeners.length - index - 1);
-	titleListeners = newTitleListeners;
-}
-
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- * 
- * @since 3.0
- */
-public void removeVisibilityWindowListener(VisibilityWindowListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (visibilityWindowListeners.length == 0) return;
-	int index = -1;
-	for (int i = 0; i < visibilityWindowListeners.length; i++) {
-		if (listener == visibilityWindowListeners[i]){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return;
-	if (visibilityWindowListeners.length == 1) {
-		visibilityWindowListeners = new VisibilityWindowListener[0];
-		return;
-	}
-	VisibilityWindowListener[] newVisibilityWindowListeners = new VisibilityWindowListener[visibilityWindowListeners.length - 1];
-	System.arraycopy(visibilityWindowListeners, 0, newVisibilityWindowListeners, 0, index);
-	System.arraycopy(visibilityWindowListeners, index + 1, newVisibilityWindowListeners, index, visibilityWindowListeners.length - index - 1);
-	visibilityWindowListeners = newVisibilityWindowListeners;
-}
-
-/**
- * Renders HTML.
- * 
- * @param html the HTML content to be rendered
- *
- * @return true if the operation was successful and false otherwise.
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the html is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *  
- * @see #setUrl
- * 
- * @since 3.0
- */
-public boolean setText(String html) {
-	checkWidget();
-	if (html == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	
-	/*
-	*  Feature in Mozilla.  The focus memory of Mozilla must be 
-	*  properly managed through the nsIWebBrowserFocus interface.
-	*  In particular, nsIWebBrowserFocus.deactivate must be called
-	*  when the focus moves from the browser (or one of its children
-	*  managed by Mozilla to another widget.  We currently do not
-	*  get notified when a widget takes focus away from the Browser.
-	*  As a result, deactivate is not properly called. This causes
-	*  Mozilla to retake focus the next time a document is loaded.
-	*  This breaks the case where the HTML loaded in the Browser 
-	*  varies while the user enters characters in a text widget. The text
-	*  widget loses focus every time new content is loaded.
-	*  The current workaround is to call deactivate everytime if 
-	*  the browser currently does not have focus. A better workaround
-	*  would be to have a mean to call deactivate when the Browser
-	*  or one of its children loses focus.
-	*/
-	if (this != getDisplay().getFocusControl()) Deactivate();
-	
-	/*
-	 * Convert the String containing HTML to an array of
-	 * bytes with UTF-8 data.
-	 */
-	byte[] data = null;
-	try {
-		data = html.getBytes("UTF-8"); //$NON-NLS-1$
-	} catch (UnsupportedEncodingException e) {
-		return false;
-	}
-
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = XPCOM.NS_GetServiceManager(result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-	nsIServiceManager serviceManager = new nsIServiceManager(result[0]);
-	result[0] = 0;
-	rc = serviceManager.GetService(XPCOM.NS_IOSERVICE_CID, nsIIOService.NS_IIOSERVICE_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-	serviceManager.Release();
-
-	nsIIOService ioService = new nsIIOService(result[0]);
-	result[0] = 0;
-	/*
-	* Note.  Mozilla ignores LINK tags used to load CSS stylesheets
-	* when the URI protocol for the nsInputStreamChannel
-	* is about:blank.  The fix is to specify the file protocol.
-	*/
-	byte[] aString = URI_FROMMEMORY.getBytes();
-	int /*long*/ aSpec = XPCOM.nsEmbedCString_new(aString, aString.length);
-	rc = ioService.NewURI(aSpec, null, 0, result);
-	XPCOM.nsEmbedCString_delete(aSpec);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-	ioService.Release();
-	
-	nsIURI uri = new nsIURI(result[0]);
-	result[0] = 0;
-
-	/* aContentType */
-	byte[] buffer = "text/html".getBytes(); //$NON-NLS-1$
-	byte[] contentTypeBuffer = new byte[buffer.length + 1];
-	System.arraycopy(buffer, 0, contentTypeBuffer, 0, buffer.length);
-	int /*long*/ aContentType = XPCOM.nsEmbedCString_new(contentTypeBuffer, contentTypeBuffer.length);
-
-	/*
-	 * First try to use nsIWebBrowserStream to set the text into the Browser, since this
-	 * interface is frozen.  However, this may fail because this interface was only introduced
-	 * as of mozilla 1.8; if this interface is not found then use the pre-1.8 approach of
-	 * utilizing nsIDocShell instead. 
-	 */
-	result[0] = 0;
-	rc = webBrowser.QueryInterface(nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result);
-	if (rc == XPCOM.NS_OK) {
-		if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-		nsIWebBrowserStream stream = new nsIWebBrowserStream(result[0]);
-		rc = stream.OpenStream(uri.getAddress(), aContentType);
-		if (rc != XPCOM.NS_OK) error(rc);
-		int /*long*/ ptr = XPCOM.PR_Malloc(data.length);
-		XPCOM.memmove(ptr, data, data.length);
-		int pageSize = 8192;
-		int pageCount = data.length / pageSize + 1;
-		int /*long*/ current = ptr;
-		for (int i = 0; i < pageCount; i++) {
-			int length = i == pageCount - 1 ? data.length % pageSize : pageSize;
-			if (length > 0) {
-				rc = stream.AppendToStream(current, length);
-				if (rc != XPCOM.NS_OK) error(rc);
-			}
-			current += pageSize;
-		}
-		rc = stream.CloseStream();
-		if (rc != XPCOM.NS_OK) error(rc);
-		XPCOM.PR_Free(ptr);
-		stream.Release();
-	} else {
-		rc = webBrowser.QueryInterface(nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID, result);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-
-		nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor(result[0]);
-		result[0] = 0;
-		rc = interfaceRequestor.GetInterface(nsIDocShell.NS_IDOCSHELL_IID, result);				
-		interfaceRequestor.Release();
-
-		nsIDocShell docShell = new nsIDocShell(result[0]);
-		result[0] = 0;
-		buffer = "UTF-8".getBytes(); //$NON-NLS-1$
-		byte[] contentCharsetBuffer = new byte[buffer.length + 1];
-		System.arraycopy(buffer, 0, contentCharsetBuffer, 0, buffer.length);
-		int /*long*/ aContentCharset = XPCOM.nsEmbedCString_new(contentCharsetBuffer, contentCharsetBuffer.length);
-
-		/*
-		* Feature in Mozilla. LoadStream invokes the nsIInputStream argument
-		* through a different thread.  The callback mechanism must attach 
-		* a non java thread to the JVM otherwise the nsIInputStream Read and
-		* Close methods never get called.
-		*/
-		InputStream inputStream = new InputStream(data);
-		inputStream.AddRef();
-		rc = docShell.LoadStream(inputStream.getAddress(), uri.getAddress(), aContentType,  aContentCharset, 0);
-		if (rc != XPCOM.NS_OK) error(rc);
-		XPCOM.nsEmbedCString_delete(aContentCharset);
-		inputStream.Release();
-		docShell.Release();
-	}
-
-	XPCOM.nsEmbedCString_delete(aContentType);
-	uri.Release();
-	return true;
-}
-
-/**
- * Loads a URL.
- * 
- * @param url the URL to be loaded
- *
- * @return true if the operation was successful and false otherwise.
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the url is null</li>
- * </ul>
- * 
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *  
- * @see #getUrl
- * 
- * @since 3.0
- */
-public boolean setUrl(String url) {
-	checkWidget();
-	if (url == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);
-    char[] arg = url.toCharArray(); 
-    char[] c = new char[arg.length+1];
-    System.arraycopy(arg,0,c,0,arg.length);
-	rc = webNavigation.LoadURI(c, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0);
-	webNavigation.Release();
-	return rc == XPCOM.NS_OK;
-}
-
-/**
- * Stop any loading and rendering activity.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
- *    <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
- * </ul>
- *
- * @since 3.0
- */
-public void stop() {
-	checkWidget();
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIWebNavigation webNavigation = new nsIWebNavigation(result[0]);	 	
-	rc = webNavigation.Stop(nsIWebNavigation.STOP_ALL);
-	if (rc != XPCOM.NS_OK) error(rc);
-	webNavigation.Release();
-}
-
-/* nsISupports */
-
-int /*long*/ QueryInterface(int /*long*/ riid, int /*long*/ ppvObject) {
-	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
-
-	nsID guid = new nsID();
-	XPCOM.memmove(guid, riid, nsID.sizeof);
-
-	if (guid.Equals(nsISupports.NS_ISUPPORTS_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {supports.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIWeakReference.NS_IWEAKREFERENCE_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {weakReference.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {webProgressListener.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIWebBrowserChrome.NS_IWEBBROWSERCHROME_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {webBrowserChrome.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIWebBrowserChromeFocus.NS_IWEBBROWSERCHROMEFOCUS_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {webBrowserChromeFocus.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIEmbeddingSiteWindow.NS_IEMBEDDINGSITEWINDOW_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {embeddingSiteWindow.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {interfaceRequestor.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsISupportsWeakReference.NS_ISUPPORTSWEAKREFERENCE_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {supportsWeakReference.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIContextMenuListener.NS_ICONTEXTMENULISTENER_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {contextMenuListener.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsIURIContentListener.NS_IURICONTENTLISTENER_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {uriContentListener.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	if (guid.Equals(nsITooltipListener.NS_ITOOLTIPLISTENER_IID)) {
-		XPCOM.memmove(ppvObject, new int /*long*/[] {tooltipListener.getAddress()}, OS.PTR_SIZEOF);
-		AddRef();
-		return XPCOM.NS_OK;
-	}
-	XPCOM.memmove(ppvObject, new int /*long*/[] {0}, OS.PTR_SIZEOF);
-	return XPCOM.NS_ERROR_NO_INTERFACE;
-}
-
-int /*long*/ AddRef() {
-	refCount++;
-	return refCount;
-}
-
-int /*long*/ Release() {
-	refCount--;
-	if (refCount == 0) disposeCOMInterfaces();
-	return refCount;
-}
-
-/* nsIWeakReference */	
-	
-int /*long*/ QueryReferent(int /*long*/ riid, int /*long*/ ppvObject) {
-	return QueryInterface(riid,ppvObject);
-}
-
-/* nsIInterfaceRequestor */
-
-int /*long*/ GetInterface(int /*long*/ riid, int /*long*/ ppvObject) {
-	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
-	nsID guid = new nsID();
-	XPCOM.memmove(guid, riid, nsID.sizeof);
-	if (guid.Equals(nsIDOMWindow.NS_IDOMWINDOW_IID)) {
-		int /*long*/[] aContentDOMWindow = new int /*long*/[1];
-		int rc = webBrowser.GetContentDOMWindow(aContentDOMWindow);
-		if (rc != XPCOM.NS_OK) error(rc);
-		if (aContentDOMWindow[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-		XPCOM.memmove(ppvObject, aContentDOMWindow, OS.PTR_SIZEOF);
-		return rc;
-	}
-	return QueryInterface(riid,ppvObject);
-}
-
-int /*long*/ GetWeakReference(int /*long*/ ppvObject) {
-	XPCOM.memmove(ppvObject, new int /*long*/[] {weakReference.getAddress()}, OS.PTR_SIZEOF);
-	AddRef();
-	return XPCOM.NS_OK;
-}
-
-/* nsIWebProgressListener */
-
-int /*long*/ OnStateChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aStateFlags, int /*long*/ aStatus) {
-	if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) == 0) return XPCOM.NS_OK;
-	if ((aStateFlags & nsIWebProgressListener.STATE_START) != 0) {
-		if (request == 0) request = aRequest;
-	} else if ((aStateFlags & nsIWebProgressListener.STATE_REDIRECTING) != 0) {
-		if (request == aRequest) request = 0;
-	} else if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
-		/*
-		* Feature on Mozilla.  When a request is redirected (STATE_REDIRECTING),
-		* it never reaches the state STATE_STOP and it is replaced with a new request.
-		* The new request is received when it is in the state STATE_STOP.
-		* To handle this case,  the variable request is set to 0 when the corresponding
-		* request is redirected. The following request received with the state STATE_STOP
-		* - the new request resulting from the redirection - is used to send
-		* the ProgressListener.completed event.
-		*/
-		if (request == aRequest || request == 0) {
-			request = 0;
-			StatusTextEvent event = new StatusTextEvent(this);
-			event.display = getDisplay();
-			event.widget = this;
-			event.text = ""; //$NON-NLS-1$
-			for (int i = 0; i < statusTextListeners.length; i++)
-				statusTextListeners[i].changed(event);
-			
-			ProgressEvent event2 = new ProgressEvent(this);
-			event2.display = getDisplay();
-			event2.widget = this;
-			for (int i = 0; i < progressListeners.length; i++)
-				progressListeners[i].completed(event2);
-		}
-	}
-	return XPCOM.NS_OK;
-}	
-
-int /*long*/ OnProgressChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aCurSelfProgress, int /*long*/ aMaxSelfProgress, int /*long*/ aCurTotalProgress, int /*long*/ aMaxTotalProgress) {
-	if (progressListeners.length == 0) return XPCOM.NS_OK;
-	
-	int /*long*/ total = aMaxTotalProgress;
-	if (total <= 0) total = Integer.MAX_VALUE;
-	ProgressEvent event = new ProgressEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	event.current = (int)/*64*/aCurTotalProgress;
-	event.total = (int)/*64*/aMaxTotalProgress;
-	for (int i = 0; i < progressListeners.length; i++)
-		progressListeners[i].changed(event);			
-	return XPCOM.NS_OK;
-}		
-
-int /*long*/ OnLocationChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) {
-	/*
-	* Feature on Mozilla.  When a page is loaded via setText before a previous
-	* setText page load has completed, the expected OnStateChange STATE_STOP for the
-	* original setText never arrives because it gets replaced by the OnStateChange
-	* STATE_STOP for the new request.  This results in the request field never being
-	* cleared because the original request's OnStateChange STATE_STOP is still expected
-	* (but never arrives).  To handle this case, the request field is updated to the new
-	* overriding request since its OnStateChange STATE_STOP will be received next.
-	*/
-	if (request != 0 && request != aRequest) request = aRequest;
-
-	if (locationListeners.length == 0) return XPCOM.NS_OK;
-
-	nsIWebProgress webProgress = new nsIWebProgress(aWebProgress);
-	int /*long*/[] aDOMWindow = new int /*long*/[1];
-	int rc = webProgress.GetDOMWindow(aDOMWindow);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (aDOMWindow[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIDOMWindow domWindow = new nsIDOMWindow(aDOMWindow[0]);
-	int /*long*/[] aTop = new int /*long*/[1];
-	rc = domWindow.GetTop(aTop);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (aTop[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	domWindow.Release();
-	
-	nsIDOMWindow topWindow = new nsIDOMWindow(aTop[0]);
-	topWindow.Release();
-	
-	nsIURI location = new nsIURI(aLocation);
-	int /*long*/ aSpec = XPCOM.nsEmbedCString_new();
-	location.GetSpec(aSpec);
-	int length = XPCOM.nsEmbedCString_Length(aSpec);
-	int /*long*/ buffer = XPCOM.nsEmbedCString_get(aSpec);
-	byte[] dest = new byte[length];
-	XPCOM.memmove(dest, buffer, length);
-	XPCOM.nsEmbedCString_delete(aSpec);
-
-	LocationEvent event = new LocationEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	event.location = new String(dest);
-	if (event.location.equals (URI_FROMMEMORY)) {
-		/*
-		 * If the URI indicates that the page is being rendered from memory
-		 * (ie.- via setText()) then set the event location to about:blank
-		 * to be consistent with win32.
-		 */
-		event.location = ABOUT_BLANK;
-	}
-	event.top = aTop[0] == aDOMWindow[0];
-	for (int i = 0; i < locationListeners.length; i++)
-		locationListeners[i].changed(event);
-	return XPCOM.NS_OK;
-}
-  
-int /*long*/ OnStatusChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aStatus, int /*long*/ aMessage) {
-	/*
-	* Feature in Mozilla.  Navigating to an HTTPS link without a user profile
-	* set causes a crash.  The workaround is to abort attempts to navigate to
-	* HTTPS pages if a profile is not being used.
-	* 
-	* Most navigation requests for HTTPS pages are handled in OnStartURIOpen.
-	* However, https page requests that do not initially specify https as their
-	* protocol will get past this check since they are resolved afterwards.
-	* The workaround is to check the url whenever there is a status change, and
-	* to abort any detected https requests if a profile is not being used.
-	*/
-	nsIRequest request = new nsIRequest(aRequest);
-	int /*long*/ aName = XPCOM.nsEmbedCString_new();
-	request.GetName(aName);
-	int length = XPCOM.nsEmbedCString_Length(aName);
-	int /*long*/ buffer = XPCOM.nsEmbedCString_get(aName);
-	byte[] bytes = new byte[length];
-	XPCOM.memmove(bytes, buffer, length);
-	XPCOM.nsEmbedCString_delete(aName);
-	String value = new String(bytes);
-	if (!usingProfile && value.startsWith(XPCOM.HTTPS_PROTOCOL)) {
-		request.Cancel(XPCOM.NS_BINDING_ABORTED);
-		return XPCOM.NS_OK;
-	}
-
-	if (statusTextListeners.length == 0) return XPCOM.NS_OK;
-
-	StatusTextEvent event = new StatusTextEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	length = XPCOM.strlen_PRUnichar(aMessage);
-	char[] dest = new char[length];
-	XPCOM.memmove(dest, aMessage, length * 2);
-	event.text = new String(dest);
-	for (int i = 0; i < statusTextListeners.length; i++)
-		statusTextListeners[i].changed(event);
-
-	return XPCOM.NS_OK;
-}		
-
-int /*long*/ OnSecurityChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ state) {
-	return XPCOM.NS_OK;
-}
-
-/* nsIWebBrowserChrome */
-
-int /*long*/ SetStatus(int /*long*/ statusType, int /*long*/ status) {
-	StatusTextEvent event = new StatusTextEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	int length = XPCOM.strlen_PRUnichar(status);
-	char[] dest = new char[length];
-	XPCOM.memmove(dest, status, length * 2);
-	String string = new String(dest);
-	if (string == null) string = ""; //$NON-NLS-1$
-	event.text = string;
-	for (int i = 0; i < statusTextListeners.length; i++)
-		statusTextListeners[i].changed(event);	
-	return XPCOM.NS_OK;
-}		
-
-int /*long*/ GetWebBrowser(int /*long*/ aWebBrowser) {
-	int /*long*/[] ret = new int /*long*/[1];	
-	if (webBrowser != null) {
-		webBrowser.AddRef();
-		ret[0] = webBrowser.getAddress();	
-	}
-	XPCOM.memmove(aWebBrowser, ret, OS.PTR_SIZEOF);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ SetWebBrowser(int /*long*/ aWebBrowser) {
-	if (webBrowser != null) webBrowser.Release();
-	webBrowser = aWebBrowser != 0 ? new nsIWebBrowser(aWebBrowser) : null;  				
-	return XPCOM.NS_OK;
-}
-   
-int /*long*/ GetChromeFlags(int /*long*/ aChromeFlags) {
-	int[] ret = new int[1];
-	ret[0] = chromeFlags;
-	/* aChromeFlags is a pointer to a type of size 4 */
-	XPCOM.memmove(aChromeFlags, ret, 4);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ SetChromeFlags(int /*long*/ aChromeFlags) {
-	chromeFlags = (int)/*64*/aChromeFlags;
-	return XPCOM.NS_OK;
-}
-   
-int /*long*/ DestroyBrowserWindow() {
-	WindowEvent newEvent = new WindowEvent(this);
-	newEvent.display = getDisplay();
-	newEvent.widget = this;
-	for (int i = 0; i < closeWindowListeners.length; i++)
-		closeWindowListeners[i].close(newEvent);
-	/*
-	* Note on Mozilla.  The DestroyBrowserWindow notification cannot be cancelled.
-	* The browser widget cannot be used after this notification has been received.
-	* The application is advised to close the window hosting the browser widget.
-	* The browser widget must be disposed in all cases.
-	*/
-	dispose();
-	return XPCOM.NS_OK;
-}
-   	
-int /*long*/ SizeBrowserTo(int /*long*/ aCX, int /*long*/ aCY) {
-	size = new Point((int)/*64*/aCX, (int)/*64*/aCY);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ ShowAsModal() {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-   
-int /*long*/ IsWindowModal(int /*long*/ retval) {
-	// no modal loop
-	/* Note. boolean remains of size 4 on 64 bit machine */
-	XPCOM.memmove(retval, new int[] {0}, 4);
-	return XPCOM.NS_OK;
-}
-   
-int /*long*/ ExitModalEventLoop(int /*long*/ aStatus) {
-	return XPCOM.NS_OK;
-}
-
-/* nsIEmbeddingSiteWindow */ 
-   
-int /*long*/ SetDimensions(int /*long*/ flags, int /*long*/ x, int /*long*/ y, int /*long*/ cx, int /*long*/ cy) {
-	if (flags == nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) location = new Point((int)/*64*/x, (int)/*64*/y);
-	return XPCOM.NS_OK;   	
-}	
-
-int /*long*/ GetDimensions(int /*long*/ flags, int /*long*/ x, int /*long*/ y, int /*long*/ cx, int /*long*/ cy) {
-	return XPCOM.NS_OK;     	
-}	
-
-int /*long*/ SetFocus() {
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_ERROR_NO_INTERFACE);
-	
-	nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
-	rc = baseWindow.SetFocus();
-	if (rc != XPCOM.NS_OK) error(rc);
-	baseWindow.Release();
-
-	/*
-	* Note. Mozilla notifies here that one of the children took
-	* focus. This could or should be used to fire an SWT.FOCUS_IN
-	* event on Browser focus listeners.
-	*/
-	return XPCOM.NS_OK;     	
-}	
-
-int /*long*/ GetVisibility(int /*long*/ aVisibility) {
-	/* Note. boolean remains of size 4 on 64 bit machine */
-	XPCOM.memmove(aVisibility, new int[] {isVisible() ? 1 : 0}, 4);
-	return XPCOM.NS_OK; 
-}
-   
-int /*long*/ SetVisibility(int /*long*/ aVisibility) {
-	WindowEvent event = new WindowEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	if (aVisibility == 1) {
-		/*
-		* Bug in Mozilla.  When the JavaScript window.open is executed, Mozilla
-		* fires multiple SetVisibility 1 notifications.  The workaround is
-		* to ignore subsequent notifications. 
-		*/
-		if (!visible) {
-			visible = true;
-			event.location = location;
-			event.size = size;
-			event.addressBar = addressBar;
-			event.menuBar = menuBar;
-			event.statusBar = statusBar;
-			event.toolBar = toolBar;
-			for (int i = 0; i < visibilityWindowListeners.length; i++)
-				visibilityWindowListeners[i].show(event);
-			location = null;
-			size = null;
-		}
-	} else {
-		visible = false;
-		for (int i = 0; i < visibilityWindowListeners.length; i++)
-			visibilityWindowListeners[i].hide(event);
-	}
-	return XPCOM.NS_OK;     	
-}
-
-int /*long*/ GetTitle(int /*long*/ aTitle) {
-	return XPCOM.NS_OK;     	
-}
- 
-int /*long*/ SetTitle(int /*long*/ aTitle) {
-	if (titleListeners.length == 0) return XPCOM.NS_OK;
-	TitleEvent event = new TitleEvent(this);
-	event.display = getDisplay();
-	event.widget = this;
-	int length = XPCOM.strlen_PRUnichar(aTitle);
-	char[] dest = new char[length];
-	XPCOM.memmove(dest, aTitle, length * 2);
-	event.title = new String(dest);
-	for (int i = 0; i < titleListeners.length; i++)
-		titleListeners[i].changed(event);
-	return XPCOM.NS_OK;     	
-}
-
-int /*long*/ GetSiteWindow(int /*long*/ aSiteWindow) {
-	/*
-	* Note.  The handle is expected to be an HWND on Windows and
-	* a GtkWidget* on GTK.  This callback is invoked on Windows
-	* when the javascript window.print is invoked and the print
-	* dialog comes up. If no handle is returned, the print dialog
-	* does not come up on this platform.  
-	*/
-	XPCOM.memmove(aSiteWindow, new int /*long*/[] {embedHandle}, OS.PTR_SIZEOF);
-	return XPCOM.NS_OK;     	
-}  
- 
-/* nsIWebBrowserChromeFocus */
-
-int /*long*/ FocusNextElement() {
-	/*
-	* Bug in Mozilla embedding API.  Mozilla takes back the focus after sending
-	* this event.  This prevents tabbing out of Mozilla. This behaviour can be reproduced
-	* with the Mozilla application TestGtkEmbed.  The workaround is to
-	* send the traversal notification after this callback returns.
-	*/
-	getDisplay().asyncExec(new Runnable() {
-		public void run() {
-			traverse(SWT.TRAVERSE_TAB_NEXT);
-		}
-	});
-	return XPCOM.NS_OK;  
-}
-
-int /*long*/ FocusPrevElement() {
-	/*
-	* Bug in Mozilla embedding API.  Mozilla takes back the focus after sending
-	* this event.  This prevents tabbing out of Mozilla. This behaviour can be reproduced
-	* with the Mozilla application TestGtkEmbed.  The workaround is to
-	* send the traversal notification after this callback returns.
-	*/
-	getDisplay().asyncExec(new Runnable() {
-		public void run() {
-			traverse(SWT.TRAVERSE_TAB_PREVIOUS);
-		}
-	});
-	return XPCOM.NS_OK;     	
-}
-
-/* nsIContextMenuListener */
-
-int /*long*/ OnShowContextMenu(int /*long*/ aContextFlags, int /*long*/ aEvent, int /*long*/ aNode) {
-	nsIDOMEvent domEvent = new nsIDOMEvent(aEvent);
-	int /*long*/[] result = new int /*long*/[1];
-	int rc = domEvent.QueryInterface(nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
-	if (rc != XPCOM.NS_OK) error(rc);
-	if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-	nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent(result[0]);
-	int[] aScreenX = new int[1], aScreenY = new int[1];
-	rc = domMouseEvent.GetScreenX(aScreenX);
-	if (rc != XPCOM.NS_OK) error(rc);
-	rc = domMouseEvent.GetScreenY(aScreenY);
-	if (rc != XPCOM.NS_OK) error(rc);
-	domMouseEvent.Release();
-	
-	Event event = new Event();
-	event.x = aScreenX[0];
-	event.y = aScreenY[0];
-	notifyListeners(SWT.MenuDetect, event);
-	if (!event.doit) return XPCOM.NS_OK;
-	Menu menu = getMenu();
-	if (menu != null && !menu.isDisposed ()) {
-		if (aScreenX[0] != event.x || aScreenY[0] != event.y) {
-			menu.setLocation (event.x, event.y);
-		}
-		menu.setVisible (true);
-	}
-	return XPCOM.NS_OK;     	
-}
-
-/* nsIURIContentListener */
-
-int /*long*/ OnStartURIOpen(int /*long*/ aURI, int /*long*/ retval) {
-	nsIURI location = new nsIURI(aURI);
-	int /*long*/ aSpec = XPCOM.nsEmbedCString_new();
-	location.GetSpec(aSpec);
-	int length = XPCOM.nsEmbedCString_Length(aSpec);
-	int /*long*/ buffer = XPCOM.nsEmbedCString_get(aSpec);
-	buffer = XPCOM.nsEmbedCString_get(aSpec);
-	byte[] dest = new byte[length];
-	XPCOM.memmove(dest, buffer, length);
-	XPCOM.nsEmbedCString_delete(aSpec);
-	String value = new String(dest);
-	/*
-	* Feature in Mozilla.  Navigating to an HTTPS link without a user profile
-	* set causes a crash.  The workaround is to abort attempts to navigate to
-	* HTTPS pages if a profile is not being used.
-	*/
-	boolean isHttps = value.startsWith(XPCOM.HTTPS_PROTOCOL);
-	if (locationListeners.length == 0) {
-		XPCOM.memmove(retval, new int[] {isHttps && !usingProfile ? 1 : 0}, 4);
-		return XPCOM.NS_OK;
-	}
-	boolean doit = !isHttps || usingProfile;
-	if (request == 0) {
-		LocationEvent event = new LocationEvent(this);
-		event.display = getDisplay();
-		event.widget = this;
-		event.location = value;
-		if (event.location.equals (URI_FROMMEMORY)) {
-			/*
-			 * If the URI indicates that the page is being rendered from memory
-			 * (ie.- via setText()) then set the event location to about:blank
-			 * to be consistent with win32.
-			 */
-			event.location = ABOUT_BLANK;
-		}
-		event.doit = doit;
-		for (int i = 0; i < locationListeners.length; i++)
-			locationListeners[i].changing(event);
-		if (!isHttps || usingProfile) doit = event.doit;
-	}
-	/* Note. boolean remains of size 4 on 64 bit machine */
-	XPCOM.memmove(retval, new int[] {doit ? 0 : 1}, 4);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ DoContent(int /*long*/ aContentType, int /*long*/ aIsContentPreferred, int /*long*/ aRequest, int /*long*/ aContentHandler, int /*long*/ retval) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-
-int /*long*/ IsPreferred(int /*long*/ aContentType, int /*long*/ aDesiredContentType, int /*long*/ retval) {
-	boolean preferred = false;
-	int size = XPCOM.strlen(aContentType);
-	if (size > 0) {
-		byte[] typeBytes = new byte[size + 1];
-		XPCOM.memmove(typeBytes, aContentType, size);
-		String contentType = new String(typeBytes);
-
-		/* do not attempt to handle known problematic content types */
-		if (!contentType.equals(XPCOM.CONTENT_MAYBETEXT) && !contentType.equals(XPCOM.CONTENT_MULTIPART)) {
-			/* determine whether browser can handle the content type */
-			int /*long*/[] result = new int /*long*/[1];
-			int rc = XPCOM.NS_GetServiceManager(result);
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-			nsIServiceManager serviceManager = new nsIServiceManager(result[0]);
-			result[0] = 0;
-			rc = serviceManager.GetService(XPCOM.NS_CATEGORYMANAGER_CID, nsICategoryManager.NS_ICATEGORYMANAGER_IID, result);
-			serviceManager.Release();
-			if (rc != XPCOM.NS_OK) error(rc);
-			if (result[0] == 0) error(XPCOM.NS_NOINTERFACE);
-
-			nsICategoryManager categoryManager = new nsICategoryManager(result[0]);
-			result[0] = 0;
-			byte[] categoryBytes = Converter.wcsToMbcs(null, "Gecko-Content-Viewers", true);	//$NON-NLS-1$
-			rc = categoryManager.GetCategoryEntry(categoryBytes, typeBytes, result);
-			categoryManager.Release();
-			/* if no viewer for the content type is registered then rc == XPCOM.NS_ERROR_NOT_AVAILABLE */
-			preferred = rc == XPCOM.NS_OK;
-		}
-	}
-
-	/* note that boolean remains of size 4 on 64 bit machines */
-	XPCOM.memmove(retval, new int[] {preferred ? 1 : 0}, 4);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ CanHandleContent(int /*long*/ aContentType, int /*long*/ aIsContentPreferred, int /*long*/ aDesiredContentType, int /*long*/ retval) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-
-int /*long*/ GetLoadCookie(int /*long*/ aLoadCookie) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-
-int /*long*/ SetLoadCookie(int /*long*/ aLoadCookie) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-
-int /*long*/ GetParentContentListener(int /*long*/ aParentContentListener) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-	
-int /*long*/ SetParentContentListener(int /*long*/ aParentContentListener) {
-	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
-}
-
-/* nsITooltipListener */
-
-int /*long*/ OnShowTooltip(int /*long*/ aXCoords, int /*long*/ aYCoords, int /*long*/ aTipText) {
-	int length = XPCOM.strlen_PRUnichar(aTipText);
-	char[] dest = new char[length];
-	XPCOM.memmove(dest, aTipText, length * 2);
-	String text = new String(dest);
-	if (tip != null && !tip.isDisposed()) tip.dispose();
-	Display display = getDisplay();
-	Shell parent = getShell();
-	tip = new Shell(parent, SWT.ON_TOP);
-	tip.setLayout(new FillLayout());
-	Label label = new Label(tip, SWT.CENTER);
-	label.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-	label.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-	label.setText(text);
-	/*
-	* Bug in Mozilla embedded API.  Tooltip coordinates are wrong for 
-	* elements inside an inline frame (IFrame tag).  The workaround is 
-	* to position the tooltip based on the mouse cursor location.
-	*/
-	Point point = display.getCursorLocation();
-	/* Assuming cursor is 21x21 because this is the size of
-	 * the arrow cursor on Windows
-	 */ 
-	point.y += 21;
-	tip.setLocation(point);
-	tip.pack();
-	tip.setVisible(true);
-	return XPCOM.NS_OK;
-}
-
-int /*long*/ OnHideTooltip() {
-	if (tip != null && !tip.isDisposed()) tip.dispose();
-	tip = null;
-	return XPCOM.NS_OK;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/internal/ole/win32/COMObject.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/internal/ole/win32/COMObject.java
deleted file mode 100755
index 363a5d7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/internal/ole/win32/COMObject.java
+++ /dev/null
@@ -1,1032 +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.internal.ole.win32;
-
-import java.util.Hashtable;
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.win32.*;
-
-
-public class COMObject {
-
-	private int ppVtable;
-	
-	static private final int MAX_ARG_COUNT = 12;
-	static private final int MAX_VTABLE_LENGTH = 80;
-	static private Callback[][] Callbacks = new Callback[MAX_VTABLE_LENGTH][MAX_ARG_COUNT];
-	static private Hashtable ObjectMap = new Hashtable();
-	
-public COMObject(int[] argCounts) {
-	int[] callbackAddresses = new int[argCounts.length];
-	for (int i = 0, length = argCounts.length; i < length; i++){
-		if ((Callbacks[i][argCounts[i]]) == null) {
-			Callbacks[i][argCounts[i]] = new Callback(this.getClass(), "callback"+i, argCounts[i] + 1, true, COM.E_FAIL); //$NON-NLS-1$
-			if (Callbacks[i][argCounts[i]].getAddress() == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-		}
-		callbackAddresses[i] = Callbacks[i][argCounts[i]].getAddress();
-	}
-
-	int pVtable = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, 4 * argCounts.length);
-	COM.MoveMemory(pVtable, callbackAddresses, 4 * argCounts.length);
-	ppVtable = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, 4);
-	COM.MoveMemory(ppVtable, new int[] {pVtable}, 4);
-	ObjectMap.put(new Integer(ppVtable), this);
-}
-
-public static GUID IIDFromString(String lpsz) {
-	// create a null terminated array of char
-	char[] buffer = (lpsz +"\0").toCharArray();
-
-	// invoke system method
-	GUID lpiid = new GUID();
-	if (COM.IIDFromString(buffer, lpiid) == COM.S_OK)
-		return lpiid;
-	return null;
-}
-
-static int callback0(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method0(args);
-}
-static int callback1(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method1(args);
-}
-static int callback2(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method2(args);
-}
-static int callback3(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method3(args);
-}
-static int callback4(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method4(args);
-}
-static int callback5(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method5(args);
-}
-static int callback6(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method6(args);
-}
-static int callback7(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method7(args);
-}
-static int callback8(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method8(args);
-}
-static int callback9(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method9(args);
-}
-static int callback10(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method10(args);
-}
-static int callback11(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method11(args);
-}
-static int callback12(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method12(args);
-}
-static int callback13(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method13(args);
-}
-static int callback14(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method14(args);
-}
-static int callback15(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method15(args);
-}
-static int callback16(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method16(args);
-}
-static int callback17(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method17(args);
-}
-static int callback18(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method18(args);
-}
-static int callback19(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method19(args);
-}
-static int callback20(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method20(args);
-}
-static int callback21(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method21(args);
-}
-static int callback22(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method22(args);
-}
-static int callback23(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method23(args);
-}
-static int callback24(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method24(args);
-}
-static int callback25(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method25(args);
-}
-static int callback26(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method26(args);
-}
-static int callback27(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method27(args);
-}
-static int callback28(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method28(args);
-}
-static int callback29(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method29(args);
-}
-static int callback30(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method30(args);
-}
-static int callback31(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method31(args);
-}
-static int callback32(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method32(args);
-}
-static int callback33(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method33(args);
-}
-static int callback34(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method34(args);
-}
-static int callback35(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method35(args);
-}
-static int callback36(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method36(args);
-}
-static int callback37(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method37(args);
-}
-static int callback38(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method38(args);
-}
-static int callback39(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method39(args);
-}
-static int callback40(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method40(args);
-}
-static int callback41(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method41(args);
-}
-static int callback42(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method42(args);
-}
-static int callback43(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method43(args);
-}
-static int callback44(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method44(args);
-}
-static int callback45(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method45(args);
-}
-static int callback46(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method46(args);
-}
-static int callback47(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method47(args);
-}
-static int callback48(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method48(args);
-}
-static int callback49(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method49(args);
-}
-static int callback50(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method50(args);
-}
-static int callback51(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method51(args);
-}
-static int callback52(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method52(args);
-}
-static int callback53(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method53(args);
-}
-static int callback54(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method54(args);
-}
-static int callback55(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method55(args);
-}
-static int callback56(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method56(args);
-}
-static int callback57(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method57(args);
-}
-static int callback58(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method58(args);
-}
-static int callback59(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method59(args);
-}
-static int callback60(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method60(args);
-}
-static int callback61(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method61(args);
-}
-static int callback62(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method62(args);
-}
-static int callback63(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method63(args);
-}
-static int callback64(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method64(args);
-}
-static int callback65(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method65(args);
-}
-static int callback66(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method66(args);
-}
-static int callback67(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method67(args);
-}
-static int callback68(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method68(args);
-}
-static int callback69(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method69(args);
-}
-static int callback70(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method70(args);
-}
-static int callback71(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method71(args);
-}
-static int callback72(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method72(args);
-}
-static int callback73(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method73(args);
-}
-static int callback74(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method74(args);
-}
-static int callback75(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method75(args);
-}
-static int callback76(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method76(args);
-}
-static int callback77(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method77(args);
-}
-static int callback78(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method78(args);
-}
-static int callback79(int[] callbackArgs) {
-	// find the object on which this call was invoked
-	int address = callbackArgs[0];
-	Object object = ObjectMap.get(new Integer(address));
-	if (object == null) return COM.E_FAIL;
-	int[] args = new int[callbackArgs.length - 1];
-	System.arraycopy(callbackArgs, 1, args, 0, args.length);
-	return ((COMObject) object).method79(args);
-}
-public void dispose() {
-	// free the memory for this reference
-	int[] pVtable = new int[1];
-	OS.MoveMemory(pVtable, ppVtable, 4);
-	OS.GlobalFree(pVtable[0]);
-	OS.GlobalFree(ppVtable);
-
-	// remove this ppVtable from the list
-	ObjectMap.remove(new Integer(ppVtable));
-
-	ppVtable = 0;
-}
-public int getAddress () {
-	return ppVtable;
-}
-public int method0(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method1(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method2(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method3(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method4(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method5(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method6(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method7(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method8(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method9(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method10(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method11(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method12(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method13(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method14(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method15(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method16(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method17(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method18(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method19(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method20(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method21(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method22(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method23(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method24(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method25(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method26(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method27(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method28(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method29(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method30(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method31(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method32(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method33(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method34(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method35(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method36(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method37(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method38(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method39(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method40(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method41(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method42(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method43(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method44(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method45(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method46(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method47(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method48(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method49(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method50(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method51(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method52(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method53(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method54(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method55(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method56(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method57(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method58(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method59(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method60(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method61(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method62(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method63(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method64(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method65(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method66(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method67(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method68(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method69(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method70(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method71(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method72(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method73(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method74(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method75(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method76(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method77(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method78(int[] args) {
-	return COM.E_NOTIMPL;
-}
-public int method79(int[] args) {
-	return COM.E_NOTIMPL;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OLE.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OLE.java
deleted file mode 100755
index e4f9149..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OLE.java
+++ /dev/null
@@ -1,439 +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.ole.win32;
-
-import org.eclipse.swt.*;
-import java.io.File;
-import org.eclipse.swt.internal.ole.win32.COM;
-import org.eclipse.swt.internal.win32.OS;
-import org.eclipse.swt.internal.win32.TCHAR;
-
-
-/**
- *
- * OLE contains all the constants used to create an ActiveX Control or an OLE Document.
- *
- * <p>Definitions for these constants can be found in MSDN.
- *
- */
-public class OLE extends SWT {
-
-	public static final int S_FALSE = 1; // Used for functions that semantically return a Boolean FALSE result to indicate that the function succeeded.
-	public static final int S_OK    = 0; // Function succeeded.
-	public static final int E_FAIL = -2147467259;  // Unspecified failure.
-	public static final int E_INVALIDARG = -2147024809; // Invalid argument
-	public static final int E_NOINTERFACE = -2147467262;  // QueryInterface did not recognize the requested interface.
-	public static final int E_NOTIMPL = -2147467263; // Not implemented
-	
-	public static final String IID_IUNKNOWN = "{00000000-0000-0000-C000-000000000046}"; //$NON-NLS-1$
-	public static final String IID_IDISPATCH = "{00020400-0000-0000-C000-000000000046}"; //$NON-NLS-1$
-	
-	// Verbs that can be invoked on this client
-	public static final int OLEIVERB_DISCARDUNDOSTATE = -6; // close the OLE object and discard the undo state
-	public static final int OLEIVERB_HIDE             = -3; // hide the OLE object
-	public static final int OLEIVERB_INPLACEACTIVATE  = -5; // open the OLE for editing in-place
-	public static final int OLEIVERB_OPEN             = -2; // open the OLE object for editing in a separate window
-	public static final int OLEIVERB_PRIMARY          =  0; // opens the OLE object for editing
-	public static final int OLEIVERB_PROPERTIES       = -7; // request the OLE object properties dialog
-	public static final int OLEIVERB_SHOW             = -1; // show the OLE object
-	public static final int OLEIVERB_UIACTIVATE       = -4; // activate the UI for the OLE object
-
-	public static final int PROPERTY_CHANGING = 0;
-	public static final int PROPERTY_CHANGED = 1;
-
-	/**
-	 * Error code for OleError - No specific error information available
-	 */
-	public static final int HRESULT_UNSPECIFIED       = 0;
-	/**
-	 * Error code for OleError - Failed to create file
-	 */
-	public static final int ERROR_CANNOT_CREATE_FILE = 1000;
-	/**
-	 * Error code for OleError - Failed to create Ole Client
-	 */
-	public static final int ERROR_CANNOT_CREATE_OBJECT = 1001;
-	/**
-	 * Error code for OleError - File does not exist, is not accessible to user or does not have the correct format
-	 */
-	public static final int ERROR_CANNOT_OPEN_FILE = 1002;
-	/**
-	 * Error code for OleError - Failed to find requested interface on OLE Object
-	 */
-	public static final int ERROR_INTERFACE_NOT_FOUND = 1003;
-	/**
-	 * Error code for OleError - Class ID not found in registry
-	 */
-	public static final int ERROR_INVALID_CLASSID = 1004;
-	/**
-	 * Error code for OleError - Failed to get the class factory for the specified classID
-	 */
-	public static final int ERROR_CANNOT_ACCESS_CLASSFACTORY = 1005;
-	/**
-	 * Error code for OleError - Failed to create Licensed instance
-	 */
-	public static final int ERROR_CANNOT_CREATE_LICENSED_OBJECT = 1006;
-	/**
-	 * Error code for OleError - Out of Memory
-	 */
-	public static final int ERROR_OUT_OF_MEMORY = 1007;
-	/**
-	 * Error code for OleError - Failed to change Variant type
-	 */
-	public static final int ERROR_CANNOT_CHANGE_VARIANT_TYPE = 1010;
-	/**
-	 * Error code for OleError - Invalid address received for Ole Interface
-	 */
-	public static final int ERROR_INVALID_INTERFACE_ADDRESS = 1011;
-	/**
-	 * Error code for OleError - Unable to find Application
-	 */
-	public static final int ERROR_APPLICATION_NOT_FOUND = 1013;
-	/**
-	 * Error code for OleError - Action can not be performed
-	 */
-	public static final int ERROR_ACTION_NOT_PERFORMED = 1014;
-
-	public static final int OLECMDF_SUPPORTED    = 1;
-	public static final int OLECMDF_ENABLED      = 2; 
-	public static final int OLECMDF_LATCHED      = 4;
-	public static final int OLECMDF_NINCHED      = 8;
-
-	public static final int OLECMDTEXTF_NONE      = 0;
-	public static final int OLECMDTEXTF_NAME      = 1;
-	public static final int OLECMDTEXTF_STATUS    = 2;
-
-	public static final int OLECMDEXECOPT_DODEFAULT        = 0;
-	public static final int OLECMDEXECOPT_PROMPTUSER       = 1;
-	public static final int OLECMDEXECOPT_DONTPROMPTUSER   = 2;     
-	public static final int OLECMDEXECOPT_SHOWHELP         = 3;
-	
-	public static final int OLECMDID_OPEN              = 1;
-	public static final int OLECMDID_NEW               = 2;
-	public static final int OLECMDID_SAVE              = 3;      
-	public static final int OLECMDID_SAVEAS            = 4; 
-	public static final int OLECMDID_SAVECOPYAS        = 5;      
-	public static final int OLECMDID_PRINT             = 6; 
-	public static final int OLECMDID_PRINTPREVIEW      = 7;      
-	public static final int OLECMDID_PAGESETUP         = 8; 
-	public static final int OLECMDID_SPELL             = 9;     
-	public static final int OLECMDID_PROPERTIES        = 10; 
-	public static final int OLECMDID_CUT               = 11;      
-	public static final int OLECMDID_COPY              = 12; 
-	public static final int OLECMDID_PASTE             = 13;      
-	public static final int OLECMDID_PASTESPECIAL      = 14; 
-	public static final int OLECMDID_UNDO              = 15;      
-	public static final int OLECMDID_REDO              = 16; 
-	public static final int OLECMDID_SELECTALL         = 17;      
-	public static final int OLECMDID_CLEARSELECTION    = 18; 
-	public static final int OLECMDID_ZOOM              = 19;      
-	public static final int OLECMDID_GETZOOMRANGE      = 20;
-	public static final int OLECMDID_UPDATECOMMANDS    = 21;     
-	public static final int OLECMDID_REFRESH           = 22;
-	public static final int OLECMDID_STOP              = 23;     
-	public static final int OLECMDID_HIDETOOLBARS      = 24;
-	public static final int OLECMDID_SETPROGRESSMAX    = 25;     
-	public static final int OLECMDID_SETPROGRESSPOS    = 26;
-	public static final int OLECMDID_SETPROGRESSTEXT   = 27;     
-	public static final int OLECMDID_SETTITLE          = 28;
-	public static final int OLECMDID_SETDOWNLOADSTATE  = 29;     
-	public static final int OLECMDID_STOPDOWNLOAD      = 30;
-
-	/* Ole Property Description flags */
-	public static int VARFLAG_FREADONLY = 0x1;
-	public static int VARFLAG_FSOURCE = 0x2;
-	public static int VARFLAG_FBINDABLE = 0x4;
-	public static int VARFLAG_FREQUESTEDIT = 0x8;
-	public static int VARFLAG_FDISPLAYBIND = 0x10;
-	public static int VARFLAG_FDEFAULTBIND = 0x20;
-	public static int VARFLAG_FHIDDEN = 0x40;
-	public static int VARFLAG_FRESTRICTED = 0x80;
-	public static int VARFLAG_FDEFAULTCOLLELEM = 0x100;
-	public static int VARFLAG_FUIDEFAULT = 0x200;
-	public static int VARFLAG_FNONBROWSABLE = 0x400;
-	public static int VARFLAG_FREPLACEABLE = 0x800;
-	public static int VARFLAG_FIMMEDIATEBIND = 0x1000;
-
-	/* Ole Property Description kind */
-	public static int VAR_PERINSTANCE = 0;
-	public static int VAR_STATIC = 1;
-	public static int VAR_CONST = 2;
-	public static int VAR_DISPATCH = 3;
-	
-	/* Ole Parameter Description flags */
-	public static short IDLFLAG_NONE = 0;
-	public static short IDLFLAG_FIN = 1;
-	public static short IDLFLAG_FOUT = 2;
-	public static short IDLFLAG_FLCID = 4;
-	public static short IDLFLAG_FRETVAL = 8;
-		
-	/* Ole Description types */
-	public static final short VT_BOOL = 11;     // Boolean; True=-1, False=0.
-	public static final short VT_BSTR = 8;      // Binary String.
-	public static final short VT_BYREF = 16384; // By reference - must be combined with one of the othre VT values
-	public static final short VT_CY = 6;        // Currency.
-	public static final short VT_DATE = 7;      // Date.
-	public static final short VT_DISPATCH = 9;  // IDispatch
-	public static final short VT_EMPTY = 0;     // Not specified.
-	public static final short VT_ERROR = 10;    // Scodes.
-	public static final short VT_I2 = 2;        // 2-byte signed int.
-	public static final short VT_I4 = 3;        // 4-byte signed int.
-	public static final short VT_NULL = 1;      // Null.
-	public static final short VT_R4 = 4;        // 4-byte real.
-	public static final short VT_R8 = 5;        // 8-byte real.
-	public static final short VT_UI1 = 17;      // Unsigned char.
-	public static final short VT_UI4 = 19;      // Unsigned int.
-	public static final short VT_UNKNOWN = 13;  // IUnknown FAR*.
-	public static final short VT_VARIANT = 12;  // VARIANT FAR*.
-	public static final short VT_PTR = 26;
-	public static final short VT_USERDEFINED = 29;
-	public static final short VT_HRESULT = 25;
-	public static final short VT_DECIMAL = 14;
-	public static final short VT_I1 = 16;
-	public static final short VT_UI2 = 18;
-	public static final short VT_I8 = 20;
-	public static final short VT_UI8 = 21;
-	public static final short VT_INT = 22;
-	public static final short VT_UINT = 23;
-	public static final short VT_VOID = 24;
-	public static final short VT_SAFEARRAY = 27;
-	public static final short VT_CARRAY = 28;
-	public static final short VT_LPSTR = 30;
-	public static final short VT_LPWSTR = 31;
-	public static final short VT_RECORD = 36;
-	public static final short VT_FILETIME = 64;
-	public static final short VT_BLOB = 65;
-	public static final short VT_STREAM = 66;
-	public static final short VT_STORAGE = 67;
-	public static final short VT_STREAMED_OBJECT = 68;
-	public static final short VT_STORED_OBJECT = 69;
-	public static final short VT_BLOB_OBJECT = 70;
-	public static final short VT_CF = 71;
-	public static final short VT_CLSID = 72;
-	public static final short VT_VERSIONED_STREAM = 73;
-	public static final short VT_BSTR_BLOB = 0xfff;
-	public static final short VT_VECTOR = 0x1000;
-	public static final short VT_ARRAY = 0x2000;
-
-	/* Ole Function Description Invoke Kind values */
-	public static final int INVOKE_FUNC = 1;
-	public static final int INVOKE_PROPERTYGET = 2;
-	public static final int INVOKE_PROPERTYPUT = 4;
-	public static final int INVOKE_PROPERTYPUTREF = 8;
-	
-	/* Ole Function Description function kind */
-	public static final int FUNC_VIRTUAL = 0;
-	public static final int FUNC_PUREVIRTUAL = 1;
-	public static final int FUNC_NONVIRTUAL = 2;
-	public static final int FUNC_STATIC = 3;
-	public static final int FUNC_DISPATCH = 4;
-	
-	/* Ole Function Description function flags */	
-	public static final short FUNCFLAG_FRESTRICTED = 1;
-	public static final short FUNCFLAG_FSOURCE = 0x2;
-	public static final short FUNCFLAG_FBINDABLE = 0x4;
-	public static final short FUNCFLAG_FREQUESTEDIT = 0x8;
-	public static final short FUNCFLAG_FDISPLAYBIND = 0x10;
-	public static final short FUNCFLAG_FDEFAULTBIND = 0x20;
-  	public static final short FUNCFLAG_FHIDDEN = 0x40;
-	public static final short FUNCFLAG_FUSESGETLASTERROR = 0x80;
-	public static final short FUNCFLAG_FDEFAULTCOLLELEM = 0x100;
-	public static final short FUNCFLAG_FUIDEFAULT = 0x200;
-	public static final short FUNCFLAG_FNONBROWSABLE = 0x400;
-	public static final short FUNCFLAG_FREPLACEABLE = 0x800;
-	public static final short FUNCFLAG_FIMMEDIATEBIND = 0x1000;
-	
-	/* Ole Function Description calling convention */
-	public static final int CC_FASTCALL = 0;
-	public static final int CC_CDECL = 1;
-	public static final int CC_MSCPASCAL = 2;
-	public static final int CC_PASCAL = 2;
-	public static final int CC_MACPASCAL = 3;
-	public static final int CC_STDCALL = 4;
-	public static final int CC_FPFASTCALL = 5;
-	public static final int CC_SYSCALL = 6;
-	public static final int CC_MPWCDECL = 7;
-	public static final int CC_MPWPASCAL = 8;
-	public static final int CC_MAX = 9;
-	
-	static final String ERROR_NOT_IMPLEMENTED_MSG = "Required functionality not currently supported.";//$NON-NLS-1$
-	static final String ERROR_CANNOT_CREATE_FILE_MSG = "Failed to create file.";//$NON-NLS-1$
-	static final String ERROR_CANNOT_CREATE_OBJECT_MSG = "Failed to create Ole Client.";//$NON-NLS-1$
-	static final String ERROR_CANNOT_OPEN_FILE_MSG = "File does not exist, is not accessible to user or does not have the correct format.";//$NON-NLS-1$
-	static final String ERROR_INTERFACE_NOT_FOUND_MSG = "Failed to find requested interface on OLE Object.";//$NON-NLS-1$
-	static final String ERROR_INVALID_CLASSID_MSG = "Class ID not found in registry";//$NON-NLS-1$
-	static final String ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG = "Failed to get the class factory for the specified classID";//$NON-NLS-1$
-	static final String ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG = "Failed to create Licensed instance";//$NON-NLS-1$
-	static final String ERROR_OUT_OF_MEMORY_MSG = "Out of Memory";//$NON-NLS-1$
-	static final String ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG = "Failed to change Variant type";//$NON-NLS-1$
-	static final String ERROR_INVALID_INTERFACE_ADDRESS_MSG = "Invalid address received for Ole Interface.";//$NON-NLS-1$
-	static final String ERROR_APPLICATION_NOT_FOUND_MSG = "Unable to find Application.";//$NON-NLS-1$
-	static final String ERROR_ACTION_NOT_PERFORMED_MSG = "Action can not be performed.";//$NON-NLS-1$
-
-
-public static void error (int code) {
-	error (code, 0);
-}
-public static void error (int code, int hresult) {
-		
-	switch (code) {
-		/* Illegal Arguments (non-fatal) */
-		case ERROR_INVALID_INTERFACE_ADDRESS :{
-			throw new IllegalArgumentException (ERROR_INVALID_INTERFACE_ADDRESS_MSG);
-		}
-	
-		/* SWT Errors (non-fatal) */
-		case ERROR_CANNOT_CREATE_FILE : {
-			String msg = ERROR_CANNOT_CREATE_FILE_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_CANNOT_CREATE_OBJECT : {
-			String msg = ERROR_CANNOT_CREATE_OBJECT_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);//$NON-NLS-1$
-		}
-		case ERROR_CANNOT_OPEN_FILE : {
-			String msg = ERROR_CANNOT_OPEN_FILE_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_INTERFACE_NOT_FOUND : {
-			String msg = ERROR_INTERFACE_NOT_FOUND_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_INVALID_CLASSID : {
-			String msg = ERROR_INVALID_CLASSID_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_CANNOT_ACCESS_CLASSFACTORY : {
-			String msg = ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_CANNOT_CREATE_LICENSED_OBJECT : {
-			String msg = ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_CANNOT_CHANGE_VARIANT_TYPE : {
-			String msg = ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_APPLICATION_NOT_FOUND : {
-			String msg = ERROR_APPLICATION_NOT_FOUND_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		case ERROR_ACTION_NOT_PERFORMED : {
-			String msg = ERROR_ACTION_NOT_PERFORMED_MSG;
-			if (hresult != 0) msg += " result = "+hresult;//$NON-NLS-1$
-			throw new SWTException (code, msg);
-		}
-		
-		/* OS Failure/Limit (fatal, may occur only on some platforms) */
-		case ERROR_OUT_OF_MEMORY : {
-			String msg = ERROR_ACTION_NOT_PERFORMED_MSG;
-			if (hresult != 0) msg += " result = "+hresult; //$NON-NLS-1$
-			throw new SWTError (code, msg);
-		}
-	}
-			
-	/* Unknown/Undefined Error */
-	SWT.error(code);
-}
-
-/*
- * Finds the OLE program id that is associated with an extension.
- * The extension may or may not begin with a '.'.  On platforms
- * that do not support OLE, an empty string is returned.
- *
- * @param extension the program extension
- * @return a string that is the OLE program id or an empty string
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static String findProgramID (String extension) {
-	if (extension == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length () == 0) return ""; //$NON-NLS-1$
-	
-	if (extension.charAt (0) != '.') extension = "." + extension; //$NON-NLS-1$
-
-	/* Use the character encoding for the default locale */
-	TCHAR extensionKey = new TCHAR(0, extension, true);
-	String result = getKeyValue(extensionKey);
-	if (result != null) {
-		// look for "<programID>\NotInsertable"
-		TCHAR notInsertableKey = new TCHAR(0, result+"\\NotInsertable", true); //$NON-NLS-1$
-		if (getKeyExists(notInsertableKey)) return ""; //$NON-NLS-1$
-		// look for "<programID>\Insertable"
-		TCHAR insertableKey = new TCHAR(0, result+"\\Insertable", true); //$NON-NLS-1$
-		if (getKeyExists(insertableKey)) return result;
-		// look for "<programID>\protocol\StdFileEditing\server"
-		TCHAR serverKey = new TCHAR(0, result+"\\protocol\\StdFileEditing\\server", true); //$NON-NLS-1$
-		if (getKeyExists(serverKey)) return result;
-	}
-	
-	return ""; //$NON-NLS-1$
-}
-static String getKeyValue (TCHAR key) {
-	int [] phkResult = new int [1];
-	if (OS.RegOpenKeyEx (OS.HKEY_CLASSES_ROOT, key, 0, OS.KEY_READ, phkResult) != 0) {
-		return null;
-	}
-	String result = null;
-	int [] lpcbData = new int [1];
-	if (OS.RegQueryValueEx (phkResult [0], (TCHAR) null, 0, null, (TCHAR) null, lpcbData) == 0) {
-		int length = lpcbData [0] / TCHAR.sizeof;
-		if (length == 0) {
-			result = "";
-		} else {
-			/* Use the character encoding for the default locale */
-			TCHAR lpData = new TCHAR (0, length);
-			if (OS.RegQueryValueEx (phkResult [0], null, 0, null, lpData, lpcbData) == 0) {
-				length = Math.max(0, lpData.length () - 1);
-				result = lpData.toString (0, length);
-			}
-		}
-	}
-	if (phkResult [0] != 0) OS.RegCloseKey (phkResult [0]);
-	return result;
-}
-private static boolean getKeyExists (TCHAR key) {
-	int [] phkResult = new int [1];
-	if (OS.RegOpenKeyEx (OS.HKEY_CLASSES_ROOT, key, 0, OS.KEY_READ, phkResult) != 0) {
-		return false;
-	}
-	if (phkResult [0] != 0) OS.RegCloseKey (phkResult [0]);
-	return true;
-}
-/**
- * Returns true if the specified file has an OLE Storage format.
- *
- * Note all empty files (regardless of extension) will return false.
- *
- * @param file the file to be checked
- *
- * @return true if this file has an OLE Storage format
- */
-public static boolean isOleFile(File file) {
-	if (file == null || !file.exists() || file.isDirectory())
-		return false;
-
-	return (COM.StgIsStorageFile((file.getAbsolutePath()+"\0").toCharArray()) == COM.S_OK);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java
deleted file mode 100755
index f1f149b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java
+++ /dev/null
@@ -1,603 +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.ole.win32;
-
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * OleAutomation provides a generic mechanism for accessing functionality that is 
- * specific to a particular ActiveX Control or OLE Document.
- *
- * <p>The OLE Document or ActiveX Control must support the IDispatch interface in order to provide
- * OleAutomation support. The additional functionality provided by the OLE Object is specified in 
- * its IDL file.  The additional methods can either be to get property values (<code>getProperty</code>), 
- * to set property values (<code>setProperty</code>) or to invoke a method (<code>invoke</code> or
- * <code>invokeNoReply</code>).  Arguments are passed around in the form of <code>Variant</code> 
- * objects.
- *
- * <p>Here is a sample IDL fragment:
- *
- * <pre>
- *	interface IMyControl : IDispatch
- *	{
- *		[propget, id(0)] HRESULT maxFileCount([retval, out] int *c);
- *		[propput, id(0)] HRESULT maxFileCount([in] int c);
- *		[id(1)]	HRESULT AddFile([in] BSTR fileName);
- *	};
- * </pre>
- *
- * <p>An example of how to interact with this extended functionality is shown below:
- *
- * <code><pre>
- *	OleAutomation automation = new OleAutomation(myControlSite);
- *
- *	// Look up the ID of the maxFileCount parameter
- *	int[] rgdispid = automation.getIDsOfNames(new String[]{"maxFileCount"});
- *	int maxFileCountID = rgdispid[0];
- *
- *	// Set the property maxFileCount to 100:
- *	if (automation.setProperty(maxFileCountID, new Variant(100))) {
- *		System.out.println("Max File Count was successfully set.");
- *	}
- *
- *	// Get the new value of the maxFileCount parameter:
- *	Variant pVarResult = automation.getProperty(maxFileCountID);
- *	if (pVarResult != null) {
- *		System.out.println("Max File Count is "+pVarResult.getInt());
- *	}
- *
- *	// Invoke the AddFile method
- *	// Look up the IDs of the AddFile method and its parameter
- *	rgdispid = automation.getIDsOfNames(new String[]{"AddFile", "fileName"}); 
- *	int dispIdMember = rgdispid[0];
- *	int[] rgdispidNamedArgs = new int[] {rgdispid[1]};
- *
- *	// Convert arguments to Variant objects
- *	Variant[] rgvarg = new Variant[1];
- *	String fileName = "C:\\testfile";
- * 	rgvarg[0] = new Variant(fileName);
- *
- *	// Call the method
- *	Variant pVarResult = automation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
- *
- *	// Check the return value
- * 	if (pVarResult == null || pVarResult.getInt() != OLE.S_OK){
- * 		System.out.println("Failed to add file "+fileName);
- *	}
- *
- *	automation.dispose();
- *
- * </pre></code>
- */
-public final class OleAutomation {
-	private IDispatch objIDispatch;
-	private String exceptionDescription;
-	private ITypeInfo objITypeInfo;
-	
-OleAutomation(IDispatch idispatch) {
-	if (idispatch == null) OLE.error(OLE.ERROR_INVALID_INTERFACE_ADDRESS);
-	objIDispatch = idispatch;
-	objIDispatch.AddRef();
-	
-	int[] ppv = new int[1];
-	int result = objIDispatch.GetTypeInfo(0, COM.LOCALE_USER_DEFAULT, ppv);
-	if (result == OLE.S_OK) {
-		objITypeInfo = new ITypeInfo(ppv[0]);
-		objITypeInfo.AddRef();
-	}
-}
-/**
- * Creates an OleAutomation object for the specified client.
- *
- * @param clientSite the site for the OLE Document or ActiveX Control whose additional functionality 
- *        you need to access
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_INVALID_INTERFACE_ADDRESS when called with an invalid client site
- *	</ul>
- */
- public OleAutomation(OleClientSite clientSite) {
-	if (clientSite == null) OLE.error(OLE.ERROR_INVALID_INTERFACE_ADDRESS);
-	objIDispatch = clientSite.getAutomationObject();
-
-	int[] ppv = new int[1];
-	int result = objIDispatch.GetTypeInfo(0, COM.LOCALE_USER_DEFAULT, ppv);
-	if (result == OLE.S_OK) {
-		objITypeInfo = new ITypeInfo(ppv[0]);
-		objITypeInfo.AddRef();
-	}
- }
-/**
- * Disposes the automation object.
- * <p>
- * This method releases the IDispatch interface on the OLE Document or ActiveX Control.
- * Do not use the OleAutomation object after it has been disposed.
- */
-public void dispose() {
-
-	if (objIDispatch != null){
-		objIDispatch.Release();
-	}
-	objIDispatch = null;
-	
-	if (objITypeInfo != null){
-		objITypeInfo.Release();
-	}
-	objITypeInfo = null;
-
-}
-int getAddress() {	
-	return objIDispatch.getAddress();
-}
-public String getHelpFile(int dispId) {
-	if (objITypeInfo == null) return null;
-	String[] file = new String[1];
-	int rc = objITypeInfo.GetDocumentation(dispId, null, null, null, file );
-	if (rc == OLE.S_OK) return file[0];
-	return null;	
-}
-public String getDocumentation(int dispId) {
-	if (objITypeInfo == null) return null;
-	String[] doc = new String[1];
-	int rc = objITypeInfo.GetDocumentation(dispId, null, doc, null, null );
-	if (rc == OLE.S_OK) return doc[0];
-	return null;
-}
-public OlePropertyDescription getPropertyDescription(int index) {
-	if (objITypeInfo == null) return null;
-	int[] ppVarDesc = new int[1];
-	int rc = objITypeInfo.GetVarDesc(index, ppVarDesc);
-	if (rc != OLE.S_OK) return null;
-	VARDESC vardesc = new VARDESC();
-	COM.MoveMemory(vardesc, ppVarDesc[0], VARDESC.sizeof);
-	
-	OlePropertyDescription data = new OlePropertyDescription();
-	data.id = vardesc.memid;
-	data.name = getName(vardesc.memid);
-	data.type = vardesc.elemdescVar_tdesc_vt;
-	if (data.type == OLE.VT_PTR) {
-		short[] vt = new short[1];
-		COM.MoveMemory(vt, vardesc.elemdescVar_tdesc_union + 4, 2);
-		data.type = vt[0];
-	}
-	data.flags = vardesc.wVarFlags;
-	data.kind = vardesc.varkind;
-	data.description = getDocumentation(vardesc.memid);
-	data.helpFile = getHelpFile(vardesc.memid);
-	
-	objITypeInfo.ReleaseVarDesc(ppVarDesc[0]);
-	return data;
-}
-public OleFunctionDescription getFunctionDescription(int index) {
-	if (objITypeInfo == null) return null;
-	int[] ppFuncDesc = new int[1];
-	int rc = objITypeInfo.GetFuncDesc(index, ppFuncDesc);
-	if (rc != OLE.S_OK) return null;
-	FUNCDESC funcdesc = new FUNCDESC();
-	COM.MoveMemory(funcdesc, ppFuncDesc[0], FUNCDESC.sizeof);
-	
-	OleFunctionDescription data = new OleFunctionDescription();
-	
-	data.id = funcdesc.memid;
-	data.optionalArgCount = funcdesc.cParamsOpt;
-	data.invokeKind = funcdesc.invkind;
-	data.funcKind = funcdesc.funckind;
-	data.flags = funcdesc.wFuncFlags;
-	data.callingConvention = funcdesc.callconv;
-	data.documentation = getDocumentation(funcdesc.memid);
-	data.helpFile = getHelpFile(funcdesc.memid);
-	
-	String[] names = getNames(funcdesc.memid, funcdesc.cParams + 1);
-	if (names.length > 0) {
-		data.name = names[0];
-	}
-	data.args = new OleParameterDescription[funcdesc.cParams];
-	for (int i = 0; i < data.args.length; i++) {
-		data.args[i] = new OleParameterDescription();
-		if (names.length > i + 1) {
-			data.args[i].name = names[i + 1];
-		}
-		short[] vt = new short[1];	
-		COM.MoveMemory(vt, funcdesc.lprgelemdescParam + i * 16 + 4, 2);				
-		if (vt[0] == OLE.VT_PTR) {
-			int[] pTypedesc = new int[1];
-			COM.MoveMemory(pTypedesc, funcdesc.lprgelemdescParam + i * 16, 4);
-			short[] vt2 = new short[1];
-			COM.MoveMemory(vt2, pTypedesc[0] + 4, 2);
-			vt[0] = (short)(vt2[0] | COM.VT_BYREF);
-		}
-		data.args[i].type = vt[0];
-		short[] wParamFlags = new short[1];
-		COM.MoveMemory(wParamFlags, funcdesc.lprgelemdescParam + i * 16 + 12, 2);
-		data.args[i].flags = wParamFlags[0];	
-	}
-	
-	data.returnType = funcdesc.elemdescFunc_tdesc_vt;
-	if (data.returnType == OLE.VT_PTR) {
-		short[] vt = new short[1];
-		COM.MoveMemory(vt, funcdesc.elemdescFunc_tdesc_union + 4, 2);
-		data.returnType = vt[0];
-	}
-
-	objITypeInfo.ReleaseFuncDesc(ppFuncDesc[0]);
-	return data;
-}
-public TYPEATTR getTypeInfoAttributes() {
-	if (objITypeInfo == null) return null;
-	int[] ppTypeAttr = new int[1];
-	int rc = objITypeInfo.GetTypeAttr(ppTypeAttr);
-	if (rc != OLE.S_OK) return null;
-	TYPEATTR typeattr = new TYPEATTR();
-	COM.MoveMemory(typeattr, ppTypeAttr[0], TYPEATTR.sizeof);
-	objITypeInfo.ReleaseTypeAttr(ppTypeAttr[0]);
-	return typeattr;
-}
-public String getName(int dispId) {
-	if (objITypeInfo == null) return null;
-	String[] name = new String[1];
-	int rc = objITypeInfo.GetDocumentation(dispId, name, null, null, null );
-	if (rc == OLE.S_OK) return name[0];
-	return null;
-}
-public String[] getNames(int dispId, int maxSize) {
-	if (objITypeInfo == null) return new String[0];
-	String[] names = new String[maxSize];
-	int[] count = new int[1];
-	int rc = objITypeInfo.GetNames(dispId, names, maxSize, count);
-	if (rc == OLE.S_OK) {
-		String[] newNames = new String[count[0]];
-		System.arraycopy(names, 0, newNames, 0, count[0]);
-		return newNames;
-	}
-	return new String[0];
-}
-/**
- * Returns the positive integer values (IDs) that are associated with the specified names by the
- * IDispatch implementor.  If you are trying to get the names of the parameters in a method, the first 
- * String in the names array must be the name of the method followed by the names of the parameters.
- *
- * @param names an array of names for which you require the identifiers
- *
- * @return positive integer values that are associated with the specified names in the same
- *         order as the names where provided; or null if the names are unknown
- */
-public int[] getIDsOfNames(String[] names) {
-
-	int[] rgdispid = new int[names.length];
-	int result = objIDispatch.GetIDsOfNames(new GUID(), names, names.length, COM.LOCALE_USER_DEFAULT, rgdispid);
-	if (result != COM.S_OK) return null;
-	
-	return rgdispid;
-}
-/**
- * Returns a description of the last error encountered.
- *
- * @return a description of the last error encountered
- */
-public String getLastError() {
-	
-	return exceptionDescription;
-
-}
-/**
- * Returns the value of the property specified by the dispIdMember.
- *
- * @param dispIdMember the ID of the property as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @return the value of the property specified by the dispIdMember or null
- */
-public Variant getProperty(int dispIdMember) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_PROPERTYGET, null, null, pVarResult);
-	return (result == OLE.S_OK) ? pVarResult : null;
-}
-/**
- * Returns the value of the property specified by the dispIdMember.
- *
- * @param dispIdMember the ID of the property as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- * 
- * @return the value of the property specified by the dispIdMember or null
- * 
- * @since 2.0
- */
-public Variant getProperty(int dispIdMember, Variant[] rgvarg) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_PROPERTYGET, rgvarg, null, pVarResult);
-	return (result == OLE.S_OK) ? pVarResult : null;
-	
-}
-/**
- * Returns the value of the property specified by the dispIdMember.
- *
- * @param dispIdMember the ID of the property as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- * 
- * @param rgdispidNamedArgs an array of identifiers for the arguments specified in rgvarg; the
- *        parameter IDs must be in the same order as their corresponding values;
- *        all arguments must have an identifier - identifiers can be obtained using 
- *        OleAutomation.getIDsOfNames
- * 
- * @return the value of the property specified by the dispIdMember or null
- * 
- * @since 2.0
- */
-public Variant getProperty(int dispIdMember, Variant[] rgvarg, int[] rgdispidNamedArgs) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_PROPERTYGET, rgvarg, rgdispidNamedArgs, pVarResult);
-	return (result == OLE.S_OK) ? pVarResult : null;
-}
-
-/** 
- * Invokes a method on the OLE Object; the method has no parameters.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @return the result of the method or null if the method failed to give result information
- */
-public Variant invoke(int dispIdMember) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, null, null, pVarResult);
-	return (result == COM.S_OK) ? pVarResult : null;
-}
-/** 
- * Invokes a method on the OLE Object; the method has no optional parameters.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- *
- * @return the result of the method or null if the method failed to give result information
- */
-public Variant invoke(int dispIdMember, Variant[] rgvarg) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, rgvarg, null, pVarResult);
-	return (result == COM.S_OK) ? pVarResult : null;
-}
-/** 
- * Invokes a method on the OLE Object; the method has optional parameters.  It is not
- * necessary to specify all the optional parameters, only include the parameters for which
- * you are providing values.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- *
- * @param rgdispidNamedArgs an array of identifiers for the arguments specified in rgvarg; the
- *        parameter IDs must be in the same order as their corresponding values;
- *        all arguments must have an identifier - identifiers can be obtained using 
- *        OleAutomation.getIDsOfNames
- *
- * @return the result of the method or null if the method failed to give result information
- */
-public Variant invoke(int dispIdMember, Variant[] rgvarg, int[] rgdispidNamedArgs) {
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, rgvarg, rgdispidNamedArgs, pVarResult);
-	return (result == COM.S_OK) ? pVarResult : null;
-}
-private int invoke(int dispIdMember, int wFlags, Variant[] rgvarg, int[] rgdispidNamedArgs, Variant pVarResult) {
-
-	// get the IDispatch interface for the control
-	if (objIDispatch == null) return COM.E_FAIL;
-	
-	// create a DISPPARAMS structure for the input parameters
-	DISPPARAMS pDispParams = new DISPPARAMS();
-	// store arguments in rgvarg
-	if (rgvarg != null && rgvarg.length > 0) {
-		pDispParams.cArgs = rgvarg.length;
-		pDispParams.rgvarg = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, Variant.sizeof * rgvarg.length);
-		int offset = 0;
-		for (int i = rgvarg.length - 1; i >= 0 ; i--) {
-			rgvarg[i].getData(pDispParams.rgvarg + offset);
-			offset += Variant.sizeof;
-		}
-	}
-
-	// if arguments have ids, store the ids in rgdispidNamedArgs
-	if (rgdispidNamedArgs != null && rgdispidNamedArgs.length > 0) {
-		pDispParams.cNamedArgs = rgdispidNamedArgs.length;
-		pDispParams.rgdispidNamedArgs = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, 4 * rgdispidNamedArgs.length);
-		int offset = 0;
-		for (int i = rgdispidNamedArgs.length; i > 0; i--) {
-			COM.MoveMemory(pDispParams.rgdispidNamedArgs + offset, new int[] {rgdispidNamedArgs[i-1]}, 4);
-			offset += 4;
-		}
-	}
-
-	// invoke the method
-	EXCEPINFO excepInfo = new EXCEPINFO();
-	int[] pArgErr = new int[1];
-	int pVarResultAddress = 0;
-	if (pVarResult != null)	pVarResultAddress = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-	int result = objIDispatch.Invoke(dispIdMember, new GUID(), COM.LOCALE_USER_DEFAULT, wFlags, pDispParams, pVarResultAddress, excepInfo, pArgErr);
-
-	if (pVarResultAddress != 0){
-		pVarResult.setData(pVarResultAddress);
-		COM.VariantClear(pVarResultAddress);
-		OS.GlobalFree(pVarResultAddress);
-	}
-	
-	// free the Dispparams resources
-	if (pDispParams.rgdispidNamedArgs != 0){
-		OS.GlobalFree(pDispParams.rgdispidNamedArgs);
-	}
-	if (pDispParams.rgvarg != 0) {
-		int offset = 0;
-		for (int i = 0, length = rgvarg.length; i < length; i++){
-			COM.VariantClear(pDispParams.rgvarg + offset);
-			offset += Variant.sizeof;
-		}
-		OS.GlobalFree(pDispParams.rgvarg);
-	}
-
-	// save error string and cleanup EXCEPINFO
-	manageExcepinfo(result, excepInfo);
-		
-	return result;
-}
-/** 
- * Invokes a method on the OLE Object; the method has no parameters.  In the early days of OLE, 
- * the IDispatch interface was not well defined and some applications (mainly Word) did not support 
- * a return value.  For these applications, call this method instead of calling
- * <code>public void invoke(int dispIdMember)</code>.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @exception SWTException <ul>
- *		<li>ERROR_ACTION_NOT_PERFORMED when method invocation fails
- *	</ul>
- */
-public void invokeNoReply(int dispIdMember) {
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, null, null, null);
-	if (result != COM.S_OK)
-		OLE.error(OLE.ERROR_ACTION_NOT_PERFORMED, result);
-}
-/** 
- * Invokes a method on the OLE Object; the method has no optional parameters.  In the early days of OLE, 
- * the IDispatch interface was not well defined and some applications (mainly Word) did not support 
- * a return value.  For these applications, call this method instead of calling
- * <code>public void invoke(int dispIdMember, Variant[] rgvarg)</code>.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- *
- * @exception SWTException <ul>
- *		<li>ERROR_ACTION_NOT_PERFORMED when method invocation fails
- *	</ul>
- */
-public void invokeNoReply(int dispIdMember, Variant[] rgvarg) {
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, rgvarg, null, null);
-	if (result != COM.S_OK)
-		OLE.error(OLE.ERROR_ACTION_NOT_PERFORMED, result);
-}
-/** 
- * Invokes a method on the OLE Object; the method has optional parameters.  It is not
- * necessary to specify all the optional parameters, only include the parameters for which
- * you are providing values.  In the early days of OLE, the IDispatch interface was not well 
- * defined and some applications (mainly Word) did not support a return value.  For these 
- * applications, call this method instead of calling
- * <code>public void invoke(int dispIdMember, Variant[] rgvarg, int[] rgdispidNamedArgs)</code>.
- *
- * @param dispIdMember the ID of the method as specified by the IDL of the ActiveX Control; the
- *        value for the ID can be obtained using OleAutomation.getIDsOfNames
- *
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *        read only unless the Variant is a By Reference Variant type.
- *
- * @param rgdispidNamedArgs an array of identifiers for the arguments specified in rgvarg; the
- *        parameter IDs must be in the same order as their corresponding values;
- *        all arguments must have an identifier - identifiers can be obtained using 
- *        OleAutomation.getIDsOfNames
- *
- * @exception SWTException <ul>
- *		<li>ERROR_ACTION_NOT_PERFORMED when method invocation fails
- *	</ul>
- */
-public void invokeNoReply(int dispIdMember, Variant[] rgvarg, int[] rgdispidNamedArgs) {
-	int result = invoke(dispIdMember, COM.DISPATCH_METHOD, rgvarg, rgdispidNamedArgs, null);
-	if (result != COM.S_OK)
-		OLE.error(OLE.ERROR_ACTION_NOT_PERFORMED, result);
-}
-private void manageExcepinfo(int hResult, EXCEPINFO excepInfo) {
-
-	if (hResult == COM.S_OK){
-		exceptionDescription = "No Error"; //$NON-NLS-1$
-		return;
-	}
-
-	// extract exception info
-	if (hResult == COM.DISP_E_EXCEPTION) {
-		if (excepInfo.bstrDescription != 0){
-			int size = COM.SysStringByteLen(excepInfo.bstrDescription);
-			char[] buffer = new char[(size + 1) /2];
-			COM.MoveMemory(buffer, excepInfo.bstrDescription, size);
-			exceptionDescription = new String(buffer);
-		} else {
-			exceptionDescription = "OLE Automation Error Exception "; //$NON-NLS-1$
-			if (excepInfo.wCode != 0){
-				exceptionDescription += "code = "+excepInfo.wCode; //$NON-NLS-1$
-			} else if (excepInfo.scode != 0){
-				exceptionDescription += "code = "+excepInfo.scode; //$NON-NLS-1$
-			}
-		}
-	} else {
-		exceptionDescription = "OLE Automation Error HResult : " + hResult; //$NON-NLS-1$
-	}
-
-	// cleanup EXCEPINFO struct
-	if (excepInfo.bstrDescription != 0)
-		COM.SysFreeString(excepInfo.bstrDescription);
-	if (excepInfo.bstrHelpFile != 0)
-		COM.SysFreeString(excepInfo.bstrHelpFile);
-	if (excepInfo.bstrSource != 0)
-		COM.SysFreeString(excepInfo.bstrSource);
-}
-/**
- * Sets the property specified by the dispIdMember to a new value.
- *
- * @param dispIdMember the ID of the property as specified by the IDL of the ActiveX Control; the
- *                     value for the ID can be obtained using OleAutomation.getIDsOfNames
- * @param rgvarg the new value of the property
- *
- * @return true if the operation was successful
- */
-public boolean setProperty(int dispIdMember, Variant rgvarg) {
-	Variant[] rgvarg2 = new Variant[] {rgvarg};
-	int[] rgdispidNamedArgs = new int[] {COM.DISPID_PROPERTYPUT};
-	int dwFlags = COM.DISPATCH_PROPERTYPUT;
-	if ((rgvarg.getType() & COM.VT_BYREF) == COM.VT_BYREF)
-		dwFlags = COM.DISPATCH_PROPERTYPUTREF;
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, dwFlags, rgvarg2, rgdispidNamedArgs, pVarResult);
-	return (result == COM.S_OK);
-}
-/**
- * Sets the property specified by the dispIdMember to a new value.
- *
- * @param dispIdMember the ID of the property as specified by the IDL of the ActiveX Control; the
- *                     value for the ID can be obtained using OleAutomation.getIDsOfNames
- * @param rgvarg an array of arguments for the method.  All arguments are considered to be
- *                     read only unless the Variant is a By Reference Variant type.
- *
- * @return true if the operation was successful
- *
- * @since 2.0
- */
-public boolean setProperty(int dispIdMember, Variant[] rgvarg) {
-	int[] rgdispidNamedArgs = new int[] {COM.DISPID_PROPERTYPUT};
-	int dwFlags = COM.DISPATCH_PROPERTYPUT;
-	for (int i = 0; i < rgvarg.length; i++) {
-		if ((rgvarg[i].getType() & COM.VT_BYREF) == COM.VT_BYREF)
-		dwFlags = COM.DISPATCH_PROPERTYPUTREF;
-	}
-	Variant pVarResult = new Variant();
-	int result = invoke(dispIdMember, dwFlags, rgvarg, rgdispidNamedArgs, pVarResult);
-	return (result == COM.S_OK);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleClientSite.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleClientSite.java
deleted file mode 100755
index ab6b740..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleClientSite.java
+++ /dev/null
@@ -1,1362 +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.ole.win32;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.Compatibility;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-/**
- * OleClientSite provides a site to manage an embedded OLE Document within a container.
- *
- * <p>The OleClientSite provides the following capabilities:
- * <ul>
- *  <li>creates the in-place editor for a blank document or opening an existing OLE Document
- * 	<li>lays the editor out
- *	<li>provides a mechanism for activating and deactivating the Document
- *	<li>provides a mechanism for saving changes made to the document
- * </ul>
- *
- * <p>This object implements the OLE Interfaces IUnknown, IOleClientSite, IAdviseSink, 
- * IOleInPlaceSite
- *
- * <p>Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to add <code>Control</code> children to it,
- * or set a layout on it.
- * </p><p>
- * <dl>
- *	<dt><b>Styles</b> <dd>BORDER 
- *	<dt><b>Events</b> <dd>Dispose, Move, Resize
- * </dl>
- *
- */
-public class OleClientSite extends Composite {
-		
-	// Interfaces for this Ole Client Container
-	private COMObject  iUnknown;
-	private COMObject  iOleClientSite;
-	private COMObject  iAdviseSink;
-	private COMObject  iOleInPlaceSite;
-	private COMObject  iOleDocumentSite;
-
-	protected GUID appClsid;
-	private GUID objClsid;
-	private int  refCount;
-	
-	// References to the associated Frame.
-	protected OleFrame frame;
-	
-	// Access to the embedded/linked Ole Object 
-	protected IUnknown                  objIUnknown;
-	protected IOleObject                 objIOleObject;
-	protected IViewObject2             objIViewObject2;
-	protected IOleInPlaceObject     objIOleInPlaceObject;
-	protected IOleCommandTarget objIOleCommandTarget;
-	protected IOleDocumentView    objDocumentView;
-		   
-	// Related storage information
-	protected IStorage tempStorage;     // IStorage interface of the receiver
-	
-	// Internal state and style information
-	private int     aspect;    // the display aspect of the embedded object, e.g., DvaspectContent or DvaspectIcon
-	private int     type;      // Indicates the type of client that can be supported inside this container
-	private boolean isStatic;  // Indicates item's display is static, i.e., a bitmap, metafile, etc.
-
-	private RECT borderWidths = new RECT();
-	private RECT indent = new RECT();
-	private boolean inUpdate = false;
-	private boolean inInit = true;
-	private boolean inDispose = false;
-		
-	private static final String WORDPROGID = "Word.Document"; //$NON-NLS-1$
-
-	private Listener listener;
-	
-	static final int STATE_NONE = 0;
-	static final int STATE_RUNNING = 1;
-	static final int STATE_INPLACEACTIVE = 2;
-	static final int STATE_UIACTIVE = 3;
-	static final int STATE_ACTIVE = 4;
-	int state = STATE_NONE;
-	
-protected OleClientSite(Composite parent, int style) {
-	/*
-	 * NOTE: this constructor should never be used by itself because it does
-	 * not create an Ole Object
-	 */
-	super(parent, style);
-	
-	createCOMInterfaces();
-	
-	// install the Ole Frame for this Client Site
-	while (parent != null) {
-		if (parent instanceof OleFrame){
-			frame = (OleFrame)parent;
-			break;
-		}
-		parent = parent.getParent();
-	}
-	if (frame == null) OLE.error(SWT.ERROR_INVALID_ARGUMENT);
-	frame.AddRef();
-	
-	aspect   = COM.DVASPECT_CONTENT;
-	type     = COM.OLEEMBEDDED;
-	isStatic = false;
-
-	listener = new Listener() {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-			case SWT.Resize :
-			case SWT.Move :    onResize(e); break;
-			case SWT.Dispose : onDispose(e); break;
-			case SWT.FocusIn:  onFocusIn(e); break;
-			case SWT.FocusOut:  onFocusOut(e); break;
-			case SWT.Paint:    onPaint(e); break;
-			case SWT.Traverse: onTraverse(e); break;
-			case SWT.KeyDown: /* required for traversal */ break;
-			default :
-				OLE.error(SWT.ERROR_NOT_IMPLEMENTED);
-			}
-		}
-	};
-
-	frame.addListener(SWT.Resize, listener);
-	frame.addListener(SWT.Move, listener);
-	addListener(SWT.Dispose, listener);
-	addListener(SWT.FocusIn, listener);
-	addListener(SWT.FocusOut, listener);
-	addListener(SWT.Paint, listener);
-	addListener(SWT.Traverse, listener);
-	addListener(SWT.KeyDown, listener);
-}
-/**
- * Create an OleClientSite child widget using the OLE Document type associated with the
- * specified file.  The OLE Document type is determined either through header information in the file 
- * or through a Registry entry for the file extension. Use style bits to select a particular look 
- * or set of properties.
- *
- * @param parent a composite widget; must be an OleFrame
- * @param style the bitwise OR'ing of widget styles
- * @param file the file that is to be opened in this OLE Document
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the parent is null
- *     <li>ERROR_INVALID_ARGUMENT when the parent is not an OleFrame</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 OleClientSite(Composite parent, int style, File file) {
-	this(parent, style);
-	try {
-
-		if (file == null || file.isDirectory() || !file.exists())
-			OLE.error(OLE.ERROR_INVALID_ARGUMENT);
-			
-		// Is there an associated CLSID?
-		appClsid = new GUID();
-		char[] fileName = (file.getAbsolutePath()+"\0").toCharArray();
-		int result = COM.GetClassFile(fileName, appClsid);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_INVALID_CLASSID, result);
-		// associated CLSID may not be installed on this machine
-		if (getProgramID() == null)
-			OLE.error(OLE.ERROR_INVALID_CLASSID, result);
-			
-		// Open a temporary storage object
-		tempStorage = createTempStorage();
-
-		// Create ole object with storage object
-		int[] address = new int[1];
-		result = COM.OleCreateFromFile(appClsid, fileName, COM.IIDIUnknown, COM.OLERENDER_DRAW, null, 0, tempStorage.getAddress(), address);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-
-		objIUnknown = new IUnknown(address[0]);
-		
-		// Init sinks
-		addObjectReferences();
-		
-		if (COM.OleRun(objIUnknown.getAddress()) == OLE.S_OK) state = STATE_RUNNING;
-	} catch (SWTException e) {
-		dispose();
-		disposeCOMInterfaces();
-		throw e;
-	}
-}
-/**
- * Create an OleClientSite child widget to edit a blank document using the specified OLE Document
- * application.  Use style bits to select a particular look or set of properties.
- *
- * @param parent a composite widget; must be an OleFrame
- * @param style the bitwise OR'ing of widget styles
- * @param progId the unique program identifier of am OLE Document application; 
- *               the value of the ProgID key or the value of the VersionIndependentProgID key specified
- *               in the registry for the desired OLE Document (for example, the VersionIndependentProgID
- *               for Word is Word.Document)
- *
- * @exception IllegalArgumentException
- *<ul>
- *     <li>ERROR_NULL_ARGUMENT when the parent is null
- *     <li>ERROR_INVALID_ARGUMENT when the parent is not an OleFrame
- *</ul>
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_INVALID_CLASSID when the progId does not map to a registered CLSID
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- * </ul>
- */
-public OleClientSite(Composite parent, int style, String progId) {
-	this(parent, style);
-	try {
-		appClsid = getClassID(progId);
-		if (appClsid == null)
-			OLE.error(OLE.ERROR_INVALID_CLASSID);
-			
-		// Open a temporary storage object
-		tempStorage = createTempStorage();
-	
-		// Create ole object with storage object
-		int[] address = new int[1];
-		int result = COM.OleCreate(appClsid, COM.IIDIUnknown, COM.OLERENDER_DRAW, null, 0, tempStorage.getAddress(), address);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-
-		objIUnknown = new IUnknown(address[0]);
-
-		// Init sinks
-		addObjectReferences();
-
-		if (COM.OleRun(objIUnknown.getAddress()) == OLE.S_OK) state = STATE_RUNNING;
-		
-	} catch (SWTException e) {
-		dispose();
-		disposeCOMInterfaces();
-		throw e;
-	}
-}
-/**
- * Create an OleClientSite child widget to edit the specified file using the specified OLE Document
- * application.  Use style bits to select a particular look or set of properties. 
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>OleClientSite</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- * @param parent a composite widget; must be an OleFrame
- * @param style the bitwise OR'ing of widget styles
- * @param progId the unique program identifier of am OLE Document application; 
- *               the value of the ProgID key or the value of the VersionIndependentProgID key specified
- *               in the registry for the desired OLE Document (for example, the VersionIndependentProgID
- *               for Word is Word.Document)
- * @param file the file that is to be opened in this OLE Document
- *
- * @exception IllegalArgumentException
- * <ul><li>ERROR_NULL_ARGUMENT when the parent is null
- *     <li>ERROR_INVALID_ARGUMENT when the parent is not an OleFrame</ul>
- * @exception SWTException
- * <ul><li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_INVALID_CLASSID when the progId does not map to a registered CLSID
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_OPEN_FILE when failed to open file
- * </ul>
- */
-public OleClientSite(Composite parent, int style, String progId, File file) {
-	this(parent, style);
-	try {
-		if (file == null || file.isDirectory() || !file.exists()) OLE.error(OLE.ERROR_INVALID_ARGUMENT);				
-		appClsid = getClassID(progId);
-		
-		// Are we opening this file with the preferred OLE object?
-		char[] fileName = (file.getAbsolutePath()+"\0").toCharArray();
-		GUID fileClsid = new GUID();
-		COM.GetClassFile(fileName, fileClsid);
-	
-		if (COM.IsEqualGUID(appClsid, fileClsid)){
-			// Using the same application that created file, therefore, use default mechanism.
-			tempStorage = createTempStorage();
-			// Create ole object with storage object
-			int[] address = new int[1];
-			int result = COM.OleCreateFromFile(appClsid, fileName, COM.IIDIUnknown, COM.OLERENDER_DRAW, null, 0, tempStorage.getAddress(), address);
-			if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-			objIUnknown = new IUnknown(address[0]);
-		} else {
-			// Not using the same application that created file, therefore, copy from original file to a new storage file
-			IStorage storage = null;
-			if (COM.StgIsStorageFile(fileName) == COM.S_OK) {
-				int[] address = new int[1];
-				int mode = COM.STGM_READ | COM.STGM_TRANSACTED | COM.STGM_SHARE_EXCLUSIVE;
-				int result = COM.StgOpenStorage(fileName, 0, mode, 0, 0, address); //Does an AddRef if successful
-				if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_OPEN_FILE, result);
-				storage = new IStorage(address[0]);
-			} else {
-				// Original file is not a Storage file so copy contents to a stream in a new storage file
-				int[] address = new int[1];
-				int mode = COM.STGM_READWRITE | COM.STGM_DIRECT | COM.STGM_SHARE_EXCLUSIVE | COM.STGM_CREATE;
-				int result = COM.StgCreateDocfile(null, mode | COM.STGM_DELETEONRELEASE, 0, address); // Increments ref count if successful
-				if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_OPEN_FILE, result);
-				storage = new IStorage(address[0]);
-				// Create a stream on the storage object.
-				// Word does not follow the standard and does not use "CONTENTS" as the name of
-				// its primary stream
-				String streamName = "CONTENTS"; //$NON-NLS-1$
-				GUID wordGUID = getClassID(WORDPROGID);
-				if (COM.IsEqualGUID(appClsid, wordGUID)) streamName = "WordDocument"; //$NON-NLS-1$
-				address = new int[1];
-				result = storage.CreateStream(streamName, mode, 0, 0, address); // Increments ref count if successful
-				if (result != COM.S_OK) {
-					storage.Release();
-					OLE.error(OLE.ERROR_CANNOT_OPEN_FILE, result);
-				}
-				IStream stream = new IStream(address[0]);
-				try {
-					// Copy over data in file to named stream
-					FileInputStream fileInput = new FileInputStream(file);
-					int increment = 1024*4;
-					byte[] buffer = new byte[increment];
-					int count = 0;
-					while((count = fileInput.read(buffer)) > 0){
-						int pv = COM.CoTaskMemAlloc(count);
-						OS.MoveMemory(pv, buffer, count);
-						result = stream.Write(pv, count, null) ;
-						COM.CoTaskMemFree(pv);
-						if (result != COM.S_OK) {
-							fileInput.close();
-							stream.Release();
-							storage.Release();
-							OLE.error(OLE.ERROR_CANNOT_OPEN_FILE, result);
-						}
-					}
-					fileInput.close();
-					stream.Commit(COM.STGC_DEFAULT);
-					stream.Release();
-				} catch (IOException err) {
-					stream.Release();
-					storage.Release();
-					OLE.error(OLE.ERROR_CANNOT_OPEN_FILE);
-				}
-			}
-			
-			// Open a temporary storage object
-			tempStorage = createTempStorage();
-			// Copy over contents of file
-			int result = storage.CopyTo(0, null, null, tempStorage.getAddress());
-			storage.Release();
-			if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_OPEN_FILE, result);
-
-			// create ole client
-			int[] ppv = new int[1];
-			result = COM.CoCreateInstance(appClsid, 0, COM.CLSCTX_INPROC_HANDLER | COM.CLSCTX_INPROC_SERVER, COM.IIDIUnknown, ppv);
-			if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-			objIUnknown = new IUnknown(ppv[0]);
-			// get the persistant storage of the ole client
-			ppv = new int[1];
-			result = objIUnknown.QueryInterface(COM.IIDIPersistStorage, ppv);
-			if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-			IPersistStorage iPersistStorage = new IPersistStorage(ppv[0]);
-			// load the contents of the file into the ole client site
-			result = iPersistStorage.Load(tempStorage.getAddress());
-			iPersistStorage.Release();
-			if (result != COM.S_OK)OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-		}
-		
-		// Init sinks
-		addObjectReferences();
-		
-		if (COM.OleRun(objIUnknown.getAddress()) == OLE.S_OK) state = STATE_RUNNING;
-		
-	} catch (SWTException e) {
-		dispose();
-		disposeCOMInterfaces();
-		throw e;
-	}
-}
-protected void addObjectReferences() {
-	//
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIPersist, ppvObject) == COM.S_OK) {
-		IPersist objIPersist = new IPersist(ppvObject[0]);
-		GUID tempid = new GUID();
-		if (objIPersist.GetClassID(tempid) == COM.S_OK)
-			objClsid = tempid;
-		objIPersist.Release();
-	}
-	
-	//
-	ppvObject = new int[1];
-	int result = objIUnknown.QueryInterface(COM.IIDIViewObject2, ppvObject);
-	if (result != COM.S_OK)
-		OLE.error(OLE.ERROR_INTERFACE_NOT_FOUND, result);
-	objIViewObject2 = new IViewObject2(ppvObject[0]);
-	objIViewObject2.SetAdvise(aspect, 0, iAdviseSink.getAddress());
-
-	//
-	ppvObject = new int[1];
-	result = objIUnknown.QueryInterface(COM.IIDIOleObject, ppvObject);
-	if (result != COM.S_OK)
-		OLE.error(OLE.ERROR_INTERFACE_NOT_FOUND, result);
-	objIOleObject = new IOleObject(ppvObject[0]);
-	objIOleObject.SetClientSite(iOleClientSite.getAddress());
-	int[] pdwConnection = new int[1];
-	objIOleObject.Advise(iAdviseSink.getAddress(), pdwConnection);
-	objIOleObject.SetHostNames("main", "main");  //$NON-NLS-1$ //$NON-NLS-2$
-
-	// Notify the control object that it is embedded in an OLE container
-	COM.OleSetContainedObject(objIUnknown.getAddress(), true);
-
-	// Is OLE object linked or embedded?
-	ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIOleLink, ppvObject) == COM.S_OK) {
-		IOleLink objIOleLink = new IOleLink(ppvObject[0]);
-		int[] ppmk = new int[1];
-		if (objIOleLink.GetSourceMoniker(ppmk) == COM.S_OK) {
-			IMoniker objIMoniker = new IMoniker(ppmk[0]);
-			objIMoniker.Release();
-			type = COM.OLELINKED;
-			objIOleLink.BindIfRunning();
-		} else {
-			isStatic = true;
-		}
-		objIOleLink.Release();
-	}
-}
-protected int AddRef() {
-	refCount++;
-	return refCount;
-}
-private int CanInPlaceActivate() {
-	if (aspect == COM.DVASPECT_CONTENT && type == COM.OLEEMBEDDED)
-		return COM.S_OK;
-		
-	return COM.S_FALSE;
-}
-private int ContextSensitiveHelp(int fEnterMode) {
-	return COM.S_OK;
-}
-protected void createCOMInterfaces() {
-	
-	iUnknown = new COMObject(new int[]{2, 0, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-	};
-	
-	iOleClientSite = new COMObject(new int[]{2, 0, 0, 0, 3, 1, 0, 1, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return SaveObject();}
-		// method4 GetMoniker - not implemented
-		public int method5(int[] args) {return GetContainer(args[0]);}
-		public int method6(int[] args) {return ShowObject();}
-		public int method7(int[] args) {return OnShowWindow(args[0]);}
-		// method8 RequestNewObjectLayout - not implemented
-	};
-	
-	iAdviseSink = new COMObject(new int[]{2, 0, 0, 2, 2, 1, 0, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return OnDataChange(args[0], args[1]);}
-		public int method4(int[] args) {return OnViewChange(args[0], args[1]);}
-		//method5 OnRename - not implemented
-		public int method6(int[] args) {OnSave();return 0;}
-		public int method7(int[] args) {return OnClose();}	
-	};
-	
-	iOleInPlaceSite = new COMObject(new int[]{2, 0, 0, 1, 1, 0, 0, 0, 5, 1, 1, 0, 0, 0, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return GetWindow(args[0]);}
-		public int method4(int[] args) {return ContextSensitiveHelp(args[0]);}
-		public int method5(int[] args) {return CanInPlaceActivate();}
-		public int method6(int[] args) {return OnInPlaceActivate();}
-		public int method7(int[] args) {return OnUIActivate();}
-		public int method8(int[] args) {return GetWindowContext(args[0], args[1], args[2], args[3], args[4]);}
-		public int method9(int[] args) {return Scroll(args[0]);}
-		public int method10(int[] args) {return OnUIDeactivate(args[0]);}
-		public int method11(int[] args) {return OnInPlaceDeactivate();}
-		// method12 DiscardUndoState - not implemented
-		// method13 DeactivateAndUndoChange - not implemented
-		public int method14(int[] args) {return OnPosRectChange(args[0]);}
-	};
-	
-	iOleDocumentSite = new COMObject(new int[]{2, 0, 0, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return ActivateMe(args[0]);}
-	};	
-}
-protected IStorage createTempStorage() {
-	int[] tempStorage = new int[1];
-	int grfMode = COM.STGM_READWRITE | COM.STGM_SHARE_EXCLUSIVE | COM.STGM_DELETEONRELEASE;
-	int result = COM.StgCreateDocfile(null, grfMode, 0, tempStorage);
-	if (result != COM.S_OK) OLE.error(OLE.ERROR_CANNOT_CREATE_FILE, result);
-	return new IStorage(tempStorage[0]);
-}
-/**
- * Deactivates an active in-place object and discards the object's undo state.
- */
-public void deactivateInPlaceClient() {
-	if (objIOleInPlaceObject != null) {
-		objIOleInPlaceObject.InPlaceDeactivate();
-	}
-}
-private void deleteTempStorage() {
-	//Destroy this item's contents in the temp root IStorage.
-	if (tempStorage != null){
-		tempStorage.Release();
-	}
-	tempStorage = null;
-}
-protected void disposeCOMInterfaces() {
-	if (iUnknown != null)
-		iUnknown.dispose();
-	iUnknown = null;
-	
-	if (iOleClientSite != null)
-	iOleClientSite.dispose();
-	iOleClientSite = null;
-	
-	if (iAdviseSink != null)
-		iAdviseSink.dispose();
-	iAdviseSink = null;
-	
-	if (iOleInPlaceSite != null)
-		iOleInPlaceSite.dispose();
-	iOleInPlaceSite = null;
-	
-	if (iOleDocumentSite != null)
-		iOleDocumentSite.dispose();
-	iOleDocumentSite = null;
-}
-/**
- * Requests that the OLE Document or ActiveX Control perform an action; actions are almost always
- * changes to the activation state.
- *
- * @param verb the operation that is requested.  This is one of the OLE.OLEIVERB_ values
- *
- * @return an HRESULT value indicating the success of the operation request; OLE.S_OK indicates
- *         success
- */
-public int doVerb(int verb) {
-	// Not all OLE clients (for example PowerPoint) can be set into the running state in the constructor.
-	// The fix is to ensure that the client is in the running state before invoking any verb on it.
-	if (state == STATE_NONE) {
-		if (COM.OleRun(objIUnknown.getAddress()) == OLE.S_OK) state = STATE_RUNNING;
-	}	
-	if (state == STATE_NONE || isStatic)
-		return COM.E_FAIL;
-	
-	// See PR: 1FV9RZW
-	int result = objIOleObject.DoVerb(verb, null, iOleClientSite.getAddress(), 0, handle, null);
-
-	if (state != STATE_RUNNING && inInit) {
-		updateStorage();
-		inInit = false;
-	}
-	return result;
-}
-/**
- * Asks the OLE Document or ActiveX Control to execute a command from a standard 
- * list of commands. The OLE Document or ActiveX Control must support the IOleCommandTarget
- * interface.  The OLE Document or ActiveX Control does not have to support all the commands
- * in the standard list.  To check if a command is supported, you can call queryStatus with
- * the cmdID.
- *
- * @param cmdID the ID of a command; these are the OLE.OLECMDID_ values - a small set of common
- *              commands
- * @param options the optional flags; these are the OLE.OLECMDEXECOPT_ values
- * @param in the argument for the command
- * @param out the return value of the command
- *
- * @return an HRESULT value; OLE.S_OK is returned if successful
- *
- */
-public int exec(int cmdID, int options, Variant in, Variant out) {
-	
-	if (objIOleCommandTarget == null) {
-		int[] address = new int[1];
-		if (objIUnknown.QueryInterface(COM.IIDIOleCommandTarget, address) != COM.S_OK)
-			return OLE.ERROR_INTERFACE_NOT_FOUND;
-		objIOleCommandTarget = new IOleCommandTarget(address[0]);
-	}
-	
-	int inAddress = 0;
-	if (in != null){
-		inAddress = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-		in.getData(inAddress);
-	}
-	int outAddress = 0;
-	if (out != null){
-		outAddress = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-		out.getData(outAddress);
-	}
-		
-	int result = objIOleCommandTarget.Exec(null, cmdID, options, inAddress, outAddress);
-	
-	if (inAddress != 0){
-		COM.VariantClear(inAddress);
-		OS.GlobalFree(inAddress);
-	}
-	if (outAddress != 0) {
-		out.setData(outAddress);
-		COM.VariantClear(outAddress);
-		OS.GlobalFree(outAddress);
-	}
-		
-	return result;
-}
-IDispatch getAutomationObject() {
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIDispatch, ppvObject) != COM.S_OK)
-		return null;
-	return new IDispatch(ppvObject[0]);
-}
-protected GUID getClassID(String clientName) {
-	// create a GUID struct to hold the result
-	GUID guid = new GUID();
-
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (clientName != null) {
-		int count = clientName.length();
-		buffer = new char[count + 1];
-		clientName.getChars(0, count, buffer, 0);
-	}
-	if (COM.CLSIDFromProgID(buffer, guid) != COM.S_OK){
-		int result = COM.CLSIDFromString(buffer, guid);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_INVALID_CLASSID, result);
-	}
-	return guid;
-}
-private int GetContainer(int ppContainer) {
-	/* Simple containers that do not support links to their embedded 
-	 * objects probably do not need to implement this method. Instead, 
-	 * they can return E_NOINTERFACE and set ppContainer to NULL.
-	 */
-	if (ppContainer != 0)
-		COM.MoveMemory(ppContainer, new int[]{0}, 4);
-	return COM.E_NOINTERFACE;
-}
-private SIZE getExtent() {
-	SIZE sizel = new SIZE();
-	// get the current size of the embedded OLENatives object
-	if (objIOleObject != null) {
-		if ( objIViewObject2 != null && !COM.OleIsRunning(objIOleObject.getAddress())) {
-			objIViewObject2.GetExtent(aspect, -1, null, sizel);
-		} else {
-			objIOleObject.GetExtent(aspect, sizel);
-		}
-	}
-	return xFormHimetricToPixels(sizel);
-}
-public Rectangle getIndent() {
-	return new Rectangle(indent.left, indent.right, indent.top, indent.bottom);
-}
-/**
- * Returns the program ID of the OLE Document or ActiveX Control.
- *
- * @return the program ID of the OLE Document or ActiveX Control
- */
-public String getProgramID(){
-	if (appClsid != null){
-		int[] lplpszProgID = new int[1];
-		if (COM.ProgIDFromCLSID(appClsid, lplpszProgID) == COM.S_OK) {
-			int hMem = lplpszProgID[0];
-			int length = OS.GlobalSize(hMem);
-			int ptr = OS.GlobalLock(hMem);
-			char[] buffer = new char[length];
-			COM.MoveMemory(buffer, ptr, length);
-			OS.GlobalUnlock(hMem);
-			OS.GlobalFree(hMem);
-
-			String result = new String(buffer);
-			// remove null terminator
-			int index = result.indexOf("\0");
-			return result.substring(0, index);
-		}
-	}
-	return null;
-}
-int ActivateMe(int pViewToActivate) {
-	if (pViewToActivate == 0) {
-		int[] ppvObject = new int[1];
-		if (objIUnknown.QueryInterface(COM.IIDIOleDocument, ppvObject) != COM.S_OK) return COM.E_FAIL;
-		IOleDocument objOleDocument = new IOleDocument(ppvObject[0]);
-		if (objOleDocument.CreateView(iOleInPlaceSite.getAddress(), 0, 0, ppvObject) != COM.S_OK) return COM.E_FAIL;
-		objOleDocument.Release();
-		objDocumentView = new IOleDocumentView(ppvObject[0]);
-	} else {
-		objDocumentView = new IOleDocumentView(pViewToActivate);
-		objDocumentView.AddRef();
-		objDocumentView.SetInPlaceSite(iOleInPlaceSite.getAddress());
-	}
-	objDocumentView.UIActivate(1);//TRUE
-	RECT rect = getRect();
-	objDocumentView.SetRect(rect);
-	objDocumentView.Show(1);//TRUE
-	return COM.S_OK;
-}
-protected int GetWindow(int phwnd) {
-	if (phwnd == 0)
-		return COM.E_INVALIDARG;
-	if (frame == null) {
-		COM.MoveMemory(phwnd, new int[] {0}, 4);
-		return COM.E_NOTIMPL;
-	}
-	
-	// Copy the Window's handle into the memory passed in
-	COM.MoveMemory(phwnd, new int[] {frame.handle}, 4);
-	return COM.S_OK;
-}
-RECT getRect() {
-	Point location = this.getLocation();
-	Rectangle area = frame.getClientArea();
-	RECT rect = new RECT();
-	rect.left   = location.x;
-	rect.top    = location.y;
-	rect.right  = location.x + area.width - borderWidths.left - borderWidths.right;
-	rect.bottom = location.y + area.height - borderWidths.top - borderWidths.bottom;
-	return rect;
-}
-private int GetWindowContext(int ppFrame, int ppDoc, int lprcPosRect, int lprcClipRect, int lpFrameInfo) {	
-	if (frame == null || ppFrame == 0)
-		return COM.E_NOTIMPL;
-
-	// fill in frame handle
-	int iOleInPlaceFrame = frame.getIOleInPlaceFrame();
-	COM.MoveMemory(ppFrame, new int[] {iOleInPlaceFrame}, 4);
-	frame.AddRef();
-
-	// null out document handle
-	if (ppDoc != 0) COM.MoveMemory(ppDoc, new int[] {0}, 4);
-
-	// fill in position and clipping info
-	RECT rect = getRect();
-	if (lprcPosRect != 0) OS.MoveMemory(lprcPosRect, rect, RECT.sizeof);
-	if (lprcClipRect != 0) OS.MoveMemory(lprcClipRect, rect, RECT.sizeof);
-
-	// get frame info
-	OLEINPLACEFRAMEINFO frameInfo = new OLEINPLACEFRAMEINFO();
-	frameInfo.cb = OLEINPLACEFRAMEINFO.sizeof;
-	frameInfo.fMDIApp = 0;
-	frameInfo.hwndFrame = frame.handle;
-	Shell shell = getShell();
-	Menu menubar = shell.getMenuBar();
-	if (menubar != null && !menubar.isDisposed()) {
-		int hwnd = shell.handle;
-		int cAccel = OS.SendMessage(hwnd, OS.WM_APP, 0, 0);
-		if (cAccel != 0) {
-			int hAccel = OS.SendMessage(hwnd, OS.WM_APP+1, 0, 0);
-			if (hAccel != 0) {
-				frameInfo.cAccelEntries = cAccel;
-				frameInfo.haccel = hAccel;
-			}
-		}
-	}
-	COM.MoveMemory(lpFrameInfo, frameInfo, OLEINPLACEFRAMEINFO.sizeof);
-	
-	return COM.S_OK;
-}
-public boolean isDirty() {
-	/*
-	 *  Note: this method must return true unless it is absolutely clear that the
-	 * contents of the Ole Document do not differ from the contents in the file
-	 * on the file system.
-	 */
-	
-	// Get access to the persistant storage mechanism
-	int[] address = new int[1];
-	if (objIOleObject.QueryInterface(COM.IIDIPersistFile, address) != COM.S_OK)
-		return true;
-	IPersistStorage permStorage = new IPersistStorage(address[0]);
-	// Are the contents of the permanent storage different from the file?
-	int result = permStorage.IsDirty();
-	permStorage.Release();
-	if (result == COM.S_FALSE) return false;
-	return true;
-}
-public boolean isFocusControl () {
-	checkWidget ();
-	int focusHwnd = OS.GetFocus();
-	if (objIOleInPlaceObject == null) return (handle == focusHwnd); 
-	int[] phwnd = new int[1];
-	objIOleInPlaceObject.GetWindow(phwnd);
-	while (focusHwnd != 0) {
-		if (phwnd[0] == focusHwnd) return true;
-		focusHwnd = OS.GetParent(focusHwnd);
-	}
-	return false;
-}
-private int OnClose() {
-	return COM.S_OK;
-}
-private int OnDataChange(int pFormatetc, int pStgmed) {
-	return COM.S_OK;
-}
-private void onDispose(Event e) {
-	inDispose = true;
-	if (state != STATE_NONE)
-		doVerb(OLE.OLEIVERB_DISCARDUNDOSTATE);
-	deactivateInPlaceClient();
-	releaseObjectInterfaces(); // Note, must release object interfaces before releasing frame
-	deleteTempStorage();
-	
-	// remove listeners
-	removeListener(SWT.Dispose, listener);
-	removeListener(SWT.FocusIn, listener);
-	removeListener(SWT.Paint, listener);
-	removeListener(SWT.Traverse, listener);
-	removeListener(SWT.KeyDown, listener);
-	frame.removeListener(SWT.Resize, listener);
-	frame.removeListener(SWT.Move, listener);
-	
-	frame.Release();
-	frame = null;
-}
-void onFocusIn(Event e) {
-	if (inDispose) return;
-	if (state != STATE_UIACTIVE) doVerb(OLE.OLEIVERB_SHOW);
-	if (objIOleInPlaceObject == null) return;
-	if (isFocusControl()) return;
-	int[] phwnd = new int[1];
-	objIOleInPlaceObject.GetWindow(phwnd);
-	if (phwnd[0] == 0) return;
-	OS.SetFocus(phwnd[0]);
-}
-void onFocusOut(Event e) {
-}
-private int OnInPlaceActivate() {
-	state = STATE_INPLACEACTIVE;
-	frame.setCurrentDocument(this);
-	if (objIOleObject == null)
-		return COM.S_OK;
-	int[] ppvObject = new int[1];
-	if (objIOleObject.QueryInterface(COM.IIDIOleInPlaceObject, ppvObject) == COM.S_OK) {
-		objIOleInPlaceObject = new IOleInPlaceObject(ppvObject[0]);
-	}
-	return COM.S_OK;
-}
-private int OnInPlaceDeactivate() {
-	if (objIOleInPlaceObject != null) objIOleInPlaceObject.Release();
-	objIOleInPlaceObject = null;
-	state = STATE_RUNNING;
-	redraw();
-	Shell shell = getShell();
-	if (isFocusControl() || frame.isFocusControl()) {
-		shell.traverse(SWT.TRAVERSE_TAB_NEXT);
-	}
-	return COM.S_OK;
-}
-private int OnPosRectChange(int lprcPosRect) {
-	Point size = getSize();
-	setExtent(size.x, size.y);
-	return COM.S_OK;
-}
-private void onPaint(Event e) {
-	if (state == STATE_RUNNING || state == STATE_INPLACEACTIVE) {
-		SIZE size = getExtent();
-		Rectangle area = getClientArea();
-		RECT rect = new RECT();
-		if (getProgramID().startsWith("Excel.Sheet")) { //$NON-NLS-1$
-			rect.left = area.x; rect.right = area.x + (area.height * size.cx / size.cy);
-			rect.top = area.y; rect.bottom = area.y + area.height;
-		} else {
-			rect.left = area.x; rect.right = area.x + size.cx;
-			rect.top = area.y; rect.bottom = area.y + size.cy;
-		}
-		
-		int pArea = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, RECT.sizeof);
-		OS.MoveMemory(pArea, rect, RECT.sizeof);
-		COM.OleDraw(objIUnknown.getAddress(), aspect, e.gc.handle, pArea);
-		OS.GlobalFree(pArea);
-	}
-}
-private void onResize(Event e) {
-	Rectangle area = frame.getClientArea();
-	setBounds(borderWidths.left, 
-		      borderWidths.top, 
-			  area.width - borderWidths.left - borderWidths.right, 
-			  area.height - borderWidths.top - borderWidths.bottom);
-
-	setObjectRects();
-}
-private void OnSave() {
-}
-private int OnShowWindow(int fShow) {
-	return COM.S_OK;
-}
-private int OnUIActivate() {
-	if (objIOleInPlaceObject == null) return COM.E_FAIL;
-	state = STATE_UIACTIVE;
-	int[] phwnd = new int[1];
-	if (objIOleInPlaceObject.GetWindow(phwnd) == COM.S_OK) {
-		OS.SetWindowPos(phwnd[0], OS.HWND_TOP, 0, 0, 0, 0, OS.SWP_NOSIZE | OS.SWP_NOMOVE);
-	}
-	return COM.S_OK;
-}
-private int OnUIDeactivate(int fUndoable) {
-	// currently, we are ignoring the fUndoable flag
-	if (frame == null || frame.isDisposed()) return COM.S_OK;
-	state = STATE_INPLACEACTIVE;
-	frame.SetActiveObject(0,0);
-	redraw();
-	Shell shell = getShell();
-	if (isFocusControl() || frame.isFocusControl()) {
-		shell.traverse(SWT.TRAVERSE_TAB_NEXT);
-	}
-	Menu menubar = shell.getMenuBar();
-	if (menubar == null || menubar.isDisposed())
-		return COM.S_OK;
-		
-	int shellHandle = shell.handle;
-	OS.SetMenu(shellHandle, menubar.handle);
-	return COM.OleSetMenuDescriptor(0, shellHandle, 0, 0, 0);
-}
-private void onTraverse(Event event) {
-	switch (event.detail) {
-		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:
-		case SWT.TRAVERSE_MNEMONIC:
-			event.doit = true;
-			break;
-	}
-}
-private int OnViewChange(int dwAspect, int lindex) {
-	return COM.S_OK;
-}
-protected int QueryInterface(int riid, int ppvObject) {
-
-	if (riid == 0 || ppvObject == 0)
-		return COM.E_NOINTERFACE;
-	GUID guid = new GUID();
-	COM.MoveMemory(guid, riid, GUID.sizeof);
-
-	if (COM.IsEqualGUID(guid, COM.IIDIUnknown)) {
-		COM.MoveMemory(ppvObject, new int[] {iUnknown.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIAdviseSink)) {
-		COM.MoveMemory(ppvObject, new int[] {iAdviseSink.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIOleClientSite)) {
-		COM.MoveMemory(ppvObject, new int[] {iOleClientSite.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIOleInPlaceSite)) {
-		COM.MoveMemory(ppvObject, new int[] {iOleInPlaceSite.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-// INTENTIONALLY COMMENTED - see bug 35493	
-//	if (COM.IsEqualGUID(guid, COM.IIDIOleDocumentSite )) {
-//		String progID = getProgramID();
-//		if (!progID.startsWith("PowerPoint")) { //$NON-NLS-1$
-//			COM.MoveMemory(ppvObject, new int[] {iOleDocumentSite.getAddress()}, 4);
-//			AddRef();
-//			return COM.S_OK;
-//		}
-//	}
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-/**
- * Returns the status of the specified command.  The status is any bitwise OR'd combination of 
- * SWTOLE.OLECMDF_SUPPORTED, SWTOLE.OLECMDF_ENABLED, SWTOLE.OLECMDF_LATCHED, SWTOLE.OLECMDF_NINCHED.
- * You can query the status of a command before invoking it with OleClientSite.exec.  The
- * OLE Document or ActiveX Control must support the IOleCommandTarget to make use of this method.
- *
- * @param cmd the ID of a command; these are the OLE.OLECMDID_ values - a small set of common
- *            commands
- *
- * @return the status of the specified command or 0 if unable to query the OLE Object; these are the
- *			  OLE.OLECMDF_ values
- */ 
-public int queryStatus(int cmd) {
-	
-	if (objIOleCommandTarget == null) {
-		int[] address = new int[1];
-		if (objIUnknown.QueryInterface(COM.IIDIOleCommandTarget, address) != COM.S_OK)
-			return 0;
-		objIOleCommandTarget = new IOleCommandTarget(address[0]);
-	}
-	
-	OLECMD olecmd = new OLECMD();
-	olecmd.cmdID = cmd;
-	
-	int result = objIOleCommandTarget.QueryStatus(null, 1, olecmd, null);
-
-	if (result != COM.S_OK) return 0;
-
-	return olecmd.cmdf;
-}
-protected int Release() {
-	refCount--;
-	
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-	}
-	return refCount;
-}
-protected void releaseObjectInterfaces() {
-
-	if (objIOleInPlaceObject!= null)
-		objIOleInPlaceObject.Release();
-	objIOleInPlaceObject = null;
-	
-	if (objIOleObject != null) {	
-		objIOleObject.Close(COM.OLECLOSE_NOSAVE);
-		objIOleObject.Release();
-	}
-	objIOleObject = null;
-	
-	if (objDocumentView != null){
-		objDocumentView.Release();
-	}
-	objDocumentView = null;
-	
-	if (objIViewObject2 != null) {
-		objIViewObject2.SetAdvise(aspect, 0, 0);
-		objIViewObject2.Release();
-	}
-	objIViewObject2 = null;
-	
-	if (objIOleCommandTarget != null)
-		objIOleCommandTarget.Release();
-	objIOleCommandTarget = null;
-		
-	if (objIUnknown != null){
-		objIUnknown.Release();
-	}
-	objIUnknown = null;
-	
-	COM.CoFreeUnusedLibraries();
-}
-public boolean save(File file, boolean includeOleInfo) {
-	if (includeOleInfo)
-		return saveToStorageFile(file);
-	return saveToTraditionalFile(file);
-}
-private boolean saveFromContents(int address, File file) {
-
-	boolean success = false;
-	
-	IStream tempContents = new IStream(address);
-	tempContents.AddRef();
-
-	try {
-		FileOutputStream writer = new FileOutputStream(file);
-		
-		int increment = 1024 * 4;
-		int pv = COM.CoTaskMemAlloc(increment);
-		int[] pcbWritten = new int[1];
-		while (tempContents.Read(pv, increment, pcbWritten) == COM.S_OK && pcbWritten[0] > 0) {
-			byte[] buffer = new byte[ pcbWritten[0]];
-			OS.MoveMemory(buffer, pv, pcbWritten[0]);
-			writer.write(buffer); // Note: if file does not exist, this will create the file the 
-			                      // first time it is called
-			success = true;
-		}
-		COM.CoTaskMemFree(pv);
-			
-		writer.close();
-		
-	} catch (IOException err) {
-	}
-
-	tempContents.Release();
-
-	return success;
-}
-private boolean saveFromOle10Native(int address, File file) {
-
-	boolean success = false;
-	
-	IStream tempContents = new IStream(address);
-	tempContents.AddRef();
-	
-	// The "\1Ole10Native" stream contains a DWORD header whose value is the length 
-	// of the native data that follows.
-	int pv = COM.CoTaskMemAlloc(4);
-	int[] size = new int[1];
-	int rc = tempContents.Read(pv, 4, null);
-	OS.MoveMemory(size, pv, 4);
-	COM.CoTaskMemFree(pv);
-	if (rc == COM.S_OK && size[0] > 0) {
-		
-		// Read the data
-		byte[] buffer = new byte[size[0]];
-		pv = COM.CoTaskMemAlloc(size[0]);
-		rc = tempContents.Read(pv, size[0], null);
-		OS.MoveMemory(buffer, pv, size[0]);
-		COM.CoTaskMemFree(pv);
-
-		// open the file and write data into it
-		try {
-			FileOutputStream writer = new FileOutputStream(file);
-			writer.write(buffer); // Note: if file does not exist, this will create the file
-			writer.close();
-
-			success = true;
-		} catch (IOException err) {
-		}
-	}
-	tempContents.Release();
-
-	return success;
-}
-private int SaveObject() {
-
-	updateStorage();
-		
-	return COM.S_OK;
-}
-/**
- * Saves the document to the specified file and includes OLE spcific inforrmation.  This method 
- * must <b>only</b> be used for files that have an OLE Storage format.  For example, a word file 
- * edited with Word.Document should be saved using this method because there is formating information
- * that should be stored in the OLE specific Storage format.
- *
- * @param file the file to which the changes are to be saved
- *
- * @return true if the save was successful
- */
-private boolean saveToStorageFile(File file) {
-	// The file will be saved using the formating of the current application - this
-	// may not be the format of the application that was originally used to create the file
-	// e.g. if an Excel file is opened in Word, the Word application will save the file in the 
-	// Word format
-	// Note: if the file already exists, some applications will not overwrite the file
-	// In these cases, you should delete the file first (probably save the contents of the file in case the
-	// save fails)
-	if (file == null || file.isDirectory()) return false;
-	if (!updateStorage()) return false;
-	
-	// get access to the persistant storage mechanism
-	int[] address = new int[1];
-	if (objIOleObject.QueryInterface(COM.IIDIPersistStorage, address) != COM.S_OK) return false;
-	IPersistStorage permStorage = new IPersistStorage(address[0]);
-	try {
-		address = new int[1];
-		char[] path = (file.getAbsolutePath()+"\0").toCharArray();
-		int mode = COM.STGM_TRANSACTED | COM.STGM_READWRITE | COM.STGM_SHARE_EXCLUSIVE | COM.STGM_CREATE;
-		int result = COM.StgCreateDocfile(path, mode, 0, address); //Does an AddRef if successful
-		if (result != COM.S_OK) return false;
-		IStorage storage =  new IStorage(address[0]);
-		try {
-			if (COM.OleSave(permStorage.getAddress(), storage.getAddress(), false) == COM.S_OK) {
-				if (storage.Commit(COM.STGC_DEFAULT) == COM.S_OK) {
-					return true;
-				}
-			}
-		} finally {
-			storage.Release();
-		}
-	} finally {
-		permStorage.Release();
-	}
-	return false;
-}
-/**
- * Saves the document to the specified file.  This method must be used for
- * files that do not have an OLE Storage format.  For example, a bitmap file edited with MSPaint 
- * should be saved using this method because bitmap is a standard format that does not include any
- * OLE specific data.
- *
- * @param file the file to which the changes are to be saved
- *
- * @return true if the save was successful
- */
-private boolean saveToTraditionalFile(File file) {
-	// Note: if the file already exists, some applications will not overwrite the file
-	// In these cases, you should delete the file first (probably save the contents of the file in case the
-	// save fails)
-	if (file == null || file.isDirectory())
-		return false;
-	if (!updateStorage())
-		return false;
-	
-	int[] address = new int[1];
-	// Look for a CONTENTS stream
-	if (tempStorage.OpenStream("CONTENTS", 0, COM.STGM_DIRECT | COM.STGM_READ | COM.STGM_SHARE_EXCLUSIVE, 0, address) == COM.S_OK) //$NON-NLS-1$
-		return saveFromContents(address[0], file);
-		
-	// Look for Ole 1.0 object stream
-	if (tempStorage.OpenStream("\1Ole10Native", 0, COM.STGM_DIRECT | COM.STGM_READ | COM.STGM_SHARE_EXCLUSIVE, 0, address) == COM.S_OK) //$NON-NLS-1$
-		return saveFromOle10Native(address[0], file);
-		
-	return false;
-}
-private int Scroll(int scrollExtant) {
-	return COM.S_OK;
-}
-void setBorderSpace(RECT newBorderwidth) {
-	borderWidths = newBorderwidth;
-	// readjust size and location of client site
-	Rectangle area = frame.getClientArea();
-	setBounds(borderWidths.left, borderWidths.top, 
-				area.width - borderWidths.left - borderWidths.right, 
-				area.height - borderWidths.top - borderWidths.bottom);
-	setObjectRects();
-}
-private void setExtent(int width, int height){
-	// Resize the width and height of the embedded/linked OLENatives object
-	// to the specified values.
-
-	if (objIOleObject == null || isStatic || inUpdate) return;
-	SIZE currentExtent = getExtent();
-	if (width == currentExtent.cx && height == currentExtent.cy) return;
-
-	SIZE newExtent = new SIZE();
-	newExtent.cx = width; newExtent.cy = height;
-	newExtent = xFormPixelsToHimetric(newExtent);
-	
-   // Get the server running first, then do a SetExtent, then show it
-	boolean alreadyRunning = COM.OleIsRunning(objIOleObject.getAddress());
-	if (!alreadyRunning)
-		COM.OleRun(objIOleObject.getAddress());
-	
-	if (objIOleObject.SetExtent(aspect, newExtent) == COM.S_OK){
-		inUpdate = true;
-		objIOleObject.Update();
-		inUpdate = false;
-		if (!alreadyRunning)
-			// Close server if it wasn't already running upon entering this method.
-			objIOleObject.Close(COM.OLECLOSE_SAVEIFDIRTY);
-	}
-}
-public void setIndent(Rectangle newIndent) {
-	indent = new RECT();
-	indent.left = newIndent.x;
-	indent.right = newIndent.width;
-	indent.top = newIndent.y;
-	indent.bottom = newIndent.height;
-}
-private void setObjectRects() {
-	if (objIOleInPlaceObject == null) return;	
-	// size the object to fill the available space
-	// leave a border
-	RECT rect = getRect();
-	objIOleInPlaceObject.SetObjectRects(rect, rect);
-}
-
-private int ShowObject() {
-	/* Tells the container to position the object so it is visible to 
-	 * the user. This method ensures that the container itself is 
-	 * visible and not minimized.
-	 */
-	return COM.S_OK;
-}
-/**
- * Displays a dialog with the property information for this OLE Object.  The OLE Document or
- * ActiveX Control must support the ISpecifyPropertyPages interface.
- *
- * @param title the name that will appear in the titlebar of the dialog
- */
-public void showProperties(String title) {
-
-	// Get the Property Page information from the OLE Object
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDISpecifyPropertyPages, ppvObject) != COM.S_OK) return;
-	ISpecifyPropertyPages objISPP = new ISpecifyPropertyPages(ppvObject[0]);
-	CAUUID caGUID = new CAUUID();
-	int result = objISPP.GetPages(caGUID);
-	objISPP.Release();
-	if (result != COM.S_OK) return;
-
-	// create a frame in which to display the pages
-	char[] chTitle = null;
-	if (title != null) {
-		chTitle = new char[title.length()];
-		title.getChars(0, title.length(), chTitle, 0);
-	}
-	result = COM.OleCreatePropertyFrame(frame.handle, 10, 10, chTitle, 1, new int[] {objIUnknown.getAddress()}, caGUID.cElems, caGUID.pElems, COM.LOCALE_USER_DEFAULT, 0, 0);
-
-	// free the property page information
-	COM.CoTaskMemFree(caGUID.pElems);
-}
-private boolean updateStorage() {
-
-	if (tempStorage == null) return false;
-
-	int[] ppv = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIPersistStorage, ppv) != COM.S_OK) return false;
-	IPersistStorage iPersistStorage = new IPersistStorage(ppv[0]);
-
-	int result = COM.OleSave(iPersistStorage.getAddress(), tempStorage.getAddress(), true);
-
-	if (result != COM.S_OK){
-		// OleSave will fail for static objects, so do what OleSave does.
-		COM.WriteClassStg(tempStorage.getAddress(), objClsid);
-		result = iPersistStorage.Save(tempStorage.getAddress(), true);
-	}
-	
-	tempStorage.Commit(COM.STGC_DEFAULT);
-	result = iPersistStorage.SaveCompleted(0);
-	iPersistStorage.Release();	
-		
-	return true;
-}
-private SIZE xFormHimetricToPixels(SIZE aSize) {
-	// Return a new Size which is the pixel transformation of a 
-	// size in HIMETRIC units.
-
-	int hDC = OS.GetDC(0);
-	int xppi = OS.GetDeviceCaps(hDC, 88); // logical pixels/inch in x
-	int yppi = OS.GetDeviceCaps(hDC, 90); // logical pixels/inch in y
-	OS.ReleaseDC(0, hDC);
-	int cx = Compatibility.round(aSize.cx * xppi, 2540); // 2540 HIMETRIC units per inch
-	int cy = Compatibility.round(aSize.cy * yppi, 2540);
-	SIZE size = new SIZE();
-	size.cx = cx;
-	size.cy = cy;
-	return size;
-}
-private SIZE xFormPixelsToHimetric(SIZE aSize) {
-	// Return a new size which is the HIMETRIC transformation of a 
-	// size in pixel units.
-
-	int hDC = OS.GetDC(0);
-	int xppi = OS.GetDeviceCaps(hDC, 88); // logical pixels/inch in x
-	int yppi = OS.GetDeviceCaps(hDC, 90); // logical pixels/inch in y
-	OS.ReleaseDC(0, hDC);
-	int cx = Compatibility.round(aSize.cx * 2540, xppi); // 2540 HIMETRIC units per inch
-	int cy = Compatibility.round(aSize.cy * 2540, yppi);
-	SIZE size = new SIZE();
-	size.cx = cx;
-	size.cy = cy;
-	return size;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleControlSite.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleControlSite.java
deleted file mode 100755
index c1e8294..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleControlSite.java
+++ /dev/null
@@ -1,845 +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.ole.win32;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * OleControlSite provides a site to manage an embedded ActiveX Control within a container.
- *
- * <p>In addition to the behaviour provided by OleClientSite, this object provides the following: 
- * <ul>
- *	<li>events from the ActiveX control 
- * 	<li>notification of property changes from the ActiveX control
- *	<li>simplified access to well known properties of the ActiveX Control (e.g. font, background color)
- *	<li>expose ambient properties of the container to the ActiveX Control
- * </ul>
- *
- * <p>This object implements the OLE Interfaces IOleControlSite, IDispatch, and IPropertyNotifySink.
- *
- * <p>Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to add <code>Control</code> children to it,
- * or set a layout on it.
- * </p><p>
- * <dl>
- *	<dt><b>Styles</b> <dd>BORDER 
- *	<dt><b>Events</b> <dd>Dispose, Move, Resize
- * </dl>
- *
- */
-public class OleControlSite extends OleClientSite
-{
-	// interfaces for this container
-	private COMObject iOleControlSite;
-	private COMObject iDispatch;
-	
-	// supporting Property Change attributes
-	private OlePropertyChangeSink olePropertyChangeSink;
-	
-	// supporting Event Sink attributes
-	private OleEventSink[] oleEventSink = new OleEventSink[0];
-	private GUID[] oleEventSinkGUID = new GUID[0];
-	private int[] oleEventSinkIUnknown = new int[0];
-		
-	// supporting information for the Control COM object
-	private CONTROLINFO currentControlInfo;
-	private int[] sitePropertyIds = new int[0];
-	private Variant[] sitePropertyValues = new Variant[0];
-	
-/**
- * Create an OleControlSite child widget using style bits
- * to select a particular look or set of properties.
- *
- * @param parent a composite widget; must be an OleFrame
- * @param style the bitwise OR'ing of widget styles
- * @param progId the unique program identifier which has been registered for this ActiveX Control; 
- *               the value of the ProgID key or the value of the VersionIndependentProgID key specified
- *               in the registry for this Control (for example, the VersionIndependentProgID for 
- *               Internet Explorer is Shell.Explorer)
- *
- *@exception IllegalArgumentException <ul>
- *     <li>ERROR_NULL_ARGUMENT when the parent is null
- *</ul>
- * @exception SWTException <ul>
- *     <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- *     <li>ERROR_INVALID_CLASSID when the progId does not map to a registered CLSID
- *     <li>ERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object
- *     <li>ERROR_CANNOT_ACCESS_CLASSFACTORY when Class Factory could not be found
- *     <li>ERROR_CANNOT_CREATE_LICENSED_OBJECT when failed to create a licensed OLE Object
- * </ul>
- */
-public OleControlSite(Composite parent, int style, String progId) {
-	super(parent, style);
-	try {
-	
-		// check for licensing
-		appClsid = getClassID(progId);
-		if (appClsid == null) OLE.error(OLE.ERROR_INVALID_CLASSID);
-	
-		int licinfo = getLicenseInfo(appClsid);
-		if (licinfo == 0) {
-			
-			// Open a storage object
-			tempStorage = createTempStorage();
-	
-			// Create ole object with storage object
-			int[] address = new int[1];
-			int result = COM.OleCreate(appClsid, COM.IIDIUnknown, COM.OLERENDER_DRAW, null, 0, tempStorage.getAddress(), address);
-			if (result != COM.S_OK)
-				OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
-	
-			objIUnknown = new IUnknown(address[0]);
-			
-		} else {
-			// Prepare the ClassFactory
-			int[] ppvObject = new int[1];
-			try {
-				int result = COM.CoGetClassObject(appClsid, COM.CLSCTX_INPROC_HANDLER | COM.CLSCTX_INPROC_SERVER, 0, COM.IIDIClassFactory2, ppvObject);
-				if (result != COM.S_OK) {
-					OLE.error(OLE.ERROR_CANNOT_ACCESS_CLASSFACTORY, result);
-				}
-				IClassFactory2 classFactory = new IClassFactory2(ppvObject[0]);
-				// Create Com Object
-				ppvObject = new int[1];
-				result = classFactory.CreateInstanceLic(0, 0, COM.IIDIUnknown, licinfo, ppvObject);
-				classFactory.Release();
-				if (result != COM.S_OK)
-					OLE.error(OLE.ERROR_CANNOT_CREATE_LICENSED_OBJECT, result);
-			} finally {
-				COM.SysFreeString(licinfo);
-			}
-			
-			objIUnknown = new IUnknown(ppvObject[0]);
-	
-			// Prepare a storage medium
-			ppvObject = new int[1];
-			if (objIUnknown.QueryInterface(COM.IIDIPersistStorage, ppvObject) == COM.S_OK) {
-				IPersistStorage persist = new IPersistStorage(ppvObject[0]);
-				tempStorage = createTempStorage();
-				persist.InitNew(tempStorage.getAddress());
-				persist.Release();
-			}
-		}
-	
-		// Init sinks
-		addObjectReferences();
-		
-		// Init site properties
-		setSiteProperty(COM.DISPID_AMBIENT_USERMODE, new Variant(true));
-		setSiteProperty(COM.DISPID_AMBIENT_UIDEAD, new Variant(false));
-			
-		if (COM.OleRun(objIUnknown.getAddress()) == OLE.S_OK) state= STATE_RUNNING;
-
-	} catch (SWTError e) {
-		dispose();
-		disposeCOMInterfaces();
-		throw e;
-	}			
-}
-/**	 
- * Adds the listener to receive events.
- *
- * @param eventID the id of the event
- * 
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul> 
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addEventListener(int eventID, OleListener listener) {
-	if (listener == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	GUID riid = getDefaultEventSinkGUID(objIUnknown);
-	if (riid != null) {
-		addEventListener(objIUnknown.getAddress(), riid, eventID, listener);
-	}
-	
-}
-static GUID getDefaultEventSinkGUID(IUnknown unknown) {
-	// get Event Sink I/F from IProvideClassInfo2
-	int[] ppvObject = new int[1];
-	if (unknown.QueryInterface(COM.IIDIProvideClassInfo2, ppvObject) == COM.S_OK) {
-		IProvideClassInfo2 pci2 = new IProvideClassInfo2(ppvObject[0]);
-		GUID riid = new GUID();
-		int result = pci2.GetGUID(COM.GUIDKIND_DEFAULT_SOURCE_DISP_IID, riid);
-		pci2.Release();
-		if (result == COM.S_OK) return riid;
-	}
-
-	// get Event Sink I/F from IProvideClassInfo
-	if (unknown.QueryInterface(COM.IIDIProvideClassInfo, ppvObject) == COM.S_OK) {
-		IProvideClassInfo pci = new IProvideClassInfo(ppvObject[0]);
-		int[] ppTI = new int[1];
-		int[] ppEI = new int[1];
-		int result = pci.GetClassInfo(ppTI);
-		pci.Release();
-		
-		if (result == COM.S_OK && ppTI[0] != 0) {		
-			ITypeInfo classInfo = new ITypeInfo(ppTI[0]);
-			int[] ppTypeAttr = new int[1];
-			result = classInfo.GetTypeAttr(ppTypeAttr);
-			if (result == COM.S_OK  && ppTypeAttr[0] != 0) {
-				TYPEATTR typeAttribute = new TYPEATTR();
-				COM.MoveMemory(typeAttribute, ppTypeAttr[0], TYPEATTR.sizeof);
-				classInfo.ReleaseTypeAttr(ppTypeAttr[0]);
-				int implMask = COM.IMPLTYPEFLAG_FDEFAULT | COM.IMPLTYPEFLAG_FSOURCE | COM.IMPLTYPEFLAG_FRESTRICTED;
-				int implBits = COM.IMPLTYPEFLAG_FDEFAULT | COM.IMPLTYPEFLAG_FSOURCE;
-				
-				for (int i = 0; i < typeAttribute.cImplTypes; i++) {
-					int[] pImplTypeFlags = new int[1];
-					if (classInfo.GetImplTypeFlags(i, pImplTypeFlags) == COM.S_OK) {
-						if ((pImplTypeFlags[0] & implMask) == implBits) {
-							int[] pRefType = new int[1];
-							if (classInfo.GetRefTypeOfImplType(i, pRefType) == COM.S_OK) {
-								classInfo.GetRefTypeInfo(pRefType[0], ppEI);
-							}
-						}
-					}
-				}
-			}
-			classInfo.Release();
-	
-			if (ppEI[0] != 0) {
-				ITypeInfo eventInfo = new ITypeInfo(ppEI[0]);
-				ppTypeAttr = new int[1];
-				result = eventInfo.GetTypeAttr(ppTypeAttr);
-				GUID riid = null;
-				if (result == COM.S_OK && ppTypeAttr[0] != 0) {
-					riid = new GUID();
-					COM.MoveMemory(riid, ppTypeAttr[0], GUID.sizeof);
-					eventInfo.ReleaseTypeAttr(ppTypeAttr[0]);
-				}
-				eventInfo.Release();
-				return riid;
-			}
-		}
-	}
-	return null;
-}
-
-/**	 
- * Adds the listener to receive events.
- *
- * @since 2.0
- * 
- * @param automation the automation object that provides the event notification
- * @param eventID the id of the event
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul> 
- *	   <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addEventListener(OleAutomation automation, int eventID, OleListener listener) {
-	if (listener == null || automation == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	int address = automation.getAddress();
-	IUnknown unknown = new IUnknown(address);
-	GUID riid = getDefaultEventSinkGUID(unknown);
-	if (riid != null) {
-		addEventListener(address, riid, eventID, listener);
-	}
-	
-}
-/**
- * Adds the listener to receive events.
- *
- * @since 3.2
- * 
- * @param automation the automation object that provides the event notification
- * @param eventSinkId the GUID of the event sink
- * @param eventID the id of the event
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul> 
- *	   <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addEventListener(OleAutomation automation, String eventSinkId, int eventID, OleListener listener) {
-	if (listener == null || automation == null || eventSinkId == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	int address = automation.getAddress();
-	if (address == 0) return;
-	char[] buffer = (eventSinkId +"\0").toCharArray();
-	GUID guid = new GUID();
-	if (COM.IIDFromString(buffer, guid) != COM.S_OK) return;
-	addEventListener(address, guid, eventID, listener);
-}
-
-void addEventListener(int iunknown, GUID guid, int eventID, OleListener listener) {
-	if (listener == null || iunknown == 0 || guid == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	// have we connected to this kind of event sink before?
-	int index = -1;
-	for (int i = 0; i < oleEventSinkGUID.length; i++) {
-		if (COM.IsEqualGUID(oleEventSinkGUID[i], guid)) {
-			if (iunknown == oleEventSinkIUnknown[i]) {
-				index = i; 
-				break;
-			}
-		}
-	}
-	if (index != -1) {
-		oleEventSink[index].addListener(eventID, listener);
-	} else {
-		int oldLength = oleEventSink.length;
-		OleEventSink[] newOleEventSink = new OleEventSink[oldLength + 1];
-		GUID[] newOleEventSinkGUID = new GUID[oldLength + 1];
-		int[] newOleEventSinkIUnknown = new int[oldLength + 1];
-		System.arraycopy(oleEventSink, 0, newOleEventSink, 0, oldLength);
-		System.arraycopy(oleEventSinkGUID, 0, newOleEventSinkGUID, 0, oldLength);
-		System.arraycopy(oleEventSinkIUnknown, 0, newOleEventSinkIUnknown, 0, oldLength);
-		oleEventSink = newOleEventSink;
-		oleEventSinkGUID = newOleEventSinkGUID;
-		oleEventSinkIUnknown = newOleEventSinkIUnknown;
-		
-		oleEventSink[oldLength] = new OleEventSink(this, iunknown, guid);
-		oleEventSinkGUID[oldLength] = guid;
-		oleEventSinkIUnknown[oldLength] = iunknown;
-		oleEventSink[oldLength].AddRef();
-		oleEventSink[oldLength].connect();
-		oleEventSink[oldLength].addListener(eventID, listener);
-		
-	}
-}
-protected void addObjectReferences() {
-
-	super.addObjectReferences();
-	
-	// Get property change notification from control
-	connectPropertyChangeSink();
-
-	// Get access to the Control object
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIOleControl, ppvObject) == COM.S_OK) {
-		IOleControl objIOleControl = new IOleControl(ppvObject[0]);
-		// ask the control for its info in case users
-		// need to act on it
-		currentControlInfo = new CONTROLINFO();
-		objIOleControl.GetControlInfo(currentControlInfo);
-		objIOleControl.Release();
-	}		
-}
-/**	 
- * Adds the listener to receive events.
- *
- * @param propertyID the identifier of the property
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul> 
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void addPropertyListener(int propertyID, OleListener listener) {
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	olePropertyChangeSink.addListener(propertyID, listener);	
-}
-
-private void connectPropertyChangeSink() {
-	olePropertyChangeSink = new OlePropertyChangeSink(this);
-	olePropertyChangeSink.AddRef();
-	olePropertyChangeSink.connect(objIUnknown);
-}
-protected void createCOMInterfaces () {
-	super.createCOMInterfaces();
-	
-	// register each of the interfaces that this object implements
-	iOleControlSite = new COMObject(new int[]{2, 0, 0, 0, 1, 1, 3, 2, 1, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return OnControlInfoChanged();}
-		// method4 LockInPlaceActive - not implemented
-		// method5 GetExtendedControl - not implemented
-		// method6 TransformCoords - not implemented
-		// method7 Translate Accelerator - not implemented
-		public int method8(int[] args) {return OnFocus(args[0]);}
-		// method9 ShowPropertyFrame - not implemented
-	};
-	
-	iDispatch = new COMObject(new int[]{2, 0, 0, 1, 3, 5, 8}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		// method3 GetTypeInfoCount - not implemented
-		// method4 GetTypeInfo - not implemented
-		// method5 GetIDsOfNames - not implemented
-		public int method6(int[] args) {return Invoke(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);}
-	};
-}
-private void disconnectEventSinks() {
-
-	for (int i = 0; i < oleEventSink.length; i++) {
-		OleEventSink sink = oleEventSink[i];
-		sink.disconnect();
-		sink.Release();
-	}
-	oleEventSink = new OleEventSink[0];
-	oleEventSinkGUID = new GUID[0];
-	oleEventSinkIUnknown = new int[0];
-}
-private void disconnectPropertyChangeSink() {
-
-	if (olePropertyChangeSink != null) {
-		olePropertyChangeSink.disconnect(objIUnknown);
-		olePropertyChangeSink.Release();
-	}
-	olePropertyChangeSink = null;
-}
-protected void disposeCOMInterfaces() {
-	super.disposeCOMInterfaces();
-
-	if (iOleControlSite != null)
-		iOleControlSite.dispose();
-	iOleControlSite = null;
-
-	if (iDispatch != null)
-		iDispatch.dispose();
-	iDispatch = null;
-}
-public Color getBackground () {
-
-	if (objIUnknown != null) {
-		// !! We are getting the OLE_COLOR - should we change this to the COLORREF value?
-		OleAutomation oleObject= new OleAutomation(this);
-		Variant varBackColor = oleObject.getProperty(COM.DISPID_BACKCOLOR);
-		oleObject.dispose();
-	
-		if (varBackColor != null){
-			int[] colorRef = new int[1];
-			if (COM.OleTranslateColor(varBackColor.getInt(), getDisplay().hPalette, colorRef) == COM.S_OK)
-				return Color.win32_new(getDisplay(), colorRef[0]);
-		}
-	}
-		
-	return super.getBackground();
-}
-public Font getFont () {
-
-	if (objIUnknown != null) {
-		OleAutomation oleObject= new OleAutomation(this);
-		Variant varDispFont = oleObject.getProperty(COM.DISPID_FONT);
-		oleObject.dispose();
-	
-		if (varDispFont != null){
-			OleAutomation iDispFont = varDispFont.getAutomation();
-			Variant lfFaceName = iDispFont.getProperty(COM.DISPID_FONT_NAME);
-			Variant lfHeight   = iDispFont.getProperty(COM.DISPID_FONT_SIZE);
-			Variant lfItalic   = iDispFont.getProperty(COM.DISPID_FONT_ITALIC);
-			//Variant lfCharSet  = iDispFont.getProperty(COM.DISPID_FONT_CHARSET);
-			Variant lfBold     = iDispFont.getProperty(COM.DISPID_FONT_BOLD);
-			iDispFont.dispose();
-
-			if (lfFaceName != null && 
-				lfHeight != null && 
-				lfItalic != null && 
-				lfBold != null){
-				int style = 3 * lfBold.getInt() + 2 * lfItalic.getInt();
-				Font font = new Font(getShell().getDisplay(), lfFaceName.getString(), lfHeight.getInt(), style);
-				return font;
-			}
-		}
-	}
-		
-	return super.getFont();
-}
-public Color getForeground () {
-
-	if (objIUnknown != null) {
-		// !! We are getting the OLE_COLOR - should we change this to the COLORREF value?
-		OleAutomation oleObject= new OleAutomation(this);
-		Variant varForeColor = oleObject.getProperty(COM.DISPID_FORECOLOR);
-		oleObject.dispose();
-	
-		if (varForeColor != null){
-			int[] colorRef = new int[1];
-			if (COM.OleTranslateColor(varForeColor.getInt(), getDisplay().hPalette, colorRef) == COM.S_OK)
-				return Color.win32_new(getDisplay(), colorRef[0]);
-		}
-	}
-		
-	return super.getForeground();
-}
-protected int getLicenseInfo(GUID clsid) {
-	int[] ppvObject = new int[1];
-
-	if (COM.CoGetClassObject(clsid, COM.CLSCTX_INPROC_HANDLER | COM.CLSCTX_INPROC_SERVER, 0, COM.IIDIClassFactory2, ppvObject) != COM.S_OK) {
-		return 0;
-	}
-	IClassFactory2 classFactory = new IClassFactory2(ppvObject[0]);
-	LICINFO licinfo = new LICINFO();
-	if (classFactory.GetLicInfo(licinfo) != COM.S_OK) {
-		classFactory.Release();
-		return 0;
-	}
-	int[] pBstrKey = new int[1];
-	if (licinfo != null && licinfo.fRuntimeKeyAvail) {
-		if (classFactory.RequestLicKey(0, pBstrKey) == COM.S_OK) {
-			classFactory.Release();
-			return pBstrKey[0];
-		}
-	}
-	classFactory.Release();
-	return 0;
-}
-/**
- * 
- * Get the control site property specified by the dispIdMember.
- * 
- * @since 2.1
- * 
- */
-public Variant getSiteProperty(int dispId){
-	for (int i = 0; i < sitePropertyIds.length; i++) {
-		if (sitePropertyIds[i] == dispId) {
-			return sitePropertyValues[i];
-		}
-	}
-	return null;
-}
-protected int GetWindow(int phwnd) {
-
-	if (phwnd == 0)
-		return COM.E_INVALIDARG;
-	if (frame == null) {
-		COM.MoveMemory(phwnd, new int[] {0}, 4);
-		return COM.E_NOTIMPL;
-	}
-	
-	// Copy the Window's handle into the memory passed in
-	COM.MoveMemory(phwnd, new int[] {handle}, 4);
-	return COM.S_OK;
-}
-private int Invoke(int dispIdMember, int riid, int lcid, int dwFlags, int pDispParams, int pVarResult, int pExcepInfo, int pArgErr) {
-	if (pVarResult == 0 || dwFlags != COM.DISPATCH_PROPERTYGET) {
-		if (pExcepInfo != 0) COM.MoveMemory(pExcepInfo, new int[] {0}, 4);
-		if (pArgErr != 0) COM.MoveMemory(pArgErr, new int[] {0}, 4);
-		return COM.DISP_E_MEMBERNOTFOUND;
-	}
-	Variant result = getSiteProperty(dispIdMember);
-	if (result != null) {
-		if (pVarResult != 0) result.getData(pVarResult);
-		return COM.S_OK;
-	}
-	switch (dispIdMember) {
-			// indicate a false result
-		case COM.DISPID_AMBIENT_SUPPORTSMNEMONICS :
-		case COM.DISPID_AMBIENT_SHOWGRABHANDLES :
-		case COM.DISPID_AMBIENT_SHOWHATCHING :
-			if (pVarResult != 0) COM.MoveMemory(pVarResult, new int[] {0}, 4);
-			if (pExcepInfo != 0) COM.MoveMemory(pExcepInfo, new int[] {0}, 4);
-			if (pArgErr != 0) COM.MoveMemory(pArgErr, new int[] {0}, 4);
-			return COM.S_FALSE;
-
-			// not implemented
-		case COM.DISPID_AMBIENT_OFFLINEIFNOTCONNECTED :
-		case COM.DISPID_AMBIENT_BACKCOLOR :
-		case COM.DISPID_AMBIENT_FORECOLOR :
-		case COM.DISPID_AMBIENT_FONT :
-		case COM.DISPID_AMBIENT_LOCALEID :
-		case COM.DISPID_AMBIENT_SILENT :
-		case COM.DISPID_AMBIENT_MESSAGEREFLECT :
-			if (pVarResult != 0) COM.MoveMemory(pVarResult, new int[] {0}, 4);
-			if (pExcepInfo != 0) COM.MoveMemory(pExcepInfo, new int[] {0}, 4);
-			if (pArgErr != 0) COM.MoveMemory(pArgErr, new int[] {0}, 4);
-			return COM.E_NOTIMPL;
-			
-		default :
-			if (pVarResult != 0) COM.MoveMemory(pVarResult, new int[] {0}, 4);
-			if (pExcepInfo != 0) COM.MoveMemory(pExcepInfo, new int[] {0}, 4);
-			if (pArgErr != 0) COM.MoveMemory(pArgErr, new int[] {0}, 4);
-			return COM.DISP_E_MEMBERNOTFOUND;
-	}
-}
-private int OnControlInfoChanged() {
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIOleControl, ppvObject) == COM.S_OK) {
-		IOleControl objIOleControl = new IOleControl(ppvObject[0]);
-		// ask the control for its info in case users
-		// need to act on it
-		currentControlInfo = new CONTROLINFO();
-		objIOleControl.GetControlInfo(currentControlInfo);
-		objIOleControl.Release();
-	}
-	return COM.S_OK;
-}
-void onFocusIn(Event e) {
-	if (objIOleInPlaceObject == null) return;
-	doVerb(OLE.OLEIVERB_UIACTIVATE);
-	if (isFocusControl()) return;
-	int[] phwnd = new int[1];
-	objIOleInPlaceObject.GetWindow(phwnd);
-	if (phwnd[0] == 0) return;
-	OS.SetFocus(phwnd[0]);
-}
-void onFocusOut(Event e) {
-	if (objIOleInPlaceObject != null) {
-		objIOleInPlaceObject.UIDeactivate();
-	}
-}
-private int OnFocus(int fGotFocus) {
-	return COM.S_OK;
-}
-protected int OnUIDeactivate(int fUndoable) {
-	// controls don't need to do anything for
-	// border space or menubars
-	state = STATE_INPLACEACTIVE;
-	return COM.S_OK;
-}
-protected int QueryInterface(int riid, int ppvObject) {
-	int result = super.QueryInterface(riid, ppvObject);
-	if (result == COM.S_OK)
-		return result;
-	if (riid == 0 || ppvObject == 0)
-		return COM.E_INVALIDARG;
-	GUID guid = new GUID();
-	COM.MoveMemory(guid, riid, GUID.sizeof);
-	if (COM.IsEqualGUID(guid, COM.IIDIOleControlSite)) {
-		COM.MoveMemory(ppvObject, new int[] {iOleControlSite.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIDispatch)) {
-		COM.MoveMemory(ppvObject, new int[] {iDispatch.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-protected int Release() {
-	int result = super.Release();
-	if (result == 0) {
-		for (int i = 0; i < sitePropertyIds.length; i++) {
-			sitePropertyValues[i].dispose();
-		}
-		sitePropertyIds = new int[0];
-		sitePropertyValues = new Variant[0];
-	}
-	return result;
-}
-protected void releaseObjectInterfaces() {
-	
-	disconnectEventSinks();
-	
-	disconnectPropertyChangeSink();
-
-	super.releaseObjectInterfaces();
-}
-/**	 
- * Removes the listener.
- *
- * @param eventID the event identifier
- * 
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeEventListener(int eventID, OleListener listener) {
-	checkWidget();
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	
-	GUID riid = getDefaultEventSinkGUID(objIUnknown);
-	if (riid != null) {
-		removeEventListener(objIUnknown.getAddress(), riid, eventID, listener);
-	}
-}
-/**	 
- * Removes the listener.
- *
- * @since 2.0
- * @deprecated - use OleControlSite.removeEventListener(OleAutomation, int, OleListener)
- * 
- * @param automation the automation object that provides the event notification
- * 
- * @param guid the identifier of the events COM interface
- * 
- * @param eventID the event identifier
- * 
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeEventListener(OleAutomation automation, GUID guid, int eventID, OleListener listener) {
-	checkWidget();
-	if (automation == null || listener == null || guid == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	removeEventListener(automation.getAddress(), guid, eventID, listener);
-}
-/**	 
- * Removes the listener.
- *
- * @since 2.0
- * 
- * @param automation the automation object that provides the event notification
- * 
- * @param eventID the event identifier
- * 
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removeEventListener(OleAutomation automation, int eventID, OleListener listener) {
-	checkWidget();
-	if (automation == null || listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int address = automation.getAddress();
-	IUnknown unknown = new IUnknown(address);
-	GUID riid = getDefaultEventSinkGUID(unknown);
-	if (riid != null) {
-		removeEventListener(address, riid, eventID, listener);
-	}
-}
-void removeEventListener(int iunknown, GUID guid, int eventID, OleListener listener) {
-	if (listener == null || guid == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	for (int i = 0; i < oleEventSink.length; i++) {
-		if (COM.IsEqualGUID(oleEventSinkGUID[i], guid)) {
-			if (iunknown == oleEventSinkIUnknown[i]) {
-				oleEventSink[i].removeListener(eventID, listener);
-				if (!oleEventSink[i].hasListeners()) {
-					//free resources associated with event sink
-					oleEventSink[i].disconnect();
-					oleEventSink[i].Release();
-					int oldLength = oleEventSink.length;
-					if (oldLength == 1) {
-						oleEventSink = new OleEventSink[0];
-						oleEventSinkGUID = new GUID[0];
-						oleEventSinkIUnknown = new int[0];
-					} else {
-						OleEventSink[] newOleEventSink = new OleEventSink[oldLength - 1];
-						System.arraycopy(oleEventSink, 0, newOleEventSink, 0, i);
-						System.arraycopy(oleEventSink, i + 1, newOleEventSink, i, oldLength - i - 1);
-						oleEventSink = newOleEventSink;
-						
-						GUID[] newOleEventSinkGUID = new GUID[oldLength - 1];
-						System.arraycopy(oleEventSinkGUID, 0, newOleEventSinkGUID, 0, i);
-						System.arraycopy(oleEventSinkGUID, i + 1, newOleEventSinkGUID, i, oldLength - i - 1);
-						oleEventSinkGUID = newOleEventSinkGUID;
-						
-						int[] newOleEventSinkIUnknown = new int[oldLength - 1];
-						System.arraycopy(oleEventSinkIUnknown, 0, newOleEventSinkIUnknown, 0, i);
-						System.arraycopy(oleEventSinkIUnknown, i + 1, newOleEventSinkIUnknown, i, oldLength - i - 1);
-						oleEventSinkIUnknown = newOleEventSinkIUnknown;
-					}
-				}
-				return;
-			}
-		}
-	}
-}
-/**	 
- * Removes the listener.
- *
- * @param listener the listener
- *
- * @exception IllegalArgumentException <ul>
- *	    <li>ERROR_NULL_ARGUMENT when listener is null</li>
- * </ul>
- */
-public void removePropertyListener(int propertyID, OleListener listener) {
-	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	olePropertyChangeSink.removeListener(propertyID, listener);
-}
-public void setBackground (Color color) {
-
-	super.setBackground(color);
-
-	//set the background of the ActiveX Control
-	if (objIUnknown != null) {
-		OleAutomation oleObject= new OleAutomation(this);
-		oleObject.setProperty(COM.DISPID_BACKCOLOR, new Variant(color.handle));
-		oleObject.dispose();
-	}
-}
-public void setFont (Font font) {
-
-	super.setFont(font);
-	
-	//set the font of the ActiveX Control
-	if (objIUnknown != null) {
-		
-		OleAutomation oleObject= new OleAutomation(this);
-		Variant varDispFont = oleObject.getProperty(COM.DISPID_FONT);
-		oleObject.dispose();
-	
-		if (varDispFont != null){
-			OleAutomation iDispFont = varDispFont.getAutomation();
-			FontData[] fdata = font.getFontData();
-			iDispFont.setProperty(COM.DISPID_FONT_NAME,   new Variant(fdata[0].getName()));
-			iDispFont.setProperty(COM.DISPID_FONT_SIZE,   new Variant(fdata[0].getHeight()));
-			iDispFont.setProperty(COM.DISPID_FONT_ITALIC, new Variant(fdata[0].getStyle() & SWT.ITALIC));
-			//iDispFont.setProperty(COM.DISPID_FONT_CHARSET, new Variant(fdata[0].getCharset));
-			iDispFont.setProperty(COM.DISPID_FONT_BOLD,   new Variant((fdata[0].getStyle() & SWT.BOLD)));
-			iDispFont.dispose();
-		}
-	}
-		
-	return;
-}
-public void setForeground (Color color) {
-
-	super.setForeground(color);
-
-	//set the foreground of the ActiveX Control
-	if (objIUnknown != null) {
-		OleAutomation oleObject= new OleAutomation(this);
-		oleObject.setProperty(COM.DISPID_FORECOLOR, new Variant(color.handle));
-		oleObject.dispose();
-	}
-}
-/**
- * Sets the control site property specified by the dispIdMember to a new value.
- * The value will be disposed by the control site when it is no longer required
- * using Variant.dispose.  Passing a value of null will clear the dispId value.
- * 
- * @param dispId the ID of the property as specified by the IDL of the ActiveX Control
- * @param value The new value for the property as expressed in a Variant.
- *
- * @since 2.1
- */
-public void setSiteProperty(int dispId, Variant value){
-	for (int i = 0; i < sitePropertyIds.length; i++) {
-		if (sitePropertyIds[i] == dispId) {
-			if (sitePropertyValues[i] != null) {
-				sitePropertyValues[i].dispose();
-			}
-			if (value != null) {
-				sitePropertyValues[i] = value;
-			} else {
-				int oldLength = sitePropertyIds.length;
-				int[] newSitePropertyIds = new int[oldLength - 1];
-				Variant[] newSitePropertyValues = new Variant[oldLength - 1];
-				System.arraycopy(sitePropertyIds, 0, newSitePropertyIds, 0, i);
-				System.arraycopy(sitePropertyIds, i + 1, newSitePropertyIds, i, oldLength - i - 1);
-				System.arraycopy(sitePropertyValues, 0, newSitePropertyValues, 0, i);
-				System.arraycopy(sitePropertyValues, i + 1, newSitePropertyValues, i, oldLength - i - 1);
-				sitePropertyIds = newSitePropertyIds;
-				sitePropertyValues = newSitePropertyValues;
-			}
-			return;
-		}
-	}
-	int oldLength = sitePropertyIds.length;
-	int[] newSitePropertyIds = new int[oldLength + 1];
-	Variant[] newSitePropertyValues = new Variant[oldLength + 1];
-	System.arraycopy(sitePropertyIds, 0, newSitePropertyIds, 0, oldLength);
-	System.arraycopy(sitePropertyValues, 0, newSitePropertyValues, 0, oldLength);
-	newSitePropertyIds[oldLength] = dispId;
-	newSitePropertyValues[oldLength] = value;
-	sitePropertyIds = newSitePropertyIds;
-	sitePropertyValues = newSitePropertyValues;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEvent.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEvent.java
deleted file mode 100755
index 92439e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEvent.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-import org.eclipse.swt.widgets.Widget;
-
-public class OleEvent {
-	public int type;
-	public Widget widget;
-	public int detail;
-	public boolean doit = true;
-	public Variant[] arguments;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventSink.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventSink.java
deleted file mode 100755
index 957c6d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventSink.java
+++ /dev/null
@@ -1,179 +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.ole.win32;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-
-final class OleEventSink
-{
-	private OleControlSite widget;
-	
-	private COMObject iDispatch;
-	private int refCount;
-
-	private IUnknown objIUnknown;
-	private int  eventCookie;
-	private GUID eventGuid;
-
-	private OleEventTable eventTable;
-	
-OleEventSink(OleControlSite widget, int iUnknown, GUID riid) {
-
-	this.widget = widget;
-	this.eventGuid = riid;
-	this.objIUnknown = new IUnknown(iUnknown);
-	
-	createCOMInterfaces();
-}
-
-void connect () {
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIConnectionPointContainer, ppvObject) == COM.S_OK) {
-		IConnectionPointContainer cpc = new IConnectionPointContainer(ppvObject[0]);
-		int[] ppCP = new int[1];
-		if (cpc.FindConnectionPoint(eventGuid, ppCP) == COM.S_OK) {
-			IConnectionPoint cp = new IConnectionPoint(ppCP[0]);
-			int[] pCookie = new int[1];
-			if (cp.Advise(iDispatch.getAddress(), pCookie) == COM.S_OK)
-				eventCookie = pCookie[0];
-			cp.Release();
-		}
-		cpc.Release();
-	}
-}
-void addListener(int eventID, OleListener listener) {
-	if (listener == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) eventTable = new OleEventTable ();
-	eventTable.hook(eventID, listener);
-}
-int AddRef() {
-	refCount++;
-	return refCount;
-}
-private void createCOMInterfaces() {
-	iDispatch = new COMObject(new int[]{2, 0, 0, 1, 3, 4, 8}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		// method3 GetTypeInfoCount - not implemented
-		// method4 GetTypeInfo - not implemented
-		// method5 GetIDsOfNames - not implemented
-		public int method6(int[] args) {return Invoke(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);}
-	};
-}
-void disconnect() {
-	// disconnect event sink
-	if (eventCookie != 0 && objIUnknown != null) {
-		int[] ppvObject = new int[1];
-		if (objIUnknown.QueryInterface(COM.IIDIConnectionPointContainer, ppvObject) == COM.S_OK) {
-			IConnectionPointContainer cpc = new IConnectionPointContainer(ppvObject[0]);
-			if (cpc.FindConnectionPoint(eventGuid, ppvObject) == COM.S_OK) {
-				IConnectionPoint cp = new IConnectionPoint(ppvObject[0]);
-				if (cp.Unadvise(eventCookie) == COM.S_OK) {
-					eventCookie = 0;
-				}
-				cp.Release();
-			}
-			cpc.Release();
-		}
-	}
-}
-private void disposeCOMInterfaces() {
-	if (iDispatch != null)
-		iDispatch.dispose();
-	iDispatch = null;
-	
-}
-private int Invoke(int dispIdMember, int riid, int lcid, int dwFlags, int pDispParams, int pVarResult, int pExcepInfo, int pArgErr)
-{
-	if (eventTable == null || !eventTable.hooks(dispIdMember)) return COM.S_OK;
-	
-	// Construct an array of the parameters that are passed in
-	// Note: parameters are passed in reverse order - here we will correct the order
-	Variant[] eventInfo = null;
-	if (pDispParams != 0) {	
-		DISPPARAMS dispParams = new DISPPARAMS();
-		COM.MoveMemory(dispParams, pDispParams, DISPPARAMS.sizeof);
-		eventInfo = new Variant[dispParams.cArgs];
-		int size = Variant.sizeof;
-		int offset = (dispParams.cArgs - 1) * size;
-		
-		for (int j = 0; j < dispParams.cArgs; j++){
-			eventInfo[j] = new Variant();
-			eventInfo[j].setData(dispParams.rgvarg + offset);
-			offset = offset - size;
-		}
-	}
-		
-	OleEvent event = new OleEvent();
-	event.arguments = eventInfo;
-	notifyListener(dispIdMember,event);
-	return COM.S_OK;
-}
-/**
-* Notify listeners of an event.
-* <p>
-*	This method notifies all listeners that an event
-* has occurred.
-*
-* @param eventType the desired SWT event
-* @param event the event data
-*
-* @exception IllegalArgumentException <ul>
-* 		<li>ERROR_NULL_ARGUMENT when handler is null</li>
-* </ul>
-* @exception SWTException <ul>
-*		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-*		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-*	</ul>
-*/
-private void notifyListener (int eventType, OleEvent event) {
-	if (event == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) return;
-	event.type = eventType;
-	event.widget = widget;
-	eventTable.sendEvent (event);
-}
-private int QueryInterface(int riid, int 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.IsEqualGUID(guid, eventGuid)) {
-		COM.MoveMemory(ppvObject, new int[] {iDispatch.getAddress()}, 4);
-		AddRef();
-		return OLE.S_OK;
-	}
-
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-int Release() {
-	refCount--;
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-	}
-	
-	return refCount;
-}
-void removeListener(int eventID, OleListener listener) {
-	if (listener == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) return;
-	eventTable.unhook (eventID, listener);
-}
-boolean hasListeners() {
-	return eventTable.hasEntries();
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventTable.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventTable.java
deleted file mode 100755
index f925e2b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleEventTable.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-/**
-* The OleEventTable class implements a simple
-* look up mechanism that maps an event type
-* to a listener.  Muliple listeners for the
-* same event type are supported.
-*
-*/
-
-class OleEventTable {
-	int [] types;
-	OleListener [] handlers;
-void hook (int eventType, OleListener handler) {
-	if (types == null) types = new int [4];
-	if (handlers == null) handlers = new OleListener [4];
-	for (int i=0; i<types.length; i++) {
-		if (types [i] == 0) {
-			types [i] = eventType;
-			handlers [i] = handler;
-			return;
-		}
-	}
-	int size = types.length;
-	int [] newTypes = new int [size + 4];
-	OleListener [] newHandlers = new OleListener [size + 4];
-	System.arraycopy (types, 0, newTypes, 0, size);
-	System.arraycopy (handlers, 0, newHandlers, 0, size);
-	types = newTypes;  handlers = newHandlers;
-	types [size] = eventType;  handlers [size] = handler;
-}
-boolean hooks (int eventType) {
-	if (handlers == null) return false;
-	for (int i=0; i<types.length; i++) {
-		if (types [i] == eventType) return true;
-	}
-	return false;
-}
-void sendEvent (OleEvent event) {
-	if (handlers == null) return;
-	for (int i=0; i<types.length; i++) {
-		if (types [i] == event.type) {
-			OleListener listener = handlers [i];
-			if (listener != null) listener.handleEvent (event);
-		}
-	}
-}
-void unhook (int eventType, OleListener handler) {
-	if (handlers == null) return;
-	for (int i=0; i<types.length; i++) {
-		if ((types [i] == eventType) && (handlers [i] == handler)) {
-			types [i] = 0;
-			handlers [i] = null;
-			return;
-		}
-	}
-}
-boolean hasEntries() {
-	for (int i=0; i<types.length; i++) {
-		if (types[i] != 0) return true;
-	}
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java
deleted file mode 100755
index 0c98378..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java
+++ /dev/null
@@ -1,752 +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.ole.win32;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.internal.*;
-import java.util.Vector;
-
-/**
- *
- * OleFrame is an OLE Container's top level frame.
- *
- * <p>This object implements the OLE Interfaces IUnknown and IOleInPlaceFrame
- *
- * <p>OleFrame allows the container to do the following: <ul>
- *	<li>position and size the ActiveX Control or OLE Document within the application
- *	<li>insert menu items from the application into the OLE Document's menu
- *	<li>activate and deactivate the OLE Document's menus
- *	<li>position the OLE Document's menu in the application
- *	<li>translate accelerator keystrokes intended for the container's frame</ul>
- * 
- * <dl>
- *	<dt><b>Styles</b> <dd>BORDER 
- *	<dt><b>Events</b> <dd>Dispose, Move, Resize
- * </dl>
- *
- */
-final public class OleFrame extends Composite
-{	
-	// Interfaces for this Ole Client Container
-	private COMObject iUnknown;
-	private COMObject iOleInPlaceFrame;
-
-	// Access to the embedded/linked Ole Object 
-	private IOleInPlaceActiveObject objIOleInPlaceActiveObject;
-	
-	private OleClientSite currentdoc;
-
-	private int refCount = 0;
-	
-	private MenuItem[] fileMenuItems;
-	private MenuItem[] containerMenuItems;
-	private MenuItem[] windowMenuItems;
-
-	private Listener listener;
-	
-	private static String CHECK_FOCUS = "OLE_CHECK_FOCUS"; //$NON-NLS-1$
-	private static String HHOOK = "OLE_HHOOK"; //$NON-NLS-1$
-	private static String HHOOKMSG = "OLE_HHOOK_MSG"; //$NON-NLS-1$
-
-	private static boolean ignoreNextKey;
-	private static final short [] ACCENTS = new short [] {'~', '`', '\'', '^', '"'};
-	
-/**
- * Create an OleFrame child widget using style bits
- * to select a particular look or set of properties.
- *
- * @param parent a composite widget (cannot be null)
- * @param style the bitwise OR'ing of widget styles
- *
- * @exception IllegalArgumentException <ul>
- *     <li>ERROR_NULL_ARGUMENT when the parent is null
- * </ul>
- * @exception SWTException <ul>
- *     <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread
- * </ul>
- *
- */
-public OleFrame(Composite parent, int style) {
-	super(parent, style);
-	
-	createCOMInterfaces();
-
-	// setup cleanup proc
-	listener = new Listener()  {
-		public void handleEvent(Event e) {
-			switch (e.type) {
-			case SWT.Dispose :  onDispose(e); break;
-			case SWT.Resize :
-			case SWT.Move :     onResize(e); break;
-			default :
-				OLE.error(SWT.ERROR_NOT_IMPLEMENTED);
-			}
-		}
-	};
-	
-	addListener(SWT.Dispose, listener);
-
-	// inform inplaceactiveobject whenever frame resizes
-	addListener(SWT.Resize, listener);
-	
-	// inform inplaceactiveobject whenever frame moves
-	addListener(SWT.Move, listener);
-
-	// Maintain a reference to yourself so that when
-	// ClientSites close, they don't take the frame away
-	// with them.
-	this.AddRef();
-	
-	// Check for focus change
-	Display display = getDisplay();
-	initCheckFocus(display);
-	initMsgHook(display);
-}
-private static void initCheckFocus (final Display display) {
-	if (display.getData(CHECK_FOCUS) != null) return;
-	display.setData(CHECK_FOCUS, CHECK_FOCUS);
-	final int time = 50;
-	final Runnable[] timer = new Runnable[1];
-	final Control[] lastFocus = new Control[1];
-	timer[0] = new Runnable() {
-		public void run() {
-			if (lastFocus[0] instanceof OleClientSite && !lastFocus[0].isDisposed()) {
-				// ignore popup menus and dialogs
-				int hwnd = OS.GetFocus();
-				while (hwnd != 0) {
-					int ownerHwnd = OS.GetWindow(hwnd, OS.GW_OWNER);
-					if (ownerHwnd != 0) {			
-						display.timerExec(time, timer[0]);
-						return;
-					}
-					hwnd = OS.GetParent(hwnd);
-				}	
-			}
-			if (lastFocus[0] == null || lastFocus[0].isDisposed() || !lastFocus[0].isFocusControl()) {
-				Control currentFocus = display.getFocusControl();
-				if (currentFocus instanceof OleFrame) {
-					OleFrame frame = (OleFrame) currentFocus;
-					currentFocus = frame.getCurrentDocument();
-				}
-				if (lastFocus[0] != currentFocus) {
-					Event event = new Event();
-					if (lastFocus[0] instanceof OleClientSite && !lastFocus[0].isDisposed()) {
-						lastFocus[0].notifyListeners (SWT.FocusOut, event);
-					}
-					if (currentFocus instanceof OleClientSite && !currentFocus.isDisposed()) {
-						currentFocus.notifyListeners(SWT.FocusIn, event);
-					}
-				}
-				lastFocus[0] = currentFocus;
-			}
-			display.timerExec(time, timer[0]);
-		}
-	};
-	display.timerExec(time, timer[0]);
-}
-private static void initMsgHook(Display display) {
-	if (display.getData(HHOOK) != null) return;
-	final Callback callback = new Callback(OleFrame.class, "getMsgProc", 3); //$NON-NLS-1$
-	int address = callback.getAddress();
-	if (address == 0) SWT.error(SWT.ERROR_NO_MORE_CALLBACKS);
-	int threadId = OS.GetCurrentThreadId();
-	final int hHook = OS.SetWindowsHookEx(OS.WH_GETMESSAGE, address, 0, threadId);
-	if (hHook == 0) {
-		callback.dispose();
-		return;
-	}
-	display.setData(HHOOK, new Integer(hHook));
-	display.setData(HHOOKMSG, new MSG());
-	display.disposeExec(new Runnable() {
-		public void run() {
-			if (hHook != 0) OS.UnhookWindowsHookEx(hHook);
-			if (callback != null) callback.dispose();
-		}
-	});
-}
-static int getMsgProc(int code, int wParam, int lParam) {
-	Display display = Display.getCurrent();
-	if (display == null) return 0;
-	Integer hHook = (Integer)display.getData(HHOOK);
-	if (hHook == null) return 0;
-	if (code < 0) {
-		return OS.CallNextHookEx(hHook.intValue(), code, wParam, lParam);
-	}
-	MSG msg = (MSG)display.getData(HHOOKMSG);
-	OS.MoveMemory(msg, lParam, MSG.sizeof);
-	int message = msg.message;
-	if (OS.WM_KEYFIRST <= message && message <= OS.WM_KEYLAST) {		
-		if (display != null) {
-			Widget widget = null;
-			int hwnd = msg.hwnd;
-			while (hwnd != 0) {
-				widget = display.findWidget (hwnd);
-				if (widget != null) break;
-				hwnd = OS.GetParent (hwnd);
-			}
-			if (widget != null && widget instanceof OleClientSite) {
-				OleClientSite site = (OleClientSite)widget;
-				if (site.handle == hwnd) {
-					boolean consumed = false;
-					/* Allow activeX control to translate accelerators except when a menu is active. */
-					int thread = OS.GetWindowThreadProcessId(msg.hwnd, null);
-					GUITHREADINFO  lpgui = new GUITHREADINFO();
-					lpgui.cbSize = GUITHREADINFO.sizeof;
-					boolean rc = OS.GetGUIThreadInfo(thread, lpgui);
-					int mask = OS.GUI_INMENUMODE | OS.GUI_INMOVESIZE | OS.GUI_POPUPMENUMODE | OS.GUI_SYSTEMMENUMODE;
-					if (!rc || (lpgui.flags & mask) == 0) {
-						OleFrame frame = site.frame;
-						consumed = frame.translateOleAccelerator(msg);
-					}
-					boolean accentKey = false;
-					switch (msg.message) {
-						case OS.WM_KEYDOWN:
-						case OS.WM_SYSKEYDOWN:
-							if (!OS.IsWinCE) {
-								/* 
-								* Bug in Windows. The high bit in the result of MapVirtualKey() on
-								* Windows NT is bit 32 while the high bit on Windows 95 is bit 16.
-								* They should both be bit 32.  The fix is to test the right bit.
-								*/
-								int mapKey = OS.MapVirtualKey (msg.wParam, 2);
-								if (mapKey != 0) {
-									accentKey = (mapKey & (OS.IsWinNT ? 0x80000000 : 0x8000)) != 0;
-									if (!accentKey) {
-										for (int i=0; i<ACCENTS.length; i++) {
-											int value = OS.VkKeyScan (ACCENTS [i]);
-											if (value != -1 && (value & 0xFF) == msg.wParam) {
-												int state = value >> 8;
-												if ((OS.GetKeyState (OS.VK_SHIFT) < 0) == ((state & 0x1) != 0) &&
-													(OS.GetKeyState (OS.VK_CONTROL) < 0) == ((state & 0x2) != 0) &&
-													(OS.GetKeyState (OS.VK_MENU) < 0) == ((state & 0x4) != 0)) {
-														if ((state & 0x7) != 0) accentKey = true;
-														break;
-												}
-											}
-										}
-									}
-								}
-							}
-					}
-					/* Allow OleClientSite to process key events before activeX control */
-					if (!consumed && !accentKey && !ignoreNextKey) {
-						int hwndOld = msg.hwnd;
-						msg.hwnd = site.handle;
-						consumed = OS.DispatchMessage (msg) == 1;
-						msg.hwnd = hwndOld;
-					}
-					switch (msg.message) {
-						case OS.WM_KEYDOWN:
-						case OS.WM_SYSKEYDOWN: ignoreNextKey = accentKey;
-					}
-
-					if (consumed) {
-						// In order to prevent this message from also being processed
-						// by the application, zero out message, wParam and lParam
-						msg.message = OS.WM_NULL;
-						msg.wParam = msg.lParam = 0;
-						OS.MoveMemory(lParam, msg, MSG.sizeof);
-						return 0;
-					}
-				}
-			}
-		}
-	}
-	return OS.CallNextHookEx(hHook.intValue(), code, wParam, lParam);
-}
-/**
- * Increment the count of references to this instance
- *
- * @return the current reference count
- */
-int AddRef() {
-	refCount++;
-	return refCount;
-}
-private int ContextSensitiveHelp(int fEnterMode) {
-	return COM.S_OK;
-}
-private void createCOMInterfaces() {
-	// Create each of the interfaces that this object implements
-	iUnknown = new COMObject(new int[]{2, 0, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-	};
-	
-	iOleInPlaceFrame = new COMObject(new int[]{2, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1, 2}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return GetWindow(args[0]);}
-		public int method4(int[] args) {return ContextSensitiveHelp(args[0]);}
-		public int method5(int[] args) {return GetBorder(args[0]);}
-		public int method6(int[] args) {return RequestBorderSpace(args[0]);}
-		public int method7(int[] args) {return SetBorderSpace(args[0]);}
-		public int method8(int[] args) {return SetActiveObject(args[0], args[1]);}
-		public int method9(int[] args) {return InsertMenus(args[0], args[1]);}
-		public int method10(int[] args) {return SetMenu(args[0], args[1], args[2]);}
-		public int method11(int[] args) {return RemoveMenus(args[0]);}
-		// method12 SetStatusText - not implemented
-		// method13 EnableModeless - not implemented
-		public int method14(int[] args) {return TranslateAccelerator(args[0], args[1]);}
-	};
-}
-private void disposeCOMInterfaces () {
-	
-	if (iUnknown != null)
-		iUnknown.dispose();
-	iUnknown = null;
-	
-	if (iOleInPlaceFrame != null)
-		iOleInPlaceFrame.dispose();
-	iOleInPlaceFrame = null;
-}
-private int GetBorder(int lprectBorder) {
-	/*
-	The IOleInPlaceUIWindow::GetBorder function, when called on a document or frame window 
-	object, returns the outer rectangle (relative to the window) where the object can put 
-	toolbars or similar controls.
-	*/
-	if (lprectBorder == 0) return COM.E_INVALIDARG;
-	RECT rectBorder = new RECT();
-	// Coordinates must be relative to the window
-	OS.GetClientRect(handle, rectBorder);
-	OS.MoveMemory(lprectBorder, rectBorder, RECT.sizeof);
-	return COM.S_OK;
-}
-/**
- *
- * Returns the application menu items that will appear in the Container location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * @return the application menu items that will appear in the Container location when an OLE Document 
- *         is in-place activated.
- *
- */
-public MenuItem[] getContainerMenus(){
-	return containerMenuItems;
-}
-/**
- *
- * Returns the application menu items that will appear in the File location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * @return the application menu items that will appear in the File location when an OLE Document 
- *         is in-place activated.
- *
- */
-public MenuItem[] getFileMenus(){
-	return fileMenuItems;
-}
-int getIOleInPlaceFrame() {
-	return iOleInPlaceFrame.getAddress();
-}
-private int getMenuItemID(int hMenu, int index) {
-	int id = 0;
-	MENUITEMINFO lpmii = new MENUITEMINFO();
-	lpmii.cbSize = MENUITEMINFO.sizeof;
-	lpmii.fMask = OS.MIIM_STATE | OS.MIIM_SUBMENU | OS.MIIM_ID;
-	OS.GetMenuItemInfo(hMenu, index, true, lpmii);
-	if ((lpmii.fState & OS.MF_POPUP) == OS.MF_POPUP) {
-		id = lpmii.hSubMenu;
-	} else {
-		id = lpmii.wID;
-	}
-	return id;
-}
-private int GetWindow(int phwnd) {
-	if (phwnd != 0) {
-		COM.MoveMemory(phwnd, new int[] {handle}, 4);
-	}
-	return COM.S_OK;
-}
-/**
- *
- * Returns the application menu items that will appear in the Window location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * @return the application menu items that will appear in the Window location when an OLE Document 
- *         is in-place activated.
- *
- */
-public MenuItem[] getWindowMenus(){
-	return windowMenuItems;
-}
-private int InsertMenus(int hmenuShared, int lpMenuWidths) {
-	// locate menu bar
-	Menu menubar = getShell().getMenuBar();
-	if (menubar == null || menubar.isDisposed()) {
-		COM.MoveMemory(lpMenuWidths, new int[] {0}, 4);
-		return COM.S_OK;
-	}
-	int hMenu = menubar.handle;
-
-	// Create a holder for menu information.  This will be passed down to
-	// the OS and the OS will fill in the requested information for each menu.
-	MENUITEMINFO lpmii = new MENUITEMINFO();
-	int hHeap = OS.GetProcessHeap();
-	int cch = 128;
-	int byteCount = cch * TCHAR.sizeof;
-	int pszText = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-	lpmii.cbSize = MENUITEMINFO.sizeof;
-	lpmii.fMask = OS.MIIM_STATE | OS.MIIM_ID | OS.MIIM_TYPE | OS.MIIM_SUBMENU | OS.MIIM_DATA;
-	lpmii.dwTypeData = pszText;
-	lpmii.cch = cch;
-
-	// Loop over all "File-like" menus in the menubar and get information about the
-	// item from the OS.
-	int fileMenuCount = 0;
-	int newindex = 0;
-	if (this.fileMenuItems != null) {
-		for (int i = 0; i < this.fileMenuItems.length; i++) {
-			MenuItem item = this.fileMenuItems[i];
-			if (item != null) {
-				int index = item.getParent().indexOf(item);
-				lpmii.cch = cch;  // lpmii.cch gets updated by GetMenuItemInfo to indicate the 
-				                  // exact number of characters in name.  Reset it to our max size 
-				                  // before each call.
-				if (OS.GetMenuItemInfo(hMenu, index, true, lpmii)) {
-					if (OS.InsertMenuItem(hmenuShared, newindex, true, lpmii)) {
-						// keep track of the number of items
-						fileMenuCount++;
-						newindex++;
-					}
-				}
-			}
-		}
-	}
-
-	// copy the menu item count information to the pointer
-	COM.MoveMemory(lpMenuWidths, new int[] {fileMenuCount}, 4);
-
-	// Loop over all "Container-like" menus in the menubar and get information about the
-	// item from the OS.
-	int containerMenuCount = 0;
-	if (this.containerMenuItems != null) {
-		for (int i = 0; i < this.containerMenuItems.length; i++) {
-			MenuItem item = this.containerMenuItems[i];
-			if (item != null) {
-				int index = item.getParent().indexOf(item);
-				lpmii.cch = cch; // lpmii.cch gets updated by GetMenuItemInfo to indicate the 
-				                           // exact nuber of characters in name.  Reset it to a large number 
-				                           // before each call.
-				if (OS.GetMenuItemInfo(hMenu, index, true, lpmii)) {
-					if (OS.InsertMenuItem(hmenuShared, newindex, true, lpmii)) {
-						// keep track of the number of items
-						containerMenuCount++;
-						newindex++;
-					}
-				}
-			}
-		}
-	}
-	
-	// copy the menu item count information to the pointer
-	COM.MoveMemory(lpMenuWidths + 8, new int[] {containerMenuCount}, 4);
-
-	// Loop over all "Window-like" menus in the menubar and get information about the
-	// item from the OS.
-	int windowMenuCount = 0;
-	if (this.windowMenuItems != null) {
-		for (int i = 0; i < this.windowMenuItems.length; i++) {
-			MenuItem item = this.windowMenuItems[i];
-			if (item != null) {
-				int index = item.getParent().indexOf(item);
-				lpmii.cch = cch; // lpmii.cch gets updated by GetMenuItemInfo to indicate the 
-				                           // exact nuber of characters in name.  Reset it to a large number 
-				                           // before each call.
-				if (OS.GetMenuItemInfo(hMenu, index, true, lpmii)) {
-					if (OS.InsertMenuItem(hmenuShared, newindex, true, lpmii)) {
-						// keep track of the number of items
-						windowMenuCount++;
-						newindex++;
-					}
-				}
-			}
-		}
-	}
-	
-	// copy the menu item count information to the pointer
-	COM.MoveMemory(lpMenuWidths + 16, new int[] {windowMenuCount}, 4);
-		
-	// free resources used in querying the OS
-	if (pszText != 0)
-		OS.HeapFree(hHeap, 0, pszText);
-	return COM.S_OK;
-}
-private void onDispose(Event e) {
-
-	releaseObjectInterfaces();
-	currentdoc = null;
-
-	this.Release();
-	removeListener(SWT.Dispose, listener);
-	removeListener(SWT.Resize, listener);
-	removeListener(SWT.Move, listener);
-}
-private void onResize(Event e) {
-	if (objIOleInPlaceActiveObject != null) {
-		RECT lpRect = new RECT();
-		OS.GetClientRect(handle, lpRect);
-		objIOleInPlaceActiveObject.ResizeBorder(lpRect, iOleInPlaceFrame.getAddress(), true);
-	}
-}
-private int QueryInterface(int riid, int ppvObject) {
-//	implements IUnknown, IOleInPlaceFrame, IOleContainer, IOleInPlaceUIWindow
-	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.IIDIOleInPlaceFrame) ) {
-		COM.MoveMemory(ppvObject, new int[] {iOleInPlaceFrame.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-/**
- * Decrement the count of references to this instance
- *
- * @return the current reference count
- */
-int Release() {
-	refCount--;
-	if (refCount == 0){
-		disposeCOMInterfaces();
-		COM.CoFreeUnusedLibraries();
-	}
-	return refCount;
-}
-private void releaseObjectInterfaces() {
-	if (objIOleInPlaceActiveObject != null) {
-		objIOleInPlaceActiveObject.Release();
-	}
-	objIOleInPlaceActiveObject = null;
-}
-private int RemoveMenus(int hmenuShared) {
-
-	Menu menubar = getShell().getMenuBar();
-	if (menubar == null || menubar.isDisposed()) return COM.S_FALSE;
-
-	int hMenu = menubar.handle;
-	
-	Vector ids = new Vector();
-	if (this.fileMenuItems != null) {
-		for (int i = 0; i < this.fileMenuItems.length; i++) {
-			MenuItem item = this.fileMenuItems[i];
-			if (item != null && !item.isDisposed()) {
-				int index = item.getParent().indexOf(item);
-				// get Id from original menubar
-				int id = getMenuItemID(hMenu, index);
-				ids.addElement(new Integer(id));
-			}
-		}
-	}
-	if (this.containerMenuItems != null) {
-		for (int i = 0; i < this.containerMenuItems.length; i++) {
-			MenuItem item = this.containerMenuItems[i];
-			if (item != null && !item.isDisposed()) {
-				int index = item.getParent().indexOf(item);
-				int id = getMenuItemID(hMenu, index);
-				ids.addElement(new Integer(id));
-			}
-		}
-	}
-	if (this.windowMenuItems != null) {
-		for (int i = 0; i < this.windowMenuItems.length; i++) {
-			MenuItem item = this.windowMenuItems[i];
-			if (item != null && !item.isDisposed()) {
-				int index = item.getParent().indexOf(item);
-				int id = getMenuItemID(hMenu, index);
-				ids.addElement(new Integer(id));
-			}
-		}
-	}
-	int index = OS.GetMenuItemCount(hmenuShared) - 1;
-	for (int i = index; i >= 0; i--) {
-		int id = getMenuItemID(hmenuShared, i);
-		if (ids.contains(new Integer(id))){
-			OS.RemoveMenu(hmenuShared, i, OS.MF_BYPOSITION);
-		}
-	}
-	return COM.S_OK;
-}
-private int RequestBorderSpace(int pborderwidths) {
-	return COM.S_OK;
-}
-int SetActiveObject(int pActiveObject, int pszObjName) {
-	if (objIOleInPlaceActiveObject != null) {
-		objIOleInPlaceActiveObject.Release();
-		objIOleInPlaceActiveObject = null;
-	}
-	if (pActiveObject != 0) {
-		objIOleInPlaceActiveObject = new IOleInPlaceActiveObject(pActiveObject);
-		objIOleInPlaceActiveObject.AddRef();
-	}
-
-	return COM.S_OK;
-}
-private int SetBorderSpace(int pborderwidths) {
-	// A Control/Document can :
-	// Use its own toolbars, requesting border space of a specific size, or, 
-	// Use no toolbars, but force the container to remove its toolbars by passing a 
-	//   valid BORDERWIDTHS structure containing nothing but zeros in the pborderwidths parameter, or, 
-	// Use no toolbars but allow the in-place container to leave its toolbars up by 
-	//   passing NULL as the pborderwidths parameter.
-	if (objIOleInPlaceActiveObject == null) return COM.S_OK;
-	RECT borderwidth = new RECT();
-	if (pborderwidths == 0 || currentdoc == null ) return COM.S_OK;
-		
-	COM.MoveMemory(borderwidth, pborderwidths, RECT.sizeof);
-	currentdoc.setBorderSpace(borderwidth);
-
-	return COM.S_OK;
-}
-/**
- *
- * Specify the menu items that should appear in the Container location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * <p>This method must be called before in place activation of the OLE Document.  After the Document
- * is activated, the menu bar will not be modified until a subsequent activation.
- *
- * @param containerMenus an array of top level MenuItems to be inserted into the Container location of 
- *        the menubar
- */
-public void setContainerMenus(MenuItem[] containerMenus){
-	containerMenuItems = containerMenus;
-}
-OleClientSite getCurrentDocument() {
-	return currentdoc;
-}
-void setCurrentDocument(OleClientSite doc) {
-	currentdoc = doc;
-
-	if (currentdoc != null && objIOleInPlaceActiveObject != null) {
-		RECT lpRect = new RECT();
-		OS.GetClientRect(handle, lpRect);
-		objIOleInPlaceActiveObject.ResizeBorder(lpRect, iOleInPlaceFrame.getAddress(), true);
-	}
-}
-/**
- *
- * Specify the menu items that should appear in the File location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * <p>This method must be called before in place activation of the OLE Document.  After the Document
- * is activated, the menu bar will not be modified until a subsequent activation.
- *
- * @param fileMenus an array of top level MenuItems to be inserted into the Flie location of 
- *        the menubar
- */
-public void setFileMenus(MenuItem[] fileMenus){
-	fileMenuItems = fileMenus;
-}
-private int SetMenu(int hmenuShared, int holemenu, int hwndActiveObject) {
-	int inPlaceActiveObject = 0;
-	if (objIOleInPlaceActiveObject != null)
-		inPlaceActiveObject = objIOleInPlaceActiveObject.getAddress();		
-	
-	Menu menubar = getShell().getMenuBar();
-	if (menubar == null || menubar.isDisposed()){
-		return COM.OleSetMenuDescriptor(0, getShell().handle, hwndActiveObject, iOleInPlaceFrame.getAddress(), inPlaceActiveObject);
-	}
-	
-	int handle = menubar.getShell().handle;
-	
-	if (hmenuShared == 0 && holemenu == 0) {
-		// re-instate the original menu - this occurs on deactivation
-		hmenuShared = menubar.handle;
-	}
-	if (hmenuShared == 0) return COM.E_FAIL;
-	
-	OS.SetMenu(handle, hmenuShared);
-	OS.DrawMenuBar(handle);
-	
-	return COM.OleSetMenuDescriptor(holemenu, handle, hwndActiveObject, iOleInPlaceFrame.getAddress(), inPlaceActiveObject);
-}
-/**
- *
- * Set the menu items that should appear in the Window location when an OLE Document 
- * is in-place activated.
- *
- * <p>When an OLE Document is in-place active, the Document provides its own menus but the application
- * is given the opportunity to merge some of its menus into the menubar.  The application
- * is allowed to insert its menus in three locations: File (far left), Container(middle) and Window 
- * (far right just before Help).  The OLE Document retains control of the Edit, Object and Help
- * menu locations.  Note that an application can insert more than one menu into a single location.
- *
- * <p>This method must be called before in place activation of the OLE Document.  After the Document
- * is activated, the menu bar will not be modified until a subsequent activation.
- *
- * @param windowMenus an array of top level MenuItems to be inserted into the Window location of 
- *        the menubar
- */
-public void setWindowMenus(MenuItem[] windowMenus){
-	windowMenuItems = windowMenus;
-}
-private boolean translateOleAccelerator(MSG msg) {
-	if (objIOleInPlaceActiveObject == null) return false;
-	int result = objIOleInPlaceActiveObject.TranslateAccelerator(msg);
-	return (result != COM.S_FALSE && result != COM.E_NOTIMPL);
-}
-private int TranslateAccelerator(int lpmsg, int wID){
-	Menu menubar = getShell().getMenuBar();
-	if (menubar == null || menubar.isDisposed() || !menubar.isEnabled()) return COM.S_FALSE;
-	if (wID < 0) return COM.S_FALSE;
-	
-	Shell shell = menubar.getShell();
-	int hwnd = shell.handle;
-	int hAccel = OS.SendMessage(hwnd, OS.WM_APP+1, 0, 0);
-	if (hAccel == 0) return COM.S_FALSE;
-	
-	MSG msg = new MSG();
-	OS.MoveMemory(msg, lpmsg, MSG.sizeof);
-	int result = OS.TranslateAccelerator(hwnd, hAccel, msg);
-	return result == 0 ? COM.S_FALSE : COM.S_OK;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFunctionDescription.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFunctionDescription.java
deleted file mode 100755
index ad5b22d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFunctionDescription.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-public class OleFunctionDescription {
-
-	public int id;
-	public String name;
-	public OleParameterDescription[] args;
-	public int optionalArgCount;
-	public short returnType;
-	public int invokeKind;
-	public int funcKind;
-	public short flags;
-	public int callingConvention;
-	public String documentation;
-	public String helpFile;
-
-}	
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleListener.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleListener.java
deleted file mode 100755
index 5826593..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-/**
- */
-public interface OleListener
-{
-/**
- *
- */
-public void handleEvent(OleEvent event);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleParameterDescription.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleParameterDescription.java
deleted file mode 100755
index 8c661dd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleParameterDescription.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-public class OleParameterDescription {
-	public String name;
-	public short flags;
-	public short type;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyChangeSink.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyChangeSink.java
deleted file mode 100755
index 329a9fc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyChangeSink.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.ole.win32;
-
-
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.*;
-
-final class OlePropertyChangeSink {
-
-	private OleControlSite controlSite;
-	//private IUnknown objIUnknown;
-	
-	private COMObject iUnknown;
-	private COMObject iPropertyNotifySink;
-
-	private int refCount;
-	
-	private int propertyCookie;
-
-	private OleEventTable eventTable;
-	
-OlePropertyChangeSink(OleControlSite controlSite) {
-	
-	this.controlSite = controlSite;
-	
-	createCOMInterfaces();
-}
-void addListener(int propertyID, OleListener listener) {
-	if (listener == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) eventTable = new OleEventTable ();
-	eventTable.hook(propertyID, listener);
-}
-int AddRef() {
-	refCount++;
-	return refCount;
-}
-void connect(IUnknown objIUnknown) {
-
-	// Set up property change notification sink
-	int[] ppvObject = new int[1];
-	if (objIUnknown.QueryInterface(COM.IIDIConnectionPointContainer, ppvObject) == COM.S_OK) {
-		IConnectionPointContainer cpc = new IConnectionPointContainer(ppvObject[0]);
-		if (cpc.FindConnectionPoint(COM.IIDIPropertyNotifySink, ppvObject) == COM.S_OK) {
-			IConnectionPoint cp = new IConnectionPoint(ppvObject[0]);
-			int[] cookie = new int[1];
-			if (cp.Advise(iPropertyNotifySink.getAddress(), cookie) == COM.S_OK) {
-				propertyCookie = cookie[0];
-			}
-			cp.Release();
-		}
-		cpc.Release();
-	}
-}
-private void createCOMInterfaces() {
-	// register each of the interfaces that this object implements
-	iUnknown = new COMObject(new int[]{2, 0, 0}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-	};
-	
-	iPropertyNotifySink = new COMObject(new int[]{2, 0, 0, 1, 1}){
-		public int method0(int[] args) {return QueryInterface(args[0], args[1]);}
-		public int method1(int[] args) {return AddRef();}
-		public int method2(int[] args) {return Release();}
-		public int method3(int[] args) {return OnChanged(args[0]);}
-		public int method4(int[] args) {return OnRequestEdit(args[0]);}
-	};
-}
-void disconnect(IUnknown objIUnknown) {
-
-	// disconnect property notification sink
-	if (propertyCookie != 0 && objIUnknown != null) {
-		int[] ppvObject = new int[1];
-		if (objIUnknown.QueryInterface(COM.IIDIConnectionPointContainer, ppvObject) == COM.S_OK) {
-			IConnectionPointContainer cpc = new IConnectionPointContainer(ppvObject[0]);
-			if (cpc.FindConnectionPoint(COM.IIDIPropertyNotifySink, ppvObject) == COM.S_OK) {
-				IConnectionPoint cp = new IConnectionPoint(ppvObject[0]);
-				if (cp.Unadvise(propertyCookie) == COM.S_OK) {
-					propertyCookie = 0;
-				}
-				cp.Release();
-			}
-			cpc.Release();
-		}
-	}
-}
-private void disposeCOMInterfaces() {
-	if (iUnknown != null) iUnknown.dispose();
-	iUnknown = null;
-	if (iPropertyNotifySink != null) iPropertyNotifySink.dispose();
-	iPropertyNotifySink = null;
-}
-/**
-* Notify listeners of an event.
-* <p>
-*	This method notifies all listeners that an event
-* has occurred.
-*
-* @param eventType the desired SWT event
-* @param event the event data
-*
-* @exception IllegalArgumentException <ul>
-* 		<li>ERROR_NULL_ARGUMENT when handler is null</li>
-* </ul>
-* @exception SWTException <ul>
-*		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-*		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-*	</ul>
-*/
-private void notifyListener (int eventType, OleEvent event) {
-	if (event == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) return;
-	event.type = eventType;
-	event.widget = controlSite;
-	eventTable.sendEvent (event);
-}
-private int OnChanged(int dispID) {
-	if (eventTable == null || !eventTable.hooks(dispID)) return COM.S_OK;
-	OleEvent event = new OleEvent();
-	event.detail = OLE.PROPERTY_CHANGED;
-	notifyListener(dispID,event);
-	return COM.S_OK;
-}
-private int OnRequestEdit(int dispID) {
-	if (eventTable == null || !eventTable.hooks(dispID)) return COM.S_OK;
-	OleEvent event = new OleEvent();
-	event.doit = true;
-	event.detail = OLE.PROPERTY_CHANGING;
-	notifyListener(dispID,event);
-	return (event.doit) ? COM.S_OK : COM.S_FALSE;
-}
-private int QueryInterface(int riid, int 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.MoveMemory(ppvObject, new int[] {iUnknown.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	if (COM.IsEqualGUID(guid, COM.IIDIPropertyNotifySink)) {
-		COM.MoveMemory(ppvObject, new int[] {iPropertyNotifySink.getAddress()}, 4);
-		AddRef();
-		return COM.S_OK;
-	}
-	COM.MoveMemory(ppvObject, new int[] {0}, 4);
-	return COM.E_NOINTERFACE;
-}
-int Release() {
-	refCount--;
-	if (refCount == 0) {
-		disposeCOMInterfaces();
-	}
-	return refCount;
-}
-void removeListener(int propertyID, OleListener listener) {
-	if (listener == null) OLE.error (SWT.ERROR_NULL_ARGUMENT);
-	if (eventTable == null) return;
-	eventTable.unhook (propertyID, listener);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyDescription.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyDescription.java
deleted file mode 100755
index c7abf35..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OlePropertyDescription.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.ole.win32;
-
-
-public class OlePropertyDescription {
-	public int id;
-	public String name;
-	public int type;
-	public int flags;
-	public int kind;
-	public String description;
-	public String helpFile;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/Variant.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/Variant.java
deleted file mode 100755
index 129c8a2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/Variant.java
+++ /dev/null
@@ -1,917 +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.ole.win32;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.internal.ole.win32.*;
-import org.eclipse.swt.internal.win32.*;
-/**
- *
- * A Variant is a generic OLE mechanism for passing data of different types via a common interface.
- *
- * <p>It is used within the OleAutomation object for getting a property, setting a property or invoking
- * a method on an OLE Control or OLE Document.
- *
- */
-public final class Variant
-{
-	/**
-	 * A variant always takes up 16 bytes, no matter what you 
-	 * store in it. Objects, strings, and arrays are not physically 
-	 * stored in the Variant; in these cases, four bytes of the 
-	 * Variant are used to hold either an object reference, or a 
-	 * pointer to the string or array. The actual data are stored elsewhere.
-	 */
-	public static final int sizeof = 16;
-	private short type; // OLE.VT_* type
-	
-	private boolean booleanData;
-	private double  doubleData;
-	private int     intData;
-	private float   floatData;
-	private long    longData;
-	private short   shortData;
-	private String  stringData;
-	private int     byRefPtr;
-	private IDispatch dispatchData;
-	private IUnknown unknownData;
-
-/**
- * Create an empty Variant object with type VT_EMPTY.
- * 
- * @since 2.0
- */	
-public Variant(){
-	type = COM.VT_EMPTY;
-}
-/**
- * Create a Variant object which represents a Java float as a VT_R4.
- *
- * @param val the Java float value that this Variant represents
- *
- */
-public Variant(float val) {
-	type = COM.VT_R4;
-	floatData = val;
-	
-}
-/**
- * Create a Variant object which represents a Java double as a VT_R8.
- *
- * @param val the Java double value that this Variant represents
- *
- * @since 3.2
- */
-public Variant(double val) {
-	type = COM.VT_R8;
-	doubleData = val;
-}
-/**
- * Create a Variant object which represents a Java int as a VT_I4.
- *
- * @param val the Java int value that this Variant represents
- *
- */
- public Variant(int val) {
-	type = COM.VT_I4;
-	intData = val;
-}
-/**
- * Create a Variant object which contains a reference to the data being transferred.
- *
- * <p>When creating a VT_BYREF Variant, you must give the full Variant type 
- * including VT_BYREF such as
- * 
- * <pre><code>short byRefType = OLE.VT_BSTR | OLE.VT_BYREF</code></pre>.
- *
- * @param ptr a pointer to the data being transferred.
- * @param byRefType the type of the data being transferred such as OLE.VT_BSTR | OLE.VT_BYREF
- *
- */
-public Variant(int ptr, short byRefType) {
-	type = byRefType;
-	byRefPtr = ptr;
-}
-/**
- * Create a Variant object which represents an IDispatch interface as a VT_Dispatch.
- *
- * @param automation the OleAutomation object that this Variant represents
- * 
- */
-public Variant(OleAutomation automation) {
-	type = COM.VT_DISPATCH;
-	dispatchData = new IDispatch(automation.getAddress());
-}
-/**
- * Create a Variant object which represents an IDispatch interface as a VT_Dispatch.
- * <p>The caller is expected to have appropriately invoked unknown.AddRef() before creating 
- * this Variant.
- * 
- * @since 2.0
- * 
- * @param idispatch the IDispatch object that this Variant represents
- * 
- */
-public Variant(IDispatch idispatch) {
-	type = COM.VT_DISPATCH;
-	dispatchData = idispatch;
-}
-/**
- * Create a Variant object which represents an IUnknown interface as a VT_UNKNOWN.
- *
- * <p>The caller is expected to have appropriately invoked unknown.AddRef() before creating 
- * this Variant.
- *
- * @param unknown the IUnknown object that this Variant represents
- *
- */
-public Variant(IUnknown unknown) {
-	type = COM.VT_UNKNOWN;
-	unknownData = unknown;
-}
-/**
- * Create a Variant object which represents a Java long as a VT_I8.
- *
- * @param val the Java long value that this Variant represents
- *
- *@since 3.2
- */
- public Variant(long val) {
-	type = COM.VT_I8;
-	longData = val;
-}
-/**
- * Create a Variant object which represents a Java String as a VT_BSTR.
- *
- * @param string the Java String value that this Variant represents
- *
- */
-public Variant(String string) {
-	type = COM.VT_BSTR;
-	stringData = string;
-}
-/**
- * Create a Variant object which represents a Java short as a VT_I2.
- *
- * @param val the Java short value that this Variant represents
- *
- */
-public Variant(short val) {
-	type = COM.VT_I2;
-	shortData = val;
-}
-/**
- * Create a Variant object which represents a Java boolean as a VT_BOOL.
- *
- * @param val the Java boolean value that this Variant represents
- *
- */
-public Variant(boolean val) {
-	type = COM.VT_BOOL;
-	booleanData = val;
-}
-
-/**
- * Calling dispose will release resources associated with this Variant.
- * If the resource is an IDispatch or IUnknown interface, Release will be called.
- * If the resource is a ByRef pointer, nothing is released.
- * 
- * @since 2.1
- */
-public void dispose() {
-	if ((type & COM.VT_BYREF) == COM.VT_BYREF) {
-		return;
-	}
-		
-	switch (type) {
-		case COM.VT_EMPTY :
-		case COM.VT_BOOL :
-		case COM.VT_BSTR :
-		case COM.VT_I2 :
-		case COM.VT_I4 :
-		case COM.VT_I8 :
-		case COM.VT_R4 :
-		case COM.VT_R8 :
-			break;
-		case COM.VT_DISPATCH :
-			dispatchData.Release();
-			break;
-		case COM.VT_UNKNOWN :
-			unknownData.Release();
-			break;
-	}
-	
-}
-/**
- * Returns the OleAutomation object represented by this Variant.
- *
- * <p>If this Variant does not contain an OleAutomation object, an attempt is made to
- * coerce the Variant type into an OleAutomation object.  If this fails, an error is
- * thrown.  Note that OleAutomation objects must be disposed when no longer
- * needed.
- *
- * @return the OleAutomation object represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into an OleAutomation object</li>
- * </ul>
- */
-public OleAutomation getAutomation() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_DISPATCH) {
-		return new OleAutomation(dispatchData);
-	}
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_DISPATCH);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant autoVar = new Variant();
-		autoVar.setData(newPtr);
-		return autoVar.getAutomation();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr); // Note: This must absolutely be done AFTER the 
-		                          // OleAutomation object is created as Variant Clear 
-		                          // will result in a Release being performed on the 
-		                          // Dispatch object
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns the IDispatch object represented by this Variant.
- *
- * <p>If this Variant does not contain an IDispatch object, an attempt is made to
- * coerce the Variant type into an IDIspatch object.  If this fails, an error is
- * thrown.
- *
- * @since 2.0
- * 
- * @return the IDispatch object represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into an IDispatch object</li>
- * </ul>
- */
-public IDispatch getDispatch() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_DISPATCH) {
-		return dispatchData;
-	}
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_DISPATCH);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant autoVar = new Variant();
-		autoVar.setData(newPtr);
-		return autoVar.getDispatch();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr); // Note: This must absolutely be done AFTER the 
-		                          // OleAutomation object is created as Variant Clear 
-		                          // will result in a Release being performed on the 
-		                          // Dispatch object
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns the Java boolean represented by this Variant.
- *
- * <p>If this Variant does not contain a Java boolean, an attempt is made to
- * coerce the Variant type into a Java boolean.  If this fails, an error is thrown.
- *
- * @return the Java boolean represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a boolean</li>
- * </ul>
- *
- */
-public boolean getBoolean() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_BOOL) {
-		return booleanData;
-	}
-
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_BOOL);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant boolVar = new Variant();
-		boolVar.setData(newPtr);
-		return boolVar.getBoolean();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns a pointer to the referenced data represented by this Variant.
- *
- * <p>If this Variant does not contain a reference to data, zero is returned.
- *
- * @return a pointer to the referenced data represented by this Variant or 0
- *
- */
-public int getByRef() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if ((type & COM.VT_BYREF)== COM.VT_BYREF) {
-		return byRefPtr;
-	}
-		
-	return 0;
-}
-void getData(int pData){
-	if (pData == 0) OLE.error(OLE.ERROR_OUT_OF_MEMORY);
-	
-	COM.VariantInit(pData);
-
-	if ((type & COM.VT_BYREF) == COM.VT_BYREF) {
-		COM.MoveMemory(pData, new short[] {type}, 2);
-		COM.MoveMemory(pData + 8, new int[]{byRefPtr}, 4);
-		return;
-	}
-
-	switch (type) {
-		case COM.VT_EMPTY :
-			break;
-		case COM.VT_BOOL :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new int[]{(booleanData) ? COM.VARIANT_TRUE : COM.VARIANT_FALSE}, 2);
-			break;
-		case COM.VT_R4 :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new float[]{floatData}, 4);
-			break;
-		case COM.VT_R8 :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new double[]{doubleData}, 8);
-			break;
-		case COM.VT_I4 :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new int[]{intData}, 4);
-			break;
-		case COM.VT_I8 :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new long[]{longData}, 8);
-			break;
-		case COM.VT_DISPATCH :
-			dispatchData.AddRef();
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new int[]{dispatchData.getAddress()}, 4);
-			break;
-		case COM.VT_UNKNOWN :
-			unknownData.AddRef();
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new int[]{unknownData.getAddress()}, 4);
-			break;
-		case COM.VT_I2 :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			COM.MoveMemory(pData + 8, new short[]{shortData}, 2);
-			break;
-		case COM.VT_BSTR :
-			COM.MoveMemory(pData, new short[] {type}, 2);
-			char[] data = (stringData+"\0").toCharArray();
-			int ptr = COM.SysAllocString(data);
-			COM.MoveMemory(pData + 8, new int[] {ptr}, 4);
-			break;
-	
-		default :
-			OLE.error(SWT.ERROR_NOT_IMPLEMENTED);
-	}
-}
-/**
- * Returns the Java double represented by this Variant.
- *
- * <p>If this Variant does not contain a Java double, an attempt is made to
- * coerce the Variant type into a Java double.  If this fails, an error is thrown.
- *
- * @return the Java double represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a double</li>
- * </ul>
- * 
- * @since 3.2
- */
-public double getDouble() {
-    if (type == COM.VT_EMPTY) {
-        OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-    }
-    if (type == COM.VT_R8) {
-        return doubleData;
-    }
-    
-    // try to coerce the value to the desired type
-    int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-    int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-    try {
-        getData(oldPtr);
-        int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_R8);
-        if (result != COM.S_OK)
-            OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-        Variant doubleVar = new Variant();
-        doubleVar.setData(newPtr);
-        return doubleVar.getDouble();
-    } finally {
-        COM.VariantClear(oldPtr);
-        OS.GlobalFree(oldPtr);
-        COM.VariantClear(newPtr);
-        OS.GlobalFree(newPtr);
-    } 
-}
-
-/**
- * Returns the Java float represented by this Variant.
- *
- * <p>If this Variant does not contain a Java float, an attempt is made to
- * coerce the Variant type into a Java float.  If this fails, an error is thrown.
- *
- * @return the Java float represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a float</li>
- * </ul>
- */
-public float getFloat() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_R4) {
-		return floatData;
-	}
-
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_R4);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant floatVar = new Variant();
-		floatVar.setData(newPtr);
-		return floatVar.getFloat();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-	
-}
-/**
- * Returns the Java int represented by this Variant.
- *
- * <p>If this Variant does not contain a Java int, an attempt is made to
- * coerce the Variant type into a Java int.  If this fails, an error is thrown.
- *
- * @return the Java int represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a int</li>
- * </ul>
- */
-public int getInt() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_I4) {
-		return intData;
-	}
-		
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_I4);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant intVar = new Variant();
-		intVar.setData(newPtr);
-		return intVar.getInt();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns the Java long represented by this Variant.
- *
- * <p>If this Variant does not contain a Java long, an attempt is made to
- * coerce the Variant type into a Java long.  If this fails, an error is thrown.
- *
- * @return the Java long represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a long</li>
- * </ul>
- *
- * @since 3.2
- */
-public long getLong() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_I8) {
-		return longData;
-	}
-		
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_I8);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant longVar = new Variant();
-		longVar.setData(newPtr);
-		return longVar.getLong();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns the Java short represented by this Variant.
- *
- * <p>If this Variant does not contain a Java short, an attempt is made to
- * coerce the Variant type into a Java short.  If this fails, an error is thrown.
- *
- * @return the Java short represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a short</li>
- * </ul>
- */
-public short getShort() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_I2) {
-		return shortData;
-	}
-		
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_I2);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant shortVar = new Variant();
-		shortVar.setData(newPtr);
-		return shortVar.getShort();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-	
-}
-/**
- * Returns the Java String represented by this Variant.
- *
- * <p>If this Variant does not contain a Java String, an attempt is made to
- * coerce the Variant type into a Java String.  If this fails, an error is thrown.
- *
- * @return the Java String represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a String</li>
- * </ul>
- */
-public String getString() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_BSTR) {
-		return stringData;
-	}
-
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_BSTR);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-
-		Variant stringVar = new Variant();
-		stringVar.setData(newPtr);
-		return stringVar.getString();
-			
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr);
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Returns the type of the variant type.  This will be an OLE.VT_* value or
- * a bitwise combination of OLE.VT_* values as in the case of 
- * OLE.VT_BSTR | OLE.VT_BYREF.
- * 
- * @return the type of the variant data
- * 
- * @since 2.0
- */
-public short getType() {
-	return type;
-}
-/**
- * Returns the IUnknown object represented by this Variant.
- *
- * <p>If this Variant does not contain an IUnknown object, an attempt is made to
- * coerce the Variant type into an IUnknown object.  If this fails, an error is
- * thrown.
- *
- * @return the IUnknown object represented by this Variant
- *
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into 
- *			an IUnknown object</li>
- * </ul>
- */
-public IUnknown getUnknown() {
-	if (type == COM.VT_EMPTY) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
-	}
-	if (type == COM.VT_UNKNOWN) {
-		return unknownData;
-	}
-
-	// try to coerce the value to the desired type
-	int oldPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	int newPtr = OS.GlobalAlloc(COM.GMEM_FIXED | COM.GMEM_ZEROINIT, sizeof);
-	try {
-		getData(oldPtr);
-		int result = COM.VariantChangeType(newPtr, oldPtr, (short) 0, COM.VT_UNKNOWN);
-		if (result != COM.S_OK)
-			OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, result);
-		Variant unknownVar = new Variant();
-		unknownVar.setData(newPtr);
-		return unknownVar.getUnknown();
-	} finally {
-		COM.VariantClear(oldPtr);
-		OS.GlobalFree(oldPtr);
-		COM.VariantClear(newPtr); // Note: This must absolutely be done AFTER the 
-		                          // IUnknown object is created as Variant Clear 
-		                          // will result in a Release being performed on the 
-		                          // Dispatch object
-		OS.GlobalFree(newPtr);
-	}
-}
-/**
- * Update the by reference value of this variant with a new boolean value.
- * 
- * @param val the new boolean value
- * 
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant is not 
- *			a (VT_BYREF | VT_BOOL) object</li>
- * </ul>
- *
- * @since 2.1
- */
-public void setByRef(boolean val) {
-	if ((type & COM.VT_BYREF) == 0 || (type & COM.VT_BOOL) == 0) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE);
-	}
-	COM.MoveMemory(byRefPtr, new short[]{val ? COM.VARIANT_TRUE : COM.VARIANT_FALSE}, 2);
-}
-/**
- * Update the by reference value of this variant with a new float value.
- * 
- * @param val the new float value
- * 
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant is not 
- *			a (VT_BYREF | VT_R4) object</li>
- * </ul>
- *
- * @since 2.1
- */
-public void setByRef(float val) {
-	if ((type & COM.VT_BYREF) == 0 || (type & COM.VT_R4) == 0) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE);
-	}
-	COM.MoveMemory(byRefPtr, new float[]{val}, 4);	
-}
-/**
- * Update the by reference value of this variant with a new integer value.
- * 
- * @param val the new integer value
- * 
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant is not a (VT_BYREF | VT_I4) object</li>
- * </ul>
- *
- * @since 2.1
- */
-public void setByRef(int val) {
-	if ((type & COM.VT_BYREF) == 0 || (type & COM.VT_I4) == 0) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE);
-	}
-	COM.MoveMemory(byRefPtr, new int[]{val}, 4);
-}
-/**
- * Update the by reference value of this variant with a new short value.
- * 
- * @param val the new short value
- * 
- * @exception SWTException <ul>
- *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant is not a (VT_BYREF | VT_I2) object
- * </ul>
- *
- * @since 2.1
- */
-public void setByRef(short val) {
-	if ((type & COM.VT_BYREF) == 0 || (type & COM.VT_I2) == 0) {
-		OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE);
-	}
-	COM.MoveMemory(byRefPtr, new short[]{val}, 2);
-}
-
-void setData(int pData){
-	if (pData == 0) OLE.error(OLE.ERROR_INVALID_ARGUMENT);
-
-	short[] dataType = new short[1];
-	COM.MoveMemory(dataType, pData, 2);
-	type = dataType[0];
-
-	if ((type & COM.VT_BYREF) == COM.VT_BYREF) {
-		int[] newByRefPtr = new int[1];
-		OS.MoveMemory(newByRefPtr, pData + 8, 4);
-		byRefPtr = newByRefPtr[0];
-		return;
-	}
-	
-	switch (type) {
-		case COM.VT_EMPTY :
-			break;
-		case COM.VT_BOOL :
-			short[] newBooleanData = new short[1];
-			COM.MoveMemory(newBooleanData, pData + 8, 2);
-			booleanData = (newBooleanData[0] != COM.VARIANT_FALSE);
-			break;
-		case COM.VT_R4 :
-			float[] newFloatData = new float[1];
-			COM.MoveMemory(newFloatData, pData + 8, 4);
-			floatData = newFloatData[0];
-			break;
-		case COM.VT_R8 :
-			double[] newDoubleData = new double[1];
-			COM.MoveMemory(newDoubleData, pData + 8, 8);
- 			doubleData = newDoubleData[0];
-			break;
-		case COM.VT_I4 :
-			int[] newIntData = new int[1];
-			OS.MoveMemory(newIntData, pData + 8, 4);
-			intData = newIntData[0];
-			break;
-		case COM.VT_I8 :
-			long[] newLongData = new long[1];
-			OS.MoveMemory(newLongData, pData + 8, 8);
-			longData = newLongData[0];
-			break;
-		case COM.VT_DISPATCH : {
-			int[] ppvObject = new int[1];
-			OS.MoveMemory(ppvObject, pData + 8, 4);
-			if (ppvObject[0] == 0) {
-				type = COM.VT_EMPTY;
-				break;
-			}
-			dispatchData = new IDispatch(ppvObject[0]);
-			dispatchData.AddRef();
-			break;
-		}
-		case COM.VT_UNKNOWN : {
-			int[] ppvObject = new int[1];
-			OS.MoveMemory(ppvObject, pData + 8, 4);
-			if (ppvObject[0] == 0) {
-				type = COM.VT_EMPTY;
-				break;
-			}
-			unknownData = new IUnknown(ppvObject[0]);
-			unknownData.AddRef();
-			break;
-		}
-		case COM.VT_I2 :
-			short[] newShortData = new short[1];
-			COM.MoveMemory(newShortData, pData + 8, 2);
-			shortData = newShortData[0];
-			break;
-		case COM.VT_BSTR :
-			// get the address of the memory in which the string resides
-			int[] hMem = new int[1];
-			OS.MoveMemory(hMem, pData + 8, 4);
-			if (hMem[0] == 0) {
-				type = COM.VT_EMPTY;
-				break;
-			}
-			// Get the size of the string from the OS - the size is expressed in number
-			// of bytes - each unicode character is 2 bytes.
-			int size = COM.SysStringByteLen(hMem[0]);
-			if (size > 0){
-				// get the unicode character array from the global memory and create a String
-				char[] buffer = new char[(size + 1) /2]; // add one to avoid rounding errors
-				COM.MoveMemory(buffer, hMem[0], size);
-				stringData = new String(buffer);
-			} else {
-				stringData = ""; //$NON-NLS-1$
-			}
-			break;
-	
-		default :
-			// try coercing it into one of the known forms
-			int newPData = OS.GlobalAlloc(OS.GMEM_FIXED | OS.GMEM_ZEROINIT, Variant.sizeof);
-			if (COM.VariantChangeType(newPData, pData, (short) 0, COM.VT_R4) == COM.S_OK) {
-				setData(newPData);
-			} else if (COM.VariantChangeType(newPData, pData, (short) 0, COM.VT_I4) == COM.S_OK) {
-				setData(newPData);
-			} else if (COM.VariantChangeType(newPData, pData, (short) 0, COM.VT_BSTR) == COM.S_OK) {
-				setData(newPData);
-			}
-			COM.VariantClear(newPData);
-			OS.GlobalFree(newPData);
-			break;
-	}
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the Variant
- */
-public String toString () {
-    switch (type) {
-	    case COM.VT_BOOL :
-	        return "VT_BOOL{"+booleanData+"}";
-	    case COM.VT_I2 :
-	        return "VT_I2{"+shortData+"}";
-	    case COM.VT_I4 :
-	        return "VT_I4{"+intData+"}";
-	    case COM.VT_I8 :
-	        return "VT_I8{"+longData+"}";
-	    case COM.VT_R4 :
-	        return "VT_R4{"+floatData+"}";
-   	    case COM.VT_R8 :
-	        return "VT_R8{"+doubleData+"}";
-	    case COM.VT_BSTR :
-	        return "VT_BSTR{"+stringData+"}";
-	    case COM.VT_DISPATCH :
-	        return "VT_DISPATCH{"+(dispatchData == null ? 0 : dispatchData.getAddress())+"}";
-	    case COM.VT_UNKNOWN :
-	        return "VT_UNKNOWN{"+(unknownData == null ? 0 : unknownData.getAddress())+"}";
-	    case COM.VT_EMPTY :
-	        return "VT_EMPTY";
-	 }
-    if ((type & COM.VT_BYREF) != 0) {
-        return "VT_BYREF|"+(type & ~COM.VT_BYREF)+"{"+byRefPtr+"}";
-    }
-    return "Unsupported Type "+type;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/package.html b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/package.html
deleted file mode 100755
index 93c5fd1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT Win32 OLE implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which provide the public API to the
-the Microsoft Win32 Object Linking and Embedding mechanism
-that the win32 variant of SWT is capable of using.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.c
deleted file mode 100644
index 64e5aea..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.c
+++ /dev/null
@@ -1,193 +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
- *******************************************************************************/
-
-#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/Eclipse SWT OpenGL/carbon/library/agl.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.h
deleted file mode 100644
index 7435601..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl.h
+++ /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
- *******************************************************************************/
-
-#ifndef SWT_AGL_H_INCLUDED
-#define SWT_AGL_H_INCLUDED
-
-#include <OpenGL/gl.h>
-
-#endif /* SWT_AGL_H_INCLUDED */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.c
deleted file mode 100644
index 8e51984..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.c
+++ /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
- *******************************************************************************/
-
-#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/Eclipse SWT OpenGL/carbon/library/agl_stats.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.h
deleted file mode 100644
index e1bc040..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_stats.h
+++ /dev/null
@@ -1,38 +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
- *******************************************************************************/
-
-#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/Eclipse SWT OpenGL/carbon/library/agl_structs.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_structs.h
deleted file mode 100644
index 3952a61..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/library/agl_structs.h
+++ /dev/null
@@ -1,13 +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
- *******************************************************************************/
-
-#include "agl.h"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.java
deleted file mode 100644
index 0435858..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/internal/opengl/carbon/AGL.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.internal.opengl.carbon;
-
-import org.eclipse.swt.internal.Library;
-
-public class AGL {
-	static {
-		Library.loadLibrary("swt-agl");
-	}
-
-	/* 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/Eclipse SWT OpenGL/carbon/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100755
index 1966069..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/carbon/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,290 +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.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.*;
-import org.eclipse.swt.internal.opengl.carbon.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-
-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> 
- * </ul>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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);
-	if (pixelFormat == 0) {		
-		dispose ();
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	//FIXME- share lists
-	//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);
-				// Remove listeners
-				Shell shell = getShell();
-				shell.removeListener(SWT.Resize, this);
-				shell.removeListener(SWT.Show, this);
-				shell.removeListener(SWT.Hide, this);
-				Control c = GLCanvas.this;
-				do {
-					c.removeListener(SWT.Show, this);
-					c.removeListener(SWT.Hide, this);
-					c = c.getParent();
-				} while (c != shell);
-				break;
-			case SWT.Resize:
-			case SWT.Hide:
-			case SWT.Show:
-				getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						if (isDisposed()) return;
-						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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void swapBuffers () {
-	checkWidget ();
-	AGL.aglSwapBuffers (context);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/GLData.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/GLData.java
deleted file mode 100644
index f7c1c57..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/GLData.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 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.opengl;
-
-/**
- * The GLData class is a device-independent description
- * of the pixel format attributes of a GL drawable.
- *
- * @see GLCanvas
- * 
- * @since 3.2
- */
-
-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/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/package.html b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/package.html
deleted file mode 100755
index 3ad94ae..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/common/org/eclipse/swt/opengl/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT OpenGL support.
-<h2>
-Package Specification</h2>
-This package contains widgets for integrating OpenGL graphics
-into SWT applications.
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/emulated/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/emulated/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index ac3d5e8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/emulated/org/eclipse/swt/opengl/GLCanvas.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.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-
-public class GLCanvas extends Canvas {
-
-/**
- * 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> 
- * </ul>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public GLCanvas (Composite parent, int style, GLData data) {
-	super (parent, style);
-	SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
-}
-
-/**
- * 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public GLData getGLData () {
-	checkWidget ();
-	SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
-	return null;
-}
-
-/**
- * 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public boolean isCurrent () {
-	checkWidget ();
-	SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
-	return false;
-}
-
-/**
- * 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void setCurrent () {
-	checkWidget ();
-	SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
-}
-
-/**
- * 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void swapBuffers () {
-	checkWidget ();
-	SWT.error (SWT.ERROR_NOT_IMPLEMENTED);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.c
deleted file mode 100644
index 1da4e53..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.c
+++ /dev/null
@@ -1,316 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "glx_structs.h"
-#include "glx_stats.h"
-
-#define GLX_NATIVE(func) Java_org_eclipse_swt_internal_opengl_glx_GLX_##func
-
-#ifndef NO_XVisualInfo_1sizeof
-JNIEXPORT jint JNICALL GLX_NATIVE(XVisualInfo_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GLX_NATIVE_ENTER(env, that, XVisualInfo_1sizeof_FUNC);
-	rc = (jint)XVisualInfo_sizeof();
-	GLX_NATIVE_EXIT(env, that, XVisualInfo_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_glGetIntegerv
-JNIEXPORT void JNICALL GLX_NATIVE(glGetIntegerv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	GLX_NATIVE_ENTER(env, that, glGetIntegerv_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	glGetIntegerv((GLenum)arg0, (GLint *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	GLX_NATIVE_EXIT(env, that, glGetIntegerv_FUNC);
-}
-#endif
-
-#ifndef NO_glViewport
-JNIEXPORT void JNICALL GLX_NATIVE(glViewport)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	GLX_NATIVE_ENTER(env, that, glViewport_FUNC);
-	glViewport((GLint)arg0, (GLint)arg1, (GLsizei)arg2, (GLsizei)arg3);
-	GLX_NATIVE_EXIT(env, that, glViewport_FUNC);
-}
-#endif
-
-#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((Display *)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((Display *)arg0, (GLXContext)arg1, (GLXContext)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((Display *)arg0, lparg1, (GLXContext)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((Display *)arg0, lparg1, (Pixmap)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((Display *)arg0, (GLXContext)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((Display *)arg0, (GLXPixmap)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((Display *)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((Display *)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((Display *)arg0, (GLXContext)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((Display *)arg0, (GLXDrawable)arg1, (GLXContext)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((Display *)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((Display *)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((Display *)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((Display *)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((Display *)arg0, (GLXDrawable)arg1);
-	GLX_NATIVE_EXIT(env, that, glXSwapBuffers_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, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXVisualInfoFields(env, arg0, lparg0);
-	GLX_NATIVE_EXIT(env, that, memmove_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.h
deleted file mode 100644
index 72d5181..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx.h
+++ /dev/null
@@ -1,19 +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 SWT_GLX_H_INCLUDED
-#define SWT_GLX_H_INCLUDED
-
-#include <GL/glx.h>
-#include <X11/Xutil.h>
-#include <string.h>
-
-#endif /* SWT_GLX_H_INCLUDED */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.c
deleted file mode 100644
index 0f3fd8d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.c
+++ /dev/null
@@ -1,65 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "glx_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GLX_nativeFunctionCount = 23;
-int GLX_nativeFunctionCallCount[23];
-char * GLX_nativeFunctionNames[] = {
-	"XVisualInfo_1sizeof",
-	"glGetIntegerv",
-	"glViewport",
-	"glXChooseVisual",
-	"glXCopyContext",
-	"glXCreateContext",
-	"glXCreateGLXPixmap",
-	"glXDestroyContext",
-	"glXDestroyGLXPixmap",
-	"glXGetClientString",
-	"glXGetConfig",
-	"glXGetCurrentContext",
-	"glXGetCurrentDrawable",
-	"glXIsDirect",
-	"glXMakeCurrent",
-	"glXQueryExtension",
-	"glXQueryExtensionsString",
-	"glXQueryServerString",
-	"glXQueryVersion",
-	"glXSwapBuffers",
-	"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/Eclipse SWT OpenGL/glx/library/glx_stats.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.h
deleted file mode 100644
index 72dc3ac..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_stats.h
+++ /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
- *******************************************************************************/
-
-#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 {
-	XVisualInfo_1sizeof_FUNC,
-	glGetIntegerv_FUNC,
-	glViewport_FUNC,
-	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,
-	glXWaitGL_FUNC,
-	glXWaitX_FUNC,
-	memmove_FUNC,
-} GLX_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.c
deleted file mode 100644
index 92ddd22..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.c
+++ /dev/null
@@ -1,72 +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
- *******************************************************************************/
-
-#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 = (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->class = (*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->class);
-	(*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/Eclipse SWT OpenGL/glx/library/glx_structs.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.h
deleted file mode 100644
index 0ca382a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/library/glx_structs.h
+++ /dev/null
@@ -1,25 +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
- *******************************************************************************/
-
-#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/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/GLX.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/GLX.java
deleted file mode 100755
index 0107413..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/GLX.java
+++ /dev/null
@@ -1,228 +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.glx;
-
-import org.eclipse.swt.internal.Library;
-
-public class GLX {
-	static {
-		Library.loadLibrary("swt-glx");
-	}
-
-	/*
-	** 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;
-
-	/*
-	* GL bits 
-	*/
-	public static final int GL_VIEWPORT = 0x0BA2;
-	
-public static final native int XVisualInfo_sizeof();
-
-public static final native void glGetIntegerv(int pname, int[] params);
-public static final native void glViewport(int x, int y, int width, int height);
-public static final native int /*long*/ glXChooseVisual(int /*long*/ dpy, int screen, int[] attribList);
-public static final native void glXCopyContext(int /*long*/ dpy, int /*long*/ src, int /*long*/ dst, int mask);
-public static final native int /*long*/ glXCreateContext(int /*long*/ dpy, XVisualInfo vis, int /*long*/ shareList, boolean direct);
-public static final native int /*long*/ glXCreateGLXPixmap(int /*long*/ dpy, XVisualInfo vis, int /*long*/ pixmap);
-public static final native void glXDestroyContext(int /*long*/ dpy, int /*long*/ ctx);
-public static final native void glXDestroyGLXPixmap(int /*long*/ dpy, int /*long*/ pix);
-public static final native int glXGetConfig(int /*long*/ dpy, XVisualInfo vis, int attrib, int[] value);
-public static final native int /*long*/ glXGetCurrentContext();
-public static final native int /*long*/ glXGetCurrentDrawable();
-public static final native boolean glXIsDirect(int /*long*/ dpy, int /*long*/ ctx);
-public static final native boolean glXMakeCurrent(int /*long*/ dpy, int /*long*/ drawable, int /*long*/ ctx);
-public static final native boolean glXQueryExtension(int /*long*/ dpy, int[] errorBase, int[] eventBase);
-public static final native boolean glXQueryVersion(int /*long*/ dpy, int[] major, int[] minor);
-public static final native void glXSwapBuffers(int /*long*/ dpy, int /*long*/ drawable);
-public static final native void glXWaitGL();
-public static final native void glXWaitX();
-public static final native int /*long*/ glXGetClientString(int /*long*/ dpy, int name);
-public static final native int /*long*/ glXQueryServerString(int /*long*/ dpy, int screen, int name);
-public static final native int /*long*/ glXQueryExtensionsString(int /*long*/ dpy, int screen);
-public static final native void memmove(XVisualInfo dest, int /*long*/ src, int size);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
deleted file mode 100755
index 4cd59e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/glx/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
+++ /dev/null
@@ -1,23 +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.glx;
-
-public class XVisualInfo {
-	public int /*long*/ 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 = GLX.XVisualInfo_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index ef4a36a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/gtk/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,293 +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.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.internal.opengl.glx.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-
-public class GLCanvas extends Canvas {
-	int /*long*/ context;
-	int /*long*/ xWindow;
-	int /*long*/ glWindow;
-	XVisualInfo vinfo;
-	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> 
- * </ul>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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;
-	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;
-	OS.gtk_widget_realize (handle);
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	int /*long*/ infoPtr = GLX.glXChooseVisual (xDisplay, OS.XDefaultScreen (xDisplay), glxAttrib);
-	if (infoPtr == 0) {
-		dispose ();
-		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);
-	//FIXME- share lists
-	//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 |
-		OS.GDK_POINTER_MOTION_HINT_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);
-	if ((style & SWT.NO_BACKGROUND) != 0) OS.gdk_window_set_back_pixmap (window, 0, false);
-	xWindow = 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];
-				GLX.glGetIntegerv (GLX.GL_VIEWPORT, viewport);
-				GLX.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:
-				int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-				int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-				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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public GLData getGLData () {
-	checkWidget ();
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void setCurrent () {
-	checkWidget ();
-	if (GLX.glXGetCurrentContext () == context) return;
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	GLX.glXMakeCurrent (xDisplay, xWindow, 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void swapBuffers () {
-	checkWidget ();
-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-	int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-	GLX.glXSwapBuffers (xDisplay, xWindow);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/motif/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/motif/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index 00d8eeb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/motif/org/eclipse/swt/opengl/GLCanvas.java
+++ /dev/null
@@ -1,300 +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.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.internal.opengl.glx.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-
-public class GLCanvas extends Canvas {
-	int xWindow;
-	int context;
-	int colormap;
-	XVisualInfo vinfo;
-	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> 
- * </ul>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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;
-	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;
-
-	//FIXME - need to ensure the widget is realized at this point
-	new GC(this).dispose();
-
-	int xDisplay = OS.XtDisplay (handle);
-	int xScreen = OS.XDefaultScreen (xDisplay);
-	int infoPtr = GLX.glXChooseVisual (xDisplay, xScreen, glxAttrib);
-	if (infoPtr == 0) {
-		dispose ();
-		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-	}
-	vinfo = new XVisualInfo ();
-	GLX.memmove (vinfo, infoPtr, XVisualInfo.sizeof);
-	OS.XFree (infoPtr);
-	//FIXME- share lists
-	//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);
-
-	int xParent = OS.XtWindow (handle);
-	XSetWindowAttributes attributes = new XSetWindowAttributes ();
-	int mask = OS.CWDontPropagate | OS.CWEventMask | OS.CWColormap;
-	colormap = OS.XCreateColormap(xDisplay, xParent, vinfo.visual, OS.AllocNone);
-	attributes.colormap = colormap;
-	xWindow = OS.XCreateWindow (xDisplay, xParent, 0, 0, 1, 1, 0,
-			vinfo.depth, 1, vinfo.visual, mask, attributes);
-	int event_mask = OS.XtBuildEventMask (handle);
-	/*
-	* Attempting to propogate EnterWindowMask and LeaveWindowMask
-	* causes an X error so these must be specially cleared out from
-	* the event mask, not included in the propogate mask.
-	*/
-	//FIXME - check this
-	//event_mask = event_mask | ~(OS.EnterWindowMask | OS.LeaveWindowMask);
-	OS.XSelectInput (xDisplay, xWindow, event_mask);
-	OS.XMapWindow (xDisplay, xWindow);
-	OS.XtRegisterDrawable (xDisplay, xWindow, handle);
-
-	Listener listener = new Listener () {
-		public void handleEvent (Event event) {
-			int xDisplay = OS.XtDisplay (handle);
-			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];
-				GLX.glGetIntegerv (GLX.GL_VIEWPORT, viewport);
-				GLX.glViewport (viewport [0],viewport [1],viewport [2],viewport [3]);
-				break;
-			case SWT.KeyDown:
-				break;
-			case SWT.Resize:
-				Rectangle clientArea = getClientArea();
-				OS.XMoveResizeWindow (xDisplay, xWindow, clientArea.x, clientArea.y, 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 (xWindow != 0) {
-					OS.XtUnregisterDrawable (xDisplay, xWindow);
-					OS.XDestroyWindow (xDisplay, xWindow);
-					xWindow = 0;
-				}
-				if (colormap != 0) {
-					OS.XFreeColormap (xDisplay, colormap);
-					colormap = 0;
-				}
-				break;
-			}
-		}
-	};
-	addListener (SWT.KeyDown, listener);
-	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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public GLData getGLData () {
-	checkWidget ();
-	int xDisplay = OS.XtDisplay (handle);
-	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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void setCurrent () {
-	checkWidget ();
-	if (GLX.glXGetCurrentContext () == context) return;
-	int xDisplay = OS.XtDisplay (handle);
-	GLX.glXMakeCurrent (xDisplay, xWindow, 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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void swapBuffers () {
-	checkWidget ();
-	int xDisplay = OS.XtDisplay (handle);
-	GLX.glXSwapBuffers (xDisplay, xWindow);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt_wgl.rc b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt_wgl.rc
deleted file mode 100644
index e46095f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt_wgl.rc
+++ /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
- *******************************************************************************/
- 
-#include "windows.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION SWT_COMMA_VERSION
- 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", "Eclipse Foundation\0"
-            VALUE "FileDescription", "SWT for Windows native library\0"
-            VALUE "FileVersion", SWT_FILE_VERSION
-            VALUE "InternalName", "SWT\0"
-            VALUE "LegalCopyright", "Copyright (c) 2000, 2006 IBM Corp.  All Rights Reserved.\0"
-            VALUE "OriginalFilename", SWT_ORG_FILENAME
-            VALUE "ProductName", "Standard Widget Toolkit\0"
-            VALUE "ProductVersion", "0,0,0,0\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.c
deleted file mode 100644
index b78678f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.c
+++ /dev/null
@@ -1,273 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "wgl_structs.h"
-#include "wgl_stats.h"
-
-#define WGL_NATIVE(func) Java_org_eclipse_swt_internal_opengl_win32_WGL_##func
-
-#ifndef NO_ChoosePixelFormat
-JNIEXPORT jint JNICALL WGL_NATIVE(ChoosePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PIXELFORMATDESCRIPTOR _arg1, *lparg1=NULL;
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, ChoosePixelFormat_FUNC);
-	if (arg1) if ((lparg1 = getPIXELFORMATDESCRIPTORFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)ChoosePixelFormat((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPIXELFORMATDESCRIPTORFields(env, arg1, lparg1);
-	WGL_NATIVE_EXIT(env, that, ChoosePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DescribePixelFormat
-JNIEXPORT jint JNICALL WGL_NATIVE(DescribePixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	PIXELFORMATDESCRIPTOR _arg3, *lparg3=NULL;
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, DescribePixelFormat_FUNC);
-	if (arg3) if ((lparg3 = getPIXELFORMATDESCRIPTORFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)DescribePixelFormat((HDC)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setPIXELFORMATDESCRIPTORFields(env, arg3, lparg3);
-	WGL_NATIVE_EXIT(env, that, DescribePixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPixelFormat
-JNIEXPORT jint JNICALL WGL_NATIVE(GetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, GetPixelFormat_FUNC);
-	rc = (jint)GetPixelFormat((HDC)arg0);
-	WGL_NATIVE_EXIT(env, that, GetPixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPixelFormat
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PIXELFORMATDESCRIPTOR _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, SetPixelFormat_FUNC);
-	if (arg2) if ((lparg2 = getPIXELFORMATDESCRIPTORFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SetPixelFormat((HDC)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setPIXELFORMATDESCRIPTORFields(env, arg2, lparg2);
-	WGL_NATIVE_EXIT(env, that, SetPixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SwapBuffers
-JNIEXPORT jboolean JNICALL WGL_NATIVE(SwapBuffers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, SwapBuffers_FUNC);
-	rc = (jboolean)SwapBuffers((HDC)arg0);
-	WGL_NATIVE_EXIT(env, that, SwapBuffers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglCopyContext
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglCopyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglCopyContext_FUNC);
-	rc = (jboolean)wglCopyContext((HGLRC)arg0, (HGLRC)arg1, arg2);
-	WGL_NATIVE_EXIT(env, that, wglCopyContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglCreateContext
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglCreateContext_FUNC);
-	rc = (jint)wglCreateContext((HDC)arg0);
-	WGL_NATIVE_EXIT(env, that, wglCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglCreateLayerContext
-JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateLayerContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglCreateLayerContext_FUNC);
-	rc = (jint)wglCreateLayerContext((HDC)arg0, arg1);
-	WGL_NATIVE_EXIT(env, that, wglCreateLayerContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglDeleteContext
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDeleteContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglDeleteContext_FUNC);
-	rc = (jboolean)wglDeleteContext((HGLRC)arg0);
-	WGL_NATIVE_EXIT(env, that, wglDeleteContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglDescribeLayerPlane
-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 = 0;
-	WGL_NATIVE_ENTER(env, that, wglDescribeLayerPlane_FUNC);
-	if (arg4) if ((lparg4 = getLAYERPLANEDESCRIPTORFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jboolean)wglDescribeLayerPlane((HDC)arg0, arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) setLAYERPLANEDESCRIPTORFields(env, arg4, lparg4);
-	WGL_NATIVE_EXIT(env, that, wglDescribeLayerPlane_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglGetCurrentContext
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglGetCurrentContext_FUNC);
-	rc = (jint)wglGetCurrentContext();
-	WGL_NATIVE_EXIT(env, that, wglGetCurrentContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglGetCurrentDC
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentDC)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglGetCurrentDC_FUNC);
-	rc = (jint)wglGetCurrentDC();
-	WGL_NATIVE_EXIT(env, that, wglGetCurrentDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglGetLayerPaletteEntries
-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 = 0;
-	WGL_NATIVE_ENTER(env, that, wglGetLayerPaletteEntries_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)wglGetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	WGL_NATIVE_EXIT(env, that, wglGetLayerPaletteEntries_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglGetProcAddress
-JNIEXPORT jint JNICALL WGL_NATIVE(wglGetProcAddress)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglGetProcAddress_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)wglGetProcAddress(lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	WGL_NATIVE_EXIT(env, that, wglGetProcAddress_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglMakeCurrent
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglMakeCurrent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglMakeCurrent_FUNC);
-	rc = (jboolean)wglMakeCurrent((HDC)arg0, (HGLRC)arg1);
-	WGL_NATIVE_EXIT(env, that, wglMakeCurrent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglRealizeLayerPalette
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglRealizeLayerPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglRealizeLayerPalette_FUNC);
-	rc = (jboolean)wglRealizeLayerPalette((HDC)arg0, arg1, arg2);
-	WGL_NATIVE_EXIT(env, that, wglRealizeLayerPalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglSetLayerPaletteEntries
-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 = 0;
-	WGL_NATIVE_ENTER(env, that, wglSetLayerPaletteEntries_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)wglSetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	WGL_NATIVE_EXIT(env, that, wglSetLayerPaletteEntries_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglShareLists
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglShareLists)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglShareLists_FUNC);
-	rc = (jboolean)wglShareLists((HGLRC)arg0, (HGLRC)arg1);
-	WGL_NATIVE_EXIT(env, that, wglShareLists_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wglSwapLayerBuffers
-JNIEXPORT jboolean JNICALL WGL_NATIVE(wglSwapLayerBuffers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	WGL_NATIVE_ENTER(env, that, wglSwapLayerBuffers_FUNC);
-	rc = (jboolean)wglSwapLayerBuffers((HDC)arg0, arg1);
-	WGL_NATIVE_EXIT(env, that, wglSwapLayerBuffers_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.h
deleted file mode 100644
index 7a65730..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl.h
+++ /dev/null
@@ -1,28 +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 SWT_WGL_H_INCLUDED
-#define SWT_WGL_H_INCLUDED
-
-#include <windows.h>
-#include <winuser.h>
-#include <commctrl.h>
-#include <commdlg.h>
-#include <oaidl.h>
-#include <shlobj.h>
-#include <ole2.h>
-#include <olectl.h>
-#include <objbase.h>
-#include <shlwapi.h>
-#include <shellapi.h>
-#include <wingdi.h>
-
-#endif /* SWT_WGL_H_INCLUDED */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.c
deleted file mode 100644
index 30ce88a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.c
+++ /dev/null
@@ -1,61 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "wgl_stats.h"
-
-#ifdef NATIVE_STATS
-
-int WGL_nativeFunctionCount = 19;
-int WGL_nativeFunctionCallCount[19];
-char * WGL_nativeFunctionNames[] = {
-	"ChoosePixelFormat",
-	"DescribePixelFormat",
-	"GetPixelFormat",
-	"SetPixelFormat",
-	"SwapBuffers",
-	"wglCopyContext",
-	"wglCreateContext",
-	"wglCreateLayerContext",
-	"wglDeleteContext",
-	"wglDescribeLayerPlane",
-	"wglGetCurrentContext",
-	"wglGetCurrentDC",
-	"wglGetLayerPaletteEntries",
-	"wglGetProcAddress",
-	"wglMakeCurrent",
-	"wglRealizeLayerPalette",
-	"wglSetLayerPaletteEntries",
-	"wglShareLists",
-	"wglSwapLayerBuffers",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(WGL_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return WGL_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(WGL_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, WGL_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(WGL_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return WGL_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.h
deleted file mode 100644
index 80e2ec8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_stats.h
+++ /dev/null
@@ -1,43 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int WGL_nativeFunctionCount;
-extern int WGL_nativeFunctionCallCount[];
-extern char* WGL_nativeFunctionNames[];
-#define WGL_NATIVE_ENTER(env, that, func) WGL_nativeFunctionCallCount[func]++;
-#define WGL_NATIVE_EXIT(env, that, func) 
-#else
-#define WGL_NATIVE_ENTER(env, that, func) 
-#define WGL_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	ChoosePixelFormat_FUNC,
-	DescribePixelFormat_FUNC,
-	GetPixelFormat_FUNC,
-	SetPixelFormat_FUNC,
-	SwapBuffers_FUNC,
-	wglCopyContext_FUNC,
-	wglCreateContext_FUNC,
-	wglCreateLayerContext_FUNC,
-	wglDeleteContext_FUNC,
-	wglDescribeLayerPlane_FUNC,
-	wglGetCurrentContext_FUNC,
-	wglGetCurrentDC_FUNC,
-	wglGetLayerPaletteEntries_FUNC,
-	wglGetProcAddress_FUNC,
-	wglMakeCurrent_FUNC,
-	wglRealizeLayerPalette_FUNC,
-	wglSetLayerPaletteEntries_FUNC,
-	wglShareLists_FUNC,
-	wglSwapLayerBuffers_FUNC,
-} WGL_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.c
deleted file mode 100644
index 72a8ec7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.c
+++ /dev/null
@@ -1,220 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "wgl_structs.h"
-
-#ifndef NO_LAYERPLANEDESCRIPTOR
-typedef struct LAYERPLANEDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID nSize, nVersion, dwFlags, iPixelType, cColorBits, cRedBits, cRedShift, cGreenBits, cGreenShift, cBlueBits, cBlueShift, cAlphaBits, cAlphaShift, cAccumBits, cAccumRedBits, cAccumGreenBits, cAccumBlueBits, cAccumAlphaBits, cDepthBits, cStencilBits, cAuxBuffers, iLayerPlane, bReserved, crTransparent;
-} LAYERPLANEDESCRIPTOR_FID_CACHE;
-
-LAYERPLANEDESCRIPTOR_FID_CACHE LAYERPLANEDESCRIPTORFc;
-
-void cacheLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject)
-{
-	if (LAYERPLANEDESCRIPTORFc.cached) return;
-	LAYERPLANEDESCRIPTORFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LAYERPLANEDESCRIPTORFc.nSize = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "nSize", "S");
-	LAYERPLANEDESCRIPTORFc.nVersion = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "nVersion", "S");
-	LAYERPLANEDESCRIPTORFc.dwFlags = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "dwFlags", "I");
-	LAYERPLANEDESCRIPTORFc.iPixelType = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "iPixelType", "B");
-	LAYERPLANEDESCRIPTORFc.cColorBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cColorBits", "B");
-	LAYERPLANEDESCRIPTORFc.cRedBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cRedBits", "B");
-	LAYERPLANEDESCRIPTORFc.cRedShift = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cRedShift", "B");
-	LAYERPLANEDESCRIPTORFc.cGreenBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cGreenBits", "B");
-	LAYERPLANEDESCRIPTORFc.cGreenShift = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cGreenShift", "B");
-	LAYERPLANEDESCRIPTORFc.cBlueBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cBlueBits", "B");
-	LAYERPLANEDESCRIPTORFc.cBlueShift = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cBlueShift", "B");
-	LAYERPLANEDESCRIPTORFc.cAlphaBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAlphaBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAlphaShift = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAlphaShift", "B");
-	LAYERPLANEDESCRIPTORFc.cAccumBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAccumBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAccumRedBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAccumRedBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAccumGreenBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAccumGreenBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAccumBlueBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAccumBlueBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAccumAlphaBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAccumAlphaBits", "B");
-	LAYERPLANEDESCRIPTORFc.cDepthBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cDepthBits", "B");
-	LAYERPLANEDESCRIPTORFc.cStencilBits = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cStencilBits", "B");
-	LAYERPLANEDESCRIPTORFc.cAuxBuffers = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "cAuxBuffers", "B");
-	LAYERPLANEDESCRIPTORFc.iLayerPlane = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "iLayerPlane", "B");
-	LAYERPLANEDESCRIPTORFc.bReserved = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "bReserved", "B");
-	LAYERPLANEDESCRIPTORFc.crTransparent = (*env)->GetFieldID(env, LAYERPLANEDESCRIPTORFc.clazz, "crTransparent", "I");
-	LAYERPLANEDESCRIPTORFc.cached = 1;
-}
-
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	if (!LAYERPLANEDESCRIPTORFc.cached) cacheLAYERPLANEDESCRIPTORFields(env, lpObject);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, LAYERPLANEDESCRIPTORFc.nSize);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, LAYERPLANEDESCRIPTORFc.nVersion);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, LAYERPLANEDESCRIPTORFc.dwFlags);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.iPixelType);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cColorBits);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cRedBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cRedShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cGreenBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cGreenShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cBlueBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cBlueShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAlphaBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAlphaShift);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumRedBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumGreenBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumBlueBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumAlphaBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cDepthBits);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cStencilBits);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAuxBuffers);
-	lpStruct->iLayerPlane = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.iLayerPlane);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.bReserved);
-	lpStruct->crTransparent = (*env)->GetIntField(env, lpObject, LAYERPLANEDESCRIPTORFc.crTransparent);
-	return lpStruct;
-}
-
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct)
-{
-	if (!LAYERPLANEDESCRIPTORFc.cached) cacheLAYERPLANEDESCRIPTORFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, LAYERPLANEDESCRIPTORFc.nSize, (jshort)lpStruct->nSize);
-	(*env)->SetShortField(env, lpObject, LAYERPLANEDESCRIPTORFc.nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetIntField(env, lpObject, LAYERPLANEDESCRIPTORFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.iLayerPlane, (jbyte)lpStruct->iLayerPlane);
-	(*env)->SetByteField(env, lpObject, LAYERPLANEDESCRIPTORFc.bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetIntField(env, lpObject, LAYERPLANEDESCRIPTORFc.crTransparent, (jint)lpStruct->crTransparent);
-}
-#endif
-
-#ifndef NO_PIXELFORMATDESCRIPTOR
-typedef struct PIXELFORMATDESCRIPTOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID nSize, nVersion, dwFlags, iPixelType, cColorBits, cRedBits, cRedShift, cGreenBits, cGreenShift, cBlueBits, cBlueShift, cAlphaBits, cAlphaShift, cAccumBits, cAccumRedBits, cAccumGreenBits, cAccumBlueBits, cAccumAlphaBits, cDepthBits, cStencilBits, cAuxBuffers, iLayerType, bReserved, dwLayerMask, dwVisibleMask, dwDamageMask;
-} PIXELFORMATDESCRIPTOR_FID_CACHE;
-
-PIXELFORMATDESCRIPTOR_FID_CACHE PIXELFORMATDESCRIPTORFc;
-
-void cachePIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject)
-{
-	if (PIXELFORMATDESCRIPTORFc.cached) return;
-	PIXELFORMATDESCRIPTORFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PIXELFORMATDESCRIPTORFc.nSize = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "nSize", "S");
-	PIXELFORMATDESCRIPTORFc.nVersion = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "nVersion", "S");
-	PIXELFORMATDESCRIPTORFc.dwFlags = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "dwFlags", "I");
-	PIXELFORMATDESCRIPTORFc.iPixelType = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "iPixelType", "B");
-	PIXELFORMATDESCRIPTORFc.cColorBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cColorBits", "B");
-	PIXELFORMATDESCRIPTORFc.cRedBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cRedBits", "B");
-	PIXELFORMATDESCRIPTORFc.cRedShift = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cRedShift", "B");
-	PIXELFORMATDESCRIPTORFc.cGreenBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cGreenBits", "B");
-	PIXELFORMATDESCRIPTORFc.cGreenShift = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cGreenShift", "B");
-	PIXELFORMATDESCRIPTORFc.cBlueBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cBlueBits", "B");
-	PIXELFORMATDESCRIPTORFc.cBlueShift = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cBlueShift", "B");
-	PIXELFORMATDESCRIPTORFc.cAlphaBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAlphaBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAlphaShift = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAlphaShift", "B");
-	PIXELFORMATDESCRIPTORFc.cAccumBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAccumBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAccumRedBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAccumRedBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAccumGreenBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAccumGreenBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAccumBlueBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAccumBlueBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAccumAlphaBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAccumAlphaBits", "B");
-	PIXELFORMATDESCRIPTORFc.cDepthBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cDepthBits", "B");
-	PIXELFORMATDESCRIPTORFc.cStencilBits = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cStencilBits", "B");
-	PIXELFORMATDESCRIPTORFc.cAuxBuffers = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "cAuxBuffers", "B");
-	PIXELFORMATDESCRIPTORFc.iLayerType = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "iLayerType", "B");
-	PIXELFORMATDESCRIPTORFc.bReserved = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "bReserved", "B");
-	PIXELFORMATDESCRIPTORFc.dwLayerMask = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "dwLayerMask", "I");
-	PIXELFORMATDESCRIPTORFc.dwVisibleMask = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "dwVisibleMask", "I");
-	PIXELFORMATDESCRIPTORFc.dwDamageMask = (*env)->GetFieldID(env, PIXELFORMATDESCRIPTORFc.clazz, "dwDamageMask", "I");
-	PIXELFORMATDESCRIPTORFc.cached = 1;
-}
-
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	if (!PIXELFORMATDESCRIPTORFc.cached) cachePIXELFORMATDESCRIPTORFields(env, lpObject);
-	lpStruct->nSize = (*env)->GetShortField(env, lpObject, PIXELFORMATDESCRIPTORFc.nSize);
-	lpStruct->nVersion = (*env)->GetShortField(env, lpObject, PIXELFORMATDESCRIPTORFc.nVersion);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwFlags);
-	lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.iPixelType);
-	lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cColorBits);
-	lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cRedBits);
-	lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cRedShift);
-	lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cGreenBits);
-	lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cGreenShift);
-	lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cBlueBits);
-	lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cBlueShift);
-	lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAlphaBits);
-	lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAlphaShift);
-	lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumBits);
-	lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumRedBits);
-	lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumGreenBits);
-	lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumBlueBits);
-	lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumAlphaBits);
-	lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cDepthBits);
-	lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cStencilBits);
-	lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAuxBuffers);
-	lpStruct->iLayerType = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.iLayerType);
-	lpStruct->bReserved = (*env)->GetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.bReserved);
-	lpStruct->dwLayerMask = (*env)->GetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwLayerMask);
-	lpStruct->dwVisibleMask = (*env)->GetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwVisibleMask);
-	lpStruct->dwDamageMask = (*env)->GetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwDamageMask);
-	return lpStruct;
-}
-
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct)
-{
-	if (!PIXELFORMATDESCRIPTORFc.cached) cachePIXELFORMATDESCRIPTORFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PIXELFORMATDESCRIPTORFc.nSize, (jshort)lpStruct->nSize);
-	(*env)->SetShortField(env, lpObject, PIXELFORMATDESCRIPTORFc.nVersion, (jshort)lpStruct->nVersion);
-	(*env)->SetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.iPixelType, (jbyte)lpStruct->iPixelType);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cColorBits, (jbyte)lpStruct->cColorBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cRedBits, (jbyte)lpStruct->cRedBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cRedShift, (jbyte)lpStruct->cRedShift);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cGreenBits, (jbyte)lpStruct->cGreenBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cGreenShift, (jbyte)lpStruct->cGreenShift);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cBlueBits, (jbyte)lpStruct->cBlueBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cBlueShift, (jbyte)lpStruct->cBlueShift);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAlphaBits, (jbyte)lpStruct->cAlphaBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAlphaShift, (jbyte)lpStruct->cAlphaShift);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumBits, (jbyte)lpStruct->cAccumBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumRedBits, (jbyte)lpStruct->cAccumRedBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cDepthBits, (jbyte)lpStruct->cDepthBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cStencilBits, (jbyte)lpStruct->cStencilBits);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.cAuxBuffers, (jbyte)lpStruct->cAuxBuffers);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.iLayerType, (jbyte)lpStruct->iLayerType);
-	(*env)->SetByteField(env, lpObject, PIXELFORMATDESCRIPTORFc.bReserved, (jbyte)lpStruct->bReserved);
-	(*env)->SetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwLayerMask, (jint)lpStruct->dwLayerMask);
-	(*env)->SetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwVisibleMask, (jint)lpStruct->dwVisibleMask);
-	(*env)->SetIntField(env, lpObject, PIXELFORMATDESCRIPTORFc.dwDamageMask, (jint)lpStruct->dwDamageMask);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.h
deleted file mode 100644
index d6cd2b6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/wgl_structs.h
+++ /dev/null
@@ -1,37 +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
- *******************************************************************************/
-
-#include "wgl.h"
-
-#ifndef NO_LAYERPLANEDESCRIPTOR
-void cacheLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject);
-LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct);
-#define LAYERPLANEDESCRIPTOR_sizeof() sizeof(LAYERPLANEDESCRIPTOR)
-#else
-#define cacheLAYERPLANEDESCRIPTORFields(a,b)
-#define getLAYERPLANEDESCRIPTORFields(a,b,c) NULL
-#define setLAYERPLANEDESCRIPTORFields(a,b,c)
-#define LAYERPLANEDESCRIPTOR_sizeof() 0
-#endif
-
-#ifndef NO_PIXELFORMATDESCRIPTOR
-void cachePIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject);
-PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct);
-#define PIXELFORMATDESCRIPTOR_sizeof() sizeof(PIXELFORMATDESCRIPTOR)
-#else
-#define cachePIXELFORMATDESCRIPTORFields(a,b)
-#define getPIXELFORMATDESCRIPTORFields(a,b,c) NULL
-#define setPIXELFORMATDESCRIPTORFields(a,b,c)
-#define PIXELFORMATDESCRIPTOR_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/LAYERPLANEDESCRIPTOR.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/LAYERPLANEDESCRIPTOR.java
deleted file mode 100755
index 49d2361..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/LAYERPLANEDESCRIPTOR.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.internal.opengl.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/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/PIXELFORMATDESCRIPTOR.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/PIXELFORMATDESCRIPTOR.java
deleted file mode 100755
index 2902464..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/PIXELFORMATDESCRIPTOR.java
+++ /dev/null
@@ -1,42 +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.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/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/WGL.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/WGL.java
deleted file mode 100755
index b50e8d3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/internal/opengl/win32/WGL.java
+++ /dev/null
@@ -1,120 +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.win32;
-
-import org.eclipse.swt.internal.Library;
-
-public class WGL {	
-	static {
-		Library.loadLibrary("swt-wgl");
-	}
-	
-	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 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/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/opengl/GLCanvas.java b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/opengl/GLCanvas.java
deleted file mode 100644
index f7e19c6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/org/eclipse/swt/opengl/GLCanvas.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.opengl;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.internal.opengl.win32.*;
-
-/**
- * GLCanvas is a widget capable of displaying OpenGL content.
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-
-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> 
- * </ul>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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 || !WGL.SetPixelFormat (hDC, pixelFormat, pfd)) {
-		OS.ReleaseDC (handle, hDC);
-		dispose ();
-		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);
-	//FIXME- share lists
-	//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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-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>
- * 
- * WARNING API STILL UNDER CONSTRUCTION AND SUBJECT TO CHANGE
- * 
- * @since 3.2
- */
-public void swapBuffers () {
-	checkWidget ();
-	int hDC = OS.GetDC (handle);
-	WGL.SwapBuffers (hDC);
-	OS.ReleaseDC (handle, hDC);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
deleted file mode 100644
index 6bfb614..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
+++ /dev/null
@@ -1,1691 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "swt.h"
-#include "cairo_structs.h"
-#include "cairo_stats.h"
-
-#define Cairo_NATIVE(func) Java_org_eclipse_swt_internal_cairo_Cairo_##func
-
-#ifndef NO_cairo_1append_1path
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1append_1path)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1append_1path_FUNC);
-	cairo_append_path((cairo_t *)arg0, (cairo_path_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1append_1path_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1arc
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1arc)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1arc_FUNC);
-	cairo_arc((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5);
-	Cairo_NATIVE_EXIT(env, that, cairo_1arc_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1arc_1negative
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1arc_1negative)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1arc_1negative_FUNC);
-	cairo_arc_negative((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5);
-	Cairo_NATIVE_EXIT(env, that, cairo_1arc_1negative_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1clip
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1clip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1clip_FUNC);
-	cairo_clip((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1clip_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1clip_1preserve
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1clip_1preserve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1clip_1preserve_FUNC);
-	cairo_clip_preserve((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1clip_1preserve_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1close_1path
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1close_1path)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1close_1path_FUNC);
-	cairo_close_path((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1close_1path_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1copy_1page
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1copy_1page)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1copy_1page_FUNC);
-	cairo_copy_page((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1copy_1page_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1copy_1path
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1copy_1path)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1copy_1path_FUNC);
-	rc = (jint)cairo_copy_path((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1copy_1path_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1copy_1path_1flat
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1copy_1path_1flat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1copy_1path_1flat_FUNC);
-	rc = (jint)cairo_copy_path_flat((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1copy_1path_1flat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1create
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1create)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1create_FUNC);
-	rc = (jint)cairo_create((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1curve_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1curve_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1curve_1to_FUNC);
-	cairo_curve_to((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	Cairo_NATIVE_EXIT(env, that, cairo_1curve_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1destroy
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1destroy_FUNC);
-	cairo_destroy((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1device_1to_1user
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1device_1to_1user)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1device_1to_1user_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_device_to_user((cairo_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1device_1to_1user_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1device_1to_1user_1distance
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1device_1to_1user_1distance)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1device_1to_1user_1distance_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_device_to_user_distance((cairo_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1device_1to_1user_1distance_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1fill
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1fill_FUNC);
-	cairo_fill((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1fill_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1fill_1extents
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3, jdoubleArray arg4)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1fill_1extents_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	cairo_fill_extents((cairo_t *)arg0, lparg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1fill_1extents_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1fill_1preserve
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill_1preserve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1fill_1preserve_FUNC);
-	cairo_fill_preserve((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1fill_1preserve_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1font_1extents
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	cairo_font_extents_t _arg1, *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1extents_FUNC);
-	if (arg1) if ((lparg1 = getcairo_font_extents_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	cairo_font_extents((cairo_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setcairo_font_extents_tFields(env, arg1, lparg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1extents_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1font_1extents_1t_1sizeof
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1extents_1t_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1extents_1t_1sizeof_FUNC);
-	rc = (jint)cairo_font_extents_t_sizeof();
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1extents_1t_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1font_1options_1create
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1options_1create)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1create_FUNC);
-	rc = (jint)cairo_font_options_create();
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1font_1options_1destroy
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1options_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1destroy_FUNC);
-	cairo_font_options_destroy((cairo_font_options_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1font_1options_1get_1antialias
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1options_1get_1antialias)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1get_1antialias_FUNC);
-	rc = (jint)cairo_font_options_get_antialias((cairo_font_options_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1get_1antialias_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1font_1options_1set_1antialias
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1options_1set_1antialias)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1set_1antialias_FUNC);
-	cairo_font_options_set_antialias((cairo_font_options_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1set_1antialias_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1get_1antialias
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1antialias)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1antialias_FUNC);
-	rc = (jint)cairo_get_antialias((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1antialias_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1current_1point
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1current_1point)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1current_1point_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_get_current_point((cairo_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1current_1point_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1get_1fill_1rule
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1fill_1rule)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1fill_1rule_FUNC);
-	rc = (jint)cairo_get_fill_rule((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1fill_1rule_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1font_1face
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1font_1face)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1face_FUNC);
-	rc = (jint)cairo_get_font_face((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1face_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1font_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1font_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_get_font_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1get_1font_1options
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1font_1options)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1options_FUNC);
-	cairo_get_font_options((cairo_t *)arg0, (cairo_font_options_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1options_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1get_1line_1cap
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1line_1cap)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1cap_FUNC);
-	rc = (jint)cairo_get_line_cap((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1cap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1line_1join
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1line_1join)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1join_FUNC);
-	rc = (jint)cairo_get_line_join((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1join_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1line_1width
-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1line_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jdouble rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1width_FUNC);
-	rc = (jdouble)cairo_get_line_width((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_get_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1get_1miter_1limit
-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1miter_1limit)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jdouble rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1miter_1limit_FUNC);
-	rc = (jdouble)cairo_get_miter_limit((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1miter_1limit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1operator
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1operator)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1operator_FUNC);
-	rc = (jint)cairo_get_operator((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1operator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1source
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1source)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1source_FUNC);
-	rc = (jint)cairo_get_source((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1source_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1target
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1target)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1target_FUNC);
-	rc = (jint)cairo_get_target((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1target_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1get_1tolerance
-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1tolerance)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jdouble rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1get_1tolerance_FUNC);
-	rc = (jdouble)cairo_get_tolerance((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1get_1tolerance_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1glyph_1extents
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1glyph_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1glyph_1extents_FUNC);
-	cairo_glyph_extents((cairo_t *)arg0, (cairo_glyph_t *)arg1, arg2, (cairo_text_extents_t *)arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1glyph_1extents_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1glyph_1path
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1glyph_1path)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1glyph_1path_FUNC);
-	cairo_glyph_path((cairo_t *)arg0, (cairo_glyph_t *)arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1glyph_1path_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1identity_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1identity_1matrix)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1identity_1matrix_FUNC);
-	cairo_identity_matrix((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1identity_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1image_1surface_1create
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1create)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1create_FUNC);
-	rc = (jint)cairo_image_surface_create(arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1image_1surface_1create_1for_1data
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1create_1for_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
-	rc = (jint)cairo_image_surface_create_for_data((char *)arg0, arg1, arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1image_1surface_1get_1height
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1get_1height)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1get_1height_FUNC);
-	rc = (jint)cairo_image_surface_get_height((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1get_1height_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1image_1surface_1get_1width
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1get_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1get_1width_FUNC);
-	rc = (jint)cairo_image_surface_get_width((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1get_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1in_1fill
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1in_1fill)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1in_1fill_FUNC);
-	rc = (jint)cairo_in_fill((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1in_1fill_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1in_1stroke
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1in_1stroke)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1in_1stroke_FUNC);
-	rc = (jint)cairo_in_stroke((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1in_1stroke_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1line_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1line_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1line_1to_FUNC);
-	cairo_line_to((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1line_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1mask
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1mask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1mask_FUNC);
-	cairo_mask((cairo_t *)arg0, (cairo_pattern_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1mask_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1mask_1surface
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1mask_1surface)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2, jdouble arg3)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1mask_1surface_FUNC);
-	cairo_mask_surface((cairo_t *)arg0, (cairo_surface_t *)arg1, arg2, arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1mask_1surface_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1init
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_init((cairo_matrix_t *)lparg0, arg1, arg2, arg3, arg4, arg5, arg6);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1init_1identity
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1identity)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1identity_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_init_identity((cairo_matrix_t *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1identity_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1init_1rotate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1rotate)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1rotate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_init_rotate((cairo_matrix_t *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1rotate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1init_1scale
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1scale)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1scale_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_init_scale((cairo_matrix_t *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1scale_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1init_1translate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1translate)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1translate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_init_translate((cairo_matrix_t *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1translate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1invert
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1invert)
-	(JNIEnv *env, jclass that, jdoubleArray arg0)
-{
-	jdouble *lparg0=NULL;
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1invert_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)cairo_matrix_invert((cairo_matrix_t *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1invert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1multiply
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1multiply)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1multiply_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_matrix_multiply((cairo_matrix_t *)lparg0, (cairo_matrix_t *)lparg1, (cairo_matrix_t *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1multiply_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1rotate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1rotate)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1rotate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_rotate((cairo_matrix_t *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1rotate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1scale
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1scale)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1scale_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_scale((cairo_matrix_t *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1scale_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1transform_1distance
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1distance)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1transform_1distance_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_matrix_transform_distance((cairo_matrix_t *)lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1transform_1distance_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1transform_1point
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1point)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg0=NULL;
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1transform_1point_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_matrix_transform_point((cairo_matrix_t *)lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1transform_1point_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1matrix_1translate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1translate)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1translate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	cairo_matrix_translate((cairo_matrix_t *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1translate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1move_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1move_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1move_1to_FUNC);
-	cairo_move_to((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1move_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1new_1path
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1new_1path)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1new_1path_FUNC);
-	cairo_new_path((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1new_1path_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1paint
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1paint)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1paint_FUNC);
-	cairo_paint((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1paint_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1paint_1with_1alpha
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1paint_1with_1alpha)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1paint_1with_1alpha_FUNC);
-	cairo_paint_with_alpha((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1paint_1with_1alpha_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1path_1data_1t_1sizeof
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1path_1data_1t_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1path_1data_1t_1sizeof_FUNC);
-	rc = (jint)cairo_path_data_t_sizeof();
-	Cairo_NATIVE_EXIT(env, that, cairo_1path_1data_1t_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1path_1destroy
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1path_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1path_1destroy_FUNC);
-	cairo_path_destroy((cairo_path_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1path_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1path_1t_1sizeof
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1path_1t_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1path_1t_1sizeof_FUNC);
-	rc = (jint)cairo_path_t_sizeof();
-	Cairo_NATIVE_EXIT(env, that, cairo_1path_1t_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1add_1color_1stop_1rgb
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1add_1color_1stop_1rgb)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1add_1color_1stop_1rgb_FUNC);
-	cairo_pattern_add_color_stop_rgb((cairo_pattern_t *)arg0, arg1, arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1add_1color_1stop_1rgb_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1add_1color_1stop_1rgba
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1add_1color_1stop_1rgba)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1add_1color_1stop_1rgba_FUNC);
-	cairo_pattern_add_color_stop_rgba((cairo_pattern_t *)arg0, arg1, arg2, arg3, arg4, arg5);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1add_1color_1stop_1rgba_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1create_1for_1surface
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1create_1for_1surface)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1create_1for_1surface_FUNC);
-	rc = (jint)cairo_pattern_create_for_surface((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1create_1for_1surface_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1create_1linear
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1create_1linear)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1create_1linear_FUNC);
-	rc = (jint)cairo_pattern_create_linear(arg0, arg1, arg2, arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1create_1linear_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1create_1radial
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1create_1radial)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1create_1radial_FUNC);
-	rc = (jint)cairo_pattern_create_radial(arg0, arg1, arg2, arg3, arg4, arg5);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1create_1radial_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1destroy
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1destroy_FUNC);
-	cairo_pattern_destroy((cairo_pattern_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1get_1extend
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1get_1extend)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1get_1extend_FUNC);
-	rc = (jint)cairo_pattern_get_extend((cairo_pattern_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1get_1extend_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1get_1filter
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1get_1filter)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1get_1filter_FUNC);
-	rc = (jint)cairo_pattern_get_filter((cairo_pattern_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1get_1filter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1get_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1get_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1get_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_pattern_get_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1get_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1reference
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1reference)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1reference_FUNC);
-	cairo_pattern_reference((cairo_pattern_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1reference_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1set_1extend
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1extend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1extend_FUNC);
-	cairo_pattern_set_extend((cairo_pattern_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1extend_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1set_1filter
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1filter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1filter_FUNC);
-	cairo_pattern_set_filter((cairo_pattern_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1filter_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1pattern_1set_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_pattern_set_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1rectangle
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rectangle)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1rectangle_FUNC);
-	cairo_rectangle((cairo_t *)arg0, arg1, arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1rectangle_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1reference
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1reference)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1reference_FUNC);
-	rc = (jint)cairo_reference((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1reference_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1rel_1curve_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rel_1curve_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1rel_1curve_1to_FUNC);
-	cairo_rel_curve_to((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	Cairo_NATIVE_EXIT(env, that, cairo_1rel_1curve_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1rel_1line_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rel_1line_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1rel_1line_1to_FUNC);
-	cairo_rel_line_to((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1rel_1line_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1rel_1move_1to
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rel_1move_1to)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1rel_1move_1to_FUNC);
-	cairo_rel_move_to((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1rel_1move_1to_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1reset_1clip
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1reset_1clip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1reset_1clip_FUNC);
-	cairo_reset_clip((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1reset_1clip_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1restore
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1restore)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1restore_FUNC);
-	cairo_restore((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1restore_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1rotate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rotate)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1rotate_FUNC);
-	cairo_rotate((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1rotate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1save
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1save)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1save_FUNC);
-	cairo_save((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1save_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1scale
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1scale)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1scale_FUNC);
-	cairo_scale((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1scale_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1select_1font_1face
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1select_1font_1face)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1select_1font_1face_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_select_font_face((cairo_t *)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1select_1font_1face_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1antialias
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1antialias)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1antialias_FUNC);
-	cairo_set_antialias((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1antialias_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1dash
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1dash)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2, jdouble arg3)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1dash_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_set_dash((cairo_t *)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1dash_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1fill_1rule
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1fill_1rule)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1fill_1rule_FUNC);
-	cairo_set_fill_rule((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1fill_1rule_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1font_1face
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1face)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1face_FUNC);
-	cairo_set_font_face((cairo_t *)arg0, (cairo_font_face_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1face_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1font_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_set_font_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1font_1options
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1options)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1options_FUNC);
-	cairo_set_font_options((cairo_t *)arg0, (cairo_font_options_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1options_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1font_1size
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1size)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1size_FUNC);
-	cairo_set_font_size((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1size_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1line_1cap
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1line_1cap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1line_1cap_FUNC);
-	cairo_set_line_cap((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1line_1cap_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1line_1join
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1line_1join)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1line_1join_FUNC);
-	cairo_set_line_join((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1line_1join_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1line_1width
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1line_1width)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1line_1width_FUNC);
-	cairo_set_line_width((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1line_1width_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1matrix
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1matrix)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1matrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_set_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1matrix_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1miter_1limit
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1miter_1limit)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1miter_1limit_FUNC);
-	cairo_set_miter_limit((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1miter_1limit_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1operator
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1operator)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1operator_FUNC);
-	cairo_set_operator((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1operator_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1source
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_FUNC);
-	cairo_set_source((cairo_t *)arg0, (cairo_pattern_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1source_1rgb
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1rgb)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1rgb_FUNC);
-	cairo_set_source_rgb((cairo_t *)arg0, arg1, arg2, arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1rgb_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1source_1rgba
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1rgba)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1rgba_FUNC);
-	cairo_set_source_rgba((cairo_t *)arg0, arg1, arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1rgba_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1source_1surface
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1surface)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2, jdouble arg3)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1surface_FUNC);
-	cairo_set_source_surface((cairo_t *)arg0, (cairo_surface_t *)arg1, arg2, arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1surface_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1set_1tolerance
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1tolerance)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1set_1tolerance_FUNC);
-	cairo_set_tolerance((cairo_t *)arg0, arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1set_1tolerance_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1show_1glyphs
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1show_1glyphs)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1show_1glyphs_FUNC);
-	cairo_show_glyphs((cairo_t *)arg0, (cairo_glyph_t *)arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1show_1glyphs_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1show_1page
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1show_1page)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1show_1page_FUNC);
-	cairo_show_page((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1show_1page_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1show_1text
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1show_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1show_1text_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_show_text((cairo_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1show_1text_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1status
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1status)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1status_FUNC);
-	rc = (jint)cairo_status((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1status_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1status_1to_1string
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1status_1to_1string)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1status_1to_1string_FUNC);
-	rc = (jint)cairo_status_to_string(arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1status_1to_1string_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1stroke
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1stroke)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1stroke_FUNC);
-	cairo_stroke((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1stroke_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1stroke_1extents
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1stroke_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3, jdoubleArray arg4)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	jdouble *lparg3=NULL;
-	jdouble *lparg4=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1stroke_1extents_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	cairo_stroke_extents((cairo_t *)arg0, lparg1, lparg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1stroke_1extents_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1stroke_1preserve
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1stroke_1preserve)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1stroke_1preserve_FUNC);
-	cairo_stroke_preserve((cairo_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1stroke_1preserve_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1surface_1create_1similar
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1create_1similar)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1create_1similar_FUNC);
-	rc = (jint)cairo_surface_create_similar((cairo_surface_t *)arg0, arg1, arg2, arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1create_1similar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1surface_1destroy
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1destroy_FUNC);
-	cairo_surface_destroy((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1surface_1finish
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1finish)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1finish_FUNC);
-	cairo_surface_finish((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1finish_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1surface_1get_1user_1data
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1get_1user_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1get_1user_1data_FUNC);
-	rc = (jint)cairo_surface_get_user_data((cairo_surface_t *)arg0, (cairo_user_data_key_t *)arg1);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1get_1user_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1surface_1reference
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1reference)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1reference_FUNC);
-	cairo_surface_reference((cairo_surface_t *)arg0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1reference_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1surface_1set_1device_1offset
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1set_1device_1offset)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1device_1offset_FUNC);
-	cairo_surface_set_device_offset((cairo_surface_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1device_1offset_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1surface_1set_1user_1data
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1set_1user_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1user_1data_FUNC);
-	rc = (jint)cairo_surface_set_user_data((cairo_surface_t *)arg0, (cairo_user_data_key_t *)arg1, (void *)arg2, (cairo_destroy_func_t)arg3);
-	Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1user_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1text_1extents
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1text_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2)
-{
-	jbyte *lparg1=NULL;
-	cairo_text_extents_t _arg2, *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1text_1extents_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getcairo_text_extents_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	cairo_text_extents((cairo_t *)arg0, lparg1, (cairo_text_extents_t *)lparg2);
-fail:
-	if (arg2 && lparg2) setcairo_text_extents_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1text_1extents_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1text_1extents_1t_1sizeof
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1text_1extents_1t_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1text_1extents_1t_1sizeof_FUNC);
-	rc = (jint)cairo_text_extents_t_sizeof();
-	Cairo_NATIVE_EXIT(env, that, cairo_1text_1extents_1t_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1text_1path
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1text_1path)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1text_1path_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_text_path((cairo_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1text_1path_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1transform
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1transform)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1)
-{
-	jdouble *lparg1=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1transform_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	cairo_transform((cairo_t *)arg0, (cairo_matrix_t *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1transform_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1translate
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1translate)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1translate_FUNC);
-	cairo_translate((cairo_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1translate_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1user_1to_1device
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1user_1to_1device)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1user_1to_1device_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_user_to_device((cairo_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1user_1to_1device_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1user_1to_1device_1distance
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1user_1to_1device_1distance)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	Cairo_NATIVE_ENTER(env, that, cairo_1user_1to_1device_1distance_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	cairo_user_to_device_distance((cairo_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	Cairo_NATIVE_EXIT(env, that, cairo_1user_1to_1device_1distance_FUNC);
-}
-#endif
-
-#ifndef NO_cairo_1xlib_1surface_1create
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1create)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1create_FUNC);
-	rc = (jint)cairo_xlib_surface_create((Display *)arg0, (Drawable)arg1, (Visual *)arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1xlib_1surface_1create_1for_1bitmap
-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1create_1for_1bitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1create_1for_1bitmap_FUNC);
-	rc = (jint)cairo_xlib_surface_create_for_bitmap((Display *)arg0, (Pixmap)arg1, (Screen *)arg2, arg3, arg4);
-	Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1create_1for_1bitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_cairo_1xlib_1surface_1set_1size
-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1set_1size)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1set_1size_FUNC);
-	cairo_xlib_surface_set_size((cairo_surface_t *)arg0, arg1, arg2);
-	Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1set_1size_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II
-JNIEXPORT void JNICALL Cairo_NATIVE(memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	cairo_path_data_t _arg0, *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getcairo_path_data_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setcairo_path_data_tFields(env, arg0, lparg0);
-	Cairo_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II
-JNIEXPORT void JNICALL Cairo_NATIVE(memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	cairo_path_t _arg0, *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getcairo_path_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setcairo_path_tFields(env, arg0, lparg0);
-	Cairo_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3DII
-JNIEXPORT void JNICALL Cairo_NATIVE(memmove___3DII)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jint arg1, jint arg2)
-{
-	jdouble *lparg0=NULL;
-	Cairo_NATIVE_ENTER(env, that, memmove___3DII_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	Cairo_NATIVE_EXIT(env, that, memmove___3DII_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.h b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.h
deleted file mode 100644
index c3e417d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef INC_cairo_H
-#define INC_cairo_H
-
-#include <cairo.h>
-#include <cairo-xlib.h>
-#include <string.h>
-
-#endif /* INC_cairo_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
deleted file mode 100644
index fbf5ba2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "swt.h"
-#include "cairo_stats.h"
-
-#ifdef NATIVE_STATS
-
-int Cairo_nativeFunctionCount = 139;
-int Cairo_nativeFunctionCallCount[139];
-char * Cairo_nativeFunctionNames[] = {
-	"cairo_1append_1path",
-	"cairo_1arc",
-	"cairo_1arc_1negative",
-	"cairo_1clip",
-	"cairo_1clip_1preserve",
-	"cairo_1close_1path",
-	"cairo_1copy_1page",
-	"cairo_1copy_1path",
-	"cairo_1copy_1path_1flat",
-	"cairo_1create",
-	"cairo_1curve_1to",
-	"cairo_1destroy",
-	"cairo_1device_1to_1user",
-	"cairo_1device_1to_1user_1distance",
-	"cairo_1fill",
-	"cairo_1fill_1extents",
-	"cairo_1fill_1preserve",
-	"cairo_1font_1extents",
-	"cairo_1font_1extents_1t_1sizeof",
-	"cairo_1font_1options_1create",
-	"cairo_1font_1options_1destroy",
-	"cairo_1font_1options_1get_1antialias",
-	"cairo_1font_1options_1set_1antialias",
-	"cairo_1get_1antialias",
-	"cairo_1get_1current_1point",
-	"cairo_1get_1fill_1rule",
-	"cairo_1get_1font_1face",
-	"cairo_1get_1font_1matrix",
-	"cairo_1get_1font_1options",
-	"cairo_1get_1line_1cap",
-	"cairo_1get_1line_1join",
-	"cairo_1get_1line_1width",
-	"cairo_1get_1matrix",
-	"cairo_1get_1miter_1limit",
-	"cairo_1get_1operator",
-	"cairo_1get_1source",
-	"cairo_1get_1target",
-	"cairo_1get_1tolerance",
-	"cairo_1glyph_1extents",
-	"cairo_1glyph_1path",
-	"cairo_1identity_1matrix",
-	"cairo_1image_1surface_1create",
-	"cairo_1image_1surface_1create_1for_1data",
-	"cairo_1image_1surface_1get_1height",
-	"cairo_1image_1surface_1get_1width",
-	"cairo_1in_1fill",
-	"cairo_1in_1stroke",
-	"cairo_1line_1to",
-	"cairo_1mask",
-	"cairo_1mask_1surface",
-	"cairo_1matrix_1init",
-	"cairo_1matrix_1init_1identity",
-	"cairo_1matrix_1init_1rotate",
-	"cairo_1matrix_1init_1scale",
-	"cairo_1matrix_1init_1translate",
-	"cairo_1matrix_1invert",
-	"cairo_1matrix_1multiply",
-	"cairo_1matrix_1rotate",
-	"cairo_1matrix_1scale",
-	"cairo_1matrix_1transform_1distance",
-	"cairo_1matrix_1transform_1point",
-	"cairo_1matrix_1translate",
-	"cairo_1move_1to",
-	"cairo_1new_1path",
-	"cairo_1paint",
-	"cairo_1paint_1with_1alpha",
-	"cairo_1path_1data_1t_1sizeof",
-	"cairo_1path_1destroy",
-	"cairo_1path_1t_1sizeof",
-	"cairo_1pattern_1add_1color_1stop_1rgb",
-	"cairo_1pattern_1add_1color_1stop_1rgba",
-	"cairo_1pattern_1create_1for_1surface",
-	"cairo_1pattern_1create_1linear",
-	"cairo_1pattern_1create_1radial",
-	"cairo_1pattern_1destroy",
-	"cairo_1pattern_1get_1extend",
-	"cairo_1pattern_1get_1filter",
-	"cairo_1pattern_1get_1matrix",
-	"cairo_1pattern_1reference",
-	"cairo_1pattern_1set_1extend",
-	"cairo_1pattern_1set_1filter",
-	"cairo_1pattern_1set_1matrix",
-	"cairo_1rectangle",
-	"cairo_1reference",
-	"cairo_1rel_1curve_1to",
-	"cairo_1rel_1line_1to",
-	"cairo_1rel_1move_1to",
-	"cairo_1reset_1clip",
-	"cairo_1restore",
-	"cairo_1rotate",
-	"cairo_1save",
-	"cairo_1scale",
-	"cairo_1select_1font_1face",
-	"cairo_1set_1antialias",
-	"cairo_1set_1dash",
-	"cairo_1set_1fill_1rule",
-	"cairo_1set_1font_1face",
-	"cairo_1set_1font_1matrix",
-	"cairo_1set_1font_1options",
-	"cairo_1set_1font_1size",
-	"cairo_1set_1line_1cap",
-	"cairo_1set_1line_1join",
-	"cairo_1set_1line_1width",
-	"cairo_1set_1matrix",
-	"cairo_1set_1miter_1limit",
-	"cairo_1set_1operator",
-	"cairo_1set_1source",
-	"cairo_1set_1source_1rgb",
-	"cairo_1set_1source_1rgba",
-	"cairo_1set_1source_1surface",
-	"cairo_1set_1tolerance",
-	"cairo_1show_1glyphs",
-	"cairo_1show_1page",
-	"cairo_1show_1text",
-	"cairo_1status",
-	"cairo_1status_1to_1string",
-	"cairo_1stroke",
-	"cairo_1stroke_1extents",
-	"cairo_1stroke_1preserve",
-	"cairo_1surface_1create_1similar",
-	"cairo_1surface_1destroy",
-	"cairo_1surface_1finish",
-	"cairo_1surface_1get_1user_1data",
-	"cairo_1surface_1reference",
-	"cairo_1surface_1set_1device_1offset",
-	"cairo_1surface_1set_1user_1data",
-	"cairo_1text_1extents",
-	"cairo_1text_1extents_1t_1sizeof",
-	"cairo_1text_1path",
-	"cairo_1transform",
-	"cairo_1translate",
-	"cairo_1user_1to_1device",
-	"cairo_1user_1to_1device_1distance",
-	"cairo_1xlib_1surface_1create",
-	"cairo_1xlib_1surface_1create_1for_1bitmap",
-	"cairo_1xlib_1surface_1set_1size",
-	"memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II",
-	"memmove___3DII",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(Cairo_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return Cairo_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(Cairo_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, Cairo_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(Cairo_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return Cairo_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
deleted file mode 100644
index f9a9200..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifdef NATIVE_STATS
-extern int Cairo_nativeFunctionCount;
-extern int Cairo_nativeFunctionCallCount[];
-extern char* Cairo_nativeFunctionNames[];
-#define Cairo_NATIVE_ENTER(env, that, func) Cairo_nativeFunctionCallCount[func]++;
-#define Cairo_NATIVE_EXIT(env, that, func) 
-#else
-#define Cairo_NATIVE_ENTER(env, that, func) 
-#define Cairo_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	cairo_1append_1path_FUNC,
-	cairo_1arc_FUNC,
-	cairo_1arc_1negative_FUNC,
-	cairo_1clip_FUNC,
-	cairo_1clip_1preserve_FUNC,
-	cairo_1close_1path_FUNC,
-	cairo_1copy_1page_FUNC,
-	cairo_1copy_1path_FUNC,
-	cairo_1copy_1path_1flat_FUNC,
-	cairo_1create_FUNC,
-	cairo_1curve_1to_FUNC,
-	cairo_1destroy_FUNC,
-	cairo_1device_1to_1user_FUNC,
-	cairo_1device_1to_1user_1distance_FUNC,
-	cairo_1fill_FUNC,
-	cairo_1fill_1extents_FUNC,
-	cairo_1fill_1preserve_FUNC,
-	cairo_1font_1extents_FUNC,
-	cairo_1font_1extents_1t_1sizeof_FUNC,
-	cairo_1font_1options_1create_FUNC,
-	cairo_1font_1options_1destroy_FUNC,
-	cairo_1font_1options_1get_1antialias_FUNC,
-	cairo_1font_1options_1set_1antialias_FUNC,
-	cairo_1get_1antialias_FUNC,
-	cairo_1get_1current_1point_FUNC,
-	cairo_1get_1fill_1rule_FUNC,
-	cairo_1get_1font_1face_FUNC,
-	cairo_1get_1font_1matrix_FUNC,
-	cairo_1get_1font_1options_FUNC,
-	cairo_1get_1line_1cap_FUNC,
-	cairo_1get_1line_1join_FUNC,
-	cairo_1get_1line_1width_FUNC,
-	cairo_1get_1matrix_FUNC,
-	cairo_1get_1miter_1limit_FUNC,
-	cairo_1get_1operator_FUNC,
-	cairo_1get_1source_FUNC,
-	cairo_1get_1target_FUNC,
-	cairo_1get_1tolerance_FUNC,
-	cairo_1glyph_1extents_FUNC,
-	cairo_1glyph_1path_FUNC,
-	cairo_1identity_1matrix_FUNC,
-	cairo_1image_1surface_1create_FUNC,
-	cairo_1image_1surface_1create_1for_1data_FUNC,
-	cairo_1image_1surface_1get_1height_FUNC,
-	cairo_1image_1surface_1get_1width_FUNC,
-	cairo_1in_1fill_FUNC,
-	cairo_1in_1stroke_FUNC,
-	cairo_1line_1to_FUNC,
-	cairo_1mask_FUNC,
-	cairo_1mask_1surface_FUNC,
-	cairo_1matrix_1init_FUNC,
-	cairo_1matrix_1init_1identity_FUNC,
-	cairo_1matrix_1init_1rotate_FUNC,
-	cairo_1matrix_1init_1scale_FUNC,
-	cairo_1matrix_1init_1translate_FUNC,
-	cairo_1matrix_1invert_FUNC,
-	cairo_1matrix_1multiply_FUNC,
-	cairo_1matrix_1rotate_FUNC,
-	cairo_1matrix_1scale_FUNC,
-	cairo_1matrix_1transform_1distance_FUNC,
-	cairo_1matrix_1transform_1point_FUNC,
-	cairo_1matrix_1translate_FUNC,
-	cairo_1move_1to_FUNC,
-	cairo_1new_1path_FUNC,
-	cairo_1paint_FUNC,
-	cairo_1paint_1with_1alpha_FUNC,
-	cairo_1path_1data_1t_1sizeof_FUNC,
-	cairo_1path_1destroy_FUNC,
-	cairo_1path_1t_1sizeof_FUNC,
-	cairo_1pattern_1add_1color_1stop_1rgb_FUNC,
-	cairo_1pattern_1add_1color_1stop_1rgba_FUNC,
-	cairo_1pattern_1create_1for_1surface_FUNC,
-	cairo_1pattern_1create_1linear_FUNC,
-	cairo_1pattern_1create_1radial_FUNC,
-	cairo_1pattern_1destroy_FUNC,
-	cairo_1pattern_1get_1extend_FUNC,
-	cairo_1pattern_1get_1filter_FUNC,
-	cairo_1pattern_1get_1matrix_FUNC,
-	cairo_1pattern_1reference_FUNC,
-	cairo_1pattern_1set_1extend_FUNC,
-	cairo_1pattern_1set_1filter_FUNC,
-	cairo_1pattern_1set_1matrix_FUNC,
-	cairo_1rectangle_FUNC,
-	cairo_1reference_FUNC,
-	cairo_1rel_1curve_1to_FUNC,
-	cairo_1rel_1line_1to_FUNC,
-	cairo_1rel_1move_1to_FUNC,
-	cairo_1reset_1clip_FUNC,
-	cairo_1restore_FUNC,
-	cairo_1rotate_FUNC,
-	cairo_1save_FUNC,
-	cairo_1scale_FUNC,
-	cairo_1select_1font_1face_FUNC,
-	cairo_1set_1antialias_FUNC,
-	cairo_1set_1dash_FUNC,
-	cairo_1set_1fill_1rule_FUNC,
-	cairo_1set_1font_1face_FUNC,
-	cairo_1set_1font_1matrix_FUNC,
-	cairo_1set_1font_1options_FUNC,
-	cairo_1set_1font_1size_FUNC,
-	cairo_1set_1line_1cap_FUNC,
-	cairo_1set_1line_1join_FUNC,
-	cairo_1set_1line_1width_FUNC,
-	cairo_1set_1matrix_FUNC,
-	cairo_1set_1miter_1limit_FUNC,
-	cairo_1set_1operator_FUNC,
-	cairo_1set_1source_FUNC,
-	cairo_1set_1source_1rgb_FUNC,
-	cairo_1set_1source_1rgba_FUNC,
-	cairo_1set_1source_1surface_FUNC,
-	cairo_1set_1tolerance_FUNC,
-	cairo_1show_1glyphs_FUNC,
-	cairo_1show_1page_FUNC,
-	cairo_1show_1text_FUNC,
-	cairo_1status_FUNC,
-	cairo_1status_1to_1string_FUNC,
-	cairo_1stroke_FUNC,
-	cairo_1stroke_1extents_FUNC,
-	cairo_1stroke_1preserve_FUNC,
-	cairo_1surface_1create_1similar_FUNC,
-	cairo_1surface_1destroy_FUNC,
-	cairo_1surface_1finish_FUNC,
-	cairo_1surface_1get_1user_1data_FUNC,
-	cairo_1surface_1reference_FUNC,
-	cairo_1surface_1set_1device_1offset_FUNC,
-	cairo_1surface_1set_1user_1data_FUNC,
-	cairo_1text_1extents_FUNC,
-	cairo_1text_1extents_1t_1sizeof_FUNC,
-	cairo_1text_1path_FUNC,
-	cairo_1transform_FUNC,
-	cairo_1translate_FUNC,
-	cairo_1user_1to_1device_FUNC,
-	cairo_1user_1to_1device_1distance_FUNC,
-	cairo_1xlib_1surface_1create_FUNC,
-	cairo_1xlib_1surface_1create_1for_1bitmap_FUNC,
-	cairo_1xlib_1surface_1set_1size_FUNC,
-	memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC,
-	memmove___3DII_FUNC,
-} Cairo_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.c
deleted file mode 100644
index 4e9e9f6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "swt.h"
-#include "cairo_structs.h"
-
-#ifndef NO_cairo_font_extents_t
-typedef struct cairo_font_extents_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ascent, descent, height, max_x_advance, max_y_advance;
-} cairo_font_extents_t_FID_CACHE;
-
-cairo_font_extents_t_FID_CACHE cairo_font_extents_tFc;
-
-void cachecairo_font_extents_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (cairo_font_extents_tFc.cached) return;
-	cairo_font_extents_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	cairo_font_extents_tFc.ascent = (*env)->GetFieldID(env, cairo_font_extents_tFc.clazz, "ascent", "D");
-	cairo_font_extents_tFc.descent = (*env)->GetFieldID(env, cairo_font_extents_tFc.clazz, "descent", "D");
-	cairo_font_extents_tFc.height = (*env)->GetFieldID(env, cairo_font_extents_tFc.clazz, "height", "D");
-	cairo_font_extents_tFc.max_x_advance = (*env)->GetFieldID(env, cairo_font_extents_tFc.clazz, "max_x_advance", "D");
-	cairo_font_extents_tFc.max_y_advance = (*env)->GetFieldID(env, cairo_font_extents_tFc.clazz, "max_y_advance", "D");
-	cairo_font_extents_tFc.cached = 1;
-}
-
-cairo_font_extents_t *getcairo_font_extents_tFields(JNIEnv *env, jobject lpObject, cairo_font_extents_t *lpStruct)
-{
-	if (!cairo_font_extents_tFc.cached) cachecairo_font_extents_tFields(env, lpObject);
-	lpStruct->ascent = (*env)->GetDoubleField(env, lpObject, cairo_font_extents_tFc.ascent);
-	lpStruct->descent = (*env)->GetDoubleField(env, lpObject, cairo_font_extents_tFc.descent);
-	lpStruct->height = (*env)->GetDoubleField(env, lpObject, cairo_font_extents_tFc.height);
-	lpStruct->max_x_advance = (*env)->GetDoubleField(env, lpObject, cairo_font_extents_tFc.max_x_advance);
-	lpStruct->max_y_advance = (*env)->GetDoubleField(env, lpObject, cairo_font_extents_tFc.max_y_advance);
-	return lpStruct;
-}
-
-void setcairo_font_extents_tFields(JNIEnv *env, jobject lpObject, cairo_font_extents_t *lpStruct)
-{
-	if (!cairo_font_extents_tFc.cached) cachecairo_font_extents_tFields(env, lpObject);
-	(*env)->SetDoubleField(env, lpObject, cairo_font_extents_tFc.ascent, (jdouble)lpStruct->ascent);
-	(*env)->SetDoubleField(env, lpObject, cairo_font_extents_tFc.descent, (jdouble)lpStruct->descent);
-	(*env)->SetDoubleField(env, lpObject, cairo_font_extents_tFc.height, (jdouble)lpStruct->height);
-	(*env)->SetDoubleField(env, lpObject, cairo_font_extents_tFc.max_x_advance, (jdouble)lpStruct->max_x_advance);
-	(*env)->SetDoubleField(env, lpObject, cairo_font_extents_tFc.max_y_advance, (jdouble)lpStruct->max_y_advance);
-}
-#endif
-
-#ifndef NO_cairo_path_data_t
-typedef struct cairo_path_data_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, length;
-} cairo_path_data_t_FID_CACHE;
-
-cairo_path_data_t_FID_CACHE cairo_path_data_tFc;
-
-void cachecairo_path_data_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (cairo_path_data_tFc.cached) return;
-	cairo_path_data_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	cairo_path_data_tFc.type = (*env)->GetFieldID(env, cairo_path_data_tFc.clazz, "type", "I");
-	cairo_path_data_tFc.length = (*env)->GetFieldID(env, cairo_path_data_tFc.clazz, "length", "I");
-	cairo_path_data_tFc.cached = 1;
-}
-
-cairo_path_data_t *getcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct)
-{
-	if (!cairo_path_data_tFc.cached) cachecairo_path_data_tFields(env, lpObject);
-	lpStruct->header.type = (*env)->GetIntField(env, lpObject, cairo_path_data_tFc.type);
-	lpStruct->header.length = (*env)->GetIntField(env, lpObject, cairo_path_data_tFc.length);
-	return lpStruct;
-}
-
-void setcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct)
-{
-	if (!cairo_path_data_tFc.cached) cachecairo_path_data_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, cairo_path_data_tFc.type, (jint)lpStruct->header.type);
-	(*env)->SetIntField(env, lpObject, cairo_path_data_tFc.length, (jint)lpStruct->header.length);
-}
-#endif
-
-#ifndef NO_cairo_path_t
-typedef struct cairo_path_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID status, data, num_data;
-} cairo_path_t_FID_CACHE;
-
-cairo_path_t_FID_CACHE cairo_path_tFc;
-
-void cachecairo_path_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (cairo_path_tFc.cached) return;
-	cairo_path_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	cairo_path_tFc.status = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "status", "I");
-	cairo_path_tFc.data = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "data", "I");
-	cairo_path_tFc.num_data = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "num_data", "I");
-	cairo_path_tFc.cached = 1;
-}
-
-cairo_path_t *getcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct)
-{
-	if (!cairo_path_tFc.cached) cachecairo_path_tFields(env, lpObject);
-	lpStruct->status = (*env)->GetIntField(env, lpObject, cairo_path_tFc.status);
-	lpStruct->data = (cairo_path_data_t *)(*env)->GetIntField(env, lpObject, cairo_path_tFc.data);
-	lpStruct->num_data = (*env)->GetIntField(env, lpObject, cairo_path_tFc.num_data);
-	return lpStruct;
-}
-
-void setcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct)
-{
-	if (!cairo_path_tFc.cached) cachecairo_path_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, cairo_path_tFc.status, (jint)lpStruct->status);
-	(*env)->SetIntField(env, lpObject, cairo_path_tFc.data, (jint)lpStruct->data);
-	(*env)->SetIntField(env, lpObject, cairo_path_tFc.num_data, (jint)lpStruct->num_data);
-}
-#endif
-
-#ifndef NO_cairo_text_extents_t
-typedef struct cairo_text_extents_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x_bearing, y_bearing, width, height, x_advance, y_advance;
-} cairo_text_extents_t_FID_CACHE;
-
-cairo_text_extents_t_FID_CACHE cairo_text_extents_tFc;
-
-void cachecairo_text_extents_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (cairo_text_extents_tFc.cached) return;
-	cairo_text_extents_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	cairo_text_extents_tFc.x_bearing = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "x_bearing", "D");
-	cairo_text_extents_tFc.y_bearing = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "y_bearing", "D");
-	cairo_text_extents_tFc.width = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "width", "D");
-	cairo_text_extents_tFc.height = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "height", "D");
-	cairo_text_extents_tFc.x_advance = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "x_advance", "D");
-	cairo_text_extents_tFc.y_advance = (*env)->GetFieldID(env, cairo_text_extents_tFc.clazz, "y_advance", "D");
-	cairo_text_extents_tFc.cached = 1;
-}
-
-cairo_text_extents_t *getcairo_text_extents_tFields(JNIEnv *env, jobject lpObject, cairo_text_extents_t *lpStruct)
-{
-	if (!cairo_text_extents_tFc.cached) cachecairo_text_extents_tFields(env, lpObject);
-	lpStruct->x_bearing = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.x_bearing);
-	lpStruct->y_bearing = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.y_bearing);
-	lpStruct->width = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.width);
-	lpStruct->height = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.height);
-	lpStruct->x_advance = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.x_advance);
-	lpStruct->y_advance = (*env)->GetDoubleField(env, lpObject, cairo_text_extents_tFc.y_advance);
-	return lpStruct;
-}
-
-void setcairo_text_extents_tFields(JNIEnv *env, jobject lpObject, cairo_text_extents_t *lpStruct)
-{
-	if (!cairo_text_extents_tFc.cached) cachecairo_text_extents_tFields(env, lpObject);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.x_bearing, (jdouble)lpStruct->x_bearing);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.y_bearing, (jdouble)lpStruct->y_bearing);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.width, (jdouble)lpStruct->width);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.height, (jdouble)lpStruct->height);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.x_advance, (jdouble)lpStruct->x_advance);
-	(*env)->SetDoubleField(env, lpObject, cairo_text_extents_tFc.y_advance, (jdouble)lpStruct->y_advance);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.h
deleted file mode 100644
index 1099716..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_structs.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005, 2006 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "cairo.h"
-
-#ifndef NO_cairo_font_extents_t
-void cachecairo_font_extents_tFields(JNIEnv *env, jobject lpObject);
-cairo_font_extents_t *getcairo_font_extents_tFields(JNIEnv *env, jobject lpObject, cairo_font_extents_t *lpStruct);
-void setcairo_font_extents_tFields(JNIEnv *env, jobject lpObject, cairo_font_extents_t *lpStruct);
-#define cairo_font_extents_t_sizeof() sizeof(cairo_font_extents_t)
-#else
-#define cachecairo_font_extents_tFields(a,b)
-#define getcairo_font_extents_tFields(a,b,c) NULL
-#define setcairo_font_extents_tFields(a,b,c)
-#define cairo_font_extents_t_sizeof() 0
-#endif
-
-#ifndef NO_cairo_path_data_t
-void cachecairo_path_data_tFields(JNIEnv *env, jobject lpObject);
-cairo_path_data_t *getcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct);
-void setcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct);
-#define cairo_path_data_t_sizeof() sizeof(cairo_path_data_t)
-#else
-#define cachecairo_path_data_tFields(a,b)
-#define getcairo_path_data_tFields(a,b,c) NULL
-#define setcairo_path_data_tFields(a,b,c)
-#define cairo_path_data_t_sizeof() 0
-#endif
-
-#ifndef NO_cairo_path_t
-void cachecairo_path_tFields(JNIEnv *env, jobject lpObject);
-cairo_path_t *getcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct);
-void setcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct);
-#define cairo_path_t_sizeof() sizeof(cairo_path_t)
-#else
-#define cachecairo_path_tFields(a,b)
-#define getcairo_path_tFields(a,b,c) NULL
-#define setcairo_path_tFields(a,b,c)
-#define cairo_path_t_sizeof() 0
-#endif
-
-#ifndef NO_cairo_text_extents_t
-void cachecairo_text_extents_tFields(JNIEnv *env, jobject lpObject);
-cairo_text_extents_t *getcairo_text_extents_tFields(JNIEnv *env, jobject lpObject, cairo_text_extents_t *lpStruct);
-void setcairo_text_extents_tFields(JNIEnv *env, jobject lpObject, cairo_text_extents_t *lpStruct);
-#define cairo_text_extents_t_sizeof() sizeof(cairo_text_extents_t)
-#else
-#define cachecairo_text_extents_tFields(a,b)
-#define getcairo_text_extents_tFields(a,b,c) NULL
-#define setcairo_text_extents_tFields(a,b,c)
-#define cairo_text_extents_t_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
deleted file mode 100644
index 7f1806a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.cairo;
-
-import org.eclipse.swt.internal.*;
-
-public class Cairo {
-	static {
-		Library.loadLibrary("swt-cairo");
-	}
-
-	/** Constants */
-	public static final int CAIRO_ANTIALIAS_DEFAULT = 0;
-	public static final int CAIRO_ANTIALIAS_NONE = 1;
-	public static final int CAIRO_ANTIALIAS_GRAY = 2;
-	public static final int CAIRO_ANTIALIAS_SUBPIXEL = 3;
-	public static final int CAIRO_FORMAT_ARGB32 = 0;
-	public static final int CAIRO_FORMAT_RGB24 = 1;
-	public static final int CAIRO_FORMAT_A8 = 2;
-	public static final int CAIRO_FORMAT_A1 = 3;
-	public static final int CAIRO_OPERATOR_CLEAR = 0;
-	public static final int CAIRO_OPERATOR_SRC = 1;
-	public static final int CAIRO_OPERATOR_DST = 2;
-	public static final int CAIRO_OPERATOR_OVER = 3;
-	public static final int CAIRO_OPERATOR_OVER_REVERSE = 4;
-	public static final int CAIRO_OPERATOR_IN = 5;
-	public static final int CAIRO_OPERATOR_IN_REVERSE = 6;
-	public static final int CAIRO_OPERATOR_OUT = 7;
-	public static final int CAIRO_OPERATOR_OUT_REVERSE = 8;
-	public static final int CAIRO_OPERATOR_ATOP = 9;
-	public static final int CAIRO_OPERATOR_ATOP_REVERSE = 10;
-	public static final int CAIRO_OPERATOR_XOR = 11;
-	public static final int CAIRO_OPERATOR_ADD = 12;
-	public static final int CAIRO_OPERATOR_SATURATE = 13;
-	public static final int CAIRO_FILL_RULE_WINDING = 0;
-	public static final int CAIRO_FILL_RULE_EVEN_ODD = 1;
-	public static final int CAIRO_LINE_CAP_BUTT = 0;
-	public static final int CAIRO_LINE_CAP_ROUND = 1;
-	public static final int CAIRO_LINE_CAP_SQUARE = 2;
-	public static final int CAIRO_LINE_JOIN_MITER = 0;
-	public static final int CAIRO_LINE_JOIN_ROUND = 1;
-	public static final int CAIRO_LINE_JOIN_BEVEL = 2;
-	public static final int CAIRO_FONT_SLANT_NORMAL = 0;
-	public static final int CAIRO_FONT_SLANT_ITALIC = 1;
-	public static final int CAIRO_FONT_SLANT_OBLIQUE = 2;
-	public static final int CAIRO_FONT_WEIGHT_NORMAL = 0;
-	public static final int CAIRO_FONT_WEIGHT_BOLD = 1;
-	public static final int CAIRO_STATUS_SUCCESS = 0;
-	public static final int CAIRO_STATUS_NO_MEMORY = 1;
-	public static final int CAIRO_STATUS_INVALID_RESTORE = 2;
-	public static final int CAIRO_STATUS_INVALID_POP_GROUP = 3;
-	public static final int CAIRO_STATUS_NO_CURRENT_POINT = 4;
-	public static final int CAIRO_STATUS_INVALID_MATRIX = 5;
-	public static final int CAIRO_STATUS_NO_TARGET_SURFACE = 6;
-	public static final int CAIRO_STATUS_NULL_POINTER =7;
-	public static final int CAIRO_FILTER_FAST = 0;
-	public static final int CAIRO_FILTER_GOOD = 1;
-	public static final int CAIRO_FILTER_BEST = 2;
-	public static final int CAIRO_FILTER_NEAREST = 3;
-	public static final int CAIRO_FILTER_BILINEAR = 4;
-	public static final int CAIRO_FILTER_GAUSSIAN = 5;
-	public static final int CAIRO_EXTEND_NONE = 0;
-	public static final int CAIRO_EXTEND_REPEAT = 1;
-	public static final int CAIRO_EXTEND_REFLECT = 2;
-	public static final int CAIRO_PATH_MOVE_TO = 0;
-	public static final int CAIRO_PATH_LINE_TO = 1;
-	public static final int CAIRO_PATH_CURVE_TO = 2;
-	public static final int CAIRO_PATH_CLOSE_PATH = 3;
-	
-/** 64*/
-public static final synchronized native int cairo_font_extents_t_sizeof ();
-public static final synchronized native int cairo_path_data_t_sizeof ();
-public static final synchronized native int cairo_path_t_sizeof ();
-public static final synchronized native int cairo_text_extents_t_sizeof ();
-	
-/** Natives */
-public static final synchronized native int /*long*/ cairo_create (int /*long*/ target);
-public static final synchronized native int /*long*/ cairo_reference (int /*long*/ cr);
-public static final synchronized native void cairo_destroy (int /*long*/ cr);
-public static final synchronized native void cairo_save (int /*long*/ cr);
-public static final synchronized native void cairo_restore (int /*long*/ cr);
-public static final synchronized native void cairo_set_operator (int /*long*/ cr, int op);
-public static final synchronized native void cairo_set_source_rgb(int /*long*/ cr, double red, double green, double blue);
-public static final synchronized native void cairo_set_source_rgba(int /*long*/ cr, double red, double green, double blue, double alpha);
-public static final synchronized native void cairo_set_source(int /*long*/ cr, int /*long*/ source);
-public static final synchronized native void cairo_set_source_surface(int /*long*/ cr, int /*long*/ surface, double x, double y);
-public static final synchronized native void cairo_set_tolerance (int /*long*/ cr, double tolerance);
-public static final synchronized native void cairo_set_antialias (int /*long*/ cr, int antialias);
-public static final synchronized native void cairo_set_fill_rule (int /*long*/ cr, int fill_rule);
-public static final synchronized native void cairo_set_line_width (int /*long*/ cr, double width);
-public static final synchronized native void cairo_set_line_cap (int /*long*/ cr, int line_cap);
-public static final synchronized native void cairo_set_line_join (int /*long*/ cr, int line_join);
-public static final synchronized native void cairo_set_dash (int /*long*/ cr, double[] dashes, int ndash, double offset);
-public static final synchronized native void cairo_set_miter_limit (int /*long*/ cr, double limit);
-public static final synchronized native void cairo_translate (int /*long*/ cr, double tx, double ty);
-public static final synchronized native void cairo_scale (int /*long*/ cr, double sx, double sy);
-public static final synchronized native void cairo_rotate (int /*long*/ cr, double angle);
-public static final synchronized native void cairo_transform (int /*long*/ cr, double[] matrix);
-public static final synchronized native void cairo_set_matrix (int /*long*/ cr, double[] matrix);
-public static final synchronized native void cairo_identity_matrix (int /*long*/ cr);
-public static final synchronized native void cairo_user_to_device (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native void cairo_user_to_device_distance (int /*long*/ cr, double[] dx, double[] dy);
-public static final synchronized native void cairo_device_to_user (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native void cairo_device_to_user_distance (int /*long*/ cr, double[] dx, double[] dy);
-public static final synchronized native void cairo_new_path (int /*long*/ cr);
-public static final synchronized native void cairo_move_to (int /*long*/ cr, double x, double y);
-public static final synchronized native void cairo_line_to (int /*long*/ cr, double x, double y);
-public static final synchronized native void cairo_curve_to (int /*long*/ cr, double x1, double y1, double x2, double y2, double x3, double y3);
-public static final synchronized native void cairo_arc (int /*long*/ cr, double xc, double yc, double radius, double angle1, double angle2);
-public static final synchronized native void cairo_arc_negative (int /*long*/ cr, double xc, double yc, double radius, double angle1, double angle2);
-//public static final synchronized native void cairo_arc_to (int /*long*/ cr, double x1, double y1, double x2, double y2, double radius);
-public static final synchronized native void cairo_rel_move_to (int /*long*/ cr, double dx, double dy);
-public static final synchronized native void cairo_rel_line_to (int /*long*/ cr, double dx, double dy);
-public static final synchronized native void cairo_rel_curve_to (int /*long*/ cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);
-public static final synchronized native void cairo_rectangle (int /*long*/ cr, double x, double y, double width, double height);
-public static final synchronized native void cairo_close_path (int /*long*/ cr);
-public static final synchronized native void cairo_paint (int /*long*/ cr);
-public static final synchronized native void cairo_paint_with_alpha (int /*long*/ cr, double alpha);
-public static final synchronized native void cairo_mask (int /*long*/ cr, int /*long*/ pattern);
-public static final synchronized native void cairo_mask_surface (int /*long*/ cr, int /*long*/ surface, double surface_x, double surface_y);
-public static final synchronized native void cairo_stroke (int /*long*/ cr);
-public static final synchronized native void cairo_stroke_preserve (int /*long*/ cr);
-public static final synchronized native void cairo_fill (int /*long*/ cr);
-public static final synchronized native void cairo_fill_preserve (int /*long*/ cr);
-public static final synchronized native void cairo_copy_page (int /*long*/ cr);
-public static final synchronized native void cairo_show_page (int /*long*/ cr);
-public static final synchronized native int cairo_in_stroke (int /*long*/ cr, double x, double y);
-public static final synchronized native int cairo_in_fill (int /*long*/ cr, double x, double y);
-public static final synchronized native void cairo_stroke_extents (int /*long*/ cr, double[] x1, double[] y1, double[] x2, double[] y2);
-public static final synchronized native void cairo_fill_extents (int /*long*/ cr, double[] x1, double[] y1, double[] x2, double[] y2);
-public static final synchronized native void cairo_clip (int /*long*/ cr);
-public static final synchronized native void cairo_clip_preserve (int /*long*/ cr);
-public static final synchronized native void cairo_reset_clip (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_font_options_create ();
-public static final synchronized native void cairo_font_options_destroy (int /*long*/ options);
-public static final synchronized native void cairo_font_options_set_antialias (int /*long*/ options, int antialias);
-public static final synchronized native int  cairo_font_options_get_antialias (int /*long*/ options);
-public static final synchronized native void cairo_set_font_options (int /*long*/ cr, int /*long*/ options);
-public static final synchronized native void cairo_get_font_options (int /*long*/ cr, int /*long*/ options);
-public static final synchronized native void cairo_select_font_face (int /*long*/ cr, byte[] family, int slant, int weight);
-public static final synchronized native void cairo_set_font_size (int /*long*/ cr, double size);
-public static final synchronized native void cairo_set_font_matrix (int /*long*/ cr, double[] matrix);
-public static final synchronized native void cairo_get_font_matrix (int /*long*/ cr, double[] matrix);
-public static final synchronized native void cairo_show_text (int /*long*/ cr, byte[] utf8);
-public static final synchronized native void cairo_show_glyphs (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs);
-public static final synchronized native int /*long*/ cairo_get_font_face (int /*long*/ cr);
-public static final synchronized native void cairo_font_extents (int /*long*/ cr, cairo_font_extents_t extents);
-public static final synchronized native void cairo_set_font_face (int /*long*/ cr, int /*long*/ font_face);
-public static final synchronized native void cairo_text_extents (int /*long*/ cr, byte[] utf8, cairo_text_extents_t extents);
-public static final synchronized native void cairo_glyph_extents (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs, int /*long*/ extents);
-public static final synchronized native void cairo_text_path (int /*long*/ cr, byte[] utf8);
-public static final synchronized native void cairo_glyph_path (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs);
-public static final synchronized native int cairo_get_operator (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_get_source (int /*long*/ cr);
-public static final synchronized native double cairo_get_tolerance (int /*long*/ cr);
-public static final synchronized native void cairo_get_current_point (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native int cairo_get_antialias (int /*long*/ cr);
-public static final synchronized native int cairo_get_fill_rule (int /*long*/ cr);
-public static final synchronized native double cairo_get_line_width (int /*long*/ cr);
-public static final synchronized native int cairo_get_line_cap (int /*long*/ cr);
-public static final synchronized native int cairo_get_line_join (int /*long*/ cr);
-public static final synchronized native double cairo_get_miter_limit (int /*long*/ cr);
-public static final synchronized native void cairo_get_matrix (int /*long*/ cr, double[] matrix);
-public static final synchronized native int /*long*/ cairo_get_target (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_copy_path (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_copy_path_flat (int /*long*/ cr);
-public static final synchronized native void cairo_append_path (int /*long*/ cr, int /*long*/ path);
-public static final synchronized native void cairo_path_destroy (int /*long*/ path);
-public static final synchronized native int cairo_status (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_status_to_string (int status);
-public static final synchronized native int /*long*/ cairo_image_surface_create (int format, int width, int height);
-public static final synchronized native int /*long*/ cairo_image_surface_create_for_data (int /*long*/ data, int format, int width, int height, int stride);
-public static final synchronized native int cairo_image_surface_get_width (int /*long*/ surface);
-public static final synchronized native int cairo_image_surface_get_height (int /*long*/ surface);
-public static final synchronized native int /*long*/ cairo_surface_create_similar (int /*long*/ other, int format, int width, int height);
-public static final synchronized native void cairo_surface_reference (int /*long*/ surface);
-public static final synchronized native void cairo_surface_destroy (int /*long*/ surface);
-public static final synchronized native void cairo_surface_finish (int /*long*/ surface);
-public static final synchronized native int cairo_surface_set_user_data (int /*long*/ surface, int /*long*/ key, int /*long*/ user_data, int /*long*/ destroy);
-public static final synchronized native int /*long*/ cairo_surface_get_user_data (int /*long*/ surface, int /*long*/ key);
-public static final synchronized native void cairo_surface_set_device_offset (int /*long*/ surface, double x_offset, double y_offset);
-public static final synchronized native int /*long*/ cairo_pattern_create_for_surface (int /*long*/ surface);
-public static final synchronized native int /*long*/ cairo_pattern_create_linear (double x0, double y0, double x1, double y1);
-public static final synchronized native int /*long*/ cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);
-public static final synchronized native void cairo_pattern_reference (int /*long*/ pattern);
-public static final synchronized native void cairo_pattern_destroy (int /*long*/ pattern);
-public static final synchronized native void cairo_pattern_add_color_stop_rgb (int /*long*/ pattern, double offset, double red, double green, double blue);
-public static final synchronized native void cairo_pattern_add_color_stop_rgba (int /*long*/ pattern, double offset, double red, double green, double blue, double alpha);
-public static final synchronized native void cairo_pattern_set_matrix (int /*long*/ pattern, double[] matrix);
-public static final synchronized native void cairo_pattern_get_matrix (int /*long*/ pattern, double[] matrix);
-public static final synchronized native void cairo_pattern_set_extend (int /*long*/ pattern, int extend);
-public static final synchronized native int cairo_pattern_get_extend (int /*long*/ pattern);
-public static final synchronized native void cairo_pattern_set_filter (int /*long*/ pattern, int filter);
-public static final synchronized native int cairo_pattern_get_filter (int /*long*/ pattern);
-public static final synchronized native void cairo_matrix_init (double[] matrix, double xx, double yx, double xy, double yy, double x0, double y0);
-public static final synchronized native void cairo_matrix_init_identity (double[] matrix);
-public static final synchronized native void cairo_matrix_init_translate (double[] matrix, double tx, double ty);
-public static final synchronized native void cairo_matrix_init_scale (double[] matrix, double sx, double sy);
-public static final synchronized native void cairo_matrix_init_rotate (double[] matrix, double radians);
-public static final synchronized native void cairo_matrix_translate (double[] matrix, double tx, double ty);
-public static final synchronized native void cairo_matrix_scale (double[] matrix, double sx, double sy);
-public static final synchronized native void cairo_matrix_rotate (double[] matrix, double radians);
-public static final synchronized native int cairo_matrix_invert (double[] matrix);
-public static final synchronized native void cairo_matrix_multiply (double[] result, double[] a, double[] b);
-public static final synchronized native void cairo_matrix_transform_distance (double[] matrix, double[] dx, double[] dy);
-public static final synchronized native void cairo_matrix_transform_point (double[] matrix, double[] x, double[] y);
-public static final synchronized native int /*long*/ cairo_xlib_surface_create (int /*long*/ dpy, int /*long*/ drawable, int /*long*/ visual, int width, int height);
-public static final synchronized native int /*long*/ cairo_xlib_surface_create_for_bitmap (int /*long*/ dpy, int /*long*/ pixmap, int /*long*/ screen, int width, int height);
-public static final synchronized native void cairo_xlib_surface_set_size (int /*long*/ surface, int width, int height);
-public static final native void memmove(cairo_path_t dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(cairo_path_data_t dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(double[] dest, int /*long*/ src, int /*long*/ size);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_font_extents_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_font_extents_t.java
deleted file mode 100644
index 3acd4a9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_font_extents_t.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.cairo;
-
-
-public class cairo_font_extents_t {
-	public double ascent;
-	public double descent;
-	public double height;
-	public double max_x_advance;
-	public double max_y_advance;
-	public static final int sizeof = Cairo.cairo_font_extents_t_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java
deleted file mode 100644
index 66d590e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.cairo;
-
-
-public class cairo_path_data_t {
-	public int type;
-	public int length;
-	public static final int sizeof = Cairo.cairo_path_data_t_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java
deleted file mode 100644
index dc55e7c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.cairo;
-
-
-public class cairo_path_t {
-	public int status;
-	public int /*long*/ data;
-	public int num_data;
-	public static final int sizeof = Cairo.cairo_path_t_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_text_extents_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_text_extents_t.java
deleted file mode 100644
index f57b054..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/cairo_text_extents_t.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Contributor(s):
- *
- * IBM
- * -  Binding to permit interfacing between Cairo and SWT
- * -  Copyright (C) 2005 IBM Corp.  All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.cairo;
-
-
-public class cairo_text_extents_t {
-	public double x_bearing;
-	public double y_bearing;
-	public double width;
-	public double height;
-	public double x_advance;
-	public double y_advance;
-	public static final int sizeof = Cairo.cairo_text_extents_t_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.sh b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.sh
deleted file mode 100644
index cc3a04a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# 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
-#*******************************************************************************
-
-cd `dirname $0`
-
-OUTPUT_DIR=../../../org.eclipse.swt.carbon.macosx
-
-export OUTPUT_DIR
-
-make -f make_macosx.mak $1 $2 $3 $4 $5 $6 $7 $8 $9
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.xml b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.xml
deleted file mode 100644
index 6085fd6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/build.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_carbon_lib" basedir="../../..">
-
-<target name="init">
-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />	
-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-	
-<target name="build_carbon_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.carbon.macosx" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/make_macosx.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/make_macosx.mak
deleted file mode 100644
index bae521b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/make_macosx.mak
+++ /dev/null
@@ -1,66 +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
-#*******************************************************************************
-
-# Makefile for SWT libraries on Carbon/Mac
-
-include make_common.mak
-
-SWT_PREFIX=swt
-SWTPI_PREFIX=swt-pi
-SWTWEBKIT_PREFIX=swt-webkit
-SWTAGL_PREFIX=swt-agl
-WS_PREFIX=carbon
-SWT_VERSION=$(maj_ver)$(min_ver)
-SWT_LIB=lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).jnilib
-SWTPI_LIB=lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).jnilib
-WEBKIT_LIB=lib$(SWTWEBKIT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).jnilib
-AGL_LIB=lib$(SWTAGL_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).jnilib
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#SWT_DEBUG = -g
-ARCHS = -arch i386 -arch ppc
-CFLAGS = -c $(ARCHS) -DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) $(SWT_DEBUG) -DCARBON -I /System/Library/Frameworks/JavaVM.framework/Headers
-LFLAGS = -bundle $(ARCHS) -framework JavaVM -framework Carbon 
-WEBKITCFLAGS = -c $(ARCHS) -xobjective-c -I /System/Library/Frameworks/JavaVM.framework/Headers -I /System/Library/Frameworks/Cocoa.framework/Headers -I /System/Library/Frameworks/WebKit.framework/Headers
-WEBKITLFLAGS = $(LFLAGS) -framework WebKit -framework Cocoa
-AGLLFLAGS = $(LFLAGS) -framework OpenGL -framework AGL
-SWT_OBJECTS = swt.o callback.o
-SWTPI_OBJECTS = swt.o os.o os_custom.o os_structs.o os_stats.o
-WEBKIT_OBJECTS = webkit.o
-AGL_OBJECTS = agl.o agl_stats.o
-
-all: $(SWT_LIB) $(SWTPI_LIB) $(WEBKIT_LIB) $(AGL_LIB)
-
-.c.o:
-	cc $(CFLAGS) $*.c
-
-$(SWT_LIB): $(SWT_OBJECTS)
-	cc -o $(SWT_LIB) $(LFLAGS) $(SWT_OBJECTS)
-
-$(SWTPI_LIB): $(SWTPI_OBJECTS)
-	cc -o $(SWTPI_LIB) $(LFLAGS) $(SWTPI_OBJECTS)
-
-webkit.o: webkit.c
-	cc $(WEBKITCFLAGS) webkit.c
-	
-$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
-	cc -o $(WEBKIT_LIB) $(WEBKITLFLAGS) $(WEBKIT_OBJECTS)
-
-$(AGL_LIB): $(AGL_OBJECTS)
-	cc -o $(AGL_LIB) $(AGLLFLAGS) $(AGL_OBJECTS)
-
-install: all
-	cp *.jnilib $(OUTPUT_DIR)
-
-clean:
-	rm -f *.jnilib *.o
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.c
deleted file mode 100644
index 6b1e5f6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.c
+++ /dev/null
@@ -1,13145 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_carbon_OS_##func
-
-#ifndef NO_AECountItems
-JNIEXPORT jint JNICALL OS_NATIVE(AECountItems)
-	(JNIEnv *env, jclass that, jobject arg0, jintArray arg1)
-{
-	AEDesc _arg0, *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AECountItems_FUNC);
-	if (arg0) if ((lparg0 = getAEDescFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)AECountItems((const AEDescList *)lparg0, (long *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setAEDescFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, AECountItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AEGetNthPtr
-JNIEXPORT jint JNICALL OS_NATIVE(AEGetNthPtr)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	AEDesc _arg0, *lparg0=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AEGetNthPtr_FUNC);
-	if (arg0) if ((lparg0 = getAEDescFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)AEGetNthPtr((const AEDescList *)lparg0, arg1, (DescType)arg2, (AEKeyword *)lparg3, (DescType *)lparg4, (void *)arg5, (Size)arg6, (Size *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) setAEDescFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, AEGetNthPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AEInstallEventHandler
-JNIEXPORT jint JNICALL OS_NATIVE(AEInstallEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jboolean arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AEInstallEventHandler_FUNC);
-	rc = (jint)AEInstallEventHandler((AEEventClass)arg0, (AEEventID)arg1, (AEEventHandlerUPP)arg2, (long)arg3, arg4);
-	OS_NATIVE_EXIT(env, that, AEInstallEventHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AEProcessAppleEvent
-JNIEXPORT jint JNICALL OS_NATIVE(AEProcessAppleEvent)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	EventRecord _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AEProcessAppleEvent_FUNC);
-	if (arg0) if ((lparg0 = getEventRecordFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)AEProcessAppleEvent((const EventRecord *)lparg0);
-fail:
-	if (arg0 && lparg0) setEventRecordFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, AEProcessAppleEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSFontGetPostScriptName
-JNIEXPORT jint JNICALL OS_NATIVE(ATSFontGetPostScriptName)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSFontGetPostScriptName_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ATSFontGetPostScriptName((ATSFontRef)arg0, (ATSOptionFlags)arg1, (CFStringRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ATSFontGetPostScriptName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUBatchBreakLines
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUBatchBreakLines)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUBatchBreakLines_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUBatchBreakLines((ATSUTextLayout)arg0, arg1, arg2, arg3, (ItemCount *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, ATSUBatchBreakLines_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUCreateStyle
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUCreateStyle)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUCreateStyle_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUCreateStyle((ATSUStyle *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ATSUCreateStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUCreateTextLayout
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUCreateTextLayout)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUCreateTextLayout_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUCreateTextLayout((ATSUTextLayout *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ATSUCreateTextLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUCreateTextLayoutWithTextPtr
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUCreateTextLayoutWithTextPtr)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5, jintArray arg6, jintArray arg7)
-{
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUCreateTextLayoutWithTextPtr_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUCreateTextLayoutWithTextPtr((ConstUniCharArrayPtr)arg0, arg1, arg2, arg3, arg4, (const UniCharCount *)lparg5, (ATSUStyle *)lparg6, (ATSUTextLayout *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, ATSUCreateTextLayoutWithTextPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUDirectGetLayoutDataArrayPtrFromTextLayout
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUDirectGetLayoutDataArrayPtrFromTextLayout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUDirectGetLayoutDataArrayPtrFromTextLayout_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUDirectGetLayoutDataArrayPtrFromTextLayout((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (ATSUDirectDataSelector)arg2, (void *)lparg3, (ItemCount *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUDirectGetLayoutDataArrayPtrFromTextLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUDirectReleaseLayoutDataArrayPtr
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUDirectReleaseLayoutDataArrayPtr)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUDirectReleaseLayoutDataArrayPtr_FUNC);
-	rc = (jint)ATSUDirectReleaseLayoutDataArrayPtr((ATSULineRef)arg0, (ATSUDirectDataSelector)arg1, (void *)arg2);
-	OS_NATIVE_EXIT(env, that, ATSUDirectReleaseLayoutDataArrayPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUDisposeStyle
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUDisposeStyle)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUDisposeStyle_FUNC);
-	rc = (jint)ATSUDisposeStyle((ATSUStyle)arg0);
-	OS_NATIVE_EXIT(env, that, ATSUDisposeStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUDisposeTextLayout
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUDisposeTextLayout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUDisposeTextLayout_FUNC);
-	rc = (jint)ATSUDisposeTextLayout((ATSUTextLayout)arg0);
-	OS_NATIVE_EXIT(env, that, ATSUDisposeTextLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUDrawText
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUDrawText)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUDrawText_FUNC);
-	rc = (jint)ATSUDrawText((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (UniCharCount)arg2, (ATSUTextMeasurement)arg3, (ATSUTextMeasurement)arg4);
-	OS_NATIVE_EXIT(env, that, ATSUDrawText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUFindFontFromName
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUFindFontFromName)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUFindFontFromName_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUFindFontFromName((const void *)lparg0, arg1, arg2, arg3, arg4, arg5, (ATSUFontID *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ATSUFindFontFromName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUFindFontName
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUFindFontName)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jbyteArray arg6, jintArray arg7, jintArray arg8)
-{
-	jbyte *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUFindFontName_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUFindFontName((ATSUFontID)arg0, arg1, arg2, arg3, arg4, arg5, (Ptr)lparg6, (ByteCount *)lparg7, (ItemCount *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, ATSUFindFontName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetFontIDs
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetFontIDs)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetFontIDs_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetFontIDs((ATSUFontID *)lparg0, arg1, (ItemCount *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetFontIDs_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetGlyphBounds__IIIIISII_3I
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetGlyphBounds__IIIIISII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jshort arg5, jint arg6, jint arg7, jintArray arg8)
-{
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetGlyphBounds__IIIIISII_3I_FUNC);
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetGlyphBounds((ATSUTextLayout)arg0, (ATSUTextMeasurement)arg1, (ATSUTextMeasurement)arg2, (UniCharArrayOffset)arg3, arg4, arg5, arg6, (ATSTrapezoid *)arg7, (ItemCount *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetGlyphBounds__IIIIISII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jshort arg5, jint arg6, jobject arg7, jintArray arg8)
-{
-	ATSTrapezoid _arg7, *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I_FUNC);
-	if (arg7) if ((lparg7 = getATSTrapezoidFields(env, arg7, &_arg7)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetGlyphBounds((ATSUTextLayout)arg0, (ATSUTextMeasurement)arg1, (ATSUTextMeasurement)arg2, (UniCharArrayOffset)arg3, arg4, arg5, arg6, (ATSTrapezoid *)lparg7, (ItemCount *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) setATSTrapezoidFields(env, arg7, lparg7);
-	OS_NATIVE_EXIT(env, that, ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetLayoutControl
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetLayoutControl)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetLayoutControl_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetLayoutControl((ATSUTextLayout)arg0, (ATSUAttributeTag)arg1, arg2, (ATSUAttributeValuePtr)lparg3, (ByteCount *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetLayoutControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetLineControl
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetLineControl)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetLineControl_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetLineControl((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (ATSUAttributeTag)arg2, (ByteCount)arg3, (ATSUAttributeValuePtr)lparg4, (ByteCount *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetLineControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetSoftLineBreaks
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetSoftLineBreaks)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetSoftLineBreaks_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetSoftLineBreaks((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (UniCharCount)arg2, (ItemCount)arg3, (UniCharArrayOffset *)lparg4, (ItemCount *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetSoftLineBreaks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetTextHighlight
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetTextHighlight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetTextHighlight_FUNC);
-	rc = (jint)ATSUGetTextHighlight((ATSUTextLayout)arg0, arg1, arg2, arg3, arg4, (RgnHandle)arg5);
-	OS_NATIVE_EXIT(env, that, ATSUGetTextHighlight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGetUnjustifiedBounds
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGetUnjustifiedBounds)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGetUnjustifiedBounds_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGetUnjustifiedBounds((ATSUTextLayout)arg0, arg1, arg2, (ATSUTextMeasurement *)lparg3, (ATSUTextMeasurement *)lparg4, (ATSUTextMeasurement *)lparg5, (ATSUTextMeasurement *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGetUnjustifiedBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUGlyphGetQuadraticPaths
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUGlyphGetQuadraticPaths)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUGlyphGetQuadraticPaths_FUNC);
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUGlyphGetQuadraticPaths((ATSUStyle)arg0, (GlyphID)arg1, (ATSQuadraticNewPathUPP)arg2, (ATSQuadraticLineUPP)arg3, (ATSQuadraticCurveUPP)arg4, (ATSQuadraticClosePathUPP)arg5, (void *)arg6, (OSStatus *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	OS_NATIVE_EXIT(env, that, ATSUGlyphGetQuadraticPaths_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUHighlightText
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUHighlightText)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUHighlightText_FUNC);
-	rc = (jint)ATSUHighlightText((ATSUTextLayout)arg0, (ATSUTextMeasurement)arg1, (ATSUTextMeasurement)arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, ATSUHighlightText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUNextCursorPosition
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUNextCursorPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUNextCursorPosition_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUNextCursorPosition((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (ATSUCursorMovementType)arg2, (UniCharArrayOffset *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUNextCursorPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUOffsetToPosition
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUOffsetToPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3, jobject arg4, jbooleanArray arg5)
-{
-	ATSUCaret _arg3, *lparg3=NULL;
-	ATSUCaret _arg4, *lparg4=NULL;
-	jboolean *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUOffsetToPosition_FUNC);
-	if (arg3) if ((lparg3 = getATSUCaretFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getATSUCaretFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetBooleanArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUOffsetToPosition((ATSUTextLayout)arg0, arg1, arg2, lparg3, lparg4, (Boolean *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseBooleanArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setATSUCaretFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setATSUCaretFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, ATSUOffsetToPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUPositionToOffset
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUPositionToOffset)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jbooleanArray arg4, jintArray arg5)
-{
-	jint *lparg3=NULL;
-	jboolean *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUPositionToOffset_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetBooleanArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUPositionToOffset((ATSUTextLayout)arg0, arg1, arg2, (UniCharArrayOffset *)lparg3, (Boolean *)lparg4, (UniCharArrayOffset *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseBooleanArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUPositionToOffset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUPreviousCursorPosition
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUPreviousCursorPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUPreviousCursorPosition_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUPreviousCursorPosition((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (ATSUCursorMovementType)arg2, (UniCharArrayOffset *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUPreviousCursorPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetAttributes_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUSetAttributes((ATSUStyle)arg0, (ItemCount)arg1, (ATSUAttributeTag *)lparg2, (ByteCount *)lparg3, (ATSUAttributeValuePtr *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ATSUSetAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetFontFeatures
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetFontFeatures)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2, jshortArray arg3)
-{
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetFontFeatures_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUSetFontFeatures((ATSUStyle)arg0, (ItemCount)arg1, (const ATSUFontFeatureType *)lparg2, (const ATSUFontFeatureSelector *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ATSUSetFontFeatures_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetHighlightingMethod
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetHighlightingMethod)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	ATSUUnhighlightData _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetHighlightingMethod_FUNC);
-	if (arg2) if ((lparg2 = getATSUUnhighlightDataFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)ATSUSetHighlightingMethod((ATSUTextLayout)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setATSUUnhighlightDataFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, ATSUSetHighlightingMethod_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetLayoutControls
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetLayoutControls)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetLayoutControls_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUSetLayoutControls((ATSUTextLayout)arg0, (ItemCount)arg1, (ATSUAttributeTag *)lparg2, (ByteCount *)lparg3, (ATSUAttributeValuePtr *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ATSUSetLayoutControls_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetLineControls
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetLineControls)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetLineControls_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)ATSUSetLineControls((ATSUTextLayout)arg0, (UniCharArrayOffset)arg1, (ItemCount)arg2, (const ATSUAttributeTag *)lparg3, (const ByteCount *)lparg4, (const ATSUAttributeValuePtr *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, ATSUSetLineControls_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetRunStyle
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetRunStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetRunStyle_FUNC);
-	rc = (jint)ATSUSetRunStyle((ATSUTextLayout)arg0, (ATSUStyle)arg1, (UniCharArrayOffset)arg2, (UniCharCount)arg3);
-	OS_NATIVE_EXIT(env, that, ATSUSetRunStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetSoftLineBreak
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetSoftLineBreak)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetSoftLineBreak_FUNC);
-	rc = (jint)ATSUSetSoftLineBreak((ATSUTextLayout)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ATSUSetSoftLineBreak_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetTabArray
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetTabArray)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetTabArray_FUNC);
-	rc = (jint)ATSUSetTabArray((ATSUTextLayout)arg0, (const ATSUTab *)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ATSUSetTabArray_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetTextPointerLocation
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetTextPointerLocation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetTextPointerLocation_FUNC);
-	rc = (jint)ATSUSetTextPointerLocation((ATSUTextLayout)arg0, (ConstUniCharArrayPtr)arg1, (UniCharArrayOffset)arg2, (UniCharCount)arg3, (UniCharCount)arg4);
-	OS_NATIVE_EXIT(env, that, ATSUSetTextPointerLocation_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUSetTransientFontMatching
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUSetTransientFontMatching)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUSetTransientFontMatching_FUNC);
-	rc = (jint)ATSUSetTransientFontMatching((ATSUTextLayout)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ATSUSetTransientFontMatching_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUTextDeleted
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUTextDeleted)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUTextDeleted_FUNC);
-	rc = (jint)ATSUTextDeleted((ATSUTextLayout)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ATSUTextDeleted_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ATSUTextInserted
-JNIEXPORT jint JNICALL OS_NATIVE(ATSUTextInserted)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ATSUTextInserted_FUNC);
-	rc = (jint)ATSUTextInserted((ATSUTextLayout)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ATSUTextInserted_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AXNotificationHIObjectNotify
-JNIEXPORT void JNICALL OS_NATIVE(AXNotificationHIObjectNotify)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jlong arg2)
-{
-	OS_NATIVE_ENTER(env, that, AXNotificationHIObjectNotify_FUNC);
-	AXNotificationHIObjectNotify((CFStringRef)arg0, (HIObjectRef)arg1, (UInt64)arg2);
-	OS_NATIVE_EXIT(env, that, AXNotificationHIObjectNotify_FUNC);
-}
-#endif
-
-#ifndef NO_AXUIElementCreateWithHIObjectAndIdentifier
-JNIEXPORT jint JNICALL OS_NATIVE(AXUIElementCreateWithHIObjectAndIdentifier)
-	(JNIEnv *env, jclass that, jint arg0, jlong arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AXUIElementCreateWithHIObjectAndIdentifier_FUNC);
-	rc = (jint)AXUIElementCreateWithHIObjectAndIdentifier((HIObjectRef)arg0, (UInt64)arg1);
-	OS_NATIVE_EXIT(env, that, AXUIElementCreateWithHIObjectAndIdentifier_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AXUIElementGetIdentifier
-JNIEXPORT void JNICALL OS_NATIVE(AXUIElementGetIdentifier)
-	(JNIEnv *env, jclass that, jint arg0, jlongArray arg1)
-{
-	jlong *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, AXUIElementGetIdentifier_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	AXUIElementGetIdentifier((AXUIElementRef)arg0, (UInt64 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseLongArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, AXUIElementGetIdentifier_FUNC);
-}
-#endif
-
-#ifndef NO_AXValueCreate
-JNIEXPORT jint JNICALL OS_NATIVE(AXValueCreate)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CFRange _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AXValueCreate_FUNC);
-	if (arg1) if ((lparg1 = getCFRangeFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)AXValueCreate((AXValueType)arg0, (CFRange *)lparg1);
-fail:
-	if (arg1 && lparg1) setCFRangeFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, AXValueCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ActiveNonFloatingWindow
-JNIEXPORT jint JNICALL OS_NATIVE(ActiveNonFloatingWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ActiveNonFloatingWindow_FUNC);
-	rc = (jint)ActiveNonFloatingWindow();
-	OS_NATIVE_EXIT(env, that, ActiveNonFloatingWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AddDataBrowserItems
-JNIEXPORT jint JNICALL OS_NATIVE(AddDataBrowserItems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AddDataBrowserItems_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)AddDataBrowserItems((ControlRef)arg0, (DataBrowserItemID)arg1, (UInt32)arg2, (const DataBrowserItemID *)lparg3, (DataBrowserPropertyID)arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, AddDataBrowserItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AddDataBrowserListViewColumn
-JNIEXPORT jint JNICALL OS_NATIVE(AddDataBrowserListViewColumn)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	DataBrowserListViewColumnDesc _arg1={0}, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AddDataBrowserListViewColumn_FUNC);
-	if (arg1) if ((lparg1 = getDataBrowserListViewColumnDescFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)AddDataBrowserListViewColumn((ControlRef)arg0, (DataBrowserListViewColumnDesc *)lparg1, (DataBrowserTableViewColumnIndex)arg2);
-fail:
-	if (arg1 && lparg1) setDataBrowserListViewColumnDescFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, AddDataBrowserListViewColumn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AddDragItemFlavor
-JNIEXPORT jint JNICALL OS_NATIVE(AddDragItemFlavor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AddDragItemFlavor_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)AddDragItemFlavor((DragRef)arg0, (DragItemRef)arg1, (FlavorType)arg2, (const void *)lparg3, (Size)arg4, (FlavorFlags)arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, AddDragItemFlavor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AppendMenuItemTextWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(AppendMenuItemTextWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jshortArray arg4)
-{
-	jshort *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AppendMenuItemTextWithCFString_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)AppendMenuItemTextWithCFString((MenuRef)arg0, (CFStringRef)arg1, (MenuItemAttributes)arg2, (MenuCommand)arg3, (MenuItemIndex *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, AppendMenuItemTextWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AutoSizeDataBrowserListViewColumns
-JNIEXPORT jint JNICALL OS_NATIVE(AutoSizeDataBrowserListViewColumns)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AutoSizeDataBrowserListViewColumns_FUNC);
-	rc = (jint)AutoSizeDataBrowserListViewColumns((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, AutoSizeDataBrowserListViewColumns_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BeginUpdate
-JNIEXPORT void JNICALL OS_NATIVE(BeginUpdate)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, BeginUpdate_FUNC);
-	BeginUpdate((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, BeginUpdate_FUNC);
-}
-#endif
-
-#ifndef NO_BringToFront
-JNIEXPORT void JNICALL OS_NATIVE(BringToFront)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, BringToFront_FUNC);
-	BringToFront((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, BringToFront_FUNC);
-}
-#endif
-
-#ifndef NO_CFArrayAppendValue
-JNIEXPORT void JNICALL OS_NATIVE(CFArrayAppendValue)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CFArrayAppendValue_FUNC);
-	CFArrayAppendValue((CFMutableArrayRef)arg0, (const void *)arg1);
-	OS_NATIVE_EXIT(env, that, CFArrayAppendValue_FUNC);
-}
-#endif
-
-#ifndef NO_CFArrayCreateMutable
-JNIEXPORT jint JNICALL OS_NATIVE(CFArrayCreateMutable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFArrayCreateMutable_FUNC);
-	rc = (jint)CFArrayCreateMutable((CFAllocatorRef)arg0, (CFIndex)arg1, (const CFArrayCallBacks *)arg2);
-	OS_NATIVE_EXIT(env, that, CFArrayCreateMutable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFArrayGetCount
-JNIEXPORT jint JNICALL OS_NATIVE(CFArrayGetCount)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFArrayGetCount_FUNC);
-	rc = (jint)CFArrayGetCount((CFArrayRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFArrayGetCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFArrayGetValueAtIndex
-JNIEXPORT jint JNICALL OS_NATIVE(CFArrayGetValueAtIndex)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFArrayGetValueAtIndex_FUNC);
-	rc = (jint)CFArrayGetValueAtIndex((CFArrayRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CFArrayGetValueAtIndex_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFDataGetBytes
-JNIEXPORT void JNICALL OS_NATIVE(CFDataGetBytes)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2)
-{
-	CFRange _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CFDataGetBytes_FUNC);
-	if (arg1) if ((lparg1 = getCFRangeFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	CFDataGetBytes((CFDataRef)arg0, *lparg1, (UInt8 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCFRangeFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CFDataGetBytes_FUNC);
-}
-#endif
-
-#ifndef NO_CFDataGetLength
-JNIEXPORT jint JNICALL OS_NATIVE(CFDataGetLength)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFDataGetLength_FUNC);
-	rc = (jint)CFDataGetLength((CFDataRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFDataGetLength_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFEqual
-JNIEXPORT jboolean JNICALL OS_NATIVE(CFEqual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CFEqual_FUNC);
-	rc = (jboolean)CFEqual((CFStringRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, CFEqual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFLocaleCopyCurrent
-JNIEXPORT jint JNICALL OS_NATIVE(CFLocaleCopyCurrent)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFLocaleCopyCurrent_FUNC);
-	rc = (jint)CFLocaleCopyCurrent();
-	OS_NATIVE_EXIT(env, that, CFLocaleCopyCurrent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFNumberFormatterCopyProperty
-JNIEXPORT jint JNICALL OS_NATIVE(CFNumberFormatterCopyProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFNumberFormatterCopyProperty_FUNC);
-	rc = (jint)CFNumberFormatterCopyProperty((CFNumberFormatterRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, CFNumberFormatterCopyProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFNumberFormatterCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CFNumberFormatterCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFNumberFormatterCreate_FUNC);
-	rc = (jint)CFNumberFormatterCreate((CFAllocatorRef)arg0, (CFLocaleRef)arg1, (CFNumberFormatterStyle)arg2);
-	OS_NATIVE_EXIT(env, that, CFNumberFormatterCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFRelease
-JNIEXPORT void JNICALL OS_NATIVE(CFRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CFRelease_FUNC);
-	CFRelease((CFTypeRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CFStringCreateWithBytes
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringCreateWithBytes)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jboolean arg4)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringCreateWithBytes_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CFStringCreateWithBytes((CFAllocatorRef)arg0, (const UInt8 *)lparg1, (CFIndex)arg2, (CFStringEncoding)arg3, arg4);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CFStringCreateWithBytes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFStringCreateWithCharacters__III
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringCreateWithCharacters__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringCreateWithCharacters__III_FUNC);
-	rc = (jint)CFStringCreateWithCharacters((CFAllocatorRef)arg0, (const UniChar *)arg1, (CFIndex)arg2);
-	OS_NATIVE_EXIT(env, that, CFStringCreateWithCharacters__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFStringCreateWithCharacters__I_3CI
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringCreateWithCharacters__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringCreateWithCharacters__I_3CI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CFStringCreateWithCharacters((CFAllocatorRef)arg0, (const UniChar *)lparg1, (CFIndex)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CFStringCreateWithCharacters__I_3CI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFStringGetBytes
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringGetBytes)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jbyte arg3, jboolean arg4, jbyteArray arg5, jint arg6, jintArray arg7)
-{
-	CFRange _arg1, *lparg1=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringGetBytes_FUNC);
-	if (arg1) if ((lparg1 = getCFRangeFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)CFStringGetBytes((CFStringRef)arg0, *(CFRange *)lparg1, (CFStringEncoding)arg2, (UInt8)arg3, (Boolean)arg4, (UInt8 *)lparg5, (CFIndex)arg6, (CFIndex *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg1 && lparg1) setCFRangeFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CFStringGetBytes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFStringGetCharacters
-JNIEXPORT void JNICALL OS_NATIVE(CFStringGetCharacters)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jcharArray arg2)
-{
-	CFRange _arg1, *lparg1=NULL;
-	jchar *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CFStringGetCharacters_FUNC);
-	if (arg1) if ((lparg1 = getCFRangeFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	CFStringGetCharacters((CFStringRef)arg0, *(CFRange *)lparg1, (UniChar *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCFRangeFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CFStringGetCharacters_FUNC);
-}
-#endif
-
-#ifndef NO_CFStringGetLength
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringGetLength)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringGetLength_FUNC);
-	rc = (jint)CFStringGetLength((CFStringRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFStringGetLength_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFStringGetSystemEncoding
-JNIEXPORT jint JNICALL OS_NATIVE(CFStringGetSystemEncoding)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFStringGetSystemEncoding_FUNC);
-	rc = (jint)CFStringGetSystemEncoding();
-	OS_NATIVE_EXIT(env, that, CFStringGetSystemEncoding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCopyFileSystemPath
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCopyFileSystemPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCopyFileSystemPath_FUNC);
-	rc = (jint)CFURLCopyFileSystemPath((CFURLRef)arg0, (CFURLPathStyle)arg1);
-	OS_NATIVE_EXIT(env, that, CFURLCopyFileSystemPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCopyLastPathComponent
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCopyLastPathComponent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCopyLastPathComponent_FUNC);
-	rc = (jint)CFURLCopyLastPathComponent((CFURLRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFURLCopyLastPathComponent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCopyPathExtension
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCopyPathExtension)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCopyPathExtension_FUNC);
-	rc = (jint)CFURLCopyPathExtension((CFURLRef)arg0);
-	OS_NATIVE_EXIT(env, that, CFURLCopyPathExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateCopyAppendingPathComponent
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateCopyAppendingPathComponent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateCopyAppendingPathComponent_FUNC);
-	rc = (jint)CFURLCreateCopyAppendingPathComponent((CFAllocatorRef)arg0, (CFURLRef)arg1, (CFStringRef)arg2, (Boolean)arg3);
-	OS_NATIVE_EXIT(env, that, CFURLCreateCopyAppendingPathComponent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateCopyDeletingLastPathComponent
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateCopyDeletingLastPathComponent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateCopyDeletingLastPathComponent_FUNC);
-	rc = (jint)CFURLCreateCopyDeletingLastPathComponent((CFAllocatorRef)arg0, (CFURLRef)arg1);
-	OS_NATIVE_EXIT(env, that, CFURLCreateCopyDeletingLastPathComponent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateData
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateData_FUNC);
-	rc = (jint)CFURLCreateData((CFAllocatorRef)arg0, (CFURLRef)arg1, (CFStringEncoding)arg2, (Boolean)arg3);
-	OS_NATIVE_EXIT(env, that, CFURLCreateData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateFromFSRef
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateFromFSRef)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateFromFSRef_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CFURLCreateFromFSRef((CFAllocatorRef)arg0, (const struct FSRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CFURLCreateFromFSRef_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateFromFileSystemRepresentation
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateFromFileSystemRepresentation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateFromFileSystemRepresentation_FUNC);
-	rc = (jint)CFURLCreateFromFileSystemRepresentation((CFAllocatorRef)arg0, (const UInt8 *)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, CFURLCreateFromFileSystemRepresentation_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateWithBytes
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateWithBytes)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jint arg4)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateWithBytes_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CFURLCreateWithBytes((CFAllocatorRef)arg0, (const UInt8 *)lparg1, (CFIndex)arg2, (CFStringEncoding)arg3, (CFURLRef)arg4);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CFURLCreateWithBytes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLCreateWithFileSystemPath
-JNIEXPORT jint JNICALL OS_NATIVE(CFURLCreateWithFileSystemPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLCreateWithFileSystemPath_FUNC);
-	rc = (jint)CFURLCreateWithFileSystemPath((CFAllocatorRef)arg0, (CFStringRef)arg1, (CFURLPathStyle)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, CFURLCreateWithFileSystemPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CFURLGetFSRef
-JNIEXPORT jboolean JNICALL OS_NATIVE(CFURLGetFSRef)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CFURLGetFSRef_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)CFURLGetFSRef((CFURLRef)arg0, (struct FSRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CFURLGetFSRef_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGBitmapContextCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CGBitmapContextCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGBitmapContextCreate_FUNC);
-	rc = (jint)CGBitmapContextCreate((void *)arg0, (size_t)arg1, (size_t)arg2, (size_t)arg3, (size_t)arg4, (CGColorSpaceRef)arg5, (CGImageAlphaInfo)arg6);
-	OS_NATIVE_EXIT(env, that, CGBitmapContextCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGColorCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CGColorCreate)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGColorCreate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CGColorCreate((CGColorSpaceRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGColorCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGColorRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGColorRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGColorRelease_FUNC);
-	CGColorRelease((CGColorRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGColorRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGColorSpaceCreateDeviceRGB
-JNIEXPORT jint JNICALL OS_NATIVE(CGColorSpaceCreateDeviceRGB)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGColorSpaceCreateDeviceRGB_FUNC);
-	rc = (jint)CGColorSpaceCreateDeviceRGB();
-	OS_NATIVE_EXIT(env, that, CGColorSpaceCreateDeviceRGB_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGColorSpaceCreatePattern
-JNIEXPORT jint JNICALL OS_NATIVE(CGColorSpaceCreatePattern)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGColorSpaceCreatePattern_FUNC);
-	rc = (jint)CGColorSpaceCreatePattern((CGColorSpaceRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGColorSpaceCreatePattern_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGColorSpaceRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGColorSpaceRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGColorSpaceRelease_FUNC);
-	CGColorSpaceRelease((CGColorSpaceRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGColorSpaceRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextAddArc
-JNIEXPORT void JNICALL OS_NATIVE(CGContextAddArc)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jboolean arg6)
-{
-	OS_NATIVE_ENTER(env, that, CGContextAddArc_FUNC);
-	CGContextAddArc((CGContextRef)arg0, (float)arg1, (float)arg2, (float)arg3, (float)arg4, (float)arg5, (Boolean)arg6);
-	OS_NATIVE_EXIT(env, that, CGContextAddArc_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextAddArcToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGContextAddArcToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5)
-{
-	OS_NATIVE_ENTER(env, that, CGContextAddArcToPoint_FUNC);
-	CGContextAddArcToPoint((CGContextRef)arg0, arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, CGContextAddArcToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextAddLineToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGContextAddLineToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGContextAddLineToPoint_FUNC);
-	CGContextAddLineToPoint((CGContextRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, CGContextAddLineToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextAddLines
-JNIEXPORT void JNICALL OS_NATIVE(CGContextAddLines)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextAddLines_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextAddLines((CGContextRef)arg0, (const CGPoint *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextAddLines_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextAddPath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextAddPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextAddPath_FUNC);
-	CGContextAddPath((CGContextRef)arg0, (CGPathRef)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextAddPath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextBeginPath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextBeginPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextBeginPath_FUNC);
-	CGContextBeginPath((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextBeginPath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextClearRect
-JNIEXPORT void JNICALL OS_NATIVE(CGContextClearRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextClearRect_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	CGContextClearRect((CGContextRef)arg0, *(CGRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextClearRect_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextClip
-JNIEXPORT void JNICALL OS_NATIVE(CGContextClip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextClip_FUNC);
-	CGContextClip((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextClip_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextClosePath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextClosePath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextClosePath_FUNC);
-	CGContextClosePath((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextClosePath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextConcatCTM
-JNIEXPORT void JNICALL OS_NATIVE(CGContextConcatCTM)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextConcatCTM_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextConcatCTM((CGContextRef)arg0, *(CGAffineTransform *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextConcatCTM_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextDrawImage
-JNIEXPORT void JNICALL OS_NATIVE(CGContextDrawImage)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextDrawImage_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	CGContextDrawImage((CGContextRef)arg0, *(CGRect *)lparg1, (CGImageRef)arg2);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextDrawImage_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextDrawShading
-JNIEXPORT void JNICALL OS_NATIVE(CGContextDrawShading)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextDrawShading_FUNC);
-	CGContextDrawShading((CGContextRef)arg0, (CGShadingRef)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextDrawShading_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextEOClip
-JNIEXPORT void JNICALL OS_NATIVE(CGContextEOClip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextEOClip_FUNC);
-	CGContextEOClip((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextEOClip_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextEOFillPath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextEOFillPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextEOFillPath_FUNC);
-	CGContextEOFillPath((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextEOFillPath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextFillPath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextFillPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextFillPath_FUNC);
-	CGContextFillPath((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextFillPath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextFillRect
-JNIEXPORT void JNICALL OS_NATIVE(CGContextFillRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextFillRect_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	CGContextFillRect((CGContextRef)arg0, *(CGRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextFillRect_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextFlush
-JNIEXPORT void JNICALL OS_NATIVE(CGContextFlush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextFlush_FUNC);
-	CGContextFlush((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextFlush_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextGetInterpolationQuality
-JNIEXPORT jint JNICALL OS_NATIVE(CGContextGetInterpolationQuality)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGContextGetInterpolationQuality_FUNC);
-	rc = (jint)CGContextGetInterpolationQuality((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextGetInterpolationQuality_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGContextMoveToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGContextMoveToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGContextMoveToPoint_FUNC);
-	CGContextMoveToPoint((CGContextRef)arg0, (float)arg1, (float)arg2);
-	OS_NATIVE_EXIT(env, that, CGContextMoveToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGContextRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextRelease_FUNC);
-	CGContextRelease((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextRestoreGState
-JNIEXPORT void JNICALL OS_NATIVE(CGContextRestoreGState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextRestoreGState_FUNC);
-	CGContextRestoreGState((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextRestoreGState_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSaveGState
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSaveGState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSaveGState_FUNC);
-	CGContextSaveGState((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextSaveGState_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextScaleCTM
-JNIEXPORT void JNICALL OS_NATIVE(CGContextScaleCTM)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGContextScaleCTM_FUNC);
-	CGContextScaleCTM((CGContextRef)arg0, (float)arg1, (float)arg2);
-	OS_NATIVE_EXIT(env, that, CGContextScaleCTM_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSelectFont
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSelectFont)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jfloat arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSelectFont_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextSelectFont((CGContextRef)arg0, (const char *)lparg1, (float)arg2, (CGTextEncoding)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSelectFont_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetAlpha
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetAlpha)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetAlpha_FUNC);
-	CGContextSetAlpha((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetAlpha_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetFillColor
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetFillColor)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetFillColor_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextSetFillColor((CGContextRef)arg0, (const float *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetFillColor_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetFillColorSpace
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetFillColorSpace)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetFillColorSpace_FUNC);
-	CGContextSetFillColorSpace((CGContextRef)arg0, (CGColorSpaceRef)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetFillColorSpace_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetFillPattern
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetFillPattern)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetFillPattern_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	CGContextSetFillPattern((CGContextRef)arg0, (CGPatternRef)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetFillPattern_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetFont
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetFont_FUNC);
-	CGContextSetFont((CGContextRef)arg0, (CGFontRef)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetFont_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetFontSize
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetFontSize)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetFontSize_FUNC);
-	CGContextSetFontSize((CGContextRef)arg0, (float)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetFontSize_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetInterpolationQuality
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetInterpolationQuality)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetInterpolationQuality_FUNC);
-	CGContextSetInterpolationQuality((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetInterpolationQuality_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetLineCap
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetLineCap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetLineCap_FUNC);
-	CGContextSetLineCap((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetLineCap_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetLineDash
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetLineDash)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloatArray arg2, jint arg3)
-{
-	jfloat *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetLineDash_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	CGContextSetLineDash((CGContextRef)arg0, (float)arg1, (const float *)lparg2, (size_t)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetLineDash_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetLineJoin
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetLineJoin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetLineJoin_FUNC);
-	CGContextSetLineJoin((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetLineJoin_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetLineWidth
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetLineWidth)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetLineWidth_FUNC);
-	CGContextSetLineWidth((CGContextRef)arg0, (float)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetLineWidth_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetRGBFillColor
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetRGBFillColor)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetRGBFillColor_FUNC);
-	CGContextSetRGBFillColor((CGContextRef)arg0, (float)arg1, (float)arg2, (float)arg3, (float)arg4);
-	OS_NATIVE_EXIT(env, that, CGContextSetRGBFillColor_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetRGBStrokeColor
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetRGBStrokeColor)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetRGBStrokeColor_FUNC);
-	CGContextSetRGBStrokeColor((CGContextRef)arg0, (float)arg1, (float)arg2, (float)arg3, (float)arg4);
-	OS_NATIVE_EXIT(env, that, CGContextSetRGBStrokeColor_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetRenderingIntent
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetRenderingIntent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetRenderingIntent_FUNC);
-	CGContextSetRenderingIntent((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetRenderingIntent_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetShouldAntialias
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetShouldAntialias)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetShouldAntialias_FUNC);
-	CGContextSetShouldAntialias((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetShouldAntialias_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetShouldSmoothFonts
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetShouldSmoothFonts)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetShouldSmoothFonts_FUNC);
-	CGContextSetShouldSmoothFonts((CGContextRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetShouldSmoothFonts_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetStrokeColor
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetStrokeColor)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetStrokeColor_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextSetStrokeColor((CGContextRef)arg0, (const float *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetStrokeColor_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetStrokeColorSpace
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetStrokeColorSpace)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetStrokeColorSpace_FUNC);
-	CGContextSetStrokeColorSpace((CGContextRef)arg0, (CGColorSpaceRef)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetStrokeColorSpace_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetStrokePattern
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetStrokePattern)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2)
-{
-	jfloat *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetStrokePattern_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	CGContextSetStrokePattern((CGContextRef)arg0, (CGPatternRef)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetStrokePattern_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetTextDrawingMode
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetTextDrawingMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetTextDrawingMode_FUNC);
-	CGContextSetTextDrawingMode((CGContextRef)arg0, (CGTextDrawingMode)arg1);
-	OS_NATIVE_EXIT(env, that, CGContextSetTextDrawingMode_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetTextMatrix
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetTextMatrix)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextSetTextMatrix_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextSetTextMatrix((CGContextRef)arg0, *(CGAffineTransform *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextSetTextMatrix_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSetTextPosition
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSetTextPosition)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSetTextPosition_FUNC);
-	CGContextSetTextPosition((CGContextRef)arg0, (float)arg1, (float)arg2);
-	OS_NATIVE_EXIT(env, that, CGContextSetTextPosition_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextShowText
-JNIEXPORT void JNICALL OS_NATIVE(CGContextShowText)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextShowText_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGContextShowText((CGContextRef)arg0, (const char *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextShowText_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextShowTextAtPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGContextShowTextAtPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextShowTextAtPoint_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	CGContextShowTextAtPoint((CGContextRef)arg0, (float)arg1, (float)arg2, (const char *)lparg3, (size_t)arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, CGContextShowTextAtPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextStrokePath
-JNIEXPORT void JNICALL OS_NATIVE(CGContextStrokePath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextStrokePath_FUNC);
-	CGContextStrokePath((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextStrokePath_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextStrokeRect
-JNIEXPORT void JNICALL OS_NATIVE(CGContextStrokeRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextStrokeRect_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	CGContextStrokeRect((CGContextRef)arg0, *(CGRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextStrokeRect_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextSynchronize
-JNIEXPORT void JNICALL OS_NATIVE(CGContextSynchronize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGContextSynchronize_FUNC);
-	CGContextSynchronize((CGContextRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGContextSynchronize_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextTranslateCTM
-JNIEXPORT void JNICALL OS_NATIVE(CGContextTranslateCTM)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGContextTranslateCTM_FUNC);
-	CGContextTranslateCTM((CGContextRef)arg0, (float)arg1, (float)arg2);
-	OS_NATIVE_EXIT(env, that, CGContextTranslateCTM_FUNC);
-}
-#endif
-
-#ifndef NO_CGDataProviderCreateWithData
-JNIEXPORT jint JNICALL OS_NATIVE(CGDataProviderCreateWithData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDataProviderCreateWithData_FUNC);
-	rc = (jint)CGDataProviderCreateWithData((void *)arg0, (const void *)arg1, (size_t)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, CGDataProviderCreateWithData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDataProviderCreateWithURL
-JNIEXPORT jint JNICALL OS_NATIVE(CGDataProviderCreateWithURL)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDataProviderCreateWithURL_FUNC);
-	rc = (jint)CGDataProviderCreateWithURL((CFURLRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGDataProviderCreateWithURL_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDataProviderRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGDataProviderRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGDataProviderRelease_FUNC);
-	CGDataProviderRelease((CGDataProviderRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGDataProviderRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGDisplayBaseAddress
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayBaseAddress)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayBaseAddress_FUNC);
-	rc = (jint)CGDisplayBaseAddress((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayBaseAddress_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDisplayBitsPerPixel
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayBitsPerPixel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayBitsPerPixel_FUNC);
-	rc = (jint)CGDisplayBitsPerPixel((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayBitsPerPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDisplayBitsPerSample
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayBitsPerSample)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayBitsPerSample_FUNC);
-	rc = (jint)CGDisplayBitsPerSample((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayBitsPerSample_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDisplayBytesPerRow
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayBytesPerRow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayBytesPerRow_FUNC);
-	rc = (jint)CGDisplayBytesPerRow((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayBytesPerRow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDisplayPixelsHigh
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayPixelsHigh)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayPixelsHigh_FUNC);
-	rc = (jint)CGDisplayPixelsHigh((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayPixelsHigh_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGDisplayPixelsWide
-JNIEXPORT jint JNICALL OS_NATIVE(CGDisplayPixelsWide)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGDisplayPixelsWide_FUNC);
-	rc = (jint)CGDisplayPixelsWide((CGDirectDisplayID)arg0);
-	OS_NATIVE_EXIT(env, that, CGDisplayPixelsWide_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGFontCreateWithPlatformFont
-JNIEXPORT jint JNICALL OS_NATIVE(CGFontCreateWithPlatformFont)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGFontCreateWithPlatformFont_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)CGFontCreateWithPlatformFont(lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CGFontCreateWithPlatformFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGFontRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGFontRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGFontRelease_FUNC);
-	CGFontRelease((CGFontRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGFontRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGFunctionCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CGFunctionCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloatArray arg2, jint arg3, jfloatArray arg4, jobject arg5)
-{
-	jfloat *lparg2=NULL;
-	jfloat *lparg4=NULL;
-	CGFunctionCallbacks _arg5, *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGFunctionCreate_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getCGFunctionCallbacksFields(env, arg5, &_arg5)) == NULL) goto fail;
-	rc = (jint)CGFunctionCreate((void *)arg0, (size_t)arg1, (const float *)lparg2, (size_t)arg3, (const float *)lparg4, (const CGFunctionCallbacks *)lparg5);
-fail:
-	if (arg5 && lparg5) setCGFunctionCallbacksFields(env, arg5, lparg5);
-	if (arg4 && lparg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CGFunctionCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGFunctionRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGFunctionRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGFunctionRelease_FUNC);
-	CGFunctionRelease((CGFunctionRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGFunctionRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGGetDisplaysWithRect
-JNIEXPORT jint JNICALL OS_NATIVE(CGGetDisplaysWithRect)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGGetDisplaysWithRect_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)CGGetDisplaysWithRect(*lparg0, (CGDisplayCount)arg1, (CGDirectDisplayID *)lparg2, (CGDisplayCount *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, CGGetDisplaysWithRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jfloatArray arg8, jboolean arg9, jint arg10)
-{
-	jfloat *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageCreate_FUNC);
-	if (arg8) if ((lparg8 = (*env)->GetFloatArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)CGImageCreate((size_t)arg0, (size_t)arg1, (size_t)arg2, (size_t)arg3, (size_t)arg4, (CGColorSpaceRef)arg5, (CGImageAlphaInfo)arg6, (CGDataProviderRef)arg7, (const float *)lparg8, (Boolean)arg9, (CGColorRenderingIntent)arg10);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseFloatArrayElements(env, arg8, lparg8, 0);
-	OS_NATIVE_EXIT(env, that, CGImageCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageCreateWithImageInRect
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageCreateWithImageInRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageCreateWithImageInRect_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jint)CGImageCreateWithImageInRect(arg0, *lparg1);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, CGRect);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(CGImageCreateWithImageInRect_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("CGImageCreateWithImageInRect"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, *lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGImageCreateWithImageInRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageCreateWithJPEGDataProvider
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageCreateWithJPEGDataProvider)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jboolean arg2, jint arg3)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageCreateWithJPEGDataProvider_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CGImageCreateWithJPEGDataProvider((CGDataProviderRef)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGImageCreateWithJPEGDataProvider_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageCreateWithPNGDataProvider
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageCreateWithPNGDataProvider)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jboolean arg2, jint arg3)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageCreateWithPNGDataProvider_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CGImageCreateWithPNGDataProvider((CGDataProviderRef)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGImageCreateWithPNGDataProvider_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetAlphaInfo
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetAlphaInfo)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetAlphaInfo_FUNC);
-	rc = (jint)CGImageGetAlphaInfo((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetAlphaInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetBitsPerComponent
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetBitsPerComponent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetBitsPerComponent_FUNC);
-	rc = (jint)CGImageGetBitsPerComponent((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetBitsPerComponent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetBitsPerPixel
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetBitsPerPixel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetBitsPerPixel_FUNC);
-	rc = (jint)CGImageGetBitsPerPixel((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetBitsPerPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetBytesPerRow
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetBytesPerRow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetBytesPerRow_FUNC);
-	rc = (jint)CGImageGetBytesPerRow((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetBytesPerRow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetColorSpace
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetColorSpace)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetColorSpace_FUNC);
-	rc = (jint)CGImageGetColorSpace((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetColorSpace_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetHeight
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetHeight)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetHeight_FUNC);
-	rc = (jint)CGImageGetHeight((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageGetWidth
-JNIEXPORT jint JNICALL OS_NATIVE(CGImageGetWidth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGImageGetWidth_FUNC);
-	rc = (jint)CGImageGetWidth((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageGetWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGImageRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGImageRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGImageRelease_FUNC);
-	CGImageRelease((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGImageRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddArc
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddArc)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloat arg6, jboolean arg7)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddArc_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathAddArc((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, arg2, arg3, arg4, arg5, arg6, arg7);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddArc_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddCurveToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddCurveToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloat arg6, jfloat arg7)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddCurveToPoint_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathAddCurveToPoint((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, arg2, arg3, arg4, arg5, arg6, arg7);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddCurveToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddLineToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddLineToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloat arg2, jfloat arg3)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddLineToPoint_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathAddLineToPoint((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddLineToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddPath
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddPath)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddPath_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathAddPath((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, (CGPathRef)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddPath_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddQuadCurveToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddQuadCurveToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddQuadCurveToPoint_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathAddQuadCurveToPoint((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, arg2, arg3, arg4, arg5);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddQuadCurveToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathAddRect
-JNIEXPORT void JNICALL OS_NATIVE(CGPathAddRect)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jobject arg2)
-{
-	jfloat *lparg1=NULL;
-	CGRect _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathAddRect_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	CGPathAddRect((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, *lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathAddRect_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathApply
-JNIEXPORT void JNICALL OS_NATIVE(CGPathApply)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, CGPathApply_FUNC);
-	CGPathApply((CGPathRef)arg0, (void *)arg1, (CGPathApplierFunction)arg2);
-	OS_NATIVE_EXIT(env, that, CGPathApply_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathCloseSubpath
-JNIEXPORT void JNICALL OS_NATIVE(CGPathCloseSubpath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGPathCloseSubpath_FUNC);
-	CGPathCloseSubpath((CGMutablePathRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGPathCloseSubpath_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathCreateMutable
-JNIEXPORT jint JNICALL OS_NATIVE(CGPathCreateMutable)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGPathCreateMutable_FUNC);
-	rc = (jint)CGPathCreateMutable();
-	OS_NATIVE_EXIT(env, that, CGPathCreateMutable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGPathIsEmpty
-JNIEXPORT jboolean JNICALL OS_NATIVE(CGPathIsEmpty)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CGPathIsEmpty_FUNC);
-	rc = (jboolean)CGPathIsEmpty((CGPathRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGPathIsEmpty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGPathMoveToPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGPathMoveToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jfloat arg2, jfloat arg3)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathMoveToPoint_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	CGPathMoveToPoint((CGMutablePathRef)arg0, (const CGAffineTransform *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGPathMoveToPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGPathRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGPathRelease_FUNC);
-	CGPathRelease((CGPathRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGPathRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGPatternCreate
-JNIEXPORT jint JNICALL OS_NATIVE(CGPatternCreate)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jfloatArray arg2, jfloat arg3, jfloat arg4, jint arg5, jint arg6, jobject arg7)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	CGPatternCallbacks _arg7, *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGPatternCreate_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getCGPatternCallbacksFields(env, arg7, &_arg7)) == NULL) goto fail;
-	rc = (jint)CGPatternCreate((void *)arg0, *lparg1, *(CGAffineTransform *)lparg2, arg3, arg4, (CGPatternTiling)arg5, arg6, (const CGPatternCallbacks *)lparg7);
-fail:
-	if (arg7 && lparg7) setCGPatternCallbacksFields(env, arg7, lparg7);
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGPatternCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGPatternRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGPatternRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGPatternRelease_FUNC);
-	CGPatternRelease((CGPatternRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGPatternRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGPostKeyboardEvent
-JNIEXPORT jint JNICALL OS_NATIVE(CGPostKeyboardEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGPostKeyboardEvent_FUNC);
-	rc = (jint)CGPostKeyboardEvent((CGCharCode)arg0, (CGKeyCode)arg1, (boolean_t)arg2);
-	OS_NATIVE_EXIT(env, that, CGPostKeyboardEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGPostMouseEvent
-JNIEXPORT jint JNICALL OS_NATIVE(CGPostMouseEvent)
-	(JNIEnv *env, jclass that, jobject arg0, jboolean arg1, jint arg2, jboolean arg3, jboolean arg4, jboolean arg5)
-{
-	CGPoint _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGPostMouseEvent_FUNC);
-	if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)CGPostMouseEvent(*lparg0, (boolean_t)arg1, arg2, (boolean_t)arg3, (boolean_t)arg4, (boolean_t)arg5);
-fail:
-	if (arg0 && lparg0) setCGPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, CGPostMouseEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGRectContainsPoint
-JNIEXPORT jint JNICALL OS_NATIVE(CGRectContainsPoint)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	CGRect _arg0, *lparg0=NULL;
-	CGPoint _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGRectContainsPoint_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)CGRectContainsPoint(*lparg0, *lparg1);
-fail:
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, CGRectContainsPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGShadingCreateAxial
-JNIEXPORT jint JNICALL OS_NATIVE(CGShadingCreateAxial)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jint arg3, jboolean arg4, jboolean arg5)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	CGPoint _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGShadingCreateAxial_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)CGShadingCreateAxial((CGColorSpaceRef)arg0, *lparg1, *lparg2, (CGFunctionRef)arg3, arg4, arg5);
-fail:
-	if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGShadingCreateAxial_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGShadingCreateRadial
-JNIEXPORT jint JNICALL OS_NATIVE(CGShadingCreateRadial)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jfloat arg2, jobject arg3, jfloat arg4, jint arg5, jboolean arg6, jboolean arg7)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	CGPoint _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGShadingCreateRadial_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getCGPointFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)CGShadingCreateRadial((CGColorSpaceRef)arg0, *lparg1, arg2, *lparg3, arg4, (CGFunctionRef)arg5, arg6, arg7);
-fail:
-	if (arg3 && lparg3) setCGPointFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGShadingCreateRadial_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGShadingRelease
-JNIEXPORT void JNICALL OS_NATIVE(CGShadingRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CGShadingRelease_FUNC);
-	CGShadingRelease((CGShadingRef)arg0);
-	OS_NATIVE_EXIT(env, that, CGShadingRelease_FUNC);
-}
-#endif
-
-#ifndef NO_CGWarpMouseCursorPosition
-JNIEXPORT jint JNICALL OS_NATIVE(CGWarpMouseCursorPosition)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	CGPoint _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CGWarpMouseCursorPosition_FUNC);
-	if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)CGWarpMouseCursorPosition(*lparg0);
-fail:
-	if (arg0 && lparg0) setCGPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, CGWarpMouseCursorPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CPSEnableForegroundOperation
-JNIEXPORT jint JNICALL OS_NATIVE(CPSEnableForegroundOperation)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CPSEnableForegroundOperation_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)CPSEnableForegroundOperation(lparg0, arg1, arg2, arg3, arg4);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CPSEnableForegroundOperation_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CPSSetProcessName
-JNIEXPORT jint JNICALL OS_NATIVE(CPSSetProcessName)
-	(JNIEnv *env, jclass that, jintArray arg0, jbyteArray arg1)
-{
-	jint *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CPSSetProcessName_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CPSSetProcessName(lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CPSSetProcessName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CalcMenuSize
-JNIEXPORT void JNICALL OS_NATIVE(CalcMenuSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CalcMenuSize_FUNC);
-	CalcMenuSize((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, CalcMenuSize_FUNC);
-}
-#endif
-
-#ifndef NO_Call
-JNIEXPORT void JNICALL OS_NATIVE(Call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, Call_FUNC);
-	((void (*)())arg0)(arg1, arg2);
-	OS_NATIVE_EXIT(env, that, Call_FUNC);
-}
-#endif
-
-#ifndef NO_CallNextEventHandler
-JNIEXPORT jint JNICALL OS_NATIVE(CallNextEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CallNextEventHandler_FUNC);
-	rc = (jint)CallNextEventHandler((EventHandlerCallRef)arg0, (EventRef)arg1);
-	OS_NATIVE_EXIT(env, that, CallNextEventHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CancelMenuTracking
-JNIEXPORT jint JNICALL OS_NATIVE(CancelMenuTracking)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CancelMenuTracking_FUNC);
-	rc = (jint)CancelMenuTracking((MenuRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, CancelMenuTracking_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ChangeWindowAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(ChangeWindowAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ChangeWindowAttributes_FUNC);
-	rc = (jint)ChangeWindowAttributes((WindowRef)arg0, (WindowAttributes)arg1, (WindowAttributes)arg2);
-	OS_NATIVE_EXIT(env, that, ChangeWindowAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CharWidth
-JNIEXPORT jshort JNICALL OS_NATIVE(CharWidth)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CharWidth_FUNC);
-	rc = (jshort)CharWidth((CharParameter)arg0);
-	OS_NATIVE_EXIT(env, that, CharWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ClearCurrentScrap
-JNIEXPORT jint JNICALL OS_NATIVE(ClearCurrentScrap)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ClearCurrentScrap_FUNC);
-	rc = (jint)ClearCurrentScrap();
-	OS_NATIVE_EXIT(env, that, ClearCurrentScrap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ClearKeyboardFocus
-JNIEXPORT jint JNICALL OS_NATIVE(ClearKeyboardFocus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ClearKeyboardFocus_FUNC);
-	rc = (jint)ClearKeyboardFocus((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, ClearKeyboardFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ClearMenuBar
-JNIEXPORT void JNICALL OS_NATIVE(ClearMenuBar)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, ClearMenuBar_FUNC);
-	ClearMenuBar();
-	OS_NATIVE_EXIT(env, that, ClearMenuBar_FUNC);
-}
-#endif
-
-#ifndef NO_ClipCGContextToRegion
-JNIEXPORT jint JNICALL OS_NATIVE(ClipCGContextToRegion)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ClipCGContextToRegion_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)ClipCGContextToRegion((CGContextRef)arg0, (const Rect *)lparg1, (RgnHandle)arg2);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ClipCGContextToRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CloseDataBrowserContainer
-JNIEXPORT jint JNICALL OS_NATIVE(CloseDataBrowserContainer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CloseDataBrowserContainer_FUNC);
-	rc = (jint)CloseDataBrowserContainer((ControlRef)arg0, (DataBrowserItemID)arg1);
-	OS_NATIVE_EXIT(env, that, CloseDataBrowserContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ClosePoly
-JNIEXPORT void JNICALL OS_NATIVE(ClosePoly)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, ClosePoly_FUNC);
-	ClosePoly();
-	OS_NATIVE_EXIT(env, that, ClosePoly_FUNC);
-}
-#endif
-
-#ifndef NO_CloseRgn
-JNIEXPORT void JNICALL OS_NATIVE(CloseRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CloseRgn_FUNC);
-	CloseRgn((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, CloseRgn_FUNC);
-}
-#endif
-
-#ifndef NO_CollapseWindow
-JNIEXPORT jint JNICALL OS_NATIVE(CollapseWindow)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CollapseWindow_FUNC);
-	rc = (jint)CollapseWindow((WindowRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, CollapseWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ConvertEventRefToEventRecord
-JNIEXPORT jboolean JNICALL OS_NATIVE(ConvertEventRefToEventRecord)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	EventRecord _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ConvertEventRefToEventRecord_FUNC);
-	if (arg1) if ((lparg1 = getEventRecordFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ConvertEventRefToEventRecord((EventRef)arg0, (EventRecord *)lparg1);
-fail:
-	if (arg1 && lparg1) setEventRecordFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ConvertEventRefToEventRecord_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ConvertFromPStringToUnicode
-JNIEXPORT jint JNICALL OS_NATIVE(ConvertFromPStringToUnicode)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3, jcharArray arg4)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ConvertFromPStringToUnicode_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ConvertFromPStringToUnicode((TextToUnicodeInfo)arg0, (ConstStr255Param)lparg1, arg2, (ByteCount *)lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ConvertFromPStringToUnicode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ConvertFromUnicodeToPString
-JNIEXPORT jint JNICALL OS_NATIVE(ConvertFromUnicodeToPString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jbyteArray arg3)
-{
-	jchar *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ConvertFromUnicodeToPString_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ConvertFromUnicodeToPString((UnicodeToTextInfo)arg0, arg1, (ConstUniCharArrayPtr)lparg2, (unsigned char *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ConvertFromUnicodeToPString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CopyBits
-JNIEXPORT void JNICALL OS_NATIVE(CopyBits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jshort arg4, jint arg5)
-{
-	Rect _arg2, *lparg2=NULL;
-	Rect _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, CopyBits_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getRectFields(env, arg3, &_arg3)) == NULL) goto fail;
-	CopyBits((const BitMap *)arg0, (const BitMap *)arg1, (const Rect *)lparg2, (const Rect *)lparg3, (short)arg4, (RgnHandle)arg5);
-fail:
-	if (arg3 && lparg3) setRectFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, CopyBits_FUNC);
-}
-#endif
-
-#ifndef NO_CopyControlTitleAsCFString
-JNIEXPORT jint JNICALL OS_NATIVE(CopyControlTitleAsCFString)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CopyControlTitleAsCFString_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CopyControlTitleAsCFString((ControlRef)arg0, (CFStringRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CopyControlTitleAsCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CopyDeepMask
-JNIEXPORT void JNICALL OS_NATIVE(CopyDeepMask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jobject arg4, jobject arg5, jshort arg6, jint arg7)
-{
-	Rect _arg3, *lparg3=NULL;
-	Rect _arg4, *lparg4=NULL;
-	Rect _arg5, *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, CopyDeepMask_FUNC);
-	if (arg3) if ((lparg3 = getRectFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getRectFields(env, arg5, &_arg5)) == NULL) goto fail;
-	CopyDeepMask((const BitMap *)arg0, (const BitMap *)arg1, (const BitMap *)arg2, (const Rect *)lparg3, (const Rect *)lparg4, (const Rect *)lparg5, (short)arg6, (RgnHandle)arg7);
-fail:
-	if (arg5 && lparg5) setRectFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setRectFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setRectFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, CopyDeepMask_FUNC);
-}
-#endif
-
-#ifndef NO_CopyMenuItemTextAsCFString
-JNIEXPORT jint JNICALL OS_NATIVE(CopyMenuItemTextAsCFString)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CopyMenuItemTextAsCFString_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)CopyMenuItemTextAsCFString((MenuRef)arg0, (MenuItemIndex)arg1, (CFStringRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CopyMenuItemTextAsCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CopyRgn
-JNIEXPORT void JNICALL OS_NATIVE(CopyRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, CopyRgn_FUNC);
-	CopyRgn((RgnHandle)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, CopyRgn_FUNC);
-}
-#endif
-
-#ifndef NO_CountDragItemFlavors
-JNIEXPORT jint JNICALL OS_NATIVE(CountDragItemFlavors)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CountDragItemFlavors_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)CountDragItemFlavors((DragRef)arg0, (DragItemRef)arg1, (UInt16 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CountDragItemFlavors_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CountDragItems
-JNIEXPORT jint JNICALL OS_NATIVE(CountDragItems)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CountDragItems_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CountDragItems((DragRef)arg0, (UInt16 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CountDragItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CountMenuItems
-JNIEXPORT jshort JNICALL OS_NATIVE(CountMenuItems)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CountMenuItems_FUNC);
-	rc = (jshort)CountMenuItems((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, CountMenuItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CountSubControls
-JNIEXPORT jint JNICALL OS_NATIVE(CountSubControls)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CountSubControls_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CountSubControls((ControlRef)arg0, (UInt16 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CountSubControls_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateBevelButtonControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateBevelButtonControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jshort arg3, jshort arg4, jint arg5, jshort arg6, jshort arg7, jshort arg8, jintArray arg9)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg9=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateBevelButtonControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jint)CreateBevelButtonControl((WindowRef)arg0, (const Rect *)lparg1, (CFStringRef)arg2, (ControlBevelThickness)arg3, (ControlBevelButtonBehavior)arg4, (ControlButtonContentInfoPtr)arg5, (SInt16)arg6, (ControlBevelButtonMenuBehavior)arg7, (ControlBevelButtonMenuPlacement)arg8, (ControlRef *)lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateBevelButtonControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCGContextForPort
-JNIEXPORT jint JNICALL OS_NATIVE(CreateCGContextForPort)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCGContextForPort_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateCGContextForPort((CGrafPtr)arg0, (CGContextRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateCGContextForPort_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCheckBoxControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateCheckBoxControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jboolean arg4, jintArray arg5)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCheckBoxControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)CreateCheckBoxControl((WindowRef)arg0, (const Rect *)lparg1, (CFStringRef)arg2, (SInt32)arg3, (Boolean)arg4, (ControlRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateCheckBoxControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateDataBrowserControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateDataBrowserControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateDataBrowserControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)CreateDataBrowserControl((WindowRef)arg0, (const Rect *)lparg1, (DataBrowserViewStyle)arg2, (ControlRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateDataBrowserControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateEditUnicodeTextControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateEditUnicodeTextControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3, jobject arg4, jintArray arg5)
-{
-	Rect _arg1, *lparg1=NULL;
-	ControlFontStyleRec _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateEditUnicodeTextControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getControlFontStyleRecFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)CreateEditUnicodeTextControl((WindowRef)arg0, lparg1, (CFStringRef)arg2, arg3, lparg4, (ControlRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setControlFontStyleRecFields(env, arg4, lparg4);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateEditUnicodeTextControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateEvent
-JNIEXPORT jint JNICALL OS_NATIVE(CreateEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jdouble arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateEvent_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)CreateEvent((CFAllocatorRef)arg0, (UInt32)arg1, (UInt32)arg2, (EventTime)arg3, (EventAttributes)arg4, (EventRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, CreateEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateGroupBoxControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateGroupBoxControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jboolean arg3, jintArray arg4)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateGroupBoxControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CreateGroupBoxControl((WindowRef)arg0, (const Rect *)lparg1, (CFStringRef)arg2, (Boolean)arg3, (ControlRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateGroupBoxControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateIconControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateIconControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jboolean arg3, jintArray arg4)
-{
-	Rect _arg1, *lparg1=NULL;
-	ControlButtonContentInfo _arg2, *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateIconControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getControlButtonContentInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CreateIconControl((WindowRef)arg0, lparg1, lparg2, arg3, (ControlRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) setControlButtonContentInfoFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateIconControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateLittleArrowsControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateLittleArrowsControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateLittleArrowsControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)CreateLittleArrowsControl((WindowRef)arg0, (const Rect *)lparg1, arg2, arg3, arg4, arg5, (ControlRef *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateLittleArrowsControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateNewMenu
-JNIEXPORT jint JNICALL OS_NATIVE(CreateNewMenu)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateNewMenu_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)CreateNewMenu((MenuID)arg0, (MenuAttributes)arg1, (MenuRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CreateNewMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateNewWindow
-JNIEXPORT jint JNICALL OS_NATIVE(CreateNewWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3)
-{
-	Rect _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateNewWindow_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)CreateNewWindow((WindowClass)arg0, (WindowAttributes)arg1, (const Rect *)lparg2, (WindowRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, CreateNewWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePopupArrowControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePopupArrowControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jshort arg2, jshort arg3, jintArray arg4)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePopupArrowControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CreatePopupArrowControl((WindowRef)arg0, (const Rect *)lparg1, (ControlPopupArrowOrientation)arg2, (ControlPopupArrowSize)arg3, (ControlRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreatePopupArrowControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePopupButtonControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePopupButtonControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jshort arg3, jboolean arg4, jshort arg5, jshort arg6, jint arg7, jintArray arg8)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePopupButtonControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)CreatePopupButtonControl((WindowRef)arg0, lparg1, (CFStringRef)arg2, arg3, arg4, arg5, arg6, arg7, (ControlRef *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreatePopupButtonControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateProgressBarControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateProgressBarControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4, jboolean arg5, jintArray arg6)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateProgressBarControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)CreateProgressBarControl((WindowRef)arg0, lparg1, arg2, arg3, arg4, arg5, (ControlRef *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateProgressBarControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePushButtonControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePushButtonControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePushButtonControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)CreatePushButtonControl((WindowRef)arg0, (const Rect *)lparg1, (CFStringRef)arg2, (ControlRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreatePushButtonControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePushButtonWithIconControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePushButtonWithIconControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jobject arg3, jshort arg4, jintArray arg5)
-{
-	Rect _arg1, *lparg1=NULL;
-	ControlButtonContentInfo _arg3, *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePushButtonWithIconControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getControlButtonContentInfoFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)CreatePushButtonWithIconControl((WindowRef)arg0, lparg1, (CFStringRef)arg2, (ControlButtonContentInfo *)lparg3, (ControlPushButtonIconAlignment)arg4, (ControlRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) setControlButtonContentInfoFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreatePushButtonWithIconControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateRadioButtonControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateRadioButtonControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jboolean arg4, jintArray arg5)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateRadioButtonControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)CreateRadioButtonControl((WindowRef)arg0, (const Rect *)lparg1, (CFStringRef)arg2, (SInt32)arg3, (Boolean)arg4, (ControlRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateRadioButtonControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateRootControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateRootControl)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateRootControl_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateRootControl((WindowRef)arg0, (ControlRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateRootControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateScrollBarControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateScrollBarControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4, jint arg5, jboolean arg6, jint arg7, jintArray arg8)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateScrollBarControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)CreateScrollBarControl((WindowRef)arg0, lparg1, arg2, arg3, arg4, arg5, arg6, (ControlActionUPP)arg7, (ControlRef *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateScrollBarControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateSeparatorControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateSeparatorControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jintArray arg2)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateSeparatorControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)CreateSeparatorControl((WindowRef)arg0, lparg1, (ControlRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateSeparatorControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateSliderControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateSliderControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4, jint arg5, jshort arg6, jboolean arg7, jint arg8, jintArray arg9)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg9=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateSliderControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jint)CreateSliderControl((WindowRef)arg0, (const Rect *)lparg1, (SInt32)arg2, (SInt32)arg3, (SInt32)arg4, (ControlSliderOrientation)arg5, (UInt16)arg6, (Boolean)arg7, (ControlActionUPP)arg8, (ControlRef *)lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateSliderControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateStandardAlert
-JNIEXPORT jint JNICALL OS_NATIVE(CreateStandardAlert)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	AlertStdCFStringAlertParamRec _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateStandardAlert_FUNC);
-	if (arg3) if ((lparg3 = getAlertStdCFStringAlertParamRecFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CreateStandardAlert((AlertType)arg0, (CFStringRef)arg1, (CFStringRef)arg2, (const AlertStdCFStringAlertParamRec *)lparg3, (DialogRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setAlertStdCFStringAlertParamRecFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, CreateStandardAlert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateStaticTextControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateStaticTextControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	Rect _arg1, *lparg1=NULL;
-	ControlFontStyleRec _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateStaticTextControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getControlFontStyleRecFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CreateStaticTextControl((WindowRef)arg0, lparg1, (CFStringRef)arg2, (const ControlFontStyleRec *)lparg3, (ControlRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setControlFontStyleRecFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateStaticTextControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateTabsControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateTabsControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jshort arg2, jshort arg3, jshort arg4, jint arg5, jintArray arg6)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateTabsControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)CreateTabsControl((WindowRef)arg0, (const Rect *)lparg1, (ControlTabSize)arg2, (ControlTabDirection)arg3, (UInt16)arg4, (const ControlTabEntry *)arg5, (ControlRef *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateTabsControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateTextToUnicodeInfoByEncoding
-JNIEXPORT jint JNICALL OS_NATIVE(CreateTextToUnicodeInfoByEncoding)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateTextToUnicodeInfoByEncoding_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateTextToUnicodeInfoByEncoding((TextEncoding)arg0, (TextToUnicodeInfo *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateTextToUnicodeInfoByEncoding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateUnicodeToTextInfoByEncoding
-JNIEXPORT jint JNICALL OS_NATIVE(CreateUnicodeToTextInfoByEncoding)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateUnicodeToTextInfoByEncoding_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateUnicodeToTextInfoByEncoding((TextEncoding)arg0, (UnicodeToTextInfo *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateUnicodeToTextInfoByEncoding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateUserPaneControl
-JNIEXPORT jint JNICALL OS_NATIVE(CreateUserPaneControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateUserPaneControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)CreateUserPaneControl((WindowRef)arg0, lparg1, arg2, (ControlRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CreateUserPaneControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateWindowGroup
-JNIEXPORT jint JNICALL OS_NATIVE(CreateWindowGroup)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateWindowGroup_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateWindowGroup((WindowGroupAttributes)arg0, (WindowGroupRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateWindowGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DMGetFirstScreenDevice
-JNIEXPORT jint JNICALL OS_NATIVE(DMGetFirstScreenDevice)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DMGetFirstScreenDevice_FUNC);
-	rc = (jint)DMGetFirstScreenDevice((Boolean)arg0);
-	OS_NATIVE_EXIT(env, that, DMGetFirstScreenDevice_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DMGetNextScreenDevice
-JNIEXPORT jint JNICALL OS_NATIVE(DMGetNextScreenDevice)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DMGetNextScreenDevice_FUNC);
-	rc = (jint)DMGetNextScreenDevice((GDHandle)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, DMGetNextScreenDevice_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DataBrowserChangeAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(DataBrowserChangeAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DataBrowserChangeAttributes_FUNC);
-/*
-	rc = (jint)DataBrowserChangeAttributes(arg0, arg1, arg2);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(DataBrowserChangeAttributes_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("DataBrowserChangeAttributes"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, DataBrowserChangeAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DataBrowserGetAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(DataBrowserGetAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DataBrowserGetAttributes_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)DataBrowserGetAttributes(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(DataBrowserGetAttributes_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("DataBrowserGetAttributes"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, DataBrowserGetAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DataBrowserGetMetric
-JNIEXPORT jint JNICALL OS_NATIVE(DataBrowserGetMetric)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbooleanArray arg2, jfloatArray arg3)
-{
-	jboolean *lparg2=NULL;
-	jfloat *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DataBrowserGetMetric_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)DataBrowserGetMetric(arg0, arg1, lparg2, lparg3);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint, jboolean *, jfloat *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(DataBrowserGetMetric_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("DataBrowserGetMetric"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, lparg2, lparg3);
-		}
-	}
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, DataBrowserGetMetric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DataBrowserSetMetric
-JNIEXPORT jint JNICALL OS_NATIVE(DataBrowserSetMetric)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jfloat arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DataBrowserSetMetric_FUNC);
-/*
-	rc = (jint)DataBrowserSetMetric(arg0, arg1, arg2, arg3);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint, jboolean, jfloat);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(DataBrowserSetMetric_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("DataBrowserSetMetric"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, arg2, arg3);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, DataBrowserSetMetric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeleteMenu
-JNIEXPORT void JNICALL OS_NATIVE(DeleteMenu)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, DeleteMenu_FUNC);
-	DeleteMenu((MenuID)arg0);
-	OS_NATIVE_EXIT(env, that, DeleteMenu_FUNC);
-}
-#endif
-
-#ifndef NO_DeleteMenuItem
-JNIEXPORT void JNICALL OS_NATIVE(DeleteMenuItem)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, DeleteMenuItem_FUNC);
-	DeleteMenuItem((MenuRef)arg0, (short)arg1);
-	OS_NATIVE_EXIT(env, that, DeleteMenuItem_FUNC);
-}
-#endif
-
-#ifndef NO_DeleteMenuItems
-JNIEXPORT jint JNICALL OS_NATIVE(DeleteMenuItems)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DeleteMenuItems_FUNC);
-	rc = (jint)DeleteMenuItems((MenuRef)arg0, (MenuItemIndex)arg1, (ItemCount)arg2);
-	OS_NATIVE_EXIT(env, that, DeleteMenuItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DiffRgn
-JNIEXPORT void JNICALL OS_NATIVE(DiffRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, DiffRgn_FUNC);
-	DiffRgn((RgnHandle)arg0, (RgnHandle)arg1, (RgnHandle)arg2);
-	OS_NATIVE_EXIT(env, that, DiffRgn_FUNC);
-}
-#endif
-
-#ifndef NO_DisableControl
-JNIEXPORT jint JNICALL OS_NATIVE(DisableControl)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DisableControl_FUNC);
-	rc = (jint)DisableControl((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, DisableControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DisableMenuCommand
-JNIEXPORT void JNICALL OS_NATIVE(DisableMenuCommand)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, DisableMenuCommand_FUNC);
-	DisableMenuCommand((MenuRef)arg0, (MenuCommand)arg1);
-	OS_NATIVE_EXIT(env, that, DisableMenuCommand_FUNC);
-}
-#endif
-
-#ifndef NO_DisableMenuItem
-JNIEXPORT void JNICALL OS_NATIVE(DisableMenuItem)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, DisableMenuItem_FUNC);
-	DisableMenuItem((MenuRef)arg0, (MenuItemIndex)arg1);
-	OS_NATIVE_EXIT(env, that, DisableMenuItem_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeControl
-JNIEXPORT void JNICALL OS_NATIVE(DisposeControl)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeControl_FUNC);
-	DisposeControl((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeControl_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeDrag
-JNIEXPORT jint JNICALL OS_NATIVE(DisposeDrag)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DisposeDrag_FUNC);
-	rc = (jint)DisposeDrag((DragRef)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeDrag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DisposeGWorld
-JNIEXPORT void JNICALL OS_NATIVE(DisposeGWorld)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeGWorld_FUNC);
-	DisposeGWorld((GWorldPtr)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeGWorld_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeHandle
-JNIEXPORT void JNICALL OS_NATIVE(DisposeHandle)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeHandle_FUNC);
-	DisposeHandle((Handle)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeHandle_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeMenu
-JNIEXPORT void JNICALL OS_NATIVE(DisposeMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeMenu_FUNC);
-	DisposeMenu((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeMenu_FUNC);
-}
-#endif
-
-#ifndef NO_DisposePtr
-JNIEXPORT void JNICALL OS_NATIVE(DisposePtr)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposePtr_FUNC);
-	DisposePtr((Ptr)arg0);
-	OS_NATIVE_EXIT(env, that, DisposePtr_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeRgn
-JNIEXPORT void JNICALL OS_NATIVE(DisposeRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeRgn_FUNC);
-	DisposeRgn((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeRgn_FUNC);
-}
-#endif
-
-#ifndef NO_DisposeTextToUnicodeInfo
-JNIEXPORT jint JNICALL OS_NATIVE(DisposeTextToUnicodeInfo)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DisposeTextToUnicodeInfo_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)DisposeTextToUnicodeInfo((TextToUnicodeInfo *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, DisposeTextToUnicodeInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DisposeUnicodeToTextInfo
-JNIEXPORT jint JNICALL OS_NATIVE(DisposeUnicodeToTextInfo)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DisposeUnicodeToTextInfo_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)DisposeUnicodeToTextInfo((UnicodeToTextInfo *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, DisposeUnicodeToTextInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DisposeWindow
-JNIEXPORT void JNICALL OS_NATIVE(DisposeWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DisposeWindow_FUNC);
-	DisposeWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, DisposeWindow_FUNC);
-}
-#endif
-
-#ifndef NO_DrawControlInCurrentPort
-JNIEXPORT void JNICALL OS_NATIVE(DrawControlInCurrentPort)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DrawControlInCurrentPort_FUNC);
-	DrawControlInCurrentPort((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, DrawControlInCurrentPort_FUNC);
-}
-#endif
-
-#ifndef NO_DrawMenuBar
-JNIEXPORT void JNICALL OS_NATIVE(DrawMenuBar)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, DrawMenuBar_FUNC);
-	DrawMenuBar();
-	OS_NATIVE_EXIT(env, that, DrawMenuBar_FUNC);
-}
-#endif
-
-#ifndef NO_DrawText
-JNIEXPORT void JNICALL OS_NATIVE(DrawText)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jshort arg1, jshort arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, DrawText_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	DrawText((const void *)lparg0, (short)arg1, (short)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, DrawText_FUNC);
-}
-#endif
-
-#ifndef NO_DrawThemeButton
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeButton)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jobject arg2, jobject arg3, jint arg4, jint arg5, jint arg6)
-{
-	Rect _arg0, *lparg0=NULL;
-	ThemeButtonDrawInfo _arg2, *lparg2=NULL;
-	ThemeButtonDrawInfo _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeButton_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getThemeButtonDrawInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getThemeButtonDrawInfoFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)DrawThemeButton((Rect *)lparg0, (ThemeButtonKind)arg1, (const ThemeButtonDrawInfo *)lparg2, (const ThemeButtonDrawInfo *)lparg3, (ThemeEraseUPP)arg4, (ThemeButtonDrawUPP)arg5, (UInt32)arg6);
-fail:
-	if (arg3 && lparg3) setThemeButtonDrawInfoFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setThemeButtonDrawInfoFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DrawThemeButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeEditTextFrame
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeEditTextFrame)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	Rect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeEditTextFrame_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DrawThemeEditTextFrame((const Rect *)lparg0, (ThemeDrawState)arg1);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DrawThemeEditTextFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeFocusRect
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeFocusRect)
-	(JNIEnv *env, jclass that, jobject arg0, jboolean arg1)
-{
-	Rect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeFocusRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DrawThemeFocusRect((const Rect *)lparg0, (Boolean)arg1);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DrawThemeFocusRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemePopupArrow
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemePopupArrow)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2, jint arg3, jint arg4, jint arg5)
-{
-	Rect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemePopupArrow_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DrawThemePopupArrow(lparg0, (ThemeArrowOrientation)arg1, (ThemePopupArrowSize)arg2, (ThemeDrawState)arg3, (ThemeEraseUPP)arg4, (UInt32)arg5);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DrawThemePopupArrow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeSeparator
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeSeparator)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	Rect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeSeparator_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DrawThemeSeparator((const Rect *)lparg0, (ThemeDrawState)arg1);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DrawThemeSeparator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeTextBox
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeTextBox)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jboolean arg3, jobject arg4, jshort arg5, jint arg6)
-{
-	Rect _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeTextBox_FUNC);
-	if (arg4) if ((lparg4 = getRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)DrawThemeTextBox((CFStringRef)arg0, (ThemeFontID)arg1, (ThemeDrawState)arg2, (Boolean)arg3, (const Rect *)lparg4, (SInt16)arg5, (void *)arg6);
-fail:
-	if (arg4 && lparg4) setRectFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, DrawThemeTextBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EmbedControl
-JNIEXPORT jint JNICALL OS_NATIVE(EmbedControl)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EmbedControl_FUNC);
-	rc = (jint)EmbedControl((ControlRef)arg0, (ControlRef)arg1);
-	OS_NATIVE_EXIT(env, that, EmbedControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EmptyRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(EmptyRect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EmptyRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)EmptyRect((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, EmptyRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EmptyRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(EmptyRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EmptyRgn_FUNC);
-	rc = (jboolean)EmptyRgn((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, EmptyRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnableControl
-JNIEXPORT jint JNICALL OS_NATIVE(EnableControl)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EnableControl_FUNC);
-	rc = (jint)EnableControl((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, EnableControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnableMenuCommand
-JNIEXPORT void JNICALL OS_NATIVE(EnableMenuCommand)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, EnableMenuCommand_FUNC);
-	EnableMenuCommand((MenuRef)arg0, (MenuCommand)arg1);
-	OS_NATIVE_EXIT(env, that, EnableMenuCommand_FUNC);
-}
-#endif
-
-#ifndef NO_EnableMenuItem
-JNIEXPORT void JNICALL OS_NATIVE(EnableMenuItem)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, EnableMenuItem_FUNC);
-	EnableMenuItem((MenuRef)arg0, (MenuItemIndex)arg1);
-	OS_NATIVE_EXIT(env, that, EnableMenuItem_FUNC);
-}
-#endif
-
-#ifndef NO_EndUpdate
-JNIEXPORT void JNICALL OS_NATIVE(EndUpdate)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, EndUpdate_FUNC);
-	EndUpdate((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, EndUpdate_FUNC);
-}
-#endif
-
-#ifndef NO_EqualRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(EqualRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	Rect _arg0, *lparg0=NULL;
-	Rect _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EqualRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)EqualRect(lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, EqualRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EraseRect
-JNIEXPORT void JNICALL OS_NATIVE(EraseRect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, EraseRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	EraseRect((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, EraseRect_FUNC);
-}
-#endif
-
-#ifndef NO_EraseRgn
-JNIEXPORT void JNICALL OS_NATIVE(EraseRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, EraseRgn_FUNC);
-	EraseRgn((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, EraseRgn_FUNC);
-}
-#endif
-
-#ifndef NO_FMCreateFontFamilyInstanceIterator
-JNIEXPORT jint JNICALL OS_NATIVE(FMCreateFontFamilyInstanceIterator)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMCreateFontFamilyInstanceIterator_FUNC);
-	rc = (jint)FMCreateFontFamilyInstanceIterator((FMFontFamily)arg0, (FMFontFamilyInstanceIterator *)arg1);
-	OS_NATIVE_EXIT(env, that, FMCreateFontFamilyInstanceIterator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMCreateFontFamilyIterator
-JNIEXPORT jint JNICALL OS_NATIVE(FMCreateFontFamilyIterator)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMCreateFontFamilyIterator_FUNC);
-	rc = (jint)FMCreateFontFamilyIterator((const FMFilter *)arg0, (void *)arg1, (OptionBits)arg2, (FMFontFamilyIterator *)arg3);
-	OS_NATIVE_EXIT(env, that, FMCreateFontFamilyIterator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMDisposeFontFamilyInstanceIterator
-JNIEXPORT jint JNICALL OS_NATIVE(FMDisposeFontFamilyInstanceIterator)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMDisposeFontFamilyInstanceIterator_FUNC);
-	rc = (jint)FMDisposeFontFamilyInstanceIterator((FMFontFamilyInstanceIterator *)arg0);
-	OS_NATIVE_EXIT(env, that, FMDisposeFontFamilyInstanceIterator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMDisposeFontFamilyIterator
-JNIEXPORT jint JNICALL OS_NATIVE(FMDisposeFontFamilyIterator)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMDisposeFontFamilyIterator_FUNC);
-	rc = (jint)FMDisposeFontFamilyIterator((FMFontFamilyIterator *)arg0);
-	OS_NATIVE_EXIT(env, that, FMDisposeFontFamilyIterator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetATSFontRefFromFont
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetATSFontRefFromFont)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetATSFontRefFromFont_FUNC);
-	rc = (jint)FMGetATSFontRefFromFont(arg0);
-	OS_NATIVE_EXIT(env, that, FMGetATSFontRefFromFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetFontFamilyFromName
-JNIEXPORT jshort JNICALL OS_NATIVE(FMGetFontFamilyFromName)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetFontFamilyFromName_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jshort)FMGetFontFamilyFromName((ConstStr255Param)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FMGetFontFamilyFromName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetFontFamilyInstanceFromFont
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetFontFamilyInstanceFromFont)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jshortArray arg2)
-{
-	jshort *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetFontFamilyInstanceFromFont_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)FMGetFontFamilyInstanceFromFont((FMFont)arg0, (FMFontFamily *)lparg1, (FMFontStyle *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FMGetFontFamilyInstanceFromFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetFontFamilyName
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetFontFamilyName)
-	(JNIEnv *env, jclass that, jshort arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetFontFamilyName_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FMGetFontFamilyName((FMFontFamily)arg0, (unsigned char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FMGetFontFamilyName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetFontFromFontFamilyInstance
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetFontFromFontFamilyInstance)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jintArray arg2, jshortArray arg3)
-{
-	jint *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetFontFromFontFamilyInstance_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)FMGetFontFromFontFamilyInstance((FMFontFamily)arg0, (FMFontStyle)arg1, (FMFont *)lparg2, (FMFontStyle *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, FMGetFontFromFontFamilyInstance_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetNextFontFamily
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetNextFontFamily)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetNextFontFamily_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FMGetNextFontFamily((FMFontFamilyIterator *)arg0, (FMFontFamily *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FMGetNextFontFamily_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FMGetNextFontFamilyInstance
-JNIEXPORT jint JNICALL OS_NATIVE(FMGetNextFontFamilyInstance)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jshortArray arg2, jshortArray arg3)
-{
-	jint *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FMGetNextFontFamilyInstance_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)FMGetNextFontFamilyInstance((FMFontFamilyInstanceIterator *)arg0, (FMFont *)lparg1, (FMFontStyle *)lparg2, (FMFontSize *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FMGetNextFontFamilyInstance_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FPIsFontPanelVisible
-JNIEXPORT jboolean JNICALL OS_NATIVE(FPIsFontPanelVisible)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, FPIsFontPanelVisible_FUNC);
-	rc = (jboolean)FPIsFontPanelVisible();
-	OS_NATIVE_EXIT(env, that, FPIsFontPanelVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FPShowHideFontPanel
-JNIEXPORT jint JNICALL OS_NATIVE(FPShowHideFontPanel)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FPShowHideFontPanel_FUNC);
-	rc = (jint)FPShowHideFontPanel();
-	OS_NATIVE_EXIT(env, that, FPShowHideFontPanel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FSGetCatalogInfo
-JNIEXPORT jint JNICALL OS_NATIVE(FSGetCatalogInfo)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jbyteArray arg4, jbyteArray arg5)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FSGetCatalogInfo_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)FSGetCatalogInfo((FSRef *)lparg0, (FSCatalogInfoBitmap)arg1, (FSCatalogInfo *)lparg2, (HFSUniStr255 *)lparg3, (FSSpec *)lparg4, (FSRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FSGetCatalogInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FSpGetFInfo
-JNIEXPORT jint JNICALL OS_NATIVE(FSpGetFInfo)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FSpGetFInfo_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FSpGetFInfo((FSSpec *)lparg0, (FInfo *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FSpGetFInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FSpMakeFSRef
-JNIEXPORT jint JNICALL OS_NATIVE(FSpMakeFSRef)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FSpMakeFSRef_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FSpMakeFSRef((const FSSpec *)lparg0, (FSRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FSpMakeFSRef_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FetchFontInfo
-JNIEXPORT jint JNICALL OS_NATIVE(FetchFontInfo)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jobject arg3)
-{
-	FontInfo _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FetchFontInfo_FUNC);
-	if (arg3) if ((lparg3 = getFontInfoFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)FetchFontInfo(arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setFontInfoFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, FetchFontInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FindWindow
-JNIEXPORT jshort JNICALL OS_NATIVE(FindWindow)
-	(JNIEnv *env, jclass that, jobject arg0, jintArray arg1)
-{
-	Point _arg0, *lparg0=NULL;
-	jint *lparg1=NULL;
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, FindWindow_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jshort)FindWindow(*(Point *)lparg0, (WindowRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, FindWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Fix2Long
-JNIEXPORT jint JNICALL OS_NATIVE(Fix2Long)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, Fix2Long_FUNC);
-	rc = (jint)Fix2Long(arg0);
-	OS_NATIVE_EXIT(env, that, Fix2Long_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Fix2X
-JNIEXPORT jdouble JNICALL OS_NATIVE(Fix2X)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jdouble rc = 0;
-	OS_NATIVE_ENTER(env, that, Fix2X_FUNC);
-	rc = (jdouble)Fix2X((Fixed)arg0);
-	OS_NATIVE_EXIT(env, that, Fix2X_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FrameOval
-JNIEXPORT void JNICALL OS_NATIVE(FrameOval)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, FrameOval_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	FrameOval((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, FrameOval_FUNC);
-}
-#endif
-
-#ifndef NO_FramePoly
-JNIEXPORT void JNICALL OS_NATIVE(FramePoly)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, FramePoly_FUNC);
-	FramePoly((PolyHandle)arg0);
-	OS_NATIVE_EXIT(env, that, FramePoly_FUNC);
-}
-#endif
-
-#ifndef NO_FrameRect
-JNIEXPORT void JNICALL OS_NATIVE(FrameRect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, FrameRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	FrameRect((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, FrameRect_FUNC);
-}
-#endif
-
-#ifndef NO_FrameRoundRect
-JNIEXPORT void JNICALL OS_NATIVE(FrameRoundRect)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, FrameRoundRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	FrameRoundRect((const Rect *)lparg0, (short)arg1, (short)arg2);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, FrameRoundRect_FUNC);
-}
-#endif
-
-#ifndef NO_FrontWindow
-JNIEXPORT jint JNICALL OS_NATIVE(FrontWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FrontWindow_FUNC);
-	rc = (jint)FrontWindow();
-	OS_NATIVE_EXIT(env, that, FrontWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Gestalt
-JNIEXPORT jint JNICALL OS_NATIVE(Gestalt)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, Gestalt_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)Gestalt((OSType)arg0, (long *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, Gestalt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetAppFont
-JNIEXPORT jshort JNICALL OS_NATIVE(GetAppFont)
-	(JNIEnv *env, jclass that)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetAppFont_FUNC);
-	rc = (jshort)GetAppFont();
-	OS_NATIVE_EXIT(env, that, GetAppFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetApplicationEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetApplicationEventTarget)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetApplicationEventTarget_FUNC);
-	rc = (jint)GetApplicationEventTarget();
-	OS_NATIVE_EXIT(env, that, GetApplicationEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetAvailableWindowAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(GetAvailableWindowAttributes)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetAvailableWindowAttributes_FUNC);
-	rc = (jint)GetAvailableWindowAttributes((WindowClass)arg0);
-	OS_NATIVE_EXIT(env, that, GetAvailableWindowAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetAvailableWindowPositioningBounds
-JNIEXPORT jint JNICALL OS_NATIVE(GetAvailableWindowPositioningBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetAvailableWindowPositioningBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetAvailableWindowPositioningBounds((GDHandle)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetAvailableWindowPositioningBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetBestControlRect
-JNIEXPORT jint JNICALL OS_NATIVE(GetBestControlRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jshortArray arg2)
-{
-	Rect _arg1, *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetBestControlRect_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetBestControlRect((ControlRef)arg0, (Rect *)lparg1, (SInt16 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetBestControlRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCaretTime
-JNIEXPORT jint JNICALL OS_NATIVE(GetCaretTime)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCaretTime_FUNC);
-	rc = (jint)GetCaretTime();
-	OS_NATIVE_EXIT(env, that, GetCaretTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClip
-JNIEXPORT void JNICALL OS_NATIVE(GetClip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, GetClip_FUNC);
-	GetClip((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, GetClip_FUNC);
-}
-#endif
-
-#ifndef NO_GetControl32BitMaximum
-JNIEXPORT jint JNICALL OS_NATIVE(GetControl32BitMaximum)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControl32BitMaximum_FUNC);
-	rc = (jint)GetControl32BitMaximum((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControl32BitMaximum_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControl32BitMinimum
-JNIEXPORT jint JNICALL OS_NATIVE(GetControl32BitMinimum)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControl32BitMinimum_FUNC);
-	rc = (jint)GetControl32BitMinimum((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControl32BitMinimum_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControl32BitValue
-JNIEXPORT jint JNICALL OS_NATIVE(GetControl32BitValue)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControl32BitValue_FUNC);
-	rc = (jint)GetControl32BitValue((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControl32BitValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlAction
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlAction)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlAction_FUNC);
-	rc = (jint)GetControlAction((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlAction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlBounds
-JNIEXPORT void JNICALL OS_NATIVE(GetControlBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetControlBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	GetControlBounds((ControlRef)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetControlBounds_FUNC);
-}
-#endif
-
-#ifndef NO_GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jobject arg4, jintArray arg5)
-{
-	ControlEditTextSelectionRec _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I_FUNC);
-	if (arg4) if ((lparg4 = getControlEditTextSelectionRecFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setControlEditTextSelectionRecFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jobject arg4, jintArray arg5)
-{
-	ControlFontStyleRec _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I_FUNC);
-	if (arg4) if ((lparg4 = getControlFontStyleRecFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, (Size *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setControlFontStyleRecFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jobject arg4, jintArray arg5)
-{
-	Rect _arg4, *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I_FUNC);
-	if (arg4) if ((lparg4 = getRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, (Size *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setRectFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlData__ISII_3B_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISII_3B_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jbyteArray arg4, jintArray arg5)
-{
-	jbyte *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISII_3B_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, (Size *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISII_3B_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlData__ISII_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISII_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISII_3I_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, (Size *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISII_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlData__ISII_3S_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlData__ISII_3S_3I)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jint arg3, jshortArray arg4, jintArray arg5)
-{
-	jshort *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlData__ISII_3S_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (void *)lparg4, (Size *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetControlData__ISII_3S_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlEventTarget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlEventTarget_FUNC);
-	rc = (jint)GetControlEventTarget((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlFeatures
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlFeatures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlFeatures_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlFeatures((ControlRef)arg0, (UInt32 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetControlFeatures_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlKind
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlKind)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ControlKind _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlKind_FUNC);
-	if (arg1) if ((lparg1 = getControlKindFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetControlKind((ControlRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setControlKindFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetControlKind_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlOwner
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlOwner)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlOwner_FUNC);
-	rc = (jint)GetControlOwner((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlOwner_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlProperty
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlProperty_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetControlProperty((ControlRef)arg0, arg1, arg2, arg3, (UInt32 *)lparg4, (void *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetControlProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlReference
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlReference)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlReference_FUNC);
-	rc = (jint)GetControlReference((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlReference_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlRegion
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlRegion)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlRegion_FUNC);
-	rc = (jint)GetControlRegion((ControlRef)arg0, (ControlPartCode)arg1, (RgnHandle)arg2);
-	OS_NATIVE_EXIT(env, that, GetControlRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlValue
-JNIEXPORT jshort JNICALL OS_NATIVE(GetControlValue)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlValue_FUNC);
-	rc = (jshort)GetControlValue((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetControlViewSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetControlViewSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetControlViewSize_FUNC);
-	rc = (jint)GetControlViewSize((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetControlViewSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentEventButtonState
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentEventButtonState)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentEventButtonState_FUNC);
-	rc = (jint)GetCurrentEventButtonState();
-	OS_NATIVE_EXIT(env, that, GetCurrentEventButtonState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentEventKeyModifiers
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentEventKeyModifiers)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentEventKeyModifiers_FUNC);
-	rc = (jint)GetCurrentEventKeyModifiers();
-	OS_NATIVE_EXIT(env, that, GetCurrentEventKeyModifiers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentEventLoop
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentEventLoop)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentEventLoop_FUNC);
-	rc = (jint)GetCurrentEventLoop();
-	OS_NATIVE_EXIT(env, that, GetCurrentEventLoop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentEventQueue
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentEventQueue)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentEventQueue_FUNC);
-	rc = (jint)GetCurrentEventQueue();
-	OS_NATIVE_EXIT(env, that, GetCurrentEventQueue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentProcess
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentProcess)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentProcess_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GetCurrentProcess((ProcessSerialNumber *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetCurrentProcess_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentScrap
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentScrap)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentScrap_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GetCurrentScrap((ScrapRef *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetCurrentScrap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserCallbacks
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserCallbacks)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DataBrowserCallbacks _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserCallbacks_FUNC);
-	if (arg1) if ((lparg1 = getDataBrowserCallbacksFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserCallbacks((ControlRef)arg0, (DataBrowserCallbacks *)lparg1);
-fail:
-	if (arg1 && lparg1) setDataBrowserCallbacksFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserCallbacks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserItemCount
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserItemCount)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserItemCount_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserItemCount((ControlRef)arg0, (DataBrowserItemID)arg1, (Boolean)arg2, (DataBrowserItemState)arg3, (UInt32 *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserItemCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserItemDataButtonValue
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserItemDataButtonValue)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserItemDataButtonValue_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserItemDataButtonValue((ControlRef)arg0, (ThemeButtonValue *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserItemDataButtonValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserItemPartBounds
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserItemPartBounds)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	Rect _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserItemPartBounds_FUNC);
-	if (arg4) if ((lparg4 = getRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserItemPartBounds((ControlRef)arg0, (DataBrowserItemID)arg1, (DataBrowserPropertyID)arg2, (DataBrowserPropertyPart)arg3, (Rect *)lparg4);
-fail:
-	if (arg4 && lparg4) setRectFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserItemPartBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserItemState
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserItemState)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserItemState_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserItemState((ControlRef)arg0, arg1, (DataBrowserItemState *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserItemState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserItems
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserItems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserItems_FUNC);
-	rc = (jint)GetDataBrowserItems((ControlRef)arg0, (DataBrowserItemID)arg1, (Boolean)arg2, (DataBrowserItemState)arg3, (Handle)arg4);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserListViewDisclosureColumn
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserListViewDisclosureColumn)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jbooleanArray arg2)
-{
-	jint *lparg1=NULL;
-	jboolean *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserListViewDisclosureColumn_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserListViewDisclosureColumn((ControlRef)arg0, (DataBrowserTableViewColumnID *)lparg1, (Boolean *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserListViewDisclosureColumn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserListViewHeaderBtnHeight
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserListViewHeaderBtnHeight)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserListViewHeaderBtnHeight_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserListViewHeaderBtnHeight((ControlRef)arg0, (UInt16 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserListViewHeaderBtnHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserListViewHeaderDesc
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserListViewHeaderDesc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	DataBrowserListViewHeaderDesc _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserListViewHeaderDesc_FUNC);
-	if (arg2) if ((lparg2 = getDataBrowserListViewHeaderDescFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserListViewHeaderDesc((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1, (DataBrowserListViewHeaderDesc *)lparg2);
-fail:
-	if (arg2 && lparg2) setDataBrowserListViewHeaderDescFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserListViewHeaderDesc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserPropertyFlags
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserPropertyFlags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserPropertyFlags_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserPropertyFlags((ControlRef)arg0, (DataBrowserPropertyID)arg1, (DataBrowserPropertyFlags *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserPropertyFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserScrollBarInset
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserScrollBarInset)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserScrollBarInset_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserScrollBarInset((ControlRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserScrollBarInset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserScrollPosition
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserScrollPosition)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserScrollPosition_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 = (jint)GetDataBrowserScrollPosition((ControlRef)arg0, (UInt32 *)lparg1, (UInt32 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserScrollPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserSelectionAnchor
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserSelectionAnchor)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserSelectionAnchor_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 = (jint)GetDataBrowserSelectionAnchor((ControlRef)arg0, (UInt32 *)lparg1, (UInt32 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserSelectionAnchor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserSelectionFlags
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserSelectionFlags)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserSelectionFlags_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserSelectionFlags((ControlRef)arg0, (DataBrowserSelectionFlags *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserSelectionFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserSortProperty
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserSortProperty)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserSortProperty_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserSortProperty((ControlRef)arg0, (DataBrowserPropertyID *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserSortProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserTableViewColumnPosition
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserTableViewColumnPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserTableViewColumnPosition_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserTableViewColumnPosition((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1, (DataBrowserTableViewColumnIndex *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserTableViewColumnPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserTableViewItemID
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserTableViewItemID)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserTableViewItemID_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserTableViewItemID((ControlRef)arg0, (DataBrowserTableViewRowIndex)arg1, (DataBrowserItemID *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserTableViewItemID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserTableViewItemRow
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserTableViewItemRow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserTableViewItemRow_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserTableViewItemRow((ControlRef)arg0, (DataBrowserTableViewRowIndex)arg1, (DataBrowserItemID *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserTableViewItemRow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserTableViewNamedColumnWidth
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserTableViewNamedColumnWidth)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserTableViewNamedColumnWidth_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserTableViewNamedColumnWidth((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1, (UInt16 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserTableViewNamedColumnWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDataBrowserTableViewRowHeight
-JNIEXPORT jint JNICALL OS_NATIVE(GetDataBrowserTableViewRowHeight)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1)
-{
-	jshort *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDataBrowserTableViewRowHeight_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDataBrowserTableViewRowHeight((ControlRef)arg0, (UInt16 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDataBrowserTableViewRowHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDblTime
-JNIEXPORT jint JNICALL OS_NATIVE(GetDblTime)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDblTime_FUNC);
-	rc = (jint)GetDblTime();
-	OS_NATIVE_EXIT(env, that, GetDblTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDefFontSize
-JNIEXPORT jshort JNICALL OS_NATIVE(GetDefFontSize)
-	(JNIEnv *env, jclass that)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDefFontSize_FUNC);
-	rc = (jshort)GetDefFontSize();
-	OS_NATIVE_EXIT(env, that, GetDefFontSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDeviceList
-JNIEXPORT jint JNICALL OS_NATIVE(GetDeviceList)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDeviceList_FUNC);
-	rc = (jint)GetDeviceList();
-	OS_NATIVE_EXIT(env, that, GetDeviceList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDragAllowableActions
-JNIEXPORT jint JNICALL OS_NATIVE(GetDragAllowableActions)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDragAllowableActions_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDragAllowableActions((DragRef)arg0, (DragActions *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDragAllowableActions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDragDropAction
-JNIEXPORT jint JNICALL OS_NATIVE(GetDragDropAction)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDragDropAction_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetDragDropAction((DragRef)arg0, (DragActions *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDragDropAction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDragItemReferenceNumber
-JNIEXPORT jint JNICALL OS_NATIVE(GetDragItemReferenceNumber)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDragItemReferenceNumber_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetDragItemReferenceNumber((DragRef)arg0, arg1, (DragItemRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetDragItemReferenceNumber_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDragModifiers
-JNIEXPORT jint JNICALL OS_NATIVE(GetDragModifiers)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jshortArray arg2, jshortArray arg3)
-{
-	jshort *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDragModifiers_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetDragModifiers((DragRef)arg0, (SInt16 *)lparg1, (SInt16 *)lparg2, (SInt16 *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetDragModifiers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDragMouse
-JNIEXPORT jint JNICALL OS_NATIVE(GetDragMouse)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	Point _arg1, *lparg1=NULL;
-	Point _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDragMouse_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)GetDragMouse((DragRef)arg0, (Point *)lparg1, (Point *)lparg2);
-fail:
-	if (arg2 && lparg2) setPointFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetDragMouse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventClass
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventClass)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventClass_FUNC);
-	rc = (jint)GetEventClass((EventRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetEventClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventDispatcherTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventDispatcherTarget)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventDispatcherTarget_FUNC);
-	rc = (jint)GetEventDispatcherTarget();
-	OS_NATIVE_EXIT(env, that, GetEventDispatcherTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventKind
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventKind)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventKind_FUNC);
-	rc = (jint)GetEventKind((EventRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetEventKind_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	CGPoint _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getCGPointFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setCGPointFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	CGRect _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getCGRectFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setCGRectFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	HICommand _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getHICommandFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setHICommandFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	Point _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getPointFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setPointFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	RGBColor _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getRGBColorFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setRGBColorFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jobject arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	Rect _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getRectFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) setRectFields(env, arg6, lparg6);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3I_3B
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3I_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jbyteArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jbyte *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3I_3B_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3I_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3I_3C
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3I_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jcharArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jchar *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3I_3C_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetCharArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseCharArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3I_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jintArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3I_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3I_3S
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3I_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jshortArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jshort *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3I_3S_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetShortArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseShortArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3I_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventParameter__III_3II_3I_3Z
-JNIEXPORT jint JNICALL OS_NATIVE(GetEventParameter__III_3II_3I_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5, jbooleanArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jboolean *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventParameter__III_3II_3I_3Z_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetBooleanArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)GetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (EventParamType *)lparg3, (UInt32)arg4, (UInt32 *)lparg5, (void *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseBooleanArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetEventParameter__III_3II_3I_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetEventTime
-JNIEXPORT jdouble JNICALL OS_NATIVE(GetEventTime)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jdouble rc = 0;
-	OS_NATIVE_ENTER(env, that, GetEventTime_FUNC);
-	rc = (jdouble)GetEventTime((EventRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetEventTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFlavorData
-JNIEXPORT jint JNICALL OS_NATIVE(GetFlavorData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jintArray arg4, jint arg5)
-{
-	jbyte *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetFlavorData_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)GetFlavorData((DragRef)arg0, (DragItemRef)arg1, (FlavorType)arg2, (void *)lparg3, (Size *)lparg4, arg5);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetFlavorData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFlavorDataSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetFlavorDataSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetFlavorDataSize_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetFlavorDataSize((DragRef)arg0, (DragItemRef)arg1, (FlavorType)arg2, (Size *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetFlavorDataSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFlavorType
-JNIEXPORT jint JNICALL OS_NATIVE(GetFlavorType)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetFlavorType_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetFlavorType((DragRef)arg0, (DragItemRef)arg1, arg2, (FlavorType *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetFlavorType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFontInfo
-JNIEXPORT void JNICALL OS_NATIVE(GetFontInfo)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	FontInfo _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, GetFontInfo_FUNC);
-	if (arg0) if ((lparg0 = getFontInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	GetFontInfo((FontInfo *)lparg0);
-fail:
-	if (arg0 && lparg0) setFontInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetFontInfo_FUNC);
-}
-#endif
-
-#ifndef NO_GetGDevice
-JNIEXPORT jint JNICALL OS_NATIVE(GetGDevice)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetGDevice_FUNC);
-	rc = (jint)GetGDevice();
-	OS_NATIVE_EXIT(env, that, GetGDevice_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetGWorld
-JNIEXPORT void JNICALL OS_NATIVE(GetGWorld)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetGWorld_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	GetGWorld((CGrafPtr *)lparg0, (GDHandle *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetGWorld_FUNC);
-}
-#endif
-
-#ifndef NO_GetGlobalMouse
-JNIEXPORT void JNICALL OS_NATIVE(GetGlobalMouse)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Point _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, GetGlobalMouse_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	GetGlobalMouse((Point *)lparg0);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetGlobalMouse_FUNC);
-}
-#endif
-
-#ifndef NO_GetHandleSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetHandleSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetHandleSize_FUNC);
-	rc = (jint)GetHandleSize((Handle)arg0);
-	OS_NATIVE_EXIT(env, that, GetHandleSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIconFamilyData
-JNIEXPORT jint JNICALL OS_NATIVE(GetIconFamilyData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIconFamilyData_FUNC);
-	rc = (jint)GetIconFamilyData((IconFamilyHandle)arg0, (OSType)arg1, (Handle)arg2);
-	OS_NATIVE_EXIT(env, that, GetIconFamilyData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIconRef
-JNIEXPORT jint JNICALL OS_NATIVE(GetIconRef)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIconRef_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetIconRef((SInt16)arg0, (OSType)arg1, (OSType)arg2, (IconRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetIconRef_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIconRefFromIconFamilyPtr
-JNIEXPORT jint JNICALL OS_NATIVE(GetIconRefFromIconFamilyPtr)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIconRefFromIconFamilyPtr_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)GetIconRefFromIconFamilyPtr(arg0, arg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(GetIconRefFromIconFamilyPtr_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("GetIconRefFromIconFamilyPtr"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetIconRefFromIconFamilyPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIndMenuItemWithCommandID
-JNIEXPORT jint JNICALL OS_NATIVE(GetIndMenuItemWithCommandID)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jshortArray arg4)
-{
-	jint *lparg3=NULL;
-	jshort *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIndMenuItemWithCommandID_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)GetIndMenuItemWithCommandID((MenuRef)arg0, (MenuCommand)arg1, (UInt32)arg2, (MenuRef *)lparg3, (MenuItemIndex *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, GetIndMenuItemWithCommandID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIndexedSubControl
-JNIEXPORT jint JNICALL OS_NATIVE(GetIndexedSubControl)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIndexedSubControl_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetIndexedSubControl((ControlRef)arg0, (UInt16)arg1, (ControlRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetIndexedSubControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetItemMark
-JNIEXPORT void JNICALL OS_NATIVE(GetItemMark)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, GetItemMark_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	GetItemMark((MenuRef)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetItemMark_FUNC);
-}
-#endif
-
-#ifndef NO_GetKeyboardFocus
-JNIEXPORT jint JNICALL OS_NATIVE(GetKeyboardFocus)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyboardFocus_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetKeyboardFocus((WindowRef)arg0, (ControlRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetKeyboardFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLastUserEventTime
-JNIEXPORT jdouble JNICALL OS_NATIVE(GetLastUserEventTime)
-	(JNIEnv *env, jclass that)
-{
-	jdouble rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLastUserEventTime_FUNC);
-	rc = (jdouble)GetLastUserEventTime();
-	OS_NATIVE_EXIT(env, that, GetLastUserEventTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMBarHeight
-JNIEXPORT jint JNICALL OS_NATIVE(GetMBarHeight)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMBarHeight_FUNC);
-	rc = (jint)GetMBarHeight();
-	OS_NATIVE_EXIT(env, that, GetMBarHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMainDevice
-JNIEXPORT jint JNICALL OS_NATIVE(GetMainDevice)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMainDevice_FUNC);
-	rc = (jint)GetMainDevice();
-	OS_NATIVE_EXIT(env, that, GetMainDevice_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMainEventQueue
-JNIEXPORT jint JNICALL OS_NATIVE(GetMainEventQueue)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMainEventQueue_FUNC);
-	rc = (jint)GetMainEventQueue();
-	OS_NATIVE_EXIT(env, that, GetMainEventQueue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuCommandMark
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuCommandMark)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuCommandMark_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetMenuCommandMark((MenuRef)arg0, (MenuCommand)arg1, (UniChar *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetMenuCommandMark_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuEventTarget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuEventTarget_FUNC);
-	rc = (jint)GetMenuEventTarget((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenuEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuFont
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuFont)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jshortArray arg2)
-{
-	jshort *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuFont_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetMenuFont((MenuRef)arg0, (SInt16 *)lparg1, (UInt16 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetMenuFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuHeight
-JNIEXPORT jshort JNICALL OS_NATIVE(GetMenuHeight)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuHeight_FUNC);
-	rc = (jshort)GetMenuHeight((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenuHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuID
-JNIEXPORT jshort JNICALL OS_NATIVE(GetMenuID)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuID_FUNC);
-	rc = (jshort)GetMenuID((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenuID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemCommandID
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuItemCommandID)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemCommandID_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetMenuItemCommandID((MenuRef)arg0, (SInt16)arg1, (MenuCommand *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetMenuItemCommandID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemHierarchicalMenu
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuItemHierarchicalMenu)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemHierarchicalMenu_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetMenuItemHierarchicalMenu((MenuRef)arg0, (SInt16)arg1, (MenuRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetMenuItemHierarchicalMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemRefCon
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuItemRefCon)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemRefCon_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetMenuItemRefCon((MenuRef)arg0, (SInt16)arg1, (UInt32 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetMenuItemRefCon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuTrackingData
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuTrackingData)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MenuTrackingData _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuTrackingData_FUNC);
-	if (arg1) if ((lparg1 = getMenuTrackingDataFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetMenuTrackingData((MenuRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setMenuTrackingDataFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetMenuTrackingData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuWidth
-JNIEXPORT jshort JNICALL OS_NATIVE(GetMenuWidth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuWidth_FUNC);
-	rc = (jshort)GetMenuWidth((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenuWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMouse
-JNIEXPORT void JNICALL OS_NATIVE(GetMouse)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Point _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, GetMouse_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	GetMouse((Point *)lparg0);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetMouse_FUNC);
-}
-#endif
-
-#ifndef NO_GetNextDevice
-JNIEXPORT jint JNICALL OS_NATIVE(GetNextDevice)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetNextDevice_FUNC);
-	rc = (jint)GetNextDevice((GDHandle)arg0);
-	OS_NATIVE_EXIT(env, that, GetNextDevice_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetNextWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetNextWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetNextWindow_FUNC);
-	rc = (jint)GetNextWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetNextWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPixBounds
-JNIEXPORT void JNICALL OS_NATIVE(GetPixBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetPixBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	GetPixBounds((PixMapHandle)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetPixBounds_FUNC);
-}
-#endif
-
-#ifndef NO_GetPixDepth
-JNIEXPORT jshort JNICALL OS_NATIVE(GetPixDepth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPixDepth_FUNC);
-	rc = (jshort)GetPixDepth((PixMapHandle)arg0);
-	OS_NATIVE_EXIT(env, that, GetPixDepth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPort
-JNIEXPORT void JNICALL OS_NATIVE(GetPort)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, GetPort_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	GetPort((GrafPtr *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetPort_FUNC);
-}
-#endif
-
-#ifndef NO_GetPortBitMapForCopyBits
-JNIEXPORT jint JNICALL OS_NATIVE(GetPortBitMapForCopyBits)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPortBitMapForCopyBits_FUNC);
-	rc = (jint)GetPortBitMapForCopyBits((CGrafPtr)arg0);
-	OS_NATIVE_EXIT(env, that, GetPortBitMapForCopyBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPortBounds
-JNIEXPORT void JNICALL OS_NATIVE(GetPortBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetPortBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	GetPortBounds((CGrafPtr)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetPortBounds_FUNC);
-}
-#endif
-
-#ifndef NO_GetPortClipRegion
-JNIEXPORT void JNICALL OS_NATIVE(GetPortClipRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GetPortClipRegion_FUNC);
-	GetPortClipRegion((CGrafPtr)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, GetPortClipRegion_FUNC);
-}
-#endif
-
-#ifndef NO_GetPortVisibleRegion
-JNIEXPORT jint JNICALL OS_NATIVE(GetPortVisibleRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPortVisibleRegion_FUNC);
-	rc = (jint)GetPortVisibleRegion((CGrafPtr)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, GetPortVisibleRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPreviousWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetPreviousWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPreviousWindow_FUNC);
-	rc = (jint)GetPreviousWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetPreviousWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPtrSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetPtrSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPtrSize_FUNC);
-	rc = (jint)GetPtrSize((Ptr)arg0);
-	OS_NATIVE_EXIT(env, that, GetPtrSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetRegionBounds
-JNIEXPORT void JNICALL OS_NATIVE(GetRegionBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetRegionBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	GetRegionBounds((RgnHandle)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetRegionBounds_FUNC);
-}
-#endif
-
-#ifndef NO_GetRootControl
-JNIEXPORT jint JNICALL OS_NATIVE(GetRootControl)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetRootControl_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetRootControl((WindowRef)arg0, (ControlRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetRootControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrapFlavorCount
-JNIEXPORT jint JNICALL OS_NATIVE(GetScrapFlavorCount)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrapFlavorCount_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetScrapFlavorCount((ScrapRef)arg0, (UInt32 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetScrapFlavorCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrapFlavorData__II_3I_3B
-JNIEXPORT jint JNICALL OS_NATIVE(GetScrapFlavorData__II_3I_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jbyteArray arg3)
-{
-	jint *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrapFlavorData__II_3I_3B_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetScrapFlavorData((ScrapRef)arg0, (ScrapFlavorType)arg1, (Size *)lparg2, (void *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetScrapFlavorData__II_3I_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrapFlavorData__II_3I_3C
-JNIEXPORT jint JNICALL OS_NATIVE(GetScrapFlavorData__II_3I_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jcharArray arg3)
-{
-	jint *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrapFlavorData__II_3I_3C_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetScrapFlavorData((ScrapRef)arg0, (ScrapFlavorType)arg1, (Size *)lparg2, (void *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetScrapFlavorData__II_3I_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrapFlavorInfoList
-JNIEXPORT jint JNICALL OS_NATIVE(GetScrapFlavorInfoList)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrapFlavorInfoList_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 = (jint)GetScrapFlavorInfoList((ScrapRef)arg0, (UInt32 *)lparg1, (ScrapFlavorInfo *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetScrapFlavorInfoList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrapFlavorSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetScrapFlavorSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrapFlavorSize_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetScrapFlavorSize((ScrapRef)arg0, (ScrapFlavorType)arg1, (Size *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetScrapFlavorSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScriptManagerVariable
-JNIEXPORT jint JNICALL OS_NATIVE(GetScriptManagerVariable)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScriptManagerVariable_FUNC);
-	rc = (jint)GetScriptManagerVariable(arg0);
-	OS_NATIVE_EXIT(env, that, GetScriptManagerVariable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSuperControl
-JNIEXPORT jint JNICALL OS_NATIVE(GetSuperControl)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSuperControl_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetSuperControl((ControlRef)arg0, (ControlRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetSuperControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTabContentRect
-JNIEXPORT jint JNICALL OS_NATIVE(GetTabContentRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTabContentRect_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetTabContentRect((ControlRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetTabContentRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeBrushAsColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeBrushAsColor)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jboolean arg2, jobject arg3)
-{
-	RGBColor _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeBrushAsColor_FUNC);
-	if (arg3) if ((lparg3 = getRGBColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)GetThemeBrushAsColor(arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setRGBColorFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetThemeBrushAsColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeButtonContentBounds
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeButtonContentBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jobject arg2, jobject arg3)
-{
-	Rect _arg0, *lparg0=NULL;
-	ThemeButtonDrawInfo _arg2, *lparg2=NULL;
-	Rect _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeButtonContentBounds_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getThemeButtonDrawInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getRectFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)GetThemeButtonContentBounds(lparg0, arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) setRectFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setThemeButtonDrawInfoFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetThemeButtonContentBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeButtonRegion
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeButtonRegion)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jobject arg2, jint arg3)
-{
-	Rect _arg0, *lparg0=NULL;
-	ThemeButtonDrawInfo _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeButtonRegion_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getThemeButtonDrawInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)GetThemeButtonRegion(lparg0, arg1, lparg2, (RgnHandle)arg3);
-fail:
-	if (arg2 && lparg2) setThemeButtonDrawInfoFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetThemeButtonRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeDrawingState
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeDrawingState)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeDrawingState_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GetThemeDrawingState((ThemeDrawingState *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeDrawingState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeFont
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeFont)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jbyteArray arg2, jshortArray arg3, jbyteArray arg4)
-{
-	jbyte *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeFont_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)GetThemeFont((ThemeFontID)arg0, (ScriptCode)arg1, (unsigned char *)lparg2, (SInt16 *)lparg3, (Style *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeMenuItemExtra
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeMenuItemExtra)
-	(JNIEnv *env, jclass that, jshort arg0, jshortArray arg1, jshortArray arg2)
-{
-	jshort *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeMenuItemExtra_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetThemeMenuItemExtra(arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeMenuItemExtra_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeMetric
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeMetric)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeMetric_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetThemeMetric(arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeMetric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeTextColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeTextColor)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jboolean arg2, jobject arg3)
-{
-	RGBColor _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeTextColor_FUNC);
-	if (arg3) if ((lparg3 = getRGBColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)GetThemeTextColor(arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setRGBColorFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetThemeTextColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeTextDimensions
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeTextDimensions)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jboolean arg3, jobject arg4, jshortArray arg5)
-{
-	Point _arg4, *lparg4=NULL;
-	jshort *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeTextDimensions_FUNC);
-	if (arg4) if ((lparg4 = getPointFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetShortArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)GetThemeTextDimensions((CFStringRef)arg0, (ThemeFontID)arg1, (ThemeDrawState)arg2, (Boolean)arg3, (Point *)lparg4, (SInt16 *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseShortArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setPointFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetThemeTextDimensions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetUserFocusEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetUserFocusEventTarget)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetUserFocusEventTarget_FUNC);
-	rc = (jint)GetUserFocusEventTarget();
-	OS_NATIVE_EXIT(env, that, GetUserFocusEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetUserFocusWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetUserFocusWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetUserFocusWindow_FUNC);
-	rc = (jint)GetUserFocusWindow();
-	OS_NATIVE_EXIT(env, that, GetUserFocusWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWRefCon
-JNIEXPORT jint JNICALL OS_NATIVE(GetWRefCon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWRefCon_FUNC);
-	rc = (jint)GetWRefCon((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetWRefCon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowActivationScope
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowActivationScope)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowActivationScope_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowActivationScope((WindowRef)arg0, (WindowActivationScope *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowActivationScope_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowBounds
-JNIEXPORT void JNICALL OS_NATIVE(GetWindowBounds)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jobject arg2)
-{
-	Rect _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, GetWindowBounds_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	GetWindowBounds((WindowRef)arg0, (WindowRegionCode)arg1, (Rect *)lparg2);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetWindowBounds_FUNC);
-}
-#endif
-
-#ifndef NO_GetWindowClass
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowClass)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowClass_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowClass((WindowRef)arg0, (WindowClass *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowDefaultButton
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowDefaultButton)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowDefaultButton_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowDefaultButton((WindowRef)arg0, (ControlRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowDefaultButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowEventTarget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowEventTarget_FUNC);
-	rc = (jint)GetWindowEventTarget((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowFromPort
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowFromPort)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowFromPort_FUNC);
-	rc = (jint)GetWindowFromPort((CGrafPtr)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowFromPort_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowGroupOfClass
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowGroupOfClass)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowGroupOfClass_FUNC);
-	rc = (jint)GetWindowGroupOfClass(arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowGroupOfClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowList
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowList)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowList_FUNC);
-	rc = (jint)GetWindowList();
-	OS_NATIVE_EXIT(env, that, GetWindowList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowModality
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowModality)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowModality_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 = (jint)GetWindowModality((WindowRef)arg0, (WindowModality *)lparg1, (WindowRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowModality_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowPort
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowPort)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowPort_FUNC);
-	rc = (jint)GetWindowPort((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowPort_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowRegion
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowRegion)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowRegion_FUNC);
-	rc = (jint)GetWindowRegion((WindowRef)arg0, (WindowRegionCode)arg1, (RgnHandle)arg2);
-	OS_NATIVE_EXIT(env, that, GetWindowRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowResizeLimits
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowResizeLimits)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	CGPoint _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowResizeLimits_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)GetWindowResizeLimits((WindowRef)arg0, (HISize *)lparg1, (HISize *)lparg2);
-fail:
-	if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetWindowResizeLimits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowStructureWidths
-JNIEXPORT void JNICALL OS_NATIVE(GetWindowStructureWidths)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, GetWindowStructureWidths_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	GetWindowStructureWidths((WindowRef)arg0, (Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetWindowStructureWidths_FUNC);
-}
-#endif
-
-#ifndef NO_HIComboBoxAppendTextItem
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxAppendTextItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxAppendTextItem_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIComboBoxAppendTextItem((HIViewRef)arg0, (CFStringRef)arg1, (CFIndex *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HIComboBoxAppendTextItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIComboBoxCopyTextItemAtIndex
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxCopyTextItemAtIndex)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxCopyTextItemAtIndex_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIComboBoxCopyTextItemAtIndex((HIViewRef)arg0, (CFIndex)arg1, (CFStringRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HIComboBoxCopyTextItemAtIndex_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIComboBoxCreate
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxCreate)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	CGRect _arg0, *lparg0=NULL;
-	ControlFontStyleRec _arg2, *lparg2=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxCreate_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getControlFontStyleRecFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)HIComboBoxCreate((const HIRect *)lparg0, (CFStringRef)arg1, (const ControlFontStyleRec *)lparg2, (CFArrayRef)arg3, (OptionBits)arg4, (HIViewRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg2 && lparg2) setControlFontStyleRecFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIComboBoxCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIComboBoxGetItemCount
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxGetItemCount)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxGetItemCount_FUNC);
-	rc = (jint)HIComboBoxGetItemCount((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIComboBoxGetItemCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIComboBoxInsertTextItemAtIndex
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxInsertTextItemAtIndex)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxInsertTextItemAtIndex_FUNC);
-	rc = (jint)HIComboBoxInsertTextItemAtIndex((HIViewRef)arg0, (CFIndex)arg1, (CFStringRef)arg2);
-	OS_NATIVE_EXIT(env, that, HIComboBoxInsertTextItemAtIndex_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIComboBoxRemoveItemAtIndex
-JNIEXPORT jint JNICALL OS_NATIVE(HIComboBoxRemoveItemAtIndex)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIComboBoxRemoveItemAtIndex_FUNC);
-	rc = (jint)HIComboBoxRemoveItemAtIndex((HIViewRef)arg0, (CFIndex)arg1);
-	OS_NATIVE_EXIT(env, that, HIComboBoxRemoveItemAtIndex_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HICopyAccessibilityRoleDescription
-JNIEXPORT jint JNICALL OS_NATIVE(HICopyAccessibilityRoleDescription)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HICopyAccessibilityRoleDescription_FUNC);
-	rc = (jint)HICopyAccessibilityRoleDescription((CFStringRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, HICopyAccessibilityRoleDescription_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HICreateTransformedCGImage
-JNIEXPORT jint JNICALL OS_NATIVE(HICreateTransformedCGImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HICreateTransformedCGImage_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)HICreateTransformedCGImage((CGImageRef)arg0, arg1, (CGImageRef *)lparg2);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(CGImageRef, jint, CGImageRef *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(HICreateTransformedCGImage_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("HICreateTransformedCGImage"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((CGImageRef)arg0, arg1, (CGImageRef *)lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HICreateTransformedCGImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIObjectCopyClassID
-JNIEXPORT jint JNICALL OS_NATIVE(HIObjectCopyClassID)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIObjectCopyClassID_FUNC);
-	rc = (jint)HIObjectCopyClassID((HIObjectRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIObjectCopyClassID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIObjectCreate
-JNIEXPORT jint JNICALL OS_NATIVE(HIObjectCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIObjectCreate_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIObjectCreate((CFStringRef)arg0, (EventRef)arg1, (HIObjectRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HIObjectCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIObjectRegisterSubclass
-JNIEXPORT jint JNICALL OS_NATIVE(HIObjectRegisterSubclass)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5, jint arg6, jintArray arg7)
-{
-	jint *lparg5=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIObjectRegisterSubclass_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)HIObjectRegisterSubclass((CFStringRef)arg0, (CFStringRef)arg1, (OptionBits)arg2, (EventHandlerUPP)arg3, (UInt32)arg4, (const EventTypeSpec *)lparg5, (void *)arg6, (HIObjectClassRef *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, HIObjectRegisterSubclass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIScrollViewCreate
-JNIEXPORT jint JNICALL OS_NATIVE(HIScrollViewCreate)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIScrollViewCreate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)HIScrollViewCreate(arg0, (HIViewRef*)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, HIScrollViewCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HITextViewCreate
-JNIEXPORT jint JNICALL OS_NATIVE(HITextViewCreate)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HITextViewCreate_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)HITextViewCreate(lparg0, arg1, arg2, (HIViewRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HITextViewCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HITextViewGetTXNObject
-JNIEXPORT jint JNICALL OS_NATIVE(HITextViewGetTXNObject)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HITextViewGetTXNObject_FUNC);
-	rc = (jint)HITextViewGetTXNObject((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HITextViewGetTXNObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawBackground
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawBackground)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeBackgroundDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawBackground_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeBackgroundDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawBackground(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeBackgroundDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawButton
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawButton)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3, jobject arg4)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeButtonDrawInfo _arg1, *lparg1=NULL;
-	CGRect _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawButton_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeButtonDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = &_arg4) == NULL) goto fail;
-	rc = (jint)HIThemeDrawButton((const HIRect *)lparg0, (const HIThemeButtonDrawInfo *)lparg1, (CGContextRef)arg2, (HIThemeOrientation)arg3, (HIRect *)lparg4);
-fail:
-	if (arg4 && lparg4) setCGRectFields(env, arg4, lparg4);
-	if (arg1 && lparg1) setHIThemeButtonDrawInfoFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawFocusRect
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawFocusRect)
-	(JNIEnv *env, jclass that, jobject arg0, jboolean arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawFocusRect_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawFocusRect(lparg0, arg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawFocusRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawFrame
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawFrame)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeFrameDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawFrame_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeFrameDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawFrame(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeFrameDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawGenericWell
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawGenericWell)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeButtonDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawGenericWell_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeButtonDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawGenericWell((const HIRect *)lparg0, (const HIThemeButtonDrawInfo *)lparg1, (CGContextRef)arg2, (HIThemeOrientation)arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeButtonDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawGenericWell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawGroupBox
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawGroupBox)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeGroupBoxDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawGroupBox_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeGroupBoxDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawGroupBox(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeGroupBoxDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawGroupBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawGrowBox
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawGrowBox)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGPoint _arg0, *lparg0=NULL;
-	HIThemeGrowBoxDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawGrowBox_FUNC);
-	if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeGrowBoxDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawGrowBox(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeGrowBoxDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawGrowBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawPopupArrow
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawPopupArrow)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemePopupArrowDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawPopupArrow_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemePopupArrowDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawPopupArrow(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemePopupArrowDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawPopupArrow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawSeparator
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawSeparator)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeSeparatorDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawSeparator_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeSeparatorDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawSeparator(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeSeparatorDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawSeparator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawTab
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawTab)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3, jobject arg4)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeTabDrawInfo _arg1, *lparg1=NULL;
-	CGRect _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawTab_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeTabDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = &_arg4) == NULL) goto fail;
-	rc = (jint)HIThemeDrawTab((const HIRect *)lparg0, (const HIThemeTabDrawInfo *)lparg1, (CGContextRef)arg2, (HIThemeOrientation)arg3, (HIRect *)lparg4);
-fail:
-	if (arg4 && lparg4) setCGRectFields(env, arg4, lparg4);
-	if (arg1 && lparg1) setHIThemeTabDrawInfoFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawTab_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawTabPane
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawTabPane)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeTabPaneDrawInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawTabPane_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeTabPaneDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawTabPane((const HIRect *)lparg0, (const HIThemeTabPaneDrawInfo *)lparg1, (CGContextRef)arg2, (HIThemeOrientation)arg3);
-fail:
-	if (arg1 && lparg1) setHIThemeTabPaneDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawTabPane_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawTextBox
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawTextBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jint arg3, jint arg4)
-{
-	CGRect _arg1, *lparg1=NULL;
-	HIThemeTextInfo _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawTextBox_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getHIThemeTextInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawTextBox((CFStringRef)arg0, lparg1, lparg2, (CGContextRef)arg3, arg4);
-fail:
-	if (arg2 && lparg2) setHIThemeTextInfoFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawTextBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeDrawTrack
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeDrawTrack)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeDrawTrack_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeDrawTrack(lparg0, lparg1, (CGContextRef)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeDrawTrack_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetButtonBackgroundBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetButtonBackgroundBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeButtonDrawInfo _arg1, *lparg1=NULL;
-	CGRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetButtonBackgroundBounds_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeButtonDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)HIThemeGetButtonBackgroundBounds(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setHIThemeButtonDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetButtonBackgroundBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetButtonContentBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetButtonContentBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIThemeButtonDrawInfo _arg1, *lparg1=NULL;
-	CGRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetButtonContentBounds_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIThemeButtonDrawInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)HIThemeGetButtonContentBounds(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setHIThemeButtonDrawInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetButtonContentBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetScrollBarTrackRect
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetScrollBarTrackRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jboolean arg2, jobject arg3)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIScrollBarTrackInfo _arg1, *lparg1=NULL;
-	CGRect _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetScrollBarTrackRect_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIScrollBarTrackInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getCGRectFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)HIThemeGetScrollBarTrackRect(lparg0, lparg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setCGRectFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setHIScrollBarTrackInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetScrollBarTrackRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTextDimensions
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTextDimensions)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jobject arg2, jfloatArray arg3, jfloatArray arg4, jfloatArray arg5)
-{
-	HIThemeTextInfo _arg2, *lparg2=NULL;
-	jfloat *lparg3=NULL;
-	jfloat *lparg4=NULL;
-	jfloat *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTextDimensions_FUNC);
-	if (arg2) if ((lparg2 = getHIThemeTextInfoFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetFloatArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTextDimensions((CFStringRef)arg0, arg1, lparg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseFloatArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setHIThemeTextInfoFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTextDimensions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTrackBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTrackBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTrackBounds_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTrackBounds(lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTrackBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTrackLiveValue
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTrackLiveValue)
-	(JNIEnv *env, jclass that, jobject arg0, jfloat arg1, jintArray arg2)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTrackLiveValue_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTrackLiveValue(lparg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTrackLiveValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTrackPartBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTrackPartBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jobject arg2)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTrackPartBounds_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTrackPartBounds(lparg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTrackPartBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTrackThumbPositionFromBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTrackThumbPositionFromBounds)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jfloatArray arg2)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGRect _arg1, *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTrackThumbPositionFromBounds_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTrackThumbPositionFromBounds(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTrackThumbPositionFromBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeGetTrackThumbPositionFromOffset
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeGetTrackThumbPositionFromOffset)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jfloatArray arg2)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGPoint _arg1, *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeGetTrackThumbPositionFromOffset_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIThemeGetTrackThumbPositionFromOffset((HIThemeTrackDrawInfo *)lparg0, (HIPoint *)lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeGetTrackThumbPositionFromOffset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeHitTestScrollBarArrows
-JNIEXPORT jboolean JNICALL OS_NATIVE(HIThemeHitTestScrollBarArrows)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jboolean arg2, jobject arg3, jobject arg4, jshortArray arg5)
-{
-	CGRect _arg0, *lparg0=NULL;
-	HIScrollBarTrackInfo _arg1, *lparg1=NULL;
-	CGPoint _arg3, *lparg3=NULL;
-	CGRect _arg4, *lparg4=NULL;
-	jshort *lparg5=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeHitTestScrollBarArrows_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getHIScrollBarTrackInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getCGPointFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getCGRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetShortArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jboolean)HIThemeHitTestScrollBarArrows(lparg0, lparg1, arg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseShortArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) setCGRectFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setCGPointFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setHIScrollBarTrackInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeHitTestScrollBarArrows_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeHitTestTrack
-JNIEXPORT jboolean JNICALL OS_NATIVE(HIThemeHitTestTrack)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jshortArray arg2)
-{
-	HIThemeTrackDrawInfo _arg0, *lparg0=NULL;
-	CGPoint _arg1, *lparg1=NULL;
-	jshort *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeHitTestTrack_FUNC);
-	if (arg0) if ((lparg0 = getHIThemeTrackDrawInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)HIThemeHitTestTrack(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setHIThemeTrackDrawInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIThemeHitTestTrack_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIThemeSetFill
-JNIEXPORT jint JNICALL OS_NATIVE(HIThemeSetFill)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIThemeSetFill_FUNC);
-/*
-	rc = (jint)HIThemeSetFill((ThemeBrush)arg0, (void *)arg1, (CGContextRef)arg2, (HIThemeOrientation)arg3);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(ThemeBrush, void *, CGContextRef, HIThemeOrientation);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(HIThemeSetFill_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("HIThemeSetFill"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((ThemeBrush)arg0, (void *)arg1, (CGContextRef)arg2, (HIThemeOrientation)arg3);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, HIThemeSetFill_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewAddSubview
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewAddSubview)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewAddSubview_FUNC);
-	rc = (jint)HIViewAddSubview((HIViewRef)arg0, (HIViewRef)arg1);
-	OS_NATIVE_EXIT(env, that, HIViewAddSubview_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewChangeAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewChangeAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewChangeAttributes_FUNC);
-	rc = (jint)HIViewChangeAttributes((HIViewRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, HIViewChangeAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewChangeFeatures
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewChangeFeatures)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewChangeFeatures_FUNC);
-	rc = (jint)HIViewChangeFeatures((HIViewRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, HIViewChangeFeatures_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewClick
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewClick)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewClick_FUNC);
-	rc = (jint)HIViewClick((HIViewRef)arg0, (EventRef)arg1);
-	OS_NATIVE_EXIT(env, that, HIViewClick_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewConvertPoint
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewConvertPoint)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	CGPoint _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewConvertPoint_FUNC);
-	if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)HIViewConvertPoint((HIPoint *)lparg0, (HIViewRef)arg1, (HIViewRef)arg2);
-fail:
-	if (arg0 && lparg0) setCGPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIViewConvertPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewConvertRect
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewConvertRect)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	CGRect _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewConvertRect_FUNC);
-	if (arg0) if ((lparg0 = getCGRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)HIViewConvertRect(lparg0, (HIViewRef)arg1, (HIViewRef)arg2);
-fail:
-	if (arg0 && lparg0) setCGRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HIViewConvertRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewConvertRegion
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewConvertRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewConvertRegion_FUNC);
-	rc = (jint)HIViewConvertRegion((RgnHandle)arg0, (HIViewRef)arg1, (HIViewRef)arg2);
-	OS_NATIVE_EXIT(env, that, HIViewConvertRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewCreateOffscreenImage
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewCreateOffscreenImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3)
-{
-	CGRect _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewCreateOffscreenImage_FUNC);
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewCreateOffscreenImage((HIViewRef)arg0, (OptionBits)arg1, (HIRect *)lparg2, (CGImageRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, HIViewCreateOffscreenImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewFindByID
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewFindByID)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewFindByID_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewFindByID((HIViewRef)arg0, *(HIViewID *)arg1, (HIViewRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HIViewFindByID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetBounds
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetBounds_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIViewGetBounds((HIViewRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewGetBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetFeatures
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetFeatures)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetFeatures_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewGetFeatures((HIViewRef)arg0, (HIViewFeatures *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, HIViewGetFeatures_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetFirstSubview
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetFirstSubview)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetFirstSubview_FUNC);
-	rc = (jint)HIViewGetFirstSubview((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewGetFirstSubview_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetFrame
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetFrame)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetFrame_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIViewGetFrame((HIViewRef)arg0, (HIRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewGetFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetLastSubview
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetLastSubview)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetLastSubview_FUNC);
-	rc = (jint)HIViewGetLastSubview((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewGetLastSubview_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetNextView
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetNextView)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetNextView_FUNC);
-	rc = (jint)HIViewGetNextView((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewGetNextView_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetRoot
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetRoot)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetRoot_FUNC);
-	rc = (jint)HIViewGetRoot((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewGetRoot_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetSizeConstraints
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetSizeConstraints)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	CGRect _arg1, *lparg1=NULL;
-	CGRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetSizeConstraints_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)HIViewGetSizeConstraints((HIViewRef)arg0, (HISize *)lparg1, (HISize *)lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewGetSizeConstraints_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetSubviewHit
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetSubviewHit)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2, jintArray arg3)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetSubviewHit_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewGetSubviewHit((HIViewRef)arg0, (CGPoint *)lparg1, (Boolean)arg2, (HIViewRef *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewGetSubviewHit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetSuperview
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetSuperview)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetSuperview_FUNC);
-	rc = (jint)HIViewGetSuperview((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewGetSuperview_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewGetViewForMouseEvent
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewGetViewForMouseEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewGetViewForMouseEvent_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewGetViewForMouseEvent((HIViewRef)arg0, (EventRef)arg1, (HIViewRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, HIViewGetViewForMouseEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewIsDrawingEnabled
-JNIEXPORT jboolean JNICALL OS_NATIVE(HIViewIsDrawingEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewIsDrawingEnabled_FUNC);
-	rc = (jboolean)HIViewIsDrawingEnabled((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewIsDrawingEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewIsVisible
-JNIEXPORT jboolean JNICALL OS_NATIVE(HIViewIsVisible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewIsVisible_FUNC);
-	rc = (jboolean)HIViewIsVisible((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewIsVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewRemoveFromSuperview
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewRemoveFromSuperview)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewRemoveFromSuperview_FUNC);
-	rc = (jint)HIViewRemoveFromSuperview((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewRemoveFromSuperview_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewRender
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewRender)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewRender_FUNC);
-	rc = (jint)HIViewRender((HIViewRef)arg0);
-	OS_NATIVE_EXIT(env, that, HIViewRender_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewScrollRect
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewScrollRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jfloat arg2, jfloat arg3)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewScrollRect_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIViewScrollRect((HIViewRef)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewScrollRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetBoundsOrigin
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetBoundsOrigin)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetBoundsOrigin_FUNC);
-	rc = (jint)HIViewSetBoundsOrigin((HIViewRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, HIViewSetBoundsOrigin_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetDrawingEnabled
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetDrawingEnabled)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetDrawingEnabled_FUNC);
-	rc = (jint)HIViewSetDrawingEnabled((HIViewRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, HIViewSetDrawingEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetFrame
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetFrame)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetFrame_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)HIViewSetFrame((HIViewRef)arg0, (const HIRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HIViewSetFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetNeedsDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetNeedsDisplay)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetNeedsDisplay_FUNC);
-	rc = (jint)HIViewSetNeedsDisplay((HIViewRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, HIViewSetNeedsDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetNeedsDisplayInRegion
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetNeedsDisplayInRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetNeedsDisplayInRegion_FUNC);
-	rc = (jint)HIViewSetNeedsDisplayInRegion((HIViewRef)arg0, (RgnHandle)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, HIViewSetNeedsDisplayInRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetVisible
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetVisible)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetVisible_FUNC);
-	rc = (jint)HIViewSetVisible((HIViewRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, HIViewSetVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSetZOrder
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSetZOrder)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSetZOrder_FUNC);
-	rc = (jint)HIViewSetZOrder((HIViewRef)arg0, (HIViewZOrderOp)arg1, (HIViewRef)arg2);
-	OS_NATIVE_EXIT(env, that, HIViewSetZOrder_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HIViewSimulateClick
-JNIEXPORT jint JNICALL OS_NATIVE(HIViewSimulateClick)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2, jshortArray arg3)
-{
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HIViewSimulateClick_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)HIViewSimulateClick((HIViewRef)arg0, (HIViewPartCode)arg1, (UInt32)arg2, (ControlPartCode *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, HIViewSimulateClick_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HLock
-JNIEXPORT void JNICALL OS_NATIVE(HLock)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, HLock_FUNC);
-	HLock((Handle)arg0);
-	OS_NATIVE_EXIT(env, that, HLock_FUNC);
-}
-#endif
-
-#ifndef NO_HMDisplayTag
-JNIEXPORT jint JNICALL OS_NATIVE(HMDisplayTag)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	HMHelpContentRec _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HMDisplayTag_FUNC);
-	if (arg0) if ((lparg0 = getHMHelpContentRecFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)HMDisplayTag((const HMHelpContentRec *)lparg0);
-fail:
-	if (arg0 && lparg0) setHMHelpContentRecFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, HMDisplayTag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HMGetTagDelay
-JNIEXPORT jint JNICALL OS_NATIVE(HMGetTagDelay)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HMGetTagDelay_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)HMGetTagDelay(lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, HMGetTagDelay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HMHideTag
-JNIEXPORT jint JNICALL OS_NATIVE(HMHideTag)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HMHideTag_FUNC);
-	rc = (jint)HMHideTag();
-	OS_NATIVE_EXIT(env, that, HMHideTag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HMInstallControlContentCallback
-JNIEXPORT void JNICALL OS_NATIVE(HMInstallControlContentCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, HMInstallControlContentCallback_FUNC);
-	HMInstallControlContentCallback((ControlRef)arg0, (HMControlContentUPP)arg1);
-	OS_NATIVE_EXIT(env, that, HMInstallControlContentCallback_FUNC);
-}
-#endif
-
-#ifndef NO_HMSetTagDelay
-JNIEXPORT jint JNICALL OS_NATIVE(HMSetTagDelay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HMSetTagDelay_FUNC);
-	rc = (jint)HMSetTagDelay(arg0);
-	OS_NATIVE_EXIT(env, that, HMSetTagDelay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HUnlock
-JNIEXPORT void JNICALL OS_NATIVE(HUnlock)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, HUnlock_FUNC);
-	HUnlock((Handle)arg0);
-	OS_NATIVE_EXIT(env, that, HUnlock_FUNC);
-}
-#endif
-
-#ifndef NO_HandleControlClick
-JNIEXPORT jshort JNICALL OS_NATIVE(HandleControlClick)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	Point _arg1, *lparg1=NULL;
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, HandleControlClick_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jshort)HandleControlClick((ControlRef)arg0, *lparg1, (EventModifiers)arg2, (ControlActionUPP)arg3);
-fail:
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HandleControlClick_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HandleControlSetCursor
-JNIEXPORT jint JNICALL OS_NATIVE(HandleControlSetCursor)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jbooleanArray arg3)
-{
-	Point _arg1, *lparg1=NULL;
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HandleControlSetCursor_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetBooleanArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)HandleControlSetCursor((ControlRef)arg0, *lparg1, (EventModifiers)arg2, (Boolean *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseBooleanArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, HandleControlSetCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HiWord
-JNIEXPORT jshort JNICALL OS_NATIVE(HiWord)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, HiWord_FUNC);
-	rc = (jshort)HiWord(arg0);
-	OS_NATIVE_EXIT(env, that, HiWord_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HideWindow
-JNIEXPORT void JNICALL OS_NATIVE(HideWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, HideWindow_FUNC);
-	HideWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, HideWindow_FUNC);
-}
-#endif
-
-#ifndef NO_HiliteMenu
-JNIEXPORT void JNICALL OS_NATIVE(HiliteMenu)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, HiliteMenu_FUNC);
-	HiliteMenu((MenuID)arg0);
-	OS_NATIVE_EXIT(env, that, HiliteMenu_FUNC);
-}
-#endif
-
-#ifndef NO_IconRefToIconFamily
-JNIEXPORT jint JNICALL OS_NATIVE(IconRefToIconFamily)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, IconRefToIconFamily_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)IconRefToIconFamily((IconRef)arg0, (IconSelectorValue)arg1, (IconFamilyHandle *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, IconRefToIconFamily_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InitContextualMenus
-JNIEXPORT jint JNICALL OS_NATIVE(InitContextualMenus)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InitContextualMenus_FUNC);
-	rc = (jint)InitContextualMenus();
-	OS_NATIVE_EXIT(env, that, InitContextualMenus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InitCursor
-JNIEXPORT void JNICALL OS_NATIVE(InitCursor)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, InitCursor_FUNC);
-	InitCursor();
-	OS_NATIVE_EXIT(env, that, InitCursor_FUNC);
-}
-#endif
-
-#ifndef NO_InitDataBrowserCallbacks
-JNIEXPORT jint JNICALL OS_NATIVE(InitDataBrowserCallbacks)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	DataBrowserCallbacks _arg0={0}, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InitDataBrowserCallbacks_FUNC);
-	if (arg0) if ((lparg0 = getDataBrowserCallbacksFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)InitDataBrowserCallbacks((DataBrowserCallbacks *)lparg0);
-fail:
-	if (arg0 && lparg0) setDataBrowserCallbacksFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, InitDataBrowserCallbacks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InitDataBrowserCustomCallbacks
-JNIEXPORT jint JNICALL OS_NATIVE(InitDataBrowserCustomCallbacks)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	DataBrowserCustomCallbacks _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InitDataBrowserCustomCallbacks_FUNC);
-	if (arg0) if ((lparg0 = getDataBrowserCustomCallbacksFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)InitDataBrowserCustomCallbacks(lparg0);
-fail:
-	if (arg0 && lparg0) setDataBrowserCustomCallbacksFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, InitDataBrowserCustomCallbacks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InsertMenu
-JNIEXPORT void JNICALL OS_NATIVE(InsertMenu)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, InsertMenu_FUNC);
-	InsertMenu((MenuRef)arg0, (MenuID)arg1);
-	OS_NATIVE_EXIT(env, that, InsertMenu_FUNC);
-}
-#endif
-
-#ifndef NO_InsertMenuItemTextWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(InsertMenuItemTextWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InsertMenuItemTextWithCFString_FUNC);
-	rc = (jint)InsertMenuItemTextWithCFString((MenuRef)arg0, (CFStringRef)arg1, (MenuItemIndex)arg2, (MenuItemAttributes)arg3, (MenuCommand)arg4);
-	OS_NATIVE_EXIT(env, that, InsertMenuItemTextWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InstallEventHandler
-JNIEXPORT jint JNICALL OS_NATIVE(InstallEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InstallEventHandler_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)InstallEventHandler((EventTargetRef)arg0, (EventHandlerUPP)arg1, (UInt32)arg2, (const EventTypeSpec *)lparg3, (void *)arg4, (EventHandlerRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, InstallEventHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InstallEventLoopIdleTimer
-JNIEXPORT jint JNICALL OS_NATIVE(InstallEventLoopIdleTimer)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InstallEventLoopIdleTimer_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)InstallEventLoopIdleTimer((EventLoopRef)arg0, (EventTimerInterval)arg1, (EventTimerInterval)arg2, (EventLoopIdleTimerUPP)arg3, (void *)arg4, (EventLoopTimerRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, InstallEventLoopIdleTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InstallEventLoopTimer
-JNIEXPORT jint JNICALL OS_NATIVE(InstallEventLoopTimer)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InstallEventLoopTimer_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)InstallEventLoopTimer((EventLoopRef)arg0, (EventTimerInterval)arg1, (EventTimerInterval)arg2, (EventLoopTimerUPP)arg3, (void *)arg4, (EventLoopTimerRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, InstallEventLoopTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InstallReceiveHandler
-JNIEXPORT jint JNICALL OS_NATIVE(InstallReceiveHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InstallReceiveHandler_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)InstallReceiveHandler((DragReceiveHandlerUPP)arg0, (WindowRef)arg1, (void *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, InstallReceiveHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InstallTrackingHandler
-JNIEXPORT jint JNICALL OS_NATIVE(InstallTrackingHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, InstallTrackingHandler_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)InstallTrackingHandler((DragTrackingHandlerUPP)arg0, (WindowRef)arg1, (void *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, InstallTrackingHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InvalWindowRect
-JNIEXPORT void JNICALL OS_NATIVE(InvalWindowRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, InvalWindowRect_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	InvalWindowRect((WindowRef)arg0, (const Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, InvalWindowRect_FUNC);
-}
-#endif
-
-#ifndef NO_InvalWindowRgn
-JNIEXPORT void JNICALL OS_NATIVE(InvalWindowRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, InvalWindowRgn_FUNC);
-	InvalWindowRgn((WindowRef)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, InvalWindowRgn_FUNC);
-}
-#endif
-
-#ifndef NO_InvertRect
-JNIEXPORT void JNICALL OS_NATIVE(InvertRect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, InvertRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	InvertRect((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, InvertRect_FUNC);
-}
-#endif
-
-#ifndef NO_InvertRgn
-JNIEXPORT void JNICALL OS_NATIVE(InvertRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, InvertRgn_FUNC);
-	InvertRgn((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, InvertRgn_FUNC);
-}
-#endif
-
-#ifndef NO_IsControlActive
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsControlActive)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsControlActive_FUNC);
-	rc = (jboolean)IsControlActive((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsControlActive_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsControlEnabled
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsControlEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsControlEnabled_FUNC);
-	rc = (jboolean)IsControlEnabled((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsControlEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsControlVisible
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsControlVisible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsControlVisible_FUNC);
-	rc = (jboolean)IsControlVisible((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsControlVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsDataBrowserItemSelected
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsDataBrowserItemSelected)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsDataBrowserItemSelected_FUNC);
-	rc = (jboolean)IsDataBrowserItemSelected((ControlRef)arg0, (DataBrowserItemID)arg1);
-	OS_NATIVE_EXIT(env, that, IsDataBrowserItemSelected_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsMenuCommandEnabled
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsMenuCommandEnabled)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsMenuCommandEnabled_FUNC);
-	rc = (jboolean)IsMenuCommandEnabled((MenuRef)arg0, (MenuCommand)arg1);
-	OS_NATIVE_EXIT(env, that, IsMenuCommandEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsMenuItemEnabled
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsMenuItemEnabled)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsMenuItemEnabled_FUNC);
-	rc = (jboolean)IsMenuItemEnabled((MenuRef)arg0, (MenuItemIndex)arg1);
-	OS_NATIVE_EXIT(env, that, IsMenuItemEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsValidControlHandle
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsValidControlHandle)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsValidControlHandle_FUNC);
-	rc = (jboolean)IsValidControlHandle((ControlRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsValidControlHandle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsValidMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsValidMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsValidMenu_FUNC);
-	rc = (jboolean)IsValidMenu((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsValidMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsValidWindowPtr
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsValidWindowPtr)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsValidWindowPtr_FUNC);
-	rc = (jboolean)IsValidWindowPtr((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsValidWindowPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsWindowActive
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsWindowActive)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsWindowActive_FUNC);
-	rc = (jboolean)IsWindowActive((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsWindowActive_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsWindowCollapsed
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsWindowCollapsed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsWindowCollapsed_FUNC);
-	rc = (jboolean)IsWindowCollapsed((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsWindowCollapsed_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsWindowVisible
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsWindowVisible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsWindowVisible_FUNC);
-	rc = (jboolean)IsWindowVisible((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, IsWindowVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_KeyTranslate
-JNIEXPORT jint JNICALL OS_NATIVE(KeyTranslate)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, KeyTranslate_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)KeyTranslate((const void *)arg0, arg1, (UInt32 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, KeyTranslate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_KillPoly
-JNIEXPORT void JNICALL OS_NATIVE(KillPoly)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, KillPoly_FUNC);
-	KillPoly((PolyHandle)arg0);
-	OS_NATIVE_EXIT(env, that, KillPoly_FUNC);
-}
-#endif
-
-#ifndef NO_LineTo
-JNIEXPORT void JNICALL OS_NATIVE(LineTo)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, LineTo_FUNC);
-	LineTo((short)arg0, (short)arg1);
-	OS_NATIVE_EXIT(env, that, LineTo_FUNC);
-}
-#endif
-
-#ifndef NO_LoWord
-JNIEXPORT jshort JNICALL OS_NATIVE(LoWord)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, LoWord_FUNC);
-	rc = (jshort)LoWord(arg0);
-	OS_NATIVE_EXIT(env, that, LoWord_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LockPortBits
-JNIEXPORT jint JNICALL OS_NATIVE(LockPortBits)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LockPortBits_FUNC);
-	rc = (jint)LockPortBits((GrafPtr)arg0);
-	OS_NATIVE_EXIT(env, that, LockPortBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Long2Fix
-JNIEXPORT jint JNICALL OS_NATIVE(Long2Fix)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, Long2Fix_FUNC);
-	rc = (jint)Long2Fix(arg0);
-	OS_NATIVE_EXIT(env, that, Long2Fix_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MenuSelect
-JNIEXPORT jint JNICALL OS_NATIVE(MenuSelect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Point _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MenuSelect_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)MenuSelect(*(Point *)lparg0);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MenuSelect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MoveControl
-JNIEXPORT void JNICALL OS_NATIVE(MoveControl)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	OS_NATIVE_ENTER(env, that, MoveControl_FUNC);
-	MoveControl((ControlRef)arg0, (SInt16)arg1, (SInt16)arg2);
-	OS_NATIVE_EXIT(env, that, MoveControl_FUNC);
-}
-#endif
-
-#ifndef NO_MoveTo
-JNIEXPORT void JNICALL OS_NATIVE(MoveTo)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, MoveTo_FUNC);
-	MoveTo((short)arg0, (short)arg1);
-	OS_NATIVE_EXIT(env, that, MoveTo_FUNC);
-}
-#endif
-
-#ifndef NO_MoveWindow
-JNIEXPORT void JNICALL OS_NATIVE(MoveWindow)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2, jboolean arg3)
-{
-	OS_NATIVE_ENTER(env, that, MoveWindow_FUNC);
-	MoveWindow((WindowRef)arg0, (short)arg1, (short)arg2, (Boolean)arg3);
-	OS_NATIVE_EXIT(env, that, MoveWindow_FUNC);
-}
-#endif
-
-#ifndef NO_NavCreateChooseFolderDialog
-JNIEXPORT jint JNICALL OS_NATIVE(NavCreateChooseFolderDialog)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	NavDialogCreationOptions _arg0, *lparg0=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavCreateChooseFolderDialog_FUNC);
-	if (arg0) if ((lparg0 = getNavDialogCreationOptionsFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)NavCreateChooseFolderDialog((const NavDialogCreationOptions *)lparg0, (NavEventUPP)arg1, (NavObjectFilterUPP)arg2, (void *)arg3, (NavDialogRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg0 && lparg0) setNavDialogCreationOptionsFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, NavCreateChooseFolderDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavCreateGetFileDialog
-JNIEXPORT jint JNICALL OS_NATIVE(NavCreateGetFileDialog)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	NavDialogCreationOptions _arg0, *lparg0=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavCreateGetFileDialog_FUNC);
-	if (arg0) if ((lparg0 = getNavDialogCreationOptionsFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)NavCreateGetFileDialog((const NavDialogCreationOptions *)lparg0, (NavTypeListHandle)arg1, (NavEventUPP)arg2, (NavPreviewUPP)arg3, (NavObjectFilterUPP)arg4, (void *)arg5, (NavDialogRef *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg0 && lparg0) setNavDialogCreationOptionsFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, NavCreateGetFileDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavCreatePutFileDialog
-JNIEXPORT jint JNICALL OS_NATIVE(NavCreatePutFileDialog)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	NavDialogCreationOptions _arg0, *lparg0=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavCreatePutFileDialog_FUNC);
-	if (arg0) if ((lparg0 = getNavDialogCreationOptionsFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)NavCreatePutFileDialog((const NavDialogCreationOptions *)lparg0, (OSType)arg1, (OSType)arg2, (NavEventUPP)arg3, (void *)arg4, (NavDialogRef *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg0 && lparg0) setNavDialogCreationOptionsFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, NavCreatePutFileDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogDispose
-JNIEXPORT void JNICALL OS_NATIVE(NavDialogDispose)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, NavDialogDispose_FUNC);
-	NavDialogDispose((NavDialogRef)arg0);
-	OS_NATIVE_EXIT(env, that, NavDialogDispose_FUNC);
-}
-#endif
-
-#ifndef NO_NavDialogGetReply
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogGetReply)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	NavReplyRecord _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogGetReply_FUNC);
-	if (arg1) if ((lparg1 = getNavReplyRecordFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)NavDialogGetReply((NavDialogRef)arg0, (NavReplyRecord *)lparg1);
-fail:
-	if (arg1 && lparg1) setNavReplyRecordFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, NavDialogGetReply_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogGetSaveFileName
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogGetSaveFileName)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogGetSaveFileName_FUNC);
-	rc = (jint)NavDialogGetSaveFileName((NavDialogRef)arg0);
-	OS_NATIVE_EXIT(env, that, NavDialogGetSaveFileName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogGetUserAction
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogGetUserAction)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogGetUserAction_FUNC);
-	rc = (jint)NavDialogGetUserAction((NavDialogRef)arg0);
-	OS_NATIVE_EXIT(env, that, NavDialogGetUserAction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogRun
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogRun)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogRun_FUNC);
-	rc = (jint)NavDialogRun((NavDialogRef)arg0);
-	OS_NATIVE_EXIT(env, that, NavDialogRun_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogSetFilterTypeIdentifiers
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogSetFilterTypeIdentifiers)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogSetFilterTypeIdentifiers_FUNC);
-/*
-	rc = (jint)NavDialogSetFilterTypeIdentifiers(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static CFBundleRef bundle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR(NavDialogSetFilterTypeIdentifiers_LIB));
-			if (bundle) fptr = (FPTR)CFBundleGetFunctionPointerForName(bundle, CFSTR("NavDialogSetFilterTypeIdentifiers"));
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, NavDialogSetFilterTypeIdentifiers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavDialogSetSaveFileName
-JNIEXPORT jint JNICALL OS_NATIVE(NavDialogSetSaveFileName)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavDialogSetSaveFileName_FUNC);
-	rc = (jint)NavDialogSetSaveFileName((NavDialogRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, NavDialogSetSaveFileName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NavGetDefaultDialogCreationOptions
-JNIEXPORT jint JNICALL OS_NATIVE(NavGetDefaultDialogCreationOptions)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	NavDialogCreationOptions _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NavGetDefaultDialogCreationOptions_FUNC);
-	if (arg0) if ((lparg0 = getNavDialogCreationOptionsFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)NavGetDefaultDialogCreationOptions((NavDialogCreationOptions *)lparg0);
-fail:
-	if (arg0 && lparg0) setNavDialogCreationOptionsFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, NavGetDefaultDialogCreationOptions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewControl
-JNIEXPORT jint JNICALL OS_NATIVE(NewControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2, jboolean arg3, jshort arg4, jshort arg5, jshort arg6, jshort arg7, jint arg8)
-{
-	Rect _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewControl_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)NewControl((WindowRef)arg0, (const Rect *)lparg1, (ConstStr255Param)lparg2, (Boolean)arg3, (SInt16)arg4, (SInt16)arg5, (SInt16)arg6, (SInt16)arg7, (SInt32)arg8);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, NewControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewDrag
-JNIEXPORT jint JNICALL OS_NATIVE(NewDrag)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewDrag_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)NewDrag((DragRef *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, NewDrag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewGWorldFromPtr
-JNIEXPORT jint JNICALL OS_NATIVE(NewGWorldFromPtr)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint *lparg0=NULL;
-	Rect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewGWorldFromPtr_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)NewGWorldFromPtr((GWorldPtr *)lparg0, (unsigned long)arg1, (const Rect *)lparg2, (CTabHandle)arg3, (GDHandle)arg4, (GWorldFlags)arg5, (Ptr)arg6, (long)arg7);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, NewGWorldFromPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewHandle
-JNIEXPORT jint JNICALL OS_NATIVE(NewHandle)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewHandle_FUNC);
-	rc = (jint)NewHandle((Size)arg0);
-	OS_NATIVE_EXIT(env, that, NewHandle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewHandleClear
-JNIEXPORT jint JNICALL OS_NATIVE(NewHandleClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewHandleClear_FUNC);
-	rc = (jint)NewHandleClear((Size)arg0);
-	OS_NATIVE_EXIT(env, that, NewHandleClear_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewPtr
-JNIEXPORT jint JNICALL OS_NATIVE(NewPtr)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewPtr_FUNC);
-	rc = (jint)NewPtr((Size)arg0);
-	OS_NATIVE_EXIT(env, that, NewPtr_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewPtrClear
-JNIEXPORT jint JNICALL OS_NATIVE(NewPtrClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewPtrClear_FUNC);
-	rc = (jint)NewPtrClear((Size)arg0);
-	OS_NATIVE_EXIT(env, that, NewPtrClear_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NewRgn
-JNIEXPORT jint JNICALL OS_NATIVE(NewRgn)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewRgn_FUNC);
-	rc = (jint)NewRgn();
-	OS_NATIVE_EXIT(env, that, NewRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OffsetRect
-JNIEXPORT void JNICALL OS_NATIVE(OffsetRect)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, OffsetRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	OffsetRect(lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, OffsetRect_FUNC);
-}
-#endif
-
-#ifndef NO_OffsetRgn
-JNIEXPORT void JNICALL OS_NATIVE(OffsetRgn)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	OS_NATIVE_ENTER(env, that, OffsetRgn_FUNC);
-	OffsetRgn((RgnHandle)arg0, (short)arg1, (short)arg2);
-	OS_NATIVE_EXIT(env, that, OffsetRgn_FUNC);
-}
-#endif
-
-#ifndef NO_OpenDataBrowserContainer
-JNIEXPORT jint JNICALL OS_NATIVE(OpenDataBrowserContainer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, OpenDataBrowserContainer_FUNC);
-	rc = (jint)OpenDataBrowserContainer((ControlRef)arg0, (DataBrowserItemID)arg1);
-	OS_NATIVE_EXIT(env, that, OpenDataBrowserContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OpenPoly
-JNIEXPORT jint JNICALL OS_NATIVE(OpenPoly)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, OpenPoly_FUNC);
-	rc = (jint)OpenPoly();
-	OS_NATIVE_EXIT(env, that, OpenPoly_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OpenRgn
-JNIEXPORT void JNICALL OS_NATIVE(OpenRgn)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, OpenRgn_FUNC);
-	OpenRgn();
-	OS_NATIVE_EXIT(env, that, OpenRgn_FUNC);
-}
-#endif
-
-#ifndef NO_PMCreatePageFormat
-JNIEXPORT jint JNICALL OS_NATIVE(PMCreatePageFormat)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMCreatePageFormat_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PMCreatePageFormat((PMPageFormat *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PMCreatePageFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMCreatePrintSettings
-JNIEXPORT jint JNICALL OS_NATIVE(PMCreatePrintSettings)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMCreatePrintSettings_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PMCreatePrintSettings((PMPrintSettings *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PMCreatePrintSettings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMCreateSession
-JNIEXPORT jint JNICALL OS_NATIVE(PMCreateSession)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMCreateSession_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PMCreateSession((PMPrintSession *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PMCreateSession_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMFlattenPageFormat
-JNIEXPORT jint JNICALL OS_NATIVE(PMFlattenPageFormat)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMFlattenPageFormat_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMFlattenPageFormat((PMPageFormat)arg0, (Handle *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMFlattenPageFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMFlattenPrintSettings
-JNIEXPORT jint JNICALL OS_NATIVE(PMFlattenPrintSettings)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMFlattenPrintSettings_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMFlattenPrintSettings((PMPrintSettings)arg0, (Handle *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMFlattenPrintSettings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetAdjustedPageRect
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetAdjustedPageRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PMRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetAdjustedPageRect_FUNC);
-	if (arg1) if ((lparg1 = getPMRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PMGetAdjustedPageRect((PMPageFormat)arg0, (PMRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setPMRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PMGetAdjustedPageRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetAdjustedPaperRect
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetAdjustedPaperRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PMRect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetAdjustedPaperRect_FUNC);
-	if (arg1) if ((lparg1 = getPMRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PMGetAdjustedPaperRect((PMPageFormat)arg0, (PMRect *)lparg1);
-fail:
-	if (arg1 && lparg1) setPMRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PMGetAdjustedPaperRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetCollate
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetCollate)
-	(JNIEnv *env, jclass that, jint arg0, jbooleanArray arg1)
-{
-	jboolean *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetCollate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetBooleanArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMGetCollate((PMPrintSettings)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseBooleanArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetCollate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetCopies
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetCopies)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetCopies_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMGetCopies((PMPrintSettings)arg0, (UInt32 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetCopies_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetFirstPage
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetFirstPage)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetFirstPage_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMGetFirstPage((PMPrintSettings)arg0, (UInt32 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetFirstPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetJobNameCFString
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetJobNameCFString)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetJobNameCFString_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMGetJobNameCFString((PMPrintSettings)arg0, (CFStringRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetJobNameCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetLastPage
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetLastPage)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetLastPage_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMGetLastPage((PMPrintSettings)arg0, (UInt32 *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetLastPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetPageRange
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetPageRange)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetPageRange_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 = (jint)PMGetPageRange((PMPrintSettings)arg0, (UInt32 *)lparg1, (UInt32 *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMGetPageRange_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMGetResolution
-JNIEXPORT jint JNICALL OS_NATIVE(PMGetResolution)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PMResolution _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMGetResolution_FUNC);
-	if (arg1) if ((lparg1 = getPMResolutionFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PMGetResolution((PMPageFormat)arg0, (PMResolution *)lparg1);
-fail:
-	if (arg1 && lparg1) setPMResolutionFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PMGetResolution_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMRelease
-JNIEXPORT jint JNICALL OS_NATIVE(PMRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMRelease_FUNC);
-	rc = (jint)PMRelease((PMObject)arg0);
-	OS_NATIVE_EXIT(env, that, PMRelease_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionBeginDocumentNoDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionBeginDocumentNoDialog)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionBeginDocumentNoDialog_FUNC);
-	rc = (jint)PMSessionBeginDocumentNoDialog((PMPrintSession)arg0, (PMPrintSettings)arg1, (PMPageFormat)arg2);
-	OS_NATIVE_EXIT(env, that, PMSessionBeginDocumentNoDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionBeginPageNoDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionBeginPageNoDialog)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PMRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionBeginPageNoDialog_FUNC);
-	if (arg2) if ((lparg2 = getPMRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PMSessionBeginPageNoDialog((PMPrintSession)arg0, (PMPageFormat)arg1, (const PMRect *)lparg2);
-fail:
-	if (arg2 && lparg2) setPMRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PMSessionBeginPageNoDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionCopyDestinationLocation
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionCopyDestinationLocation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionCopyDestinationLocation_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionCopyDestinationLocation((PMPrintSession)arg0, (PMPrintSettings)arg1, (CFURLRef *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionCopyDestinationLocation_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionCreatePrinterList
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionCreatePrinterList)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionCreatePrinterList_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;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionCreatePrinterList((PMPrintSession)arg0, (CFArrayRef *)lparg1, (CFIndex *)lparg2, (PMPrinter *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionCreatePrinterList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionDefaultPageFormat
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionDefaultPageFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionDefaultPageFormat_FUNC);
-	rc = (jint)PMSessionDefaultPageFormat((PMPrintSession)arg0, (PMPageFormat)arg1);
-	OS_NATIVE_EXIT(env, that, PMSessionDefaultPageFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionDefaultPrintSettings
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionDefaultPrintSettings)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionDefaultPrintSettings_FUNC);
-	rc = (jint)PMSessionDefaultPrintSettings((PMPrintSession)arg0, (PMPrintSettings)arg1);
-	OS_NATIVE_EXIT(env, that, PMSessionDefaultPrintSettings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionEndDocumentNoDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionEndDocumentNoDialog)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionEndDocumentNoDialog_FUNC);
-	rc = (jint)PMSessionEndDocumentNoDialog((PMPrintSession)arg0);
-	OS_NATIVE_EXIT(env, that, PMSessionEndDocumentNoDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionEndPageNoDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionEndPageNoDialog)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionEndPageNoDialog_FUNC);
-	rc = (jint)PMSessionEndPageNoDialog((PMPrintSession)arg0);
-	OS_NATIVE_EXIT(env, that, PMSessionEndPageNoDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionError
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionError)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionError_FUNC);
-	rc = (jint)PMSessionError((PMPrintSession)arg0);
-	OS_NATIVE_EXIT(env, that, PMSessionError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionGetDestinationType
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionGetDestinationType)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionGetDestinationType_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionGetDestinationType((PMPrintSession)arg0, (PMPrintSettings)arg1, (PMDestinationType *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionGetDestinationType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionGetGraphicsContext
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionGetGraphicsContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionGetGraphicsContext_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionGetGraphicsContext((PMPrintSession)arg0, (CFStringRef)arg1, (void **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionGetGraphicsContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionPageSetupDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionPageSetupDialog)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbooleanArray arg2)
-{
-	jboolean *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionPageSetupDialog_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionPageSetupDialog((PMPrintSession)arg0, (PMPageFormat)arg1, (Boolean *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionPageSetupDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionPrintDialog
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionPrintDialog)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbooleanArray arg3)
-{
-	jboolean *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionPrintDialog_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetBooleanArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionPrintDialog((PMPrintSession)arg0, (PMPrintSettings)arg1, (PMPageFormat)arg2, (Boolean *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseBooleanArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionPrintDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionSetCurrentPrinter
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionSetCurrentPrinter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionSetCurrentPrinter_FUNC);
-	rc = (jint)PMSessionSetCurrentPrinter((PMPrintSession)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, PMSessionSetCurrentPrinter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionSetDestination
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionSetDestination)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionSetDestination_FUNC);
-	rc = (jint)PMSessionSetDestination((PMPrintSession)arg0, (PMPrintSettings)arg1, (PMDestinationType)arg2, (CFStringRef)arg3, (CFURLRef)arg4);
-	OS_NATIVE_EXIT(env, that, PMSessionSetDestination_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionSetDocumentFormatGeneration
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionSetDocumentFormatGeneration)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionSetDocumentFormatGeneration_FUNC);
-	rc = (jint)PMSessionSetDocumentFormatGeneration((PMPrintSession)arg0, (CFStringRef)arg1, (CFArrayRef)arg2, (CFTypeRef)arg3);
-	OS_NATIVE_EXIT(env, that, PMSessionSetDocumentFormatGeneration_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionSetError
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionSetError)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionSetError_FUNC);
-	rc = (jint)PMSessionSetError((PMPrintSession)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PMSessionSetError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionUseSheets
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionUseSheets)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionUseSheets_FUNC);
-	rc = (jint)PMSessionUseSheets((PMPrintSession)arg0, (WindowRef)arg1, (PMSheetDoneUPP)arg2);
-	OS_NATIVE_EXIT(env, that, PMSessionUseSheets_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionValidatePageFormat
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionValidatePageFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbooleanArray arg2)
-{
-	jboolean *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionValidatePageFormat_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionValidatePageFormat((PMPrintSession)arg0, (PMPageFormat)arg1, (Boolean *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionValidatePageFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSessionValidatePrintSettings
-JNIEXPORT jint JNICALL OS_NATIVE(PMSessionValidatePrintSettings)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbooleanArray arg2)
-{
-	jboolean *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSessionValidatePrintSettings_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetBooleanArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PMSessionValidatePrintSettings((PMPrintSession)arg0, (PMPrintSettings)arg1, (Boolean *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseBooleanArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PMSessionValidatePrintSettings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSetCollate
-JNIEXPORT jint JNICALL OS_NATIVE(PMSetCollate)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSetCollate_FUNC);
-	rc = (jint)PMSetCollate((PMPrintSettings)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PMSetCollate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSetFirstPage
-JNIEXPORT jint JNICALL OS_NATIVE(PMSetFirstPage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSetFirstPage_FUNC);
-	rc = (jint)PMSetFirstPage((PMPrintSettings)arg0, (UInt32)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, PMSetFirstPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSetJobNameCFString
-JNIEXPORT jint JNICALL OS_NATIVE(PMSetJobNameCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSetJobNameCFString_FUNC);
-	rc = (jint)PMSetJobNameCFString((PMPrintSettings)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, PMSetJobNameCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSetLastPage
-JNIEXPORT jint JNICALL OS_NATIVE(PMSetLastPage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSetLastPage_FUNC);
-	rc = (jint)PMSetLastPage((PMPrintSettings)arg0, (UInt32)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, PMSetLastPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMSetPageRange
-JNIEXPORT jint JNICALL OS_NATIVE(PMSetPageRange)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMSetPageRange_FUNC);
-	rc = (jint)PMSetPageRange((PMPrintSettings)arg0, (UInt32)arg1, (UInt32)arg2);
-	OS_NATIVE_EXIT(env, that, PMSetPageRange_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMUnflattenPageFormat
-JNIEXPORT jint JNICALL OS_NATIVE(PMUnflattenPageFormat)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMUnflattenPageFormat_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMUnflattenPageFormat((Handle)arg0, (PMPageFormat *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMUnflattenPageFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PMUnflattenPrintSettings
-JNIEXPORT jint JNICALL OS_NATIVE(PMUnflattenPrintSettings)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PMUnflattenPrintSettings_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PMUnflattenPrintSettings((Handle)arg0, (PMPrintSettings *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PMUnflattenPrintSettings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PaintOval
-JNIEXPORT void JNICALL OS_NATIVE(PaintOval)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PaintOval_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	PaintOval((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PaintOval_FUNC);
-}
-#endif
-
-#ifndef NO_PaintPoly
-JNIEXPORT void JNICALL OS_NATIVE(PaintPoly)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PaintPoly_FUNC);
-	PaintPoly((PolyHandle)arg0);
-	OS_NATIVE_EXIT(env, that, PaintPoly_FUNC);
-}
-#endif
-
-#ifndef NO_PaintRect
-JNIEXPORT void JNICALL OS_NATIVE(PaintRect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PaintRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	PaintRect((const Rect *)lparg0);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PaintRect_FUNC);
-}
-#endif
-
-#ifndef NO_PaintRoundRect
-JNIEXPORT void JNICALL OS_NATIVE(PaintRoundRect)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PaintRoundRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	PaintRoundRect((const Rect *)lparg0, (short)arg1, (short)arg2);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PaintRoundRect_FUNC);
-}
-#endif
-
-#ifndef NO_PenSize
-JNIEXPORT void JNICALL OS_NATIVE(PenSize)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, PenSize_FUNC);
-	PenSize((short)arg0, (short)arg1);
-	OS_NATIVE_EXIT(env, that, PenSize_FUNC);
-}
-#endif
-
-#ifndef NO_PickColor
-JNIEXPORT jint JNICALL OS_NATIVE(PickColor)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	ColorPickerInfo _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PickColor_FUNC);
-	if (arg0) if ((lparg0 = getColorPickerInfoFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PickColor((ColorPickerInfo *)lparg0);
-fail:
-	if (arg0 && lparg0) setColorPickerInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PickColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PopUpMenuSelect
-JNIEXPORT jint JNICALL OS_NATIVE(PopUpMenuSelect)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2, jshort arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PopUpMenuSelect_FUNC);
-	rc = (jint)PopUpMenuSelect((MenuRef)arg0, (short)arg1, (short)arg2, (short)arg3);
-	OS_NATIVE_EXIT(env, that, PopUpMenuSelect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostEvent
-JNIEXPORT jint JNICALL OS_NATIVE(PostEvent)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PostEvent_FUNC);
-	rc = (jint)PostEvent((EventKind)arg0, (UInt32)arg1);
-	OS_NATIVE_EXIT(env, that, PostEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostEventToQueue
-JNIEXPORT jint JNICALL OS_NATIVE(PostEventToQueue)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PostEventToQueue_FUNC);
-	rc = (jint)PostEventToQueue((EventQueueRef)arg0, (EventRef)arg1, (EventPriority)arg2);
-	OS_NATIVE_EXIT(env, that, PostEventToQueue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(PtInRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	Point _arg0, *lparg0=NULL;
-	Rect _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInRect_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)PtInRect(*(Point *)lparg0, (const Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PtInRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(PtInRgn)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	Point _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInRgn_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)PtInRgn(*(Point *)lparg0, (RgnHandle)arg1);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PtInRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PutScrapFlavor__IIII_3B
-JNIEXPORT jint JNICALL OS_NATIVE(PutScrapFlavor__IIII_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PutScrapFlavor__IIII_3B_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)PutScrapFlavor((ScrapRef)arg0, (ScrapFlavorType)arg1, (ScrapFlavorFlags)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, PutScrapFlavor__IIII_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PutScrapFlavor__IIII_3C
-JNIEXPORT jint JNICALL OS_NATIVE(PutScrapFlavor__IIII_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PutScrapFlavor__IIII_3C_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)PutScrapFlavor((ScrapRef)arg0, (ScrapFlavorType)arg1, (ScrapFlavorFlags)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, PutScrapFlavor__IIII_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_QDBeginCGContext
-JNIEXPORT jint JNICALL OS_NATIVE(QDBeginCGContext)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, QDBeginCGContext_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)QDBeginCGContext((CGrafPtr)arg0, (CGContextRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, QDBeginCGContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_QDEndCGContext
-JNIEXPORT jint JNICALL OS_NATIVE(QDEndCGContext)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, QDEndCGContext_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)QDEndCGContext((CGrafPtr)arg0, (CGContextRef *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, QDEndCGContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_QDFlushPortBuffer
-JNIEXPORT void JNICALL OS_NATIVE(QDFlushPortBuffer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, QDFlushPortBuffer_FUNC);
-	QDFlushPortBuffer((CGrafPtr)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, QDFlushPortBuffer_FUNC);
-}
-#endif
-
-#ifndef NO_QDGlobalToLocalPoint
-JNIEXPORT void JNICALL OS_NATIVE(QDGlobalToLocalPoint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Point _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, QDGlobalToLocalPoint_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	QDGlobalToLocalPoint((CGrafPtr)arg0, (Point *)lparg1);
-fail:
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, QDGlobalToLocalPoint_FUNC);
-}
-#endif
-
-#ifndef NO_QDLocalToGlobalPoint
-JNIEXPORT void JNICALL OS_NATIVE(QDLocalToGlobalPoint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Point _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, QDLocalToGlobalPoint_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	QDLocalToGlobalPoint((CGrafPtr)arg0, (Point *)lparg1);
-fail:
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, QDLocalToGlobalPoint_FUNC);
-}
-#endif
-
-#ifndef NO_QDRegionToRects
-JNIEXPORT jint JNICALL OS_NATIVE(QDRegionToRects)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, QDRegionToRects_FUNC);
-	rc = (jint)QDRegionToRects((RgnHandle)arg0, (QDRegionParseDirection)arg1, (RegionToRectsUPP)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, QDRegionToRects_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_QDSetDirtyRegion
-JNIEXPORT jint JNICALL OS_NATIVE(QDSetDirtyRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, QDSetDirtyRegion_FUNC);
-	rc = (jint)QDSetDirtyRegion((CGrafPtr)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, QDSetDirtyRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_QDSetPatternOrigin
-JNIEXPORT void JNICALL OS_NATIVE(QDSetPatternOrigin)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Point _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, QDSetPatternOrigin_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	QDSetPatternOrigin(*(Point *)lparg0);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, QDSetPatternOrigin_FUNC);
-}
-#endif
-
-#ifndef NO_QDSwapTextFlags
-JNIEXPORT jint JNICALL OS_NATIVE(QDSwapTextFlags)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, QDSwapTextFlags_FUNC);
-	rc = (jint)QDSwapTextFlags((UInt32)arg0);
-	OS_NATIVE_EXIT(env, that, QDSwapTextFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RGBBackColor
-JNIEXPORT void JNICALL OS_NATIVE(RGBBackColor)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	RGBColor _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, RGBBackColor_FUNC);
-	if (arg0) if ((lparg0 = getRGBColorFields(env, arg0, &_arg0)) == NULL) goto fail;
-	RGBBackColor((const RGBColor *)lparg0);
-fail:
-	if (arg0 && lparg0) setRGBColorFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, RGBBackColor_FUNC);
-}
-#endif
-
-#ifndef NO_RGBForeColor
-JNIEXPORT void JNICALL OS_NATIVE(RGBForeColor)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	RGBColor _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, RGBForeColor_FUNC);
-	if (arg0) if ((lparg0 = getRGBColorFields(env, arg0, &_arg0)) == NULL) goto fail;
-	RGBForeColor((const RGBColor *)lparg0);
-fail:
-	if (arg0 && lparg0) setRGBColorFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, RGBForeColor_FUNC);
-}
-#endif
-
-#ifndef NO_ReadIconFile
-JNIEXPORT jint JNICALL OS_NATIVE(ReadIconFile)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jintArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReadIconFile_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)ReadIconFile((const FSSpec *)lparg0, (IconFamilyHandle *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ReadIconFile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReceiveNextEvent
-JNIEXPORT jint JNICALL OS_NATIVE(ReceiveNextEvent)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jdouble arg2, jboolean arg3, jintArray arg4)
-{
-	jint *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReceiveNextEvent_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ReceiveNextEvent((UInt32)arg0, (const EventTypeSpec *)lparg1, (EventTimeout)arg2, (Boolean)arg3, (EventRef *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ReceiveNextEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RectInRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(RectInRgn)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	Rect _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RectInRgn_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)RectInRgn((const Rect *)lparg0, (RgnHandle)arg1);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, RectInRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RectRgn
-JNIEXPORT void JNICALL OS_NATIVE(RectRgn)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, RectRgn_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	RectRgn((RgnHandle)arg0, (const Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, RectRgn_FUNC);
-}
-#endif
-
-#ifndef NO_RegisterAppearanceClient
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterAppearanceClient)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterAppearanceClient_FUNC);
-	rc = (jint)RegisterAppearanceClient();
-	OS_NATIVE_EXIT(env, that, RegisterAppearanceClient_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseEvent
-JNIEXPORT void JNICALL OS_NATIVE(ReleaseEvent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, ReleaseEvent_FUNC);
-	ReleaseEvent((EventRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReleaseEvent_FUNC);
-}
-#endif
-
-#ifndef NO_ReleaseIconRef
-JNIEXPORT void JNICALL OS_NATIVE(ReleaseIconRef)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, ReleaseIconRef_FUNC);
-	ReleaseIconRef((IconRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReleaseIconRef_FUNC);
-}
-#endif
-
-#ifndef NO_ReleaseMenu
-JNIEXPORT jint JNICALL OS_NATIVE(ReleaseMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReleaseMenu_FUNC);
-	rc = (jint)ReleaseMenu((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReleaseMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseWindow
-JNIEXPORT jint JNICALL OS_NATIVE(ReleaseWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReleaseWindow_FUNC);
-	rc = (jint)ReleaseWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReleaseWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseWindowGroup
-JNIEXPORT jint JNICALL OS_NATIVE(ReleaseWindowGroup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReleaseWindowGroup_FUNC);
-	rc = (jint)ReleaseWindowGroup((WindowGroupRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReleaseWindowGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveControlProperty
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveControlProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveControlProperty_FUNC);
-	rc = (jint)RemoveControlProperty((ControlRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, RemoveControlProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveDataBrowserItems
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveDataBrowserItems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveDataBrowserItems_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)RemoveDataBrowserItems((ControlRef)arg0, (DataBrowserItemID)arg1, (UInt32)arg2, (const DataBrowserItemID *)lparg3, (DataBrowserPropertyID)arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, RemoveDataBrowserItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveDataBrowserTableViewColumn
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveDataBrowserTableViewColumn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveDataBrowserTableViewColumn_FUNC);
-	rc = (jint)RemoveDataBrowserTableViewColumn((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1);
-	OS_NATIVE_EXIT(env, that, RemoveDataBrowserTableViewColumn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveEventHandler
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveEventHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveEventHandler_FUNC);
-	rc = (jint)RemoveEventHandler((EventHandlerRef)arg0);
-	OS_NATIVE_EXIT(env, that, RemoveEventHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveEventLoopTimer
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveEventLoopTimer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveEventLoopTimer_FUNC);
-	rc = (jint)RemoveEventLoopTimer((EventLoopTimerRef)arg0);
-	OS_NATIVE_EXIT(env, that, RemoveEventLoopTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveReceiveHandler
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveReceiveHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveReceiveHandler_FUNC);
-	rc = (jint)RemoveReceiveHandler((DragReceiveHandlerUPP)arg0, (WindowRef)arg1);
-	OS_NATIVE_EXIT(env, that, RemoveReceiveHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveTrackingHandler
-JNIEXPORT jint JNICALL OS_NATIVE(RemoveTrackingHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveTrackingHandler_FUNC);
-	rc = (jint)RemoveTrackingHandler((DragTrackingHandlerUPP)arg0, (WindowRef)arg1);
-	OS_NATIVE_EXIT(env, that, RemoveTrackingHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RepositionWindow
-JNIEXPORT jint JNICALL OS_NATIVE(RepositionWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RepositionWindow_FUNC);
-	rc = (jint)RepositionWindow((WindowRef)arg0, (WindowRef)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, RepositionWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReshapeCustomWindow
-JNIEXPORT jint JNICALL OS_NATIVE(ReshapeCustomWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReshapeCustomWindow_FUNC);
-	rc = (jint)ReshapeCustomWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, ReshapeCustomWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RestoreApplicationDockTileImage
-JNIEXPORT jint JNICALL OS_NATIVE(RestoreApplicationDockTileImage)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RestoreApplicationDockTileImage_FUNC);
-	rc = (jint)RestoreApplicationDockTileImage();
-	OS_NATIVE_EXIT(env, that, RestoreApplicationDockTileImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RetainEvent
-JNIEXPORT jint JNICALL OS_NATIVE(RetainEvent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RetainEvent_FUNC);
-	rc = (jint)RetainEvent((EventRef)arg0);
-	OS_NATIVE_EXIT(env, that, RetainEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RetainMenu
-JNIEXPORT jint JNICALL OS_NATIVE(RetainMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RetainMenu_FUNC);
-	rc = (jint)RetainMenu((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, RetainMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RetainWindow
-JNIEXPORT jint JNICALL OS_NATIVE(RetainWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RetainWindow_FUNC);
-	rc = (jint)RetainWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, RetainWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RevealDataBrowserItem
-JNIEXPORT jint JNICALL OS_NATIVE(RevealDataBrowserItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyte arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RevealDataBrowserItem_FUNC);
-	rc = (jint)RevealDataBrowserItem((ControlRef)arg0, (DataBrowserItemID)arg1, (DataBrowserPropertyID)arg2, (DataBrowserRevealOptions)arg3);
-	OS_NATIVE_EXIT(env, that, RevealDataBrowserItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RunStandardAlert
-JNIEXPORT jint JNICALL OS_NATIVE(RunStandardAlert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RunStandardAlert_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)RunStandardAlert((DialogRef)arg0, (ModalFilterUPP)arg1, (DialogItemIndex *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, RunStandardAlert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScrollRect
-JNIEXPORT void JNICALL OS_NATIVE(ScrollRect)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2, jint arg3)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, ScrollRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	ScrollRect((const Rect *)lparg0, (short)arg1, (short)arg2, (RgnHandle)arg3);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ScrollRect_FUNC);
-}
-#endif
-
-#ifndef NO_SectRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(SectRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	Rect _arg1, *lparg1=NULL;
-	Rect _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SectRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jboolean)SectRect(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SectRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SectRgn
-JNIEXPORT void JNICALL OS_NATIVE(SectRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, SectRgn_FUNC);
-	SectRgn((RgnHandle)arg0, (RgnHandle)arg1, (RgnHandle)arg2);
-	OS_NATIVE_EXIT(env, that, SectRgn_FUNC);
-}
-#endif
-
-#ifndef NO_SelectWindow
-JNIEXPORT void JNICALL OS_NATIVE(SelectWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, SelectWindow_FUNC);
-	SelectWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, SelectWindow_FUNC);
-}
-#endif
-
-#ifndef NO_SendBehind
-JNIEXPORT void JNICALL OS_NATIVE(SendBehind)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SendBehind_FUNC);
-	SendBehind((WindowRef)arg0, (WindowRef)arg1);
-	OS_NATIVE_EXIT(env, that, SendBehind_FUNC);
-}
-#endif
-
-#ifndef NO_SendEventToEventTarget
-JNIEXPORT jint JNICALL OS_NATIVE(SendEventToEventTarget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendEventToEventTarget_FUNC);
-	rc = (jint)SendEventToEventTarget((EventRef)arg0, (EventTargetRef)arg1);
-	OS_NATIVE_EXIT(env, that, SendEventToEventTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendEventToEventTargetWithOptions
-JNIEXPORT jint JNICALL OS_NATIVE(SendEventToEventTargetWithOptions)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendEventToEventTargetWithOptions_FUNC);
-	rc = (jint)SendEventToEventTargetWithOptions((EventRef)arg0, (EventTargetRef)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SendEventToEventTargetWithOptions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetApplicationDockTileImage
-JNIEXPORT jint JNICALL OS_NATIVE(SetApplicationDockTileImage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetApplicationDockTileImage_FUNC);
-	rc = (jint)SetApplicationDockTileImage((CGImageRef)arg0);
-	OS_NATIVE_EXIT(env, that, SetApplicationDockTileImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetAutomaticControlDragTrackingEnabledForWindow
-JNIEXPORT jint JNICALL OS_NATIVE(SetAutomaticControlDragTrackingEnabledForWindow)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetAutomaticControlDragTrackingEnabledForWindow_FUNC);
-	rc = (jint)SetAutomaticControlDragTrackingEnabledForWindow((WindowRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, SetAutomaticControlDragTrackingEnabledForWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetBevelButtonContentInfo
-JNIEXPORT jint JNICALL OS_NATIVE(SetBevelButtonContentInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ControlButtonContentInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetBevelButtonContentInfo_FUNC);
-	if (arg1) if ((lparg1 = getControlButtonContentInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)SetBevelButtonContentInfo((ControlRef)arg0, (ControlButtonContentInfoPtr)lparg1);
-fail:
-	if (arg1 && lparg1) setControlButtonContentInfoFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetBevelButtonContentInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetClip
-JNIEXPORT void JNICALL OS_NATIVE(SetClip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, SetClip_FUNC);
-	SetClip((RgnHandle)arg0);
-	OS_NATIVE_EXIT(env, that, SetClip_FUNC);
-}
-#endif
-
-#ifndef NO_SetControl32BitMaximum
-JNIEXPORT void JNICALL OS_NATIVE(SetControl32BitMaximum)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControl32BitMaximum_FUNC);
-	SetControl32BitMaximum((ControlRef)arg0, (SInt32)arg1);
-	OS_NATIVE_EXIT(env, that, SetControl32BitMaximum_FUNC);
-}
-#endif
-
-#ifndef NO_SetControl32BitMinimum
-JNIEXPORT void JNICALL OS_NATIVE(SetControl32BitMinimum)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControl32BitMinimum_FUNC);
-	SetControl32BitMinimum((ControlRef)arg0, (SInt32)arg1);
-	OS_NATIVE_EXIT(env, that, SetControl32BitMinimum_FUNC);
-}
-#endif
-
-#ifndef NO_SetControl32BitValue
-JNIEXPORT void JNICALL OS_NATIVE(SetControl32BitValue)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControl32BitValue_FUNC);
-	SetControl32BitValue((ControlRef)arg0, (SInt32)arg1);
-	OS_NATIVE_EXIT(env, that, SetControl32BitValue_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlAction
-JNIEXPORT void JNICALL OS_NATIVE(SetControlAction)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControlAction_FUNC);
-	SetControlAction((ControlRef)arg0, (ControlActionUPP)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlAction_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlBounds
-JNIEXPORT void JNICALL OS_NATIVE(SetControlBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, SetControlBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	SetControlBounds((ControlRef)arg0, (const Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetControlBounds_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlColorProc
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlColorProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlColorProc_FUNC);
-	rc = (jint)SetControlColorProc((ControlRef)arg0, (ControlColorUPP)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlColorProc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIIII
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIIII_FUNC);
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)arg4);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	ControlButtonContentInfo _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2_FUNC);
-	if (arg4) if ((lparg4 = getControlButtonContentInfoFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setControlButtonContentInfoFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	ControlEditTextSelectionRec _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_FUNC);
-	if (arg4) if ((lparg4 = getControlEditTextSelectionRecFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setControlEditTextSelectionRecFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	ControlTabInfoRecV1 _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2_FUNC);
-	if (arg4) if ((lparg4 = getControlTabInfoRecV1Fields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setControlTabInfoRecV1Fields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	Rect _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2_FUNC);
-	if (arg4) if ((lparg4 = getRectFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setRectFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIII_3B
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIII_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIII_3B_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIII_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIII_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIII_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlData__IIII_3S
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlData__IIII_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jshortArray arg4)
-{
-	jshort *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlData__IIII_3S_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetControlData((ControlRef)arg0, (ControlPartCode)arg1, (ResType)arg2, (Size)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetControlData__IIII_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlFontStyle
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlFontStyle)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ControlFontStyleRec _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlFontStyle_FUNC);
-	if (arg1) if ((lparg1 = getControlFontStyleRecFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)SetControlFontStyle((ControlRef)arg0, (const ControlFontStyleRec *)lparg1);
-fail:
-	if (arg1 && lparg1) setControlFontStyleRecFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetControlFontStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlPopupMenuHandle
-JNIEXPORT void JNICALL OS_NATIVE(SetControlPopupMenuHandle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControlPopupMenuHandle_FUNC);
-	SetControlPopupMenuHandle((ControlRef)arg0, (MenuRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlPopupMenuHandle_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlProperty
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlProperty_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetControlProperty((ControlRef)arg0, arg1, arg2, arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetControlProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlReference
-JNIEXPORT void JNICALL OS_NATIVE(SetControlReference)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControlReference_FUNC);
-	SetControlReference((ControlRef)arg0, (SInt32)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlReference_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlTitleWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlTitleWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlTitleWithCFString_FUNC);
-	rc = (jint)SetControlTitleWithCFString((ControlRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlTitleWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetControlViewSize
-JNIEXPORT void JNICALL OS_NATIVE(SetControlViewSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetControlViewSize_FUNC);
-	SetControlViewSize((ControlRef)arg0, (SInt32)arg1);
-	OS_NATIVE_EXIT(env, that, SetControlViewSize_FUNC);
-}
-#endif
-
-#ifndef NO_SetControlVisibility
-JNIEXPORT jint JNICALL OS_NATIVE(SetControlVisibility)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetControlVisibility_FUNC);
-	rc = (jint)SetControlVisibility((ControlRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetControlVisibility_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetCursor
-JNIEXPORT void JNICALL OS_NATIVE(SetCursor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, SetCursor_FUNC);
-	SetCursor((const Cursor *)arg0);
-	OS_NATIVE_EXIT(env, that, SetCursor_FUNC);
-}
-#endif
-
-#ifndef NO_SetDataBrowserCallbacks
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserCallbacks)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DataBrowserCallbacks _arg1={0}, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserCallbacks_FUNC);
-	if (arg1) if ((lparg1 = getDataBrowserCallbacksFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)SetDataBrowserCallbacks((ControlRef)arg0, (const DataBrowserCallbacks *)lparg1);
-fail:
-	if (arg1 && lparg1) setDataBrowserCallbacksFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserCallbacks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserCustomCallbacks
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserCustomCallbacks)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DataBrowserCustomCallbacks _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserCustomCallbacks_FUNC);
-	if (arg1) if ((lparg1 = getDataBrowserCustomCallbacksFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)SetDataBrowserCustomCallbacks((ControlRef)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setDataBrowserCustomCallbacksFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserCustomCallbacks_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserHasScrollBars
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserHasScrollBars)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserHasScrollBars_FUNC);
-	rc = (jint)SetDataBrowserHasScrollBars((ControlRef)arg0, (Boolean)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserHasScrollBars_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserItemDataBooleanValue
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserItemDataBooleanValue)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserItemDataBooleanValue_FUNC);
-	rc = (jint)SetDataBrowserItemDataBooleanValue((DataBrowserItemDataRef)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserItemDataBooleanValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserItemDataButtonValue
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserItemDataButtonValue)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserItemDataButtonValue_FUNC);
-	rc = (jint)SetDataBrowserItemDataButtonValue((DataBrowserItemDataRef)arg0, (ThemeButtonValue)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserItemDataButtonValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserItemDataIcon
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserItemDataIcon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserItemDataIcon_FUNC);
-	rc = (jint)SetDataBrowserItemDataIcon((DataBrowserItemDataRef)arg0, (IconRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserItemDataIcon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserItemDataItemID
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserItemDataItemID)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserItemDataItemID_FUNC);
-	rc = (jint)SetDataBrowserItemDataItemID((DataBrowserItemDataRef)arg0, (DataBrowserItemID)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserItemDataItemID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserItemDataText
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserItemDataText)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserItemDataText_FUNC);
-	rc = (jint)SetDataBrowserItemDataText((DataBrowserItemDataRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserItemDataText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserListViewDisclosureColumn
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserListViewDisclosureColumn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserListViewDisclosureColumn_FUNC);
-	rc = (jint)SetDataBrowserListViewDisclosureColumn((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserListViewDisclosureColumn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserListViewHeaderBtnHeight
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserListViewHeaderBtnHeight)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserListViewHeaderBtnHeight_FUNC);
-	rc = (jint)SetDataBrowserListViewHeaderBtnHeight((ControlRef)arg0, (UInt16)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserListViewHeaderBtnHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserListViewHeaderDesc
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserListViewHeaderDesc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	DataBrowserListViewHeaderDesc _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserListViewHeaderDesc_FUNC);
-	if (arg2) if ((lparg2 = getDataBrowserListViewHeaderDescFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)SetDataBrowserListViewHeaderDesc((ControlRef)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setDataBrowserListViewHeaderDescFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserListViewHeaderDesc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserPropertyFlags
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserPropertyFlags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserPropertyFlags_FUNC);
-	rc = (jint)SetDataBrowserPropertyFlags((ControlRef)arg0, (DataBrowserPropertyID)arg1, (DataBrowserPropertyFlags)arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserPropertyFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserScrollPosition
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserScrollPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserScrollPosition_FUNC);
-	rc = (jint)SetDataBrowserScrollPosition((ControlRef)arg0, (UInt32)arg1, (UInt32)arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserScrollPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserSelectedItems
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserSelectedItems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserSelectedItems_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)SetDataBrowserSelectedItems((ControlRef)arg0, (UInt32)arg1, (const DataBrowserItemID *)lparg2, (DataBrowserSetOption)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserSelectedItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserSelectionFlags
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserSelectionFlags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserSelectionFlags_FUNC);
-	rc = (jint)SetDataBrowserSelectionFlags((ControlRef)arg0, (DataBrowserSelectionFlags)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserSelectionFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserSortOrder
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserSortOrder)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserSortOrder_FUNC);
-	rc = (jint)SetDataBrowserSortOrder((ControlRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserSortOrder_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserSortProperty
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserSortProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserSortProperty_FUNC);
-	rc = (jint)SetDataBrowserSortProperty((ControlRef)arg0, (DataBrowserPropertyID)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserSortProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTableViewColumnPosition
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTableViewColumnPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTableViewColumnPosition_FUNC);
-	rc = (jint)SetDataBrowserTableViewColumnPosition((ControlRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTableViewColumnPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTableViewHiliteStyle
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTableViewHiliteStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTableViewHiliteStyle_FUNC);
-	rc = (jint)SetDataBrowserTableViewHiliteStyle((ControlRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTableViewHiliteStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTableViewItemRow
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTableViewItemRow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTableViewItemRow_FUNC);
-	rc = (jint)SetDataBrowserTableViewItemRow((ControlRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTableViewItemRow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTableViewNamedColumnWidth
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTableViewNamedColumnWidth)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTableViewNamedColumnWidth_FUNC);
-	rc = (jint)SetDataBrowserTableViewNamedColumnWidth((ControlRef)arg0, (DataBrowserTableViewColumnID)arg1, (UInt16)arg2);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTableViewNamedColumnWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTableViewRowHeight
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTableViewRowHeight)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTableViewRowHeight_FUNC);
-	rc = (jint)SetDataBrowserTableViewRowHeight((ControlRef)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTableViewRowHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDataBrowserTarget
-JNIEXPORT jint JNICALL OS_NATIVE(SetDataBrowserTarget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDataBrowserTarget_FUNC);
-	rc = (jint)SetDataBrowserTarget((ControlRef)arg0, (DataBrowserItemID)arg1);
-	OS_NATIVE_EXIT(env, that, SetDataBrowserTarget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragAllowableActions
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragAllowableActions)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragAllowableActions_FUNC);
-	rc = (jint)SetDragAllowableActions((DragRef)arg0, (DragActions)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetDragAllowableActions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragDropAction
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragDropAction)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragDropAction_FUNC);
-	rc = (jint)SetDragDropAction((DragRef)arg0, (DragActions)arg1);
-	OS_NATIVE_EXIT(env, that, SetDragDropAction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragImageWithCGImage
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragImageWithCGImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	CGPoint _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragImageWithCGImage_FUNC);
-	if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)SetDragImageWithCGImage((DragRef)arg0, (CGImageRef)arg1, (HIPoint *)lparg2, (DragImageFlags)arg3);
-fail:
-	if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SetDragImageWithCGImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragInputProc
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragInputProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragInputProc_FUNC);
-	rc = (jint)SetDragInputProc((DragRef)arg0, (DragInputUPP)arg1, (void *)arg2);
-	OS_NATIVE_EXIT(env, that, SetDragInputProc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragItemFlavorData
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragItemFlavorData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragItemFlavorData_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SetDragItemFlavorData((DragRef)arg0, (DragItemRef)arg1, (FlavorType)arg2, (const void *)lparg3, (Size)arg4, (UInt32)arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SetDragItemFlavorData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDragSendProc
-JNIEXPORT jint JNICALL OS_NATIVE(SetDragSendProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDragSendProc_FUNC);
-	rc = (jint)SetDragSendProc((DragRef)arg0, (DragSendDataUPP)arg1, (void *)arg2);
-	OS_NATIVE_EXIT(env, that, SetDragSendProc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventLoopTimerNextFireTime
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventLoopTimerNextFireTime)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventLoopTimerNextFireTime_FUNC);
-	rc = (jint)SetEventLoopTimerNextFireTime((EventLoopTimerRef)arg0, (EventTimerInterval)arg1);
-	OS_NATIVE_EXIT(env, that, SetEventLoopTimerNextFireTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	CGPoint _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC);
-	if (arg4) if ((lparg4 = getCGPointFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setCGPointFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	HICommand _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC);
-	if (arg4) if ((lparg4 = getHICommandFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) setHICommandFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIII_3C
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIII_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIII_3C_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIII_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIII_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIII_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIII_3S
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIII_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jshortArray arg4)
-{
-	jshort *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIII_3S_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIII_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetEventParameter__IIII_3Z
-JNIEXPORT jint JNICALL OS_NATIVE(SetEventParameter__IIII_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbooleanArray arg4)
-{
-	jboolean *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetEventParameter__IIII_3Z_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetBooleanArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)SetEventParameter((EventRef)arg0, (EventParamName)arg1, (EventParamType)arg2, (UInt32)arg3, (const void *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseBooleanArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, SetEventParameter__IIII_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetFontInfoForSelection
-JNIEXPORT jint JNICALL OS_NATIVE(SetFontInfoForSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetFontInfoForSelection_FUNC);
-	rc = (jint)SetFontInfoForSelection((OSType)arg0, (UInt32)arg1, (void *)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, SetFontInfoForSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetFrontProcess
-JNIEXPORT jint JNICALL OS_NATIVE(SetFrontProcess)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetFrontProcess_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)SetFrontProcess((const ProcessSerialNumber *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, SetFrontProcess_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetFrontProcessWithOptions
-JNIEXPORT jint JNICALL OS_NATIVE(SetFrontProcessWithOptions)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetFrontProcessWithOptions_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)SetFrontProcessWithOptions((const ProcessSerialNumber *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, SetFrontProcessWithOptions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetGWorld
-JNIEXPORT void JNICALL OS_NATIVE(SetGWorld)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetGWorld_FUNC);
-	SetGWorld((CGrafPtr)arg0, (GDHandle)arg1);
-	OS_NATIVE_EXIT(env, that, SetGWorld_FUNC);
-}
-#endif
-
-#ifndef NO_SetIconFamilyData
-JNIEXPORT jint JNICALL OS_NATIVE(SetIconFamilyData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetIconFamilyData_FUNC);
-	rc = (jint)SetIconFamilyData((IconFamilyHandle)arg0, (OSType)arg1, (Handle)arg2);
-	OS_NATIVE_EXIT(env, that, SetIconFamilyData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetItemMark
-JNIEXPORT void JNICALL OS_NATIVE(SetItemMark)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	OS_NATIVE_ENTER(env, that, SetItemMark_FUNC);
-	SetItemMark((MenuRef)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetItemMark_FUNC);
-}
-#endif
-
-#ifndef NO_SetKeyboardFocus
-JNIEXPORT jint JNICALL OS_NATIVE(SetKeyboardFocus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetKeyboardFocus_FUNC);
-	rc = (jint)SetKeyboardFocus((WindowRef)arg0, (ControlRef)arg1, (ControlFocusPart)arg2);
-	OS_NATIVE_EXIT(env, that, SetKeyboardFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuCommandMark
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuCommandMark)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jchar arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuCommandMark_FUNC);
-	rc = (jint)SetMenuCommandMark((MenuRef)arg0, (MenuCommand)arg1, (UniChar)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuCommandMark_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuFont
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuFont)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuFont_FUNC);
-	rc = (jint)SetMenuFont((MenuRef)arg0, (SInt16)arg1, (UInt16)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemCommandKey
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemCommandKey)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jboolean arg2, jchar arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemCommandKey_FUNC);
-	rc = (jint)SetMenuItemCommandKey((MenuRef)arg0, (MenuItemIndex)arg1, (Boolean)arg2, (UInt16)arg3);
-	OS_NATIVE_EXIT(env, that, SetMenuItemCommandKey_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemHierarchicalMenu
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemHierarchicalMenu)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemHierarchicalMenu_FUNC);
-	rc = (jint)SetMenuItemHierarchicalMenu((MenuRef)arg0, (MenuItemIndex)arg1, (MenuRef)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuItemHierarchicalMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemIconHandle
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemIconHandle)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jbyte arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemIconHandle_FUNC);
-	rc = (jint)SetMenuItemIconHandle((MenuRef)arg0, (SInt16)arg1, (UInt8)arg2, (Handle)arg3);
-	OS_NATIVE_EXIT(env, that, SetMenuItemIconHandle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemKeyGlyph
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemKeyGlyph)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemKeyGlyph_FUNC);
-	rc = (jint)SetMenuItemKeyGlyph((MenuRef)arg0, (SInt16)arg1, (SInt16)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuItemKeyGlyph_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemModifiers
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemModifiers)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jbyte arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemModifiers_FUNC);
-	rc = (jint)SetMenuItemModifiers((MenuRef)arg0, (SInt16)arg1, (UInt8)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuItemModifiers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemRefCon
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemRefCon)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemRefCon_FUNC);
-	rc = (jint)SetMenuItemRefCon((MenuRef)arg0, (SInt16)arg1, (UInt32)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuItemRefCon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemTextWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuItemTextWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemTextWithCFString_FUNC);
-	rc = (jint)SetMenuItemTextWithCFString((MenuRef)arg0, (MenuItemIndex)arg1, (CFStringRef)arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuItemTextWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuTitleWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(SetMenuTitleWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuTitleWithCFString_FUNC);
-	rc = (jint)SetMenuTitleWithCFString((MenuRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetMenuTitleWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetOrigin
-JNIEXPORT void JNICALL OS_NATIVE(SetOrigin)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetOrigin_FUNC);
-	SetOrigin((short)arg0, (short)arg1);
-	OS_NATIVE_EXIT(env, that, SetOrigin_FUNC);
-}
-#endif
-
-#ifndef NO_SetPort
-JNIEXPORT void JNICALL OS_NATIVE(SetPort)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, SetPort_FUNC);
-	SetPort((GrafPtr)arg0);
-	OS_NATIVE_EXIT(env, that, SetPort_FUNC);
-}
-#endif
-
-#ifndef NO_SetPortBounds
-JNIEXPORT void JNICALL OS_NATIVE(SetPortBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, SetPortBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	SetPortBounds((CGrafPtr)arg0, (const Rect *)lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetPortBounds_FUNC);
-}
-#endif
-
-#ifndef NO_SetPortWindowPort
-JNIEXPORT void JNICALL OS_NATIVE(SetPortWindowPort)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, SetPortWindowPort_FUNC);
-	SetPortWindowPort((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, SetPortWindowPort_FUNC);
-}
-#endif
-
-#ifndef NO_SetPt
-JNIEXPORT void JNICALL OS_NATIVE(SetPt)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2)
-{
-	Point _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, SetPt_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	SetPt((Point *)lparg0, (short)arg1, (short)arg2);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SetPt_FUNC);
-}
-#endif
-
-#ifndef NO_SetRect
-JNIEXPORT void JNICALL OS_NATIVE(SetRect)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2, jshort arg3, jshort arg4)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, SetRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	SetRect((Rect *)lparg0, (short)arg1, (short)arg2, (short)arg3, (short)arg4);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SetRect_FUNC);
-}
-#endif
-
-#ifndef NO_SetRectRgn
-JNIEXPORT void JNICALL OS_NATIVE(SetRectRgn)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2, jshort arg3, jshort arg4)
-{
-	OS_NATIVE_ENTER(env, that, SetRectRgn_FUNC);
-	SetRectRgn((RgnHandle)arg0, (short)arg1, (short)arg2, (short)arg3, (short)arg4);
-	OS_NATIVE_EXIT(env, that, SetRectRgn_FUNC);
-}
-#endif
-
-#ifndef NO_SetRootMenu
-JNIEXPORT jint JNICALL OS_NATIVE(SetRootMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetRootMenu_FUNC);
-	rc = (jint)SetRootMenu((MenuRef)arg0);
-	OS_NATIVE_EXIT(env, that, SetRootMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetThemeBackground
-JNIEXPORT jint JNICALL OS_NATIVE(SetThemeBackground)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetThemeBackground_FUNC);
-	rc = (jint)SetThemeBackground((ThemeBrush)arg0, (SInt16)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetThemeBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetThemeCursor
-JNIEXPORT jint JNICALL OS_NATIVE(SetThemeCursor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetThemeCursor_FUNC);
-	rc = (jint)SetThemeCursor((ThemeCursor)arg0);
-	OS_NATIVE_EXIT(env, that, SetThemeCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetThemeDrawingState
-JNIEXPORT jint JNICALL OS_NATIVE(SetThemeDrawingState)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetThemeDrawingState_FUNC);
-	rc = (jint)SetThemeDrawingState((ThemeDrawingState)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, SetThemeDrawingState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetThemeTextColor
-JNIEXPORT jint JNICALL OS_NATIVE(SetThemeTextColor)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetThemeTextColor_FUNC);
-	rc = (jint)SetThemeTextColor(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetThemeTextColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetThemeWindowBackground
-JNIEXPORT jint JNICALL OS_NATIVE(SetThemeWindowBackground)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetThemeWindowBackground_FUNC);
-	rc = (jint)SetThemeWindowBackground((WindowRef)arg0, (ThemeBrush)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetThemeWindowBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetUpControlBackground
-JNIEXPORT jint JNICALL OS_NATIVE(SetUpControlBackground)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetUpControlBackground_FUNC);
-	rc = (jint)SetUpControlBackground((ControlRef)arg0, (SInt16)arg1, (Boolean)arg2);
-	OS_NATIVE_EXIT(env, that, SetUpControlBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWRefCon
-JNIEXPORT void JNICALL OS_NATIVE(SetWRefCon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, SetWRefCon_FUNC);
-	SetWRefCon((WindowRef)arg0, (long)arg1);
-	OS_NATIVE_EXIT(env, that, SetWRefCon_FUNC);
-}
-#endif
-
-#ifndef NO_SetWindowActivationScope
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowActivationScope)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowActivationScope_FUNC);
-	rc = (jint)SetWindowActivationScope((WindowRef)arg0, (WindowActivationScope)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowActivationScope_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowBounds
-JNIEXPORT void JNICALL OS_NATIVE(SetWindowBounds)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	Rect _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, SetWindowBounds_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	SetWindowBounds((WindowRef)arg0, (WindowRegionCode)arg1, (Rect *)lparg2);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SetWindowBounds_FUNC);
-}
-#endif
-
-#ifndef NO_SetWindowDefaultButton
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowDefaultButton)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowDefaultButton_FUNC);
-	rc = (jint)SetWindowDefaultButton((WindowRef)arg0, (ControlRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowDefaultButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowGroup
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowGroup)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowGroup_FUNC);
-	rc = (jint)SetWindowGroup((WindowRef)arg0, (WindowGroupRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowGroupOwner
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowGroupOwner)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowGroupOwner_FUNC);
-	rc = (jint)SetWindowGroupOwner((WindowGroupRef)arg0, (WindowRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowGroupOwner_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowGroupParent
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowGroupParent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowGroupParent_FUNC);
-	rc = (jint)SetWindowGroupParent((WindowGroupRef)arg0, (WindowGroupRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowGroupParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowModality
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowModality)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowModality_FUNC);
-	rc = (jint)SetWindowModality((WindowRef)arg0, (WindowModality)arg1, (WindowRef)arg2);
-	OS_NATIVE_EXIT(env, that, SetWindowModality_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowResizeLimits
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowResizeLimits)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	CGPoint _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowResizeLimits_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)SetWindowResizeLimits((WindowRef)arg0, (HISize *)lparg1, (HISize *)lparg2);
-fail:
-	if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetWindowResizeLimits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowTitleWithCFString
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowTitleWithCFString)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowTitleWithCFString_FUNC);
-	rc = (jint)SetWindowTitleWithCFString((WindowRef)arg0, (CFStringRef)arg1);
-	OS_NATIVE_EXIT(env, that, SetWindowTitleWithCFString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShowWindow
-JNIEXPORT void JNICALL OS_NATIVE(ShowWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, ShowWindow_FUNC);
-	ShowWindow((WindowRef)arg0);
-	OS_NATIVE_EXIT(env, that, ShowWindow_FUNC);
-}
-#endif
-
-#ifndef NO_SizeControl
-JNIEXPORT void JNICALL OS_NATIVE(SizeControl)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	OS_NATIVE_ENTER(env, that, SizeControl_FUNC);
-	SizeControl((ControlRef)arg0, (SInt16)arg1, (SInt16)arg2);
-	OS_NATIVE_EXIT(env, that, SizeControl_FUNC);
-}
-#endif
-
-#ifndef NO_SizeWindow
-JNIEXPORT void JNICALL OS_NATIVE(SizeWindow)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2, jboolean arg3)
-{
-	OS_NATIVE_ENTER(env, that, SizeWindow_FUNC);
-	SizeWindow((WindowRef)arg0, (short)arg1, (short)arg2, (Boolean)arg3);
-	OS_NATIVE_EXIT(env, that, SizeWindow_FUNC);
-}
-#endif
-
-#ifndef NO_StillDown
-JNIEXPORT jboolean JNICALL OS_NATIVE(StillDown)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, StillDown_FUNC);
-	rc = (jboolean)StillDown();
-	OS_NATIVE_EXIT(env, that, StillDown_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SyncCGContextOriginWithPort
-JNIEXPORT jint JNICALL OS_NATIVE(SyncCGContextOriginWithPort)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SyncCGContextOriginWithPort_FUNC);
-	rc = (jint)SyncCGContextOriginWithPort((CGContextRef)arg0, (CGrafPtr)arg1);
-	OS_NATIVE_EXIT(env, that, SyncCGContextOriginWithPort_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SysBeep
-JNIEXPORT void JNICALL OS_NATIVE(SysBeep)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, SysBeep_FUNC);
-	SysBeep((short)arg0);
-	OS_NATIVE_EXIT(env, that, SysBeep_FUNC);
-}
-#endif
-
-#ifndef NO_TXNActivate
-JNIEXPORT jint JNICALL OS_NATIVE(TXNActivate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNActivate_FUNC);
-	rc = (jint)TXNActivate((TXNObject)arg0, (TXNFrameID)arg1, (TXNScrollBarState)arg2);
-	OS_NATIVE_EXIT(env, that, TXNActivate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNAdjustCursor
-JNIEXPORT void JNICALL OS_NATIVE(TXNAdjustCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, TXNAdjustCursor_FUNC);
-	TXNAdjustCursor((TXNObject)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, TXNAdjustCursor_FUNC);
-}
-#endif
-
-#ifndef NO_TXNClick
-JNIEXPORT void JNICALL OS_NATIVE(TXNClick)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	EventRecord _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, TXNClick_FUNC);
-	if (arg1) if ((lparg1 = getEventRecordFields(env, arg1, &_arg1)) == NULL) goto fail;
-	TXNClick((TXNObject)arg0, (const EventRecord *)lparg1);
-fail:
-	if (arg1 && lparg1) setEventRecordFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNClick_FUNC);
-}
-#endif
-
-#ifndef NO_TXNCopy
-JNIEXPORT jint JNICALL OS_NATIVE(TXNCopy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNCopy_FUNC);
-	rc = (jint)TXNCopy((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNCut
-JNIEXPORT jint JNICALL OS_NATIVE(TXNCut)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNCut_FUNC);
-	rc = (jint)TXNCut((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNCut_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNDataSize
-JNIEXPORT jint JNICALL OS_NATIVE(TXNDataSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNDataSize_FUNC);
-	rc = (jint)TXNDataSize((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNDataSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNDeleteObject
-JNIEXPORT void JNICALL OS_NATIVE(TXNDeleteObject)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, TXNDeleteObject_FUNC);
-	TXNDeleteObject((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNDeleteObject_FUNC);
-}
-#endif
-
-#ifndef NO_TXNDraw
-JNIEXPORT void JNICALL OS_NATIVE(TXNDraw)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, TXNDraw_FUNC);
-	TXNDraw((TXNObject)arg0, (GWorldPtr)arg1);
-	OS_NATIVE_EXIT(env, that, TXNDraw_FUNC);
-}
-#endif
-
-#ifndef NO_TXNEchoMode
-JNIEXPORT jint JNICALL OS_NATIVE(TXNEchoMode)
-	(JNIEnv *env, jclass that, jint arg0, jchar arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNEchoMode_FUNC);
-	rc = (jint)TXNEchoMode((TXNObject)arg0, (UniChar)arg1, (TextEncoding)arg2, (Boolean)arg3);
-	OS_NATIVE_EXIT(env, that, TXNEchoMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNFocus
-JNIEXPORT void JNICALL OS_NATIVE(TXNFocus)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, TXNFocus_FUNC);
-	TXNFocus((TXNObject)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, TXNFocus_FUNC);
-}
-#endif
-
-#ifndef NO_TXNGetData
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetData_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)TXNGetData((TXNObject)arg0, (TXNOffset)arg1, (TXNOffset)arg2, (Handle *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, TXNGetData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetHIRect
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetHIRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	CGRect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetHIRect_FUNC);
-	if (arg2) if ((lparg2 = getCGRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)TXNGetHIRect((TXNObject)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCGRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, TXNGetHIRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetLineCount
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetLineCount)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetLineCount_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)TXNGetLineCount((TXNObject)arg0, (ItemCount *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, TXNGetLineCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetLineMetrics
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetLineMetrics)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetLineMetrics_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)TXNGetLineMetrics((TXNObject)arg0, (UInt32)arg1, (Fixed *)lparg2, (Fixed *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, TXNGetLineMetrics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetRectBounds
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetRectBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jobject arg3)
-{
-	Rect _arg1, *lparg1=NULL;
-	TXNLongRect _arg2, *lparg2=NULL;
-	TXNLongRect _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetRectBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getTXNLongRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getTXNLongRectFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)TXNGetRectBounds((TXNObject)arg0, (Rect *)lparg1, (TXNLongRect *)lparg2, (TXNLongRect *)lparg3);
-fail:
-	if (arg3 && lparg3) setTXNLongRectFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setTXNLongRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNGetRectBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetSelection
-JNIEXPORT void JNICALL OS_NATIVE(TXNGetSelection)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, TXNGetSelection_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;
-	TXNGetSelection((TXNObject)arg0, (TXNOffset *)lparg1, (TXNOffset *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, TXNGetSelection_FUNC);
-}
-#endif
-
-#ifndef NO_TXNGetTXNObjectControls
-JNIEXPORT jint JNICALL OS_NATIVE(TXNGetTXNObjectControls)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNGetTXNObjectControls_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)TXNGetTXNObjectControls((TXNObject)arg0, (ItemCount)arg1, (const TXNControlTag *)lparg2, (TXNControlData *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, TXNGetTXNObjectControls_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNGetViewRect
-JNIEXPORT void JNICALL OS_NATIVE(TXNGetViewRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, TXNGetViewRect_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	TXNGetViewRect((TXNObject)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNGetViewRect_FUNC);
-}
-#endif
-
-#ifndef NO_TXNInitTextension
-JNIEXPORT jint JNICALL OS_NATIVE(TXNInitTextension)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNInitTextension_FUNC);
-	rc = (jint)TXNInitTextension((const TXNMacOSPreferredFontDescription *)arg0, (ItemCount)arg1, (TXNInitOptions)arg2);
-	OS_NATIVE_EXIT(env, that, TXNInitTextension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNNewObject
-JNIEXPORT jint JNICALL OS_NATIVE(TXNNewObject)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7, jintArray arg8, jint arg9)
-{
-	Rect _arg2, *lparg2=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNNewObject_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)TXNNewObject((const FSSpec *)arg0, (WindowRef)arg1, (const Rect *)lparg2, (TXNFrameOptions)arg3, (TXNFrameType)arg4, (TXNFileType)arg5, (TXNPermanentTextEncodingType)arg6, (TXNObject *)lparg7, (TXNFrameID *)lparg8, (TXNObjectRefcon)arg9);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, TXNNewObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNOffsetToPoint
-JNIEXPORT jint JNICALL OS_NATIVE(TXNOffsetToPoint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	Point _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNOffsetToPoint_FUNC);
-	if (arg2) if ((lparg2 = getPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)TXNOffsetToPoint((TXNObject)arg0, (TXNOffset)arg1, (Point *)lparg2);
-fail:
-	if (arg2 && lparg2) setPointFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, TXNOffsetToPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNPaste
-JNIEXPORT jint JNICALL OS_NATIVE(TXNPaste)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNPaste_FUNC);
-	rc = (jint)TXNPaste((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNPaste_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNPointToOffset
-JNIEXPORT jint JNICALL OS_NATIVE(TXNPointToOffset)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jintArray arg2)
-{
-	Point _arg1, *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNPointToOffset_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)TXNPointToOffset((TXNObject)arg0, *lparg1, (TXNOffset *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNPointToOffset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNSelectAll
-JNIEXPORT void JNICALL OS_NATIVE(TXNSelectAll)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, TXNSelectAll_FUNC);
-	TXNSelectAll((TXNObject)arg0);
-	OS_NATIVE_EXIT(env, that, TXNSelectAll_FUNC);
-}
-#endif
-
-#ifndef NO_TXNSetBackground
-JNIEXPORT jint JNICALL OS_NATIVE(TXNSetBackground)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	TXNBackground _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNSetBackground_FUNC);
-	if (arg1) if ((lparg1 = getTXNBackgroundFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)TXNSetBackground((TXNObject)arg0, (const TXNBackground *)lparg1);
-fail:
-	if (arg1 && lparg1) setTXNBackgroundFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNSetBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNSetData
-JNIEXPORT jint JNICALL OS_NATIVE(TXNSetData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNSetData_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)TXNSetData((TXNObject)arg0, (TXNDataType)arg1, (const void *)lparg2, (ByteCount)arg3, (TXNOffset)arg4, (TXNOffset)arg5);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, TXNSetData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNSetFrameBounds
-JNIEXPORT void JNICALL OS_NATIVE(TXNSetFrameBounds)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, TXNSetFrameBounds_FUNC);
-	TXNSetFrameBounds((TXNObject)arg0, (SInt32)arg1, (SInt32)arg2, (SInt32)arg3, (SInt32)arg4, (TXNFrameID)arg5);
-	OS_NATIVE_EXIT(env, that, TXNSetFrameBounds_FUNC);
-}
-#endif
-
-#ifndef NO_TXNSetRectBounds
-JNIEXPORT void JNICALL OS_NATIVE(TXNSetRectBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jboolean arg3)
-{
-	Rect _arg1, *lparg1=NULL;
-	TXNLongRect _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, TXNSetRectBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getTXNLongRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	TXNSetRectBounds((TXNObject)arg0, (Rect *)lparg1, (TXNLongRect *)lparg2, (Boolean)arg3);
-fail:
-	if (arg2 && lparg2) setTXNLongRectFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TXNSetRectBounds_FUNC);
-}
-#endif
-
-#ifndef NO_TXNSetSelection
-JNIEXPORT jint JNICALL OS_NATIVE(TXNSetSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNSetSelection_FUNC);
-	rc = (jint)TXNSetSelection((TXNObject)arg0, (TXNOffset)arg1, (TXNOffset)arg2);
-	OS_NATIVE_EXIT(env, that, TXNSetSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNSetTXNObjectControls
-JNIEXPORT jint JNICALL OS_NATIVE(TXNSetTXNObjectControls)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNSetTXNObjectControls_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)TXNSetTXNObjectControls((TXNObject)arg0, (Boolean)arg1, (ItemCount)arg2, (const TXNControlTag *)lparg3, (const TXNControlData *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, TXNSetTXNObjectControls_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNSetTypeAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(TXNSetTypeAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TXNSetTypeAttributes_FUNC);
-	rc = (jint)TXNSetTypeAttributes((TXNObject)arg0, (ItemCount)arg1, (const TXNTypeAttributes *)arg2, (TXNOffset)arg3, (TXNOffset)arg4);
-	OS_NATIVE_EXIT(env, that, TXNSetTypeAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TXNShowSelection
-JNIEXPORT void JNICALL OS_NATIVE(TXNShowSelection)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, TXNShowSelection_FUNC);
-	TXNShowSelection((TXNObject)arg0, (Boolean)arg1);
-	OS_NATIVE_EXIT(env, that, TXNShowSelection_FUNC);
-}
-#endif
-
-#ifndef NO_TestControl
-JNIEXPORT jshort JNICALL OS_NATIVE(TestControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Point _arg1, *lparg1=NULL;
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, TestControl_FUNC);
-	if (arg1) if ((lparg1 = getPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jshort)TestControl((ControlRef)arg0, *(Point *)lparg1);
-fail:
-	if (arg1 && lparg1) setPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TestControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TextFace
-JNIEXPORT void JNICALL OS_NATIVE(TextFace)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, TextFace_FUNC);
-	TextFace((StyleParameter)arg0);
-	OS_NATIVE_EXIT(env, that, TextFace_FUNC);
-}
-#endif
-
-#ifndef NO_TextFont
-JNIEXPORT void JNICALL OS_NATIVE(TextFont)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, TextFont_FUNC);
-	TextFont((short)arg0);
-	OS_NATIVE_EXIT(env, that, TextFont_FUNC);
-}
-#endif
-
-#ifndef NO_TextMode
-JNIEXPORT void JNICALL OS_NATIVE(TextMode)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, TextMode_FUNC);
-	TextMode((short)arg0);
-	OS_NATIVE_EXIT(env, that, TextMode_FUNC);
-}
-#endif
-
-#ifndef NO_TextSize
-JNIEXPORT void JNICALL OS_NATIVE(TextSize)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	OS_NATIVE_ENTER(env, that, TextSize_FUNC);
-	TextSize((short)arg0);
-	OS_NATIVE_EXIT(env, that, TextSize_FUNC);
-}
-#endif
-
-#ifndef NO_TextWidth
-JNIEXPORT jshort JNICALL OS_NATIVE(TextWidth)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jshort arg1, jshort arg2)
-{
-	jbyte *lparg0=NULL;
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, TextWidth_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jshort)TextWidth((const void *)lparg0, (short)arg1, (short)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, TextWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TrackDrag
-JNIEXPORT jint JNICALL OS_NATIVE(TrackDrag)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	EventRecord _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TrackDrag_FUNC);
-	if (arg1) if ((lparg1 = getEventRecordFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)TrackDrag((DragRef)arg0, (const EventRecord *)lparg1, (RgnHandle)arg2);
-fail:
-	if (arg1 && lparg1) setEventRecordFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TrackDrag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TrackMouseLocationWithOptions
-JNIEXPORT jint JNICALL OS_NATIVE(TrackMouseLocationWithOptions)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2, jobject arg3, jintArray arg4, jshortArray arg5)
-{
-	Point _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jshort *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TrackMouseLocationWithOptions_FUNC);
-	if (arg3) if ((lparg3 = getPointFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetShortArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)TrackMouseLocationWithOptions((GrafPtr)arg0, (OptionBits)arg1, (EventTimeout)arg2, (Point *)lparg3, (UInt32 *)lparg4, (MouseTrackingResult *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseShortArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setPointFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, TrackMouseLocationWithOptions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UTTypeCreatePreferredIdentifierForTag
-JNIEXPORT jint JNICALL OS_NATIVE(UTTypeCreatePreferredIdentifierForTag)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, UTTypeCreatePreferredIdentifierForTag_FUNC);
-	rc = (jint)UTTypeCreatePreferredIdentifierForTag((CFStringRef)arg0, (CFStringRef)arg1, (CFStringRef)arg2);
-	OS_NATIVE_EXIT(env, that, UTTypeCreatePreferredIdentifierForTag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UnionRect
-JNIEXPORT void JNICALL OS_NATIVE(UnionRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	Rect _arg1, *lparg1=NULL;
-	Rect _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, UnionRect_FUNC);
-	if (arg0) if ((lparg0 = getRectFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	UnionRect(lparg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, UnionRect_FUNC);
-}
-#endif
-
-#ifndef NO_UnionRgn
-JNIEXPORT void JNICALL OS_NATIVE(UnionRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, UnionRgn_FUNC);
-	UnionRgn((RgnHandle)arg0, (RgnHandle)arg1, (RgnHandle)arg2);
-	OS_NATIVE_EXIT(env, that, UnionRgn_FUNC);
-}
-#endif
-
-#ifndef NO_UnlockPortBits
-JNIEXPORT jint JNICALL OS_NATIVE(UnlockPortBits)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, UnlockPortBits_FUNC);
-	rc = (jint)UnlockPortBits((GrafPtr)arg0);
-	OS_NATIVE_EXIT(env, that, UnlockPortBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UpdateControls
-JNIEXPORT void JNICALL OS_NATIVE(UpdateControls)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, UpdateControls_FUNC);
-	UpdateControls((WindowRef)arg0, (RgnHandle)arg1);
-	OS_NATIVE_EXIT(env, that, UpdateControls_FUNC);
-}
-#endif
-
-#ifndef NO_UpdateDataBrowserItems
-JNIEXPORT jint JNICALL OS_NATIVE(UpdateDataBrowserItems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jint arg5)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, UpdateDataBrowserItems_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)UpdateDataBrowserItems((ControlRef)arg0, (DataBrowserItemID)arg1, (UInt32)arg2, (const DataBrowserItemID *)lparg3, (DataBrowserPropertyID)arg4, (DataBrowserPropertyID)arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, UpdateDataBrowserItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UpgradeScriptInfoToTextEncoding
-JNIEXPORT jint JNICALL OS_NATIVE(UpgradeScriptInfoToTextEncoding)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2, jbyteArray arg3, jintArray arg4)
-{
-	jbyte *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, UpgradeScriptInfoToTextEncoding_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)UpgradeScriptInfoToTextEncoding((ScriptCode)arg0, (LangCode)arg1, (RegionCode)arg2, (ConstStr255Param)lparg3, (TextEncoding *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, UpgradeScriptInfoToTextEncoding_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WaitMouseMoved
-JNIEXPORT jboolean JNICALL OS_NATIVE(WaitMouseMoved)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	Point _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, WaitMouseMoved_FUNC);
-	if (arg0) if ((lparg0 = getPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)WaitMouseMoved(*lparg0);
-fail:
-	if (arg0 && lparg0) setPointFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, WaitMouseMoved_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_X2Fix
-JNIEXPORT jint JNICALL OS_NATIVE(X2Fix)
-	(JNIEnv *env, jclass that, jdouble arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, X2Fix_FUNC);
-	rc = (jint)X2Fix(arg0);
-	OS_NATIVE_EXIT(env, that, X2Fix_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ZoomWindowIdeal
-JNIEXPORT jint JNICALL OS_NATIVE(ZoomWindowIdeal)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jobject arg2)
-{
-	Point _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ZoomWindowIdeal_FUNC);
-	if (arg2) if ((lparg2 = getPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)ZoomWindowIdeal((WindowRef)arg0, (WindowPartCode)arg1, (Point *)lparg2);
-fail:
-	if (arg2 && lparg2) setPointFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, ZoomWindowIdeal_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_getenv
-JNIEXPORT jint JNICALL OS_NATIVE(getenv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, getenv_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)getenv((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, getenv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_getpid
-JNIEXPORT jint JNICALL OS_NATIVE(getpid)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, getpid_FUNC);
-	rc = (jint)getpid();
-	OS_NATIVE_EXIT(env, that, getpid_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_kCFNumberFormatterDecimalSeparator
-JNIEXPORT jint JNICALL OS_NATIVE(kCFNumberFormatterDecimalSeparator)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, kCFNumberFormatterDecimalSeparator_FUNC);
-	rc = (jint)kCFNumberFormatterDecimalSeparator;
-	OS_NATIVE_EXIT(env, that, kCFNumberFormatterDecimalSeparator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_kHIViewWindowContentID
-JNIEXPORT jint JNICALL OS_NATIVE(kHIViewWindowContentID)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, kHIViewWindowContentID_FUNC);
-	rc = (jint)&kHIViewWindowContentID;
-	OS_NATIVE_EXIT(env, that, kHIViewWindowContentID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_kPMDocumentFormatPDF
-JNIEXPORT jint JNICALL OS_NATIVE(kPMDocumentFormatPDF)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, kPMDocumentFormatPDF_FUNC);
-	rc = (jint)kPMDocumentFormatPDF;
-	OS_NATIVE_EXIT(env, that, kPMDocumentFormatPDF_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_kPMGraphicsContextCoreGraphics
-JNIEXPORT jint JNICALL OS_NATIVE(kPMGraphicsContextCoreGraphics)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, kPMGraphicsContextCoreGraphics_FUNC);
-	rc = (jint)kPMGraphicsContextCoreGraphics;
-	OS_NATIVE_EXIT(env, that, kPMGraphicsContextCoreGraphics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_kUTTagClassFilenameExtension
-JNIEXPORT jint JNICALL OS_NATIVE(kUTTagClassFilenameExtension)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, kUTTagClassFilenameExtension_FUNC);
-	rc = (jint)kUTTagClassFilenameExtension;
-	OS_NATIVE_EXIT(env, that, kUTTagClassFilenameExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memcpy__III
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memcpy__III_FUNC);
-	memcpy((void *)arg0, (const void *)arg1, (size_t)arg2);
-	OS_NATIVE_EXIT(env, that, memcpy__III_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	ATSUTab _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I_FUNC);
-	if (arg1) if ((lparg1 = getATSUTabFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	BitMap _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I_FUNC);
-	if (arg1) if ((lparg1 = getBitMapFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	Cursor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I_FUNC);
-	if (arg1) if ((lparg1 = getCursorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	EventRecord _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I_FUNC);
-	if (arg1) if ((lparg1 = getEventRecordFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	FontSelectionQDStyle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I_FUNC);
-	if (arg1) if ((lparg1 = getFontSelectionQDStyleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	HMHelpContentRec _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I_FUNC);
-	if (arg1) if ((lparg1 = getHMHelpContentRecFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PixMap _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I_FUNC);
-	if (arg1) if ((lparg1 = getPixMapFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	RGBColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I_FUNC);
-	if (arg1) if ((lparg1 = getRGBColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	Rect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__I_3BI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__I_3CI
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__I_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy__I_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__I_3FI
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__I_3FI)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__I_3FI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy__I_3FI_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__I_3II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__I_3II_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	ATSLayoutRecord _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setATSLayoutRecordFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	ATSTrapezoid _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setATSTrapezoidFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	CGPathElement _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setCGPathElementFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	FontSelectionQDStyle _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setFontSelectionQDStyleFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GDevice _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGDeviceFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	HMHelpContentRec _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setHMHelpContentRecFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PixMap _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPixMapFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II
-JNIEXPORT void JNICALL OS_NATIVE(memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	Rect _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setRectFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3BII
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3BII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3B_3CI
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3B_3CI)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jcharArray arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	jchar *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3B_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3B_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3CII
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3CII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3CII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3CII_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3C_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3C_3BI)
-	(JNIEnv *env, jclass that, jcharArray arg0, jbyteArray arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3C_3BI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-		if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3C_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3FII
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3FII)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jint arg1, jint arg2)
-{
-	jfloat *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3FII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3FII_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3III
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3III_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3III_FUNC);
-}
-#endif
-
-#ifndef NO_memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I
-JNIEXPORT void JNICALL OS_NATIVE(memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I)
-	(JNIEnv *env, jclass that, jintArray arg0, jobject arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	TXNTab _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I_FUNC);
-	if (arg1) if ((lparg1 = getTXNTabFields(env, arg1, &_arg1)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memcpy((void *)lparg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memset
-JNIEXPORT void JNICALL OS_NATIVE(memset)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memset_FUNC);
-	memset((void *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, memset_FUNC);
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL OS_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((char *)arg0);
-	OS_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.h
deleted file mode 100644
index 526f11c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os.h
+++ /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
- *******************************************************************************/
-
-#ifndef INC_os_H
-#define INC_os_H
-
-/*#define NDEBUG*/
-
-#include <Carbon/Carbon.h>
-
-#include "os_custom.h"
-
-#endif /* INC_os_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c
deleted file mode 100644
index 35b825c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c
+++ /dev/null
@@ -1,259 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_carbon_OS_##func
-
-#ifndef NO_NewGlobalRef
-JNIEXPORT jint JNICALL OS_NATIVE(NewGlobalRef)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, NewGlobalRef_FUNC);
-	rc = (jint)(*env)->NewGlobalRef(env, arg0);
-fail:
-	OS_NATIVE_EXIT(env, that, NewGlobalRef_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeleteGlobalRef
-JNIEXPORT void JNICALL OS_NATIVE(DeleteGlobalRef)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DeleteGlobalRef_FUNC);
-	(*env)->DeleteGlobalRef(env, (jobject)arg0);
-	OS_NATIVE_EXIT(env, that, DeleteGlobalRef_FUNC);
-}
-#endif
-
-#ifndef NO_JNIGetObject
-JNIEXPORT jobject JNICALL OS_NATIVE(JNIGetObject)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jobject rc = 0;
-	OS_NATIVE_ENTER(env, that, JNIGetObject_FUNC);
-	rc = (jobject)arg0;
-fail:
-	OS_NATIVE_EXIT(env, that, JNIGetObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CGAffineTransformConcat
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformConcat)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1, jfloatArray arg2)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformConcat_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg2 = CGAffineTransformConcat(*(CGAffineTransform *)lparg0, *(CGAffineTransform *)lparg1);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformConcat_FUNC);
-}
-#endif
-
-#ifndef NO_CGAffineTransformInvert
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformInvert)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformInvert_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg1 = CGAffineTransformInvert(*(CGAffineTransform *)lparg0);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformInvert_FUNC);
-}
-#endif
-
-#ifndef NO_CGAffineTransformMake
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformMake)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloatArray arg6)
-{
-	jfloat *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformMake_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetFloatArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg6 = CGAffineTransformMake(arg0, arg1, arg2, arg3, arg4, arg5);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseFloatArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformMake_FUNC);
-}
-#endif
-
-#ifndef NO_CGAffineTransformRotate
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformRotate)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloatArray arg2)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformRotate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg2 = CGAffineTransformRotate(*(CGAffineTransform *)lparg0, arg1);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformRotate_FUNC);
-}
-#endif
-
-#ifndef NO_CGAffineTransformScale
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformScale)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloat arg2, jfloatArray arg3)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformScale_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg3 = CGAffineTransformScale(*(CGAffineTransform *)lparg0, arg1, arg2);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformScale_FUNC);
-}
-#endif
-
-#ifndef NO_CGAffineTransformTranslate
-JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformTranslate)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloat arg2, jfloatArray arg3)
-{
-	jfloat *lparg0=NULL;
-	jfloat *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, CGAffineTransformTranslate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg3 = CGAffineTransformTranslate(*(CGAffineTransform *)lparg0, arg1, arg2);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGAffineTransformTranslate_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextGetCTM
-JNIEXPORT void JNICALL OS_NATIVE(CGContextGetCTM)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextGetCTM_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	*(CGAffineTransform *)lparg1 = CGContextGetCTM((CGContextRef)arg0);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CGContextGetCTM_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextGetPathBoundingBox
-JNIEXPORT void JNICALL OS_NATIVE(CGContextGetPathBoundingBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextGetPathBoundingBox_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	*lparg1 = CGContextGetPathBoundingBox((CGContextRef)arg0);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextGetPathBoundingBox_FUNC);
-}
-#endif
-
-#ifndef NO_CGContextGetTextPosition
-JNIEXPORT void JNICALL OS_NATIVE(CGContextGetTextPosition)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGContextGetTextPosition_FUNC)
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto failTag;
-	*lparg1 = CGContextGetTextPosition((CGContextRef)arg0);
-failTag:
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGContextGetTextPosition_FUNC)
-}
-#endif
-
-#ifndef NO_CGPathGetBoundingBox
-JNIEXPORT void JNICALL OS_NATIVE(CGPathGetBoundingBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGRect _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathGetBoundingBox_FUNC);
-	if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	*lparg1 = CGPathGetBoundingBox((CGPathRef)arg0);
-fail:
-	if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGPathGetBoundingBox_FUNC);
-}
-#endif
-
-#ifndef NO_CGPathGetCurrentPoint
-JNIEXPORT void JNICALL OS_NATIVE(CGPathGetCurrentPoint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	CGPoint _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, CGPathGetCurrentPoint_FUNC);
-	if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail;
-	*lparg1 = CGPathGetCurrentPoint((CGPathRef)arg0);
-fail:
-	if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, CGPathGetCurrentPoint_FUNC);
-}
-#endif
-
-#ifndef NO_CGPointApplyAffineTransform
-JNIEXPORT void JNICALL OS_NATIVE(CGPointApplyAffineTransform)
-	(JNIEnv *env, jclass that, jobject arg0, jfloatArray arg1, jobject arg2)
-{
-	CGPoint _arg0, *lparg0=NULL;
-	jfloat *lparg1=NULL;
-	CGPoint _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, CGPointApplyAffineTransform_FUNC);
-	if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail;
-	*(CGPoint *)lparg2 = CGPointApplyAffineTransform(*(CGPoint *)lparg0, *(CGAffineTransform *)lparg1);
-fail:
-	if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, CGPointApplyAffineTransform_FUNC);
-}
-#endif
-
-#ifndef NO__1_1BIG_1ENDIAN_1_1
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1_1BIG_1ENDIAN_1_1)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc;
-	OS_NATIVE_ENTER(env, that, _1_1BIG_1ENDIAN_1_1_FUNC)
-#ifdef __BIG_ENDIAN__
-	rc = (jboolean)TRUE;
-#else
-	rc = (jboolean)FALSE;
-#endif
-	OS_NATIVE_EXIT(env, that, _1_1BIG_1ENDIAN_1_1_FUNC)
-	return rc;
-}
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.h
deleted file mode 100644
index e0ce54f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.h
+++ /dev/null
@@ -1,21 +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

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

-

-/* Libraries for dynamic loaded functions */

-#define CGImageCreateWithImageInRect_LIB "com.apple.Carbon"

-#define DataBrowserChangeAttributes_LIB "com.apple.Carbon"

-#define DataBrowserGetAttributes_LIB "com.apple.Carbon"

-#define DataBrowserGetMetric_LIB "com.apple.Carbon"

-#define DataBrowserSetMetric_LIB "com.apple.Carbon"

-#define GetIconRefFromIconFamilyPtr_LIB "com.apple.Carbon"

-#define HICreateTransformedCGImage_LIB "com.apple.Carbon"

-#define HIThemeSetFill_LIB "com.apple.Carbon"

-#define NavDialogSetFilterTypeIdentifiers_LIB "com.apple.Carbon"

diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.c
deleted file mode 100644
index 92cdda0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.c
+++ /dev/null
@@ -1,963 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_stats.h"
-
-#ifdef NATIVE_STATS
-
-int OS_nativeFunctionCount = 921;
-int OS_nativeFunctionCallCount[921];
-char * OS_nativeFunctionNames[] = {
-	"AECountItems",
-	"AEGetNthPtr",
-	"AEInstallEventHandler",
-	"AEProcessAppleEvent",
-	"ATSFontGetPostScriptName",
-	"ATSUBatchBreakLines",
-	"ATSUCreateStyle",
-	"ATSUCreateTextLayout",
-	"ATSUCreateTextLayoutWithTextPtr",
-	"ATSUDirectGetLayoutDataArrayPtrFromTextLayout",
-	"ATSUDirectReleaseLayoutDataArrayPtr",
-	"ATSUDisposeStyle",
-	"ATSUDisposeTextLayout",
-	"ATSUDrawText",
-	"ATSUFindFontFromName",
-	"ATSUFindFontName",
-	"ATSUGetFontIDs",
-	"ATSUGetGlyphBounds__IIIIISII_3I",
-	"ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I",
-	"ATSUGetLayoutControl",
-	"ATSUGetLineControl",
-	"ATSUGetSoftLineBreaks",
-	"ATSUGetTextHighlight",
-	"ATSUGetUnjustifiedBounds",
-	"ATSUGlyphGetQuadraticPaths",
-	"ATSUHighlightText",
-	"ATSUNextCursorPosition",
-	"ATSUOffsetToPosition",
-	"ATSUPositionToOffset",
-	"ATSUPreviousCursorPosition",
-	"ATSUSetAttributes",
-	"ATSUSetFontFeatures",
-	"ATSUSetHighlightingMethod",
-	"ATSUSetLayoutControls",
-	"ATSUSetLineControls",
-	"ATSUSetRunStyle",
-	"ATSUSetSoftLineBreak",
-	"ATSUSetTabArray",
-	"ATSUSetTextPointerLocation",
-	"ATSUSetTransientFontMatching",
-	"ATSUTextDeleted",
-	"ATSUTextInserted",
-	"AXNotificationHIObjectNotify",
-	"AXUIElementCreateWithHIObjectAndIdentifier",
-	"AXUIElementGetIdentifier",
-	"AXValueCreate",
-	"ActiveNonFloatingWindow",
-	"AddDataBrowserItems",
-	"AddDataBrowserListViewColumn",
-	"AddDragItemFlavor",
-	"AppendMenuItemTextWithCFString",
-	"AutoSizeDataBrowserListViewColumns",
-	"BeginUpdate",
-	"BringToFront",
-	"CFArrayAppendValue",
-	"CFArrayCreateMutable",
-	"CFArrayGetCount",
-	"CFArrayGetValueAtIndex",
-	"CFDataGetBytes",
-	"CFDataGetLength",
-	"CFEqual",
-	"CFLocaleCopyCurrent",
-	"CFNumberFormatterCopyProperty",
-	"CFNumberFormatterCreate",
-	"CFRelease",
-	"CFStringCreateWithBytes",
-	"CFStringCreateWithCharacters__III",
-	"CFStringCreateWithCharacters__I_3CI",
-	"CFStringGetBytes",
-	"CFStringGetCharacters",
-	"CFStringGetLength",
-	"CFStringGetSystemEncoding",
-	"CFURLCopyFileSystemPath",
-	"CFURLCopyLastPathComponent",
-	"CFURLCopyPathExtension",
-	"CFURLCreateCopyAppendingPathComponent",
-	"CFURLCreateCopyDeletingLastPathComponent",
-	"CFURLCreateData",
-	"CFURLCreateFromFSRef",
-	"CFURLCreateFromFileSystemRepresentation",
-	"CFURLCreateWithBytes",
-	"CFURLCreateWithFileSystemPath",
-	"CFURLGetFSRef",
-	"CGAffineTransformConcat",
-	"CGAffineTransformInvert",
-	"CGAffineTransformMake",
-	"CGAffineTransformRotate",
-	"CGAffineTransformScale",
-	"CGAffineTransformTranslate",
-	"CGBitmapContextCreate",
-	"CGColorCreate",
-	"CGColorRelease",
-	"CGColorSpaceCreateDeviceRGB",
-	"CGColorSpaceCreatePattern",
-	"CGColorSpaceRelease",
-	"CGContextAddArc",
-	"CGContextAddArcToPoint",
-	"CGContextAddLineToPoint",
-	"CGContextAddLines",
-	"CGContextAddPath",
-	"CGContextBeginPath",
-	"CGContextClearRect",
-	"CGContextClip",
-	"CGContextClosePath",
-	"CGContextConcatCTM",
-	"CGContextDrawImage",
-	"CGContextDrawShading",
-	"CGContextEOClip",
-	"CGContextEOFillPath",
-	"CGContextFillPath",
-	"CGContextFillRect",
-	"CGContextFlush",
-	"CGContextGetCTM",
-	"CGContextGetInterpolationQuality",
-	"CGContextGetPathBoundingBox",
-	"CGContextGetTextPosition",
-	"CGContextMoveToPoint",
-	"CGContextRelease",
-	"CGContextRestoreGState",
-	"CGContextSaveGState",
-	"CGContextScaleCTM",
-	"CGContextSelectFont",
-	"CGContextSetAlpha",
-	"CGContextSetFillColor",
-	"CGContextSetFillColorSpace",
-	"CGContextSetFillPattern",
-	"CGContextSetFont",
-	"CGContextSetFontSize",
-	"CGContextSetInterpolationQuality",
-	"CGContextSetLineCap",
-	"CGContextSetLineDash",
-	"CGContextSetLineJoin",
-	"CGContextSetLineWidth",
-	"CGContextSetRGBFillColor",
-	"CGContextSetRGBStrokeColor",
-	"CGContextSetRenderingIntent",
-	"CGContextSetShouldAntialias",
-	"CGContextSetShouldSmoothFonts",
-	"CGContextSetStrokeColor",
-	"CGContextSetStrokeColorSpace",
-	"CGContextSetStrokePattern",
-	"CGContextSetTextDrawingMode",
-	"CGContextSetTextMatrix",
-	"CGContextSetTextPosition",
-	"CGContextShowText",
-	"CGContextShowTextAtPoint",
-	"CGContextStrokePath",
-	"CGContextStrokeRect",
-	"CGContextSynchronize",
-	"CGContextTranslateCTM",
-	"CGDataProviderCreateWithData",
-	"CGDataProviderCreateWithURL",
-	"CGDataProviderRelease",
-	"CGDisplayBaseAddress",
-	"CGDisplayBitsPerPixel",
-	"CGDisplayBitsPerSample",
-	"CGDisplayBytesPerRow",
-	"CGDisplayPixelsHigh",
-	"CGDisplayPixelsWide",
-	"CGFontCreateWithPlatformFont",
-	"CGFontRelease",
-	"CGFunctionCreate",
-	"CGFunctionRelease",
-	"CGGetDisplaysWithRect",
-	"CGImageCreate",
-	"CGImageCreateWithImageInRect",
-	"CGImageCreateWithJPEGDataProvider",
-	"CGImageCreateWithPNGDataProvider",
-	"CGImageGetAlphaInfo",
-	"CGImageGetBitsPerComponent",
-	"CGImageGetBitsPerPixel",
-	"CGImageGetBytesPerRow",
-	"CGImageGetColorSpace",
-	"CGImageGetHeight",
-	"CGImageGetWidth",
-	"CGImageRelease",
-	"CGPathAddArc",
-	"CGPathAddCurveToPoint",
-	"CGPathAddLineToPoint",
-	"CGPathAddPath",
-	"CGPathAddQuadCurveToPoint",
-	"CGPathAddRect",
-	"CGPathApply",
-	"CGPathCloseSubpath",
-	"CGPathCreateMutable",
-	"CGPathGetBoundingBox",
-	"CGPathGetCurrentPoint",
-	"CGPathIsEmpty",
-	"CGPathMoveToPoint",
-	"CGPathRelease",
-	"CGPatternCreate",
-	"CGPatternRelease",
-	"CGPointApplyAffineTransform",
-	"CGPostKeyboardEvent",
-	"CGPostMouseEvent",
-	"CGRectContainsPoint",
-	"CGShadingCreateAxial",
-	"CGShadingCreateRadial",
-	"CGShadingRelease",
-	"CGWarpMouseCursorPosition",
-	"CPSEnableForegroundOperation",
-	"CPSSetProcessName",
-	"CalcMenuSize",
-	"Call",
-	"CallNextEventHandler",
-	"CancelMenuTracking",
-	"ChangeWindowAttributes",
-	"CharWidth",
-	"ClearCurrentScrap",
-	"ClearKeyboardFocus",
-	"ClearMenuBar",
-	"ClipCGContextToRegion",
-	"CloseDataBrowserContainer",
-	"ClosePoly",
-	"CloseRgn",
-	"CollapseWindow",
-	"ConvertEventRefToEventRecord",
-	"ConvertFromPStringToUnicode",
-	"ConvertFromUnicodeToPString",
-	"CopyBits",
-	"CopyControlTitleAsCFString",
-	"CopyDeepMask",
-	"CopyMenuItemTextAsCFString",
-	"CopyRgn",
-	"CountDragItemFlavors",
-	"CountDragItems",
-	"CountMenuItems",
-	"CountSubControls",
-	"CreateBevelButtonControl",
-	"CreateCGContextForPort",
-	"CreateCheckBoxControl",
-	"CreateDataBrowserControl",
-	"CreateEditUnicodeTextControl",
-	"CreateEvent",
-	"CreateGroupBoxControl",
-	"CreateIconControl",
-	"CreateLittleArrowsControl",
-	"CreateNewMenu",
-	"CreateNewWindow",
-	"CreatePopupArrowControl",
-	"CreatePopupButtonControl",
-	"CreateProgressBarControl",
-	"CreatePushButtonControl",
-	"CreatePushButtonWithIconControl",
-	"CreateRadioButtonControl",
-	"CreateRootControl",
-	"CreateScrollBarControl",
-	"CreateSeparatorControl",
-	"CreateSliderControl",
-	"CreateStandardAlert",
-	"CreateStaticTextControl",
-	"CreateTabsControl",
-	"CreateTextToUnicodeInfoByEncoding",
-	"CreateUnicodeToTextInfoByEncoding",
-	"CreateUserPaneControl",
-	"CreateWindowGroup",
-	"DMGetFirstScreenDevice",
-	"DMGetNextScreenDevice",
-	"DataBrowserChangeAttributes",
-	"DataBrowserGetAttributes",
-	"DataBrowserGetMetric",
-	"DataBrowserSetMetric",
-	"DeleteGlobalRef",
-	"DeleteMenu",
-	"DeleteMenuItem",
-	"DeleteMenuItems",
-	"DiffRgn",
-	"DisableControl",
-	"DisableMenuCommand",
-	"DisableMenuItem",
-	"DisposeControl",
-	"DisposeDrag",
-	"DisposeGWorld",
-	"DisposeHandle",
-	"DisposeMenu",
-	"DisposePtr",
-	"DisposeRgn",
-	"DisposeTextToUnicodeInfo",
-	"DisposeUnicodeToTextInfo",
-	"DisposeWindow",
-	"DrawControlInCurrentPort",
-	"DrawMenuBar",
-	"DrawText",
-	"DrawThemeButton",
-	"DrawThemeEditTextFrame",
-	"DrawThemeFocusRect",
-	"DrawThemePopupArrow",
-	"DrawThemeSeparator",
-	"DrawThemeTextBox",
-	"EmbedControl",
-	"EmptyRect",
-	"EmptyRgn",
-	"EnableControl",
-	"EnableMenuCommand",
-	"EnableMenuItem",
-	"EndUpdate",
-	"EqualRect",
-	"EraseRect",
-	"EraseRgn",
-	"FMCreateFontFamilyInstanceIterator",
-	"FMCreateFontFamilyIterator",
-	"FMDisposeFontFamilyInstanceIterator",
-	"FMDisposeFontFamilyIterator",
-	"FMGetATSFontRefFromFont",
-	"FMGetFontFamilyFromName",
-	"FMGetFontFamilyInstanceFromFont",
-	"FMGetFontFamilyName",
-	"FMGetFontFromFontFamilyInstance",
-	"FMGetNextFontFamily",
-	"FMGetNextFontFamilyInstance",
-	"FPIsFontPanelVisible",
-	"FPShowHideFontPanel",
-	"FSGetCatalogInfo",
-	"FSpGetFInfo",
-	"FSpMakeFSRef",
-	"FetchFontInfo",
-	"FindWindow",
-	"Fix2Long",
-	"Fix2X",
-	"FrameOval",
-	"FramePoly",
-	"FrameRect",
-	"FrameRoundRect",
-	"FrontWindow",
-	"Gestalt",
-	"GetAppFont",
-	"GetApplicationEventTarget",
-	"GetAvailableWindowAttributes",
-	"GetAvailableWindowPositioningBounds",
-	"GetBestControlRect",
-	"GetCaretTime",
-	"GetClip",
-	"GetControl32BitMaximum",
-	"GetControl32BitMinimum",
-	"GetControl32BitValue",
-	"GetControlAction",
-	"GetControlBounds",
-	"GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I",
-	"GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I",
-	"GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I",
-	"GetControlData__ISII_3B_3I",
-	"GetControlData__ISII_3I_3I",
-	"GetControlData__ISII_3S_3I",
-	"GetControlEventTarget",
-	"GetControlFeatures",
-	"GetControlKind",
-	"GetControlOwner",
-	"GetControlProperty",
-	"GetControlReference",
-	"GetControlRegion",
-	"GetControlValue",
-	"GetControlViewSize",
-	"GetCurrentEventButtonState",
-	"GetCurrentEventKeyModifiers",
-	"GetCurrentEventLoop",
-	"GetCurrentEventQueue",
-	"GetCurrentProcess",
-	"GetCurrentScrap",
-	"GetDataBrowserCallbacks",
-	"GetDataBrowserItemCount",
-	"GetDataBrowserItemDataButtonValue",
-	"GetDataBrowserItemPartBounds",
-	"GetDataBrowserItemState",
-	"GetDataBrowserItems",
-	"GetDataBrowserListViewDisclosureColumn",
-	"GetDataBrowserListViewHeaderBtnHeight",
-	"GetDataBrowserListViewHeaderDesc",
-	"GetDataBrowserPropertyFlags",
-	"GetDataBrowserScrollBarInset",
-	"GetDataBrowserScrollPosition",
-	"GetDataBrowserSelectionAnchor",
-	"GetDataBrowserSelectionFlags",
-	"GetDataBrowserSortProperty",
-	"GetDataBrowserTableViewColumnPosition",
-	"GetDataBrowserTableViewItemID",
-	"GetDataBrowserTableViewItemRow",
-	"GetDataBrowserTableViewNamedColumnWidth",
-	"GetDataBrowserTableViewRowHeight",
-	"GetDblTime",
-	"GetDefFontSize",
-	"GetDeviceList",
-	"GetDragAllowableActions",
-	"GetDragDropAction",
-	"GetDragItemReferenceNumber",
-	"GetDragModifiers",
-	"GetDragMouse",
-	"GetEventClass",
-	"GetEventDispatcherTarget",
-	"GetEventKind",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2",
-	"GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2",
-	"GetEventParameter__III_3II_3I_3B",
-	"GetEventParameter__III_3II_3I_3C",
-	"GetEventParameter__III_3II_3I_3I",
-	"GetEventParameter__III_3II_3I_3S",
-	"GetEventParameter__III_3II_3I_3Z",
-	"GetEventTime",
-	"GetFlavorData",
-	"GetFlavorDataSize",
-	"GetFlavorType",
-	"GetFontInfo",
-	"GetGDevice",
-	"GetGWorld",
-	"GetGlobalMouse",
-	"GetHandleSize",
-	"GetIconFamilyData",
-	"GetIconRef",
-	"GetIconRefFromIconFamilyPtr",
-	"GetIndMenuItemWithCommandID",
-	"GetIndexedSubControl",
-	"GetItemMark",
-	"GetKeyboardFocus",
-	"GetLastUserEventTime",
-	"GetMBarHeight",
-	"GetMainDevice",
-	"GetMainEventQueue",
-	"GetMenuCommandMark",
-	"GetMenuEventTarget",
-	"GetMenuFont",
-	"GetMenuHeight",
-	"GetMenuID",
-	"GetMenuItemCommandID",
-	"GetMenuItemHierarchicalMenu",
-	"GetMenuItemRefCon",
-	"GetMenuTrackingData",
-	"GetMenuWidth",
-	"GetMouse",
-	"GetNextDevice",
-	"GetNextWindow",
-	"GetPixBounds",
-	"GetPixDepth",
-	"GetPort",
-	"GetPortBitMapForCopyBits",
-	"GetPortBounds",
-	"GetPortClipRegion",
-	"GetPortVisibleRegion",
-	"GetPreviousWindow",
-	"GetPtrSize",
-	"GetRegionBounds",
-	"GetRootControl",
-	"GetScrapFlavorCount",
-	"GetScrapFlavorData__II_3I_3B",
-	"GetScrapFlavorData__II_3I_3C",
-	"GetScrapFlavorInfoList",
-	"GetScrapFlavorSize",
-	"GetScriptManagerVariable",
-	"GetSuperControl",
-	"GetTabContentRect",
-	"GetThemeBrushAsColor",
-	"GetThemeButtonContentBounds",
-	"GetThemeButtonRegion",
-	"GetThemeDrawingState",
-	"GetThemeFont",
-	"GetThemeMenuItemExtra",
-	"GetThemeMetric",
-	"GetThemeTextColor",
-	"GetThemeTextDimensions",
-	"GetUserFocusEventTarget",
-	"GetUserFocusWindow",
-	"GetWRefCon",
-	"GetWindowActivationScope",
-	"GetWindowBounds",
-	"GetWindowClass",
-	"GetWindowDefaultButton",
-	"GetWindowEventTarget",
-	"GetWindowFromPort",
-	"GetWindowGroupOfClass",
-	"GetWindowList",
-	"GetWindowModality",
-	"GetWindowPort",
-	"GetWindowRegion",
-	"GetWindowResizeLimits",
-	"GetWindowStructureWidths",
-	"HIComboBoxAppendTextItem",
-	"HIComboBoxCopyTextItemAtIndex",
-	"HIComboBoxCreate",
-	"HIComboBoxGetItemCount",
-	"HIComboBoxInsertTextItemAtIndex",
-	"HIComboBoxRemoveItemAtIndex",
-	"HICopyAccessibilityRoleDescription",
-	"HICreateTransformedCGImage",
-	"HIObjectCopyClassID",
-	"HIObjectCreate",
-	"HIObjectRegisterSubclass",
-	"HIScrollViewCreate",
-	"HITextViewCreate",
-	"HITextViewGetTXNObject",
-	"HIThemeDrawBackground",
-	"HIThemeDrawButton",
-	"HIThemeDrawFocusRect",
-	"HIThemeDrawFrame",
-	"HIThemeDrawGenericWell",
-	"HIThemeDrawGroupBox",
-	"HIThemeDrawGrowBox",
-	"HIThemeDrawPopupArrow",
-	"HIThemeDrawSeparator",
-	"HIThemeDrawTab",
-	"HIThemeDrawTabPane",
-	"HIThemeDrawTextBox",
-	"HIThemeDrawTrack",
-	"HIThemeGetButtonBackgroundBounds",
-	"HIThemeGetButtonContentBounds",
-	"HIThemeGetScrollBarTrackRect",
-	"HIThemeGetTextDimensions",
-	"HIThemeGetTrackBounds",
-	"HIThemeGetTrackLiveValue",
-	"HIThemeGetTrackPartBounds",
-	"HIThemeGetTrackThumbPositionFromBounds",
-	"HIThemeGetTrackThumbPositionFromOffset",
-	"HIThemeHitTestScrollBarArrows",
-	"HIThemeHitTestTrack",
-	"HIThemeSetFill",
-	"HIViewAddSubview",
-	"HIViewChangeAttributes",
-	"HIViewChangeFeatures",
-	"HIViewClick",
-	"HIViewConvertPoint",
-	"HIViewConvertRect",
-	"HIViewConvertRegion",
-	"HIViewCreateOffscreenImage",
-	"HIViewFindByID",
-	"HIViewGetBounds",
-	"HIViewGetFeatures",
-	"HIViewGetFirstSubview",
-	"HIViewGetFrame",
-	"HIViewGetLastSubview",
-	"HIViewGetNextView",
-	"HIViewGetRoot",
-	"HIViewGetSizeConstraints",
-	"HIViewGetSubviewHit",
-	"HIViewGetSuperview",
-	"HIViewGetViewForMouseEvent",
-	"HIViewIsDrawingEnabled",
-	"HIViewIsVisible",
-	"HIViewRemoveFromSuperview",
-	"HIViewRender",
-	"HIViewScrollRect",
-	"HIViewSetBoundsOrigin",
-	"HIViewSetDrawingEnabled",
-	"HIViewSetFrame",
-	"HIViewSetNeedsDisplay",
-	"HIViewSetNeedsDisplayInRegion",
-	"HIViewSetVisible",
-	"HIViewSetZOrder",
-	"HIViewSimulateClick",
-	"HLock",
-	"HMDisplayTag",
-	"HMGetTagDelay",
-	"HMHideTag",
-	"HMInstallControlContentCallback",
-	"HMSetTagDelay",
-	"HUnlock",
-	"HandleControlClick",
-	"HandleControlSetCursor",
-	"HiWord",
-	"HideWindow",
-	"HiliteMenu",
-	"IconRefToIconFamily",
-	"InitContextualMenus",
-	"InitCursor",
-	"InitDataBrowserCallbacks",
-	"InitDataBrowserCustomCallbacks",
-	"InsertMenu",
-	"InsertMenuItemTextWithCFString",
-	"InstallEventHandler",
-	"InstallEventLoopIdleTimer",
-	"InstallEventLoopTimer",
-	"InstallReceiveHandler",
-	"InstallTrackingHandler",
-	"InvalWindowRect",
-	"InvalWindowRgn",
-	"InvertRect",
-	"InvertRgn",
-	"IsControlActive",
-	"IsControlEnabled",
-	"IsControlVisible",
-	"IsDataBrowserItemSelected",
-	"IsMenuCommandEnabled",
-	"IsMenuItemEnabled",
-	"IsValidControlHandle",
-	"IsValidMenu",
-	"IsValidWindowPtr",
-	"IsWindowActive",
-	"IsWindowCollapsed",
-	"IsWindowVisible",
-	"JNIGetObject",
-	"KeyTranslate",
-	"KillPoly",
-	"LineTo",
-	"LoWord",
-	"LockPortBits",
-	"Long2Fix",
-	"MenuSelect",
-	"MoveControl",
-	"MoveTo",
-	"MoveWindow",
-	"NavCreateChooseFolderDialog",
-	"NavCreateGetFileDialog",
-	"NavCreatePutFileDialog",
-	"NavDialogDispose",
-	"NavDialogGetReply",
-	"NavDialogGetSaveFileName",
-	"NavDialogGetUserAction",
-	"NavDialogRun",
-	"NavDialogSetFilterTypeIdentifiers",
-	"NavDialogSetSaveFileName",
-	"NavGetDefaultDialogCreationOptions",
-	"NewControl",
-	"NewDrag",
-	"NewGWorldFromPtr",
-	"NewGlobalRef",
-	"NewHandle",
-	"NewHandleClear",
-	"NewPtr",
-	"NewPtrClear",
-	"NewRgn",
-	"OffsetRect",
-	"OffsetRgn",
-	"OpenDataBrowserContainer",
-	"OpenPoly",
-	"OpenRgn",
-	"PMCreatePageFormat",
-	"PMCreatePrintSettings",
-	"PMCreateSession",
-	"PMFlattenPageFormat",
-	"PMFlattenPrintSettings",
-	"PMGetAdjustedPageRect",
-	"PMGetAdjustedPaperRect",
-	"PMGetCollate",
-	"PMGetCopies",
-	"PMGetFirstPage",
-	"PMGetJobNameCFString",
-	"PMGetLastPage",
-	"PMGetPageRange",
-	"PMGetResolution",
-	"PMRelease",
-	"PMSessionBeginDocumentNoDialog",
-	"PMSessionBeginPageNoDialog",
-	"PMSessionCopyDestinationLocation",
-	"PMSessionCreatePrinterList",
-	"PMSessionDefaultPageFormat",
-	"PMSessionDefaultPrintSettings",
-	"PMSessionEndDocumentNoDialog",
-	"PMSessionEndPageNoDialog",
-	"PMSessionError",
-	"PMSessionGetDestinationType",
-	"PMSessionGetGraphicsContext",
-	"PMSessionPageSetupDialog",
-	"PMSessionPrintDialog",
-	"PMSessionSetCurrentPrinter",
-	"PMSessionSetDestination",
-	"PMSessionSetDocumentFormatGeneration",
-	"PMSessionSetError",
-	"PMSessionUseSheets",
-	"PMSessionValidatePageFormat",
-	"PMSessionValidatePrintSettings",
-	"PMSetCollate",
-	"PMSetFirstPage",
-	"PMSetJobNameCFString",
-	"PMSetLastPage",
-	"PMSetPageRange",
-	"PMUnflattenPageFormat",
-	"PMUnflattenPrintSettings",
-	"PaintOval",
-	"PaintPoly",
-	"PaintRect",
-	"PaintRoundRect",
-	"PenSize",
-	"PickColor",
-	"PopUpMenuSelect",
-	"PostEvent",
-	"PostEventToQueue",
-	"PtInRect",
-	"PtInRgn",
-	"PutScrapFlavor__IIII_3B",
-	"PutScrapFlavor__IIII_3C",
-	"QDBeginCGContext",
-	"QDEndCGContext",
-	"QDFlushPortBuffer",
-	"QDGlobalToLocalPoint",
-	"QDLocalToGlobalPoint",
-	"QDRegionToRects",
-	"QDSetDirtyRegion",
-	"QDSetPatternOrigin",
-	"QDSwapTextFlags",
-	"RGBBackColor",
-	"RGBForeColor",
-	"ReadIconFile",
-	"ReceiveNextEvent",
-	"RectInRgn",
-	"RectRgn",
-	"RegisterAppearanceClient",
-	"ReleaseEvent",
-	"ReleaseIconRef",
-	"ReleaseMenu",
-	"ReleaseWindow",
-	"ReleaseWindowGroup",
-	"RemoveControlProperty",
-	"RemoveDataBrowserItems",
-	"RemoveDataBrowserTableViewColumn",
-	"RemoveEventHandler",
-	"RemoveEventLoopTimer",
-	"RemoveReceiveHandler",
-	"RemoveTrackingHandler",
-	"RepositionWindow",
-	"ReshapeCustomWindow",
-	"RestoreApplicationDockTileImage",
-	"RetainEvent",
-	"RetainMenu",
-	"RetainWindow",
-	"RevealDataBrowserItem",
-	"RunStandardAlert",
-	"ScrollRect",
-	"SectRect",
-	"SectRgn",
-	"SelectWindow",
-	"SendBehind",
-	"SendEventToEventTarget",
-	"SendEventToEventTargetWithOptions",
-	"SetApplicationDockTileImage",
-	"SetAutomaticControlDragTrackingEnabledForWindow",
-	"SetBevelButtonContentInfo",
-	"SetClip",
-	"SetControl32BitMaximum",
-	"SetControl32BitMinimum",
-	"SetControl32BitValue",
-	"SetControlAction",
-	"SetControlBounds",
-	"SetControlColorProc",
-	"SetControlData__IIIII",
-	"SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2",
-	"SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2",
-	"SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2",
-	"SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2",
-	"SetControlData__IIII_3B",
-	"SetControlData__IIII_3I",
-	"SetControlData__IIII_3S",
-	"SetControlFontStyle",
-	"SetControlPopupMenuHandle",
-	"SetControlProperty",
-	"SetControlReference",
-	"SetControlTitleWithCFString",
-	"SetControlViewSize",
-	"SetControlVisibility",
-	"SetCursor",
-	"SetDataBrowserCallbacks",
-	"SetDataBrowserCustomCallbacks",
-	"SetDataBrowserHasScrollBars",
-	"SetDataBrowserItemDataBooleanValue",
-	"SetDataBrowserItemDataButtonValue",
-	"SetDataBrowserItemDataIcon",
-	"SetDataBrowserItemDataItemID",
-	"SetDataBrowserItemDataText",
-	"SetDataBrowserListViewDisclosureColumn",
-	"SetDataBrowserListViewHeaderBtnHeight",
-	"SetDataBrowserListViewHeaderDesc",
-	"SetDataBrowserPropertyFlags",
-	"SetDataBrowserScrollPosition",
-	"SetDataBrowserSelectedItems",
-	"SetDataBrowserSelectionFlags",
-	"SetDataBrowserSortOrder",
-	"SetDataBrowserSortProperty",
-	"SetDataBrowserTableViewColumnPosition",
-	"SetDataBrowserTableViewHiliteStyle",
-	"SetDataBrowserTableViewItemRow",
-	"SetDataBrowserTableViewNamedColumnWidth",
-	"SetDataBrowserTableViewRowHeight",
-	"SetDataBrowserTarget",
-	"SetDragAllowableActions",
-	"SetDragDropAction",
-	"SetDragImageWithCGImage",
-	"SetDragInputProc",
-	"SetDragItemFlavorData",
-	"SetDragSendProc",
-	"SetEventLoopTimerNextFireTime",
-	"SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2",
-	"SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2",
-	"SetEventParameter__IIII_3C",
-	"SetEventParameter__IIII_3I",
-	"SetEventParameter__IIII_3S",
-	"SetEventParameter__IIII_3Z",
-	"SetFontInfoForSelection",
-	"SetFrontProcess",
-	"SetFrontProcessWithOptions",
-	"SetGWorld",
-	"SetIconFamilyData",
-	"SetItemMark",
-	"SetKeyboardFocus",
-	"SetMenuCommandMark",
-	"SetMenuFont",
-	"SetMenuItemCommandKey",
-	"SetMenuItemHierarchicalMenu",
-	"SetMenuItemIconHandle",
-	"SetMenuItemKeyGlyph",
-	"SetMenuItemModifiers",
-	"SetMenuItemRefCon",
-	"SetMenuItemTextWithCFString",
-	"SetMenuTitleWithCFString",
-	"SetOrigin",
-	"SetPort",
-	"SetPortBounds",
-	"SetPortWindowPort",
-	"SetPt",
-	"SetRect",
-	"SetRectRgn",
-	"SetRootMenu",
-	"SetThemeBackground",
-	"SetThemeCursor",
-	"SetThemeDrawingState",
-	"SetThemeTextColor",
-	"SetThemeWindowBackground",
-	"SetUpControlBackground",
-	"SetWRefCon",
-	"SetWindowActivationScope",
-	"SetWindowBounds",
-	"SetWindowDefaultButton",
-	"SetWindowGroup",
-	"SetWindowGroupOwner",
-	"SetWindowGroupParent",
-	"SetWindowModality",
-	"SetWindowResizeLimits",
-	"SetWindowTitleWithCFString",
-	"ShowWindow",
-	"SizeControl",
-	"SizeWindow",
-	"StillDown",
-	"SyncCGContextOriginWithPort",
-	"SysBeep",
-	"TXNActivate",
-	"TXNAdjustCursor",
-	"TXNClick",
-	"TXNCopy",
-	"TXNCut",
-	"TXNDataSize",
-	"TXNDeleteObject",
-	"TXNDraw",
-	"TXNEchoMode",
-	"TXNFocus",
-	"TXNGetData",
-	"TXNGetHIRect",
-	"TXNGetLineCount",
-	"TXNGetLineMetrics",
-	"TXNGetRectBounds",
-	"TXNGetSelection",
-	"TXNGetTXNObjectControls",
-	"TXNGetViewRect",
-	"TXNInitTextension",
-	"TXNNewObject",
-	"TXNOffsetToPoint",
-	"TXNPaste",
-	"TXNPointToOffset",
-	"TXNSelectAll",
-	"TXNSetBackground",
-	"TXNSetData",
-	"TXNSetFrameBounds",
-	"TXNSetRectBounds",
-	"TXNSetSelection",
-	"TXNSetTXNObjectControls",
-	"TXNSetTypeAttributes",
-	"TXNShowSelection",
-	"TestControl",
-	"TextFace",
-	"TextFont",
-	"TextMode",
-	"TextSize",
-	"TextWidth",
-	"TrackDrag",
-	"TrackMouseLocationWithOptions",
-	"UTTypeCreatePreferredIdentifierForTag",
-	"UnionRect",
-	"UnionRgn",
-	"UnlockPortBits",
-	"UpdateControls",
-	"UpdateDataBrowserItems",
-	"UpgradeScriptInfoToTextEncoding",
-	"WaitMouseMoved",
-	"X2Fix",
-	"ZoomWindowIdeal",
-	"_1_1BIG_1ENDIAN_1_1",
-	"getenv",
-	"getpid",
-	"kCFNumberFormatterDecimalSeparator",
-	"kHIViewWindowContentID",
-	"kPMDocumentFormatPDF",
-	"kPMGraphicsContextCoreGraphics",
-	"kUTTagClassFilenameExtension",
-	"memcpy__III",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I",
-	"memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I",
-	"memcpy__I_3BI",
-	"memcpy__I_3CI",
-	"memcpy__I_3FI",
-	"memcpy__I_3II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II",
-	"memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II",
-	"memcpy___3BII",
-	"memcpy___3B_3CI",
-	"memcpy___3CII",
-	"memcpy___3C_3BI",
-	"memcpy___3FII",
-	"memcpy___3III",
-	"memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I",
-	"memset",
-	"strlen",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return OS_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return OS_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.h
deleted file mode 100644
index b6d1e40..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_stats.h
+++ /dev/null
@@ -1,945 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int OS_nativeFunctionCount;
-extern int OS_nativeFunctionCallCount[];
-extern char* OS_nativeFunctionNames[];
-#define OS_NATIVE_ENTER(env, that, func) OS_nativeFunctionCallCount[func]++;
-#define OS_NATIVE_EXIT(env, that, func) 
-#else
-#define OS_NATIVE_ENTER(env, that, func) 
-#define OS_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	AECountItems_FUNC,
-	AEGetNthPtr_FUNC,
-	AEInstallEventHandler_FUNC,
-	AEProcessAppleEvent_FUNC,
-	ATSFontGetPostScriptName_FUNC,
-	ATSUBatchBreakLines_FUNC,
-	ATSUCreateStyle_FUNC,
-	ATSUCreateTextLayout_FUNC,
-	ATSUCreateTextLayoutWithTextPtr_FUNC,
-	ATSUDirectGetLayoutDataArrayPtrFromTextLayout_FUNC,
-	ATSUDirectReleaseLayoutDataArrayPtr_FUNC,
-	ATSUDisposeStyle_FUNC,
-	ATSUDisposeTextLayout_FUNC,
-	ATSUDrawText_FUNC,
-	ATSUFindFontFromName_FUNC,
-	ATSUFindFontName_FUNC,
-	ATSUGetFontIDs_FUNC,
-	ATSUGetGlyphBounds__IIIIISII_3I_FUNC,
-	ATSUGetGlyphBounds__IIIIISILorg_eclipse_swt_internal_carbon_ATSTrapezoid_2_3I_FUNC,
-	ATSUGetLayoutControl_FUNC,
-	ATSUGetLineControl_FUNC,
-	ATSUGetSoftLineBreaks_FUNC,
-	ATSUGetTextHighlight_FUNC,
-	ATSUGetUnjustifiedBounds_FUNC,
-	ATSUGlyphGetQuadraticPaths_FUNC,
-	ATSUHighlightText_FUNC,
-	ATSUNextCursorPosition_FUNC,
-	ATSUOffsetToPosition_FUNC,
-	ATSUPositionToOffset_FUNC,
-	ATSUPreviousCursorPosition_FUNC,
-	ATSUSetAttributes_FUNC,
-	ATSUSetFontFeatures_FUNC,
-	ATSUSetHighlightingMethod_FUNC,
-	ATSUSetLayoutControls_FUNC,
-	ATSUSetLineControls_FUNC,
-	ATSUSetRunStyle_FUNC,
-	ATSUSetSoftLineBreak_FUNC,
-	ATSUSetTabArray_FUNC,
-	ATSUSetTextPointerLocation_FUNC,
-	ATSUSetTransientFontMatching_FUNC,
-	ATSUTextDeleted_FUNC,
-	ATSUTextInserted_FUNC,
-	AXNotificationHIObjectNotify_FUNC,
-	AXUIElementCreateWithHIObjectAndIdentifier_FUNC,
-	AXUIElementGetIdentifier_FUNC,
-	AXValueCreate_FUNC,
-	ActiveNonFloatingWindow_FUNC,
-	AddDataBrowserItems_FUNC,
-	AddDataBrowserListViewColumn_FUNC,
-	AddDragItemFlavor_FUNC,
-	AppendMenuItemTextWithCFString_FUNC,
-	AutoSizeDataBrowserListViewColumns_FUNC,
-	BeginUpdate_FUNC,
-	BringToFront_FUNC,
-	CFArrayAppendValue_FUNC,
-	CFArrayCreateMutable_FUNC,
-	CFArrayGetCount_FUNC,
-	CFArrayGetValueAtIndex_FUNC,
-	CFDataGetBytes_FUNC,
-	CFDataGetLength_FUNC,
-	CFEqual_FUNC,
-	CFLocaleCopyCurrent_FUNC,
-	CFNumberFormatterCopyProperty_FUNC,
-	CFNumberFormatterCreate_FUNC,
-	CFRelease_FUNC,
-	CFStringCreateWithBytes_FUNC,
-	CFStringCreateWithCharacters__III_FUNC,
-	CFStringCreateWithCharacters__I_3CI_FUNC,
-	CFStringGetBytes_FUNC,
-	CFStringGetCharacters_FUNC,
-	CFStringGetLength_FUNC,
-	CFStringGetSystemEncoding_FUNC,
-	CFURLCopyFileSystemPath_FUNC,
-	CFURLCopyLastPathComponent_FUNC,
-	CFURLCopyPathExtension_FUNC,
-	CFURLCreateCopyAppendingPathComponent_FUNC,
-	CFURLCreateCopyDeletingLastPathComponent_FUNC,
-	CFURLCreateData_FUNC,
-	CFURLCreateFromFSRef_FUNC,
-	CFURLCreateFromFileSystemRepresentation_FUNC,
-	CFURLCreateWithBytes_FUNC,
-	CFURLCreateWithFileSystemPath_FUNC,
-	CFURLGetFSRef_FUNC,
-	CGAffineTransformConcat_FUNC,
-	CGAffineTransformInvert_FUNC,
-	CGAffineTransformMake_FUNC,
-	CGAffineTransformRotate_FUNC,
-	CGAffineTransformScale_FUNC,
-	CGAffineTransformTranslate_FUNC,
-	CGBitmapContextCreate_FUNC,
-	CGColorCreate_FUNC,
-	CGColorRelease_FUNC,
-	CGColorSpaceCreateDeviceRGB_FUNC,
-	CGColorSpaceCreatePattern_FUNC,
-	CGColorSpaceRelease_FUNC,
-	CGContextAddArc_FUNC,
-	CGContextAddArcToPoint_FUNC,
-	CGContextAddLineToPoint_FUNC,
-	CGContextAddLines_FUNC,
-	CGContextAddPath_FUNC,
-	CGContextBeginPath_FUNC,
-	CGContextClearRect_FUNC,
-	CGContextClip_FUNC,
-	CGContextClosePath_FUNC,
-	CGContextConcatCTM_FUNC,
-	CGContextDrawImage_FUNC,
-	CGContextDrawShading_FUNC,
-	CGContextEOClip_FUNC,
-	CGContextEOFillPath_FUNC,
-	CGContextFillPath_FUNC,
-	CGContextFillRect_FUNC,
-	CGContextFlush_FUNC,
-	CGContextGetCTM_FUNC,
-	CGContextGetInterpolationQuality_FUNC,
-	CGContextGetPathBoundingBox_FUNC,
-	CGContextGetTextPosition_FUNC,
-	CGContextMoveToPoint_FUNC,
-	CGContextRelease_FUNC,
-	CGContextRestoreGState_FUNC,
-	CGContextSaveGState_FUNC,
-	CGContextScaleCTM_FUNC,
-	CGContextSelectFont_FUNC,
-	CGContextSetAlpha_FUNC,
-	CGContextSetFillColor_FUNC,
-	CGContextSetFillColorSpace_FUNC,
-	CGContextSetFillPattern_FUNC,
-	CGContextSetFont_FUNC,
-	CGContextSetFontSize_FUNC,
-	CGContextSetInterpolationQuality_FUNC,
-	CGContextSetLineCap_FUNC,
-	CGContextSetLineDash_FUNC,
-	CGContextSetLineJoin_FUNC,
-	CGContextSetLineWidth_FUNC,
-	CGContextSetRGBFillColor_FUNC,
-	CGContextSetRGBStrokeColor_FUNC,
-	CGContextSetRenderingIntent_FUNC,
-	CGContextSetShouldAntialias_FUNC,
-	CGContextSetShouldSmoothFonts_FUNC,
-	CGContextSetStrokeColor_FUNC,
-	CGContextSetStrokeColorSpace_FUNC,
-	CGContextSetStrokePattern_FUNC,
-	CGContextSetTextDrawingMode_FUNC,
-	CGContextSetTextMatrix_FUNC,
-	CGContextSetTextPosition_FUNC,
-	CGContextShowText_FUNC,
-	CGContextShowTextAtPoint_FUNC,
-	CGContextStrokePath_FUNC,
-	CGContextStrokeRect_FUNC,
-	CGContextSynchronize_FUNC,
-	CGContextTranslateCTM_FUNC,
-	CGDataProviderCreateWithData_FUNC,
-	CGDataProviderCreateWithURL_FUNC,
-	CGDataProviderRelease_FUNC,
-	CGDisplayBaseAddress_FUNC,
-	CGDisplayBitsPerPixel_FUNC,
-	CGDisplayBitsPerSample_FUNC,
-	CGDisplayBytesPerRow_FUNC,
-	CGDisplayPixelsHigh_FUNC,
-	CGDisplayPixelsWide_FUNC,
-	CGFontCreateWithPlatformFont_FUNC,
-	CGFontRelease_FUNC,
-	CGFunctionCreate_FUNC,
-	CGFunctionRelease_FUNC,
-	CGGetDisplaysWithRect_FUNC,
-	CGImageCreate_FUNC,
-	CGImageCreateWithImageInRect_FUNC,
-	CGImageCreateWithJPEGDataProvider_FUNC,
-	CGImageCreateWithPNGDataProvider_FUNC,
-	CGImageGetAlphaInfo_FUNC,
-	CGImageGetBitsPerComponent_FUNC,
-	CGImageGetBitsPerPixel_FUNC,
-	CGImageGetBytesPerRow_FUNC,
-	CGImageGetColorSpace_FUNC,
-	CGImageGetHeight_FUNC,
-	CGImageGetWidth_FUNC,
-	CGImageRelease_FUNC,
-	CGPathAddArc_FUNC,
-	CGPathAddCurveToPoint_FUNC,
-	CGPathAddLineToPoint_FUNC,
-	CGPathAddPath_FUNC,
-	CGPathAddQuadCurveToPoint_FUNC,
-	CGPathAddRect_FUNC,
-	CGPathApply_FUNC,
-	CGPathCloseSubpath_FUNC,
-	CGPathCreateMutable_FUNC,
-	CGPathGetBoundingBox_FUNC,
-	CGPathGetCurrentPoint_FUNC,
-	CGPathIsEmpty_FUNC,
-	CGPathMoveToPoint_FUNC,
-	CGPathRelease_FUNC,
-	CGPatternCreate_FUNC,
-	CGPatternRelease_FUNC,
-	CGPointApplyAffineTransform_FUNC,
-	CGPostKeyboardEvent_FUNC,
-	CGPostMouseEvent_FUNC,
-	CGRectContainsPoint_FUNC,
-	CGShadingCreateAxial_FUNC,
-	CGShadingCreateRadial_FUNC,
-	CGShadingRelease_FUNC,
-	CGWarpMouseCursorPosition_FUNC,
-	CPSEnableForegroundOperation_FUNC,
-	CPSSetProcessName_FUNC,
-	CalcMenuSize_FUNC,
-	Call_FUNC,
-	CallNextEventHandler_FUNC,
-	CancelMenuTracking_FUNC,
-	ChangeWindowAttributes_FUNC,
-	CharWidth_FUNC,
-	ClearCurrentScrap_FUNC,
-	ClearKeyboardFocus_FUNC,
-	ClearMenuBar_FUNC,
-	ClipCGContextToRegion_FUNC,
-	CloseDataBrowserContainer_FUNC,
-	ClosePoly_FUNC,
-	CloseRgn_FUNC,
-	CollapseWindow_FUNC,
-	ConvertEventRefToEventRecord_FUNC,
-	ConvertFromPStringToUnicode_FUNC,
-	ConvertFromUnicodeToPString_FUNC,
-	CopyBits_FUNC,
-	CopyControlTitleAsCFString_FUNC,
-	CopyDeepMask_FUNC,
-	CopyMenuItemTextAsCFString_FUNC,
-	CopyRgn_FUNC,
-	CountDragItemFlavors_FUNC,
-	CountDragItems_FUNC,
-	CountMenuItems_FUNC,
-	CountSubControls_FUNC,
-	CreateBevelButtonControl_FUNC,
-	CreateCGContextForPort_FUNC,
-	CreateCheckBoxControl_FUNC,
-	CreateDataBrowserControl_FUNC,
-	CreateEditUnicodeTextControl_FUNC,
-	CreateEvent_FUNC,
-	CreateGroupBoxControl_FUNC,
-	CreateIconControl_FUNC,
-	CreateLittleArrowsControl_FUNC,
-	CreateNewMenu_FUNC,
-	CreateNewWindow_FUNC,
-	CreatePopupArrowControl_FUNC,
-	CreatePopupButtonControl_FUNC,
-	CreateProgressBarControl_FUNC,
-	CreatePushButtonControl_FUNC,
-	CreatePushButtonWithIconControl_FUNC,
-	CreateRadioButtonControl_FUNC,
-	CreateRootControl_FUNC,
-	CreateScrollBarControl_FUNC,
-	CreateSeparatorControl_FUNC,
-	CreateSliderControl_FUNC,
-	CreateStandardAlert_FUNC,
-	CreateStaticTextControl_FUNC,
-	CreateTabsControl_FUNC,
-	CreateTextToUnicodeInfoByEncoding_FUNC,
-	CreateUnicodeToTextInfoByEncoding_FUNC,
-	CreateUserPaneControl_FUNC,
-	CreateWindowGroup_FUNC,
-	DMGetFirstScreenDevice_FUNC,
-	DMGetNextScreenDevice_FUNC,
-	DataBrowserChangeAttributes_FUNC,
-	DataBrowserGetAttributes_FUNC,
-	DataBrowserGetMetric_FUNC,
-	DataBrowserSetMetric_FUNC,
-	DeleteGlobalRef_FUNC,
-	DeleteMenu_FUNC,
-	DeleteMenuItem_FUNC,
-	DeleteMenuItems_FUNC,
-	DiffRgn_FUNC,
-	DisableControl_FUNC,
-	DisableMenuCommand_FUNC,
-	DisableMenuItem_FUNC,
-	DisposeControl_FUNC,
-	DisposeDrag_FUNC,
-	DisposeGWorld_FUNC,
-	DisposeHandle_FUNC,
-	DisposeMenu_FUNC,
-	DisposePtr_FUNC,
-	DisposeRgn_FUNC,
-	DisposeTextToUnicodeInfo_FUNC,
-	DisposeUnicodeToTextInfo_FUNC,
-	DisposeWindow_FUNC,
-	DrawControlInCurrentPort_FUNC,
-	DrawMenuBar_FUNC,
-	DrawText_FUNC,
-	DrawThemeButton_FUNC,
-	DrawThemeEditTextFrame_FUNC,
-	DrawThemeFocusRect_FUNC,
-	DrawThemePopupArrow_FUNC,
-	DrawThemeSeparator_FUNC,
-	DrawThemeTextBox_FUNC,
-	EmbedControl_FUNC,
-	EmptyRect_FUNC,
-	EmptyRgn_FUNC,
-	EnableControl_FUNC,
-	EnableMenuCommand_FUNC,
-	EnableMenuItem_FUNC,
-	EndUpdate_FUNC,
-	EqualRect_FUNC,
-	EraseRect_FUNC,
-	EraseRgn_FUNC,
-	FMCreateFontFamilyInstanceIterator_FUNC,
-	FMCreateFontFamilyIterator_FUNC,
-	FMDisposeFontFamilyInstanceIterator_FUNC,
-	FMDisposeFontFamilyIterator_FUNC,
-	FMGetATSFontRefFromFont_FUNC,
-	FMGetFontFamilyFromName_FUNC,
-	FMGetFontFamilyInstanceFromFont_FUNC,
-	FMGetFontFamilyName_FUNC,
-	FMGetFontFromFontFamilyInstance_FUNC,
-	FMGetNextFontFamily_FUNC,
-	FMGetNextFontFamilyInstance_FUNC,
-	FPIsFontPanelVisible_FUNC,
-	FPShowHideFontPanel_FUNC,
-	FSGetCatalogInfo_FUNC,
-	FSpGetFInfo_FUNC,
-	FSpMakeFSRef_FUNC,
-	FetchFontInfo_FUNC,
-	FindWindow_FUNC,
-	Fix2Long_FUNC,
-	Fix2X_FUNC,
-	FrameOval_FUNC,
-	FramePoly_FUNC,
-	FrameRect_FUNC,
-	FrameRoundRect_FUNC,
-	FrontWindow_FUNC,
-	Gestalt_FUNC,
-	GetAppFont_FUNC,
-	GetApplicationEventTarget_FUNC,
-	GetAvailableWindowAttributes_FUNC,
-	GetAvailableWindowPositioningBounds_FUNC,
-	GetBestControlRect_FUNC,
-	GetCaretTime_FUNC,
-	GetClip_FUNC,
-	GetControl32BitMaximum_FUNC,
-	GetControl32BitMinimum_FUNC,
-	GetControl32BitValue_FUNC,
-	GetControlAction_FUNC,
-	GetControlBounds_FUNC,
-	GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_3I_FUNC,
-	GetControlData__ISIILorg_eclipse_swt_internal_carbon_ControlFontStyleRec_2_3I_FUNC,
-	GetControlData__ISIILorg_eclipse_swt_internal_carbon_Rect_2_3I_FUNC,
-	GetControlData__ISII_3B_3I_FUNC,
-	GetControlData__ISII_3I_3I_FUNC,
-	GetControlData__ISII_3S_3I_FUNC,
-	GetControlEventTarget_FUNC,
-	GetControlFeatures_FUNC,
-	GetControlKind_FUNC,
-	GetControlOwner_FUNC,
-	GetControlProperty_FUNC,
-	GetControlReference_FUNC,
-	GetControlRegion_FUNC,
-	GetControlValue_FUNC,
-	GetControlViewSize_FUNC,
-	GetCurrentEventButtonState_FUNC,
-	GetCurrentEventKeyModifiers_FUNC,
-	GetCurrentEventLoop_FUNC,
-	GetCurrentEventQueue_FUNC,
-	GetCurrentProcess_FUNC,
-	GetCurrentScrap_FUNC,
-	GetDataBrowserCallbacks_FUNC,
-	GetDataBrowserItemCount_FUNC,
-	GetDataBrowserItemDataButtonValue_FUNC,
-	GetDataBrowserItemPartBounds_FUNC,
-	GetDataBrowserItemState_FUNC,
-	GetDataBrowserItems_FUNC,
-	GetDataBrowserListViewDisclosureColumn_FUNC,
-	GetDataBrowserListViewHeaderBtnHeight_FUNC,
-	GetDataBrowserListViewHeaderDesc_FUNC,
-	GetDataBrowserPropertyFlags_FUNC,
-	GetDataBrowserScrollBarInset_FUNC,
-	GetDataBrowserScrollPosition_FUNC,
-	GetDataBrowserSelectionAnchor_FUNC,
-	GetDataBrowserSelectionFlags_FUNC,
-	GetDataBrowserSortProperty_FUNC,
-	GetDataBrowserTableViewColumnPosition_FUNC,
-	GetDataBrowserTableViewItemID_FUNC,
-	GetDataBrowserTableViewItemRow_FUNC,
-	GetDataBrowserTableViewNamedColumnWidth_FUNC,
-	GetDataBrowserTableViewRowHeight_FUNC,
-	GetDblTime_FUNC,
-	GetDefFontSize_FUNC,
-	GetDeviceList_FUNC,
-	GetDragAllowableActions_FUNC,
-	GetDragDropAction_FUNC,
-	GetDragItemReferenceNumber_FUNC,
-	GetDragModifiers_FUNC,
-	GetDragMouse_FUNC,
-	GetEventClass_FUNC,
-	GetEventDispatcherTarget_FUNC,
-	GetEventKind_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_CGRect_2_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Point_2_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_RGBColor_2_FUNC,
-	GetEventParameter__III_3II_3ILorg_eclipse_swt_internal_carbon_Rect_2_FUNC,
-	GetEventParameter__III_3II_3I_3B_FUNC,
-	GetEventParameter__III_3II_3I_3C_FUNC,
-	GetEventParameter__III_3II_3I_3I_FUNC,
-	GetEventParameter__III_3II_3I_3S_FUNC,
-	GetEventParameter__III_3II_3I_3Z_FUNC,
-	GetEventTime_FUNC,
-	GetFlavorData_FUNC,
-	GetFlavorDataSize_FUNC,
-	GetFlavorType_FUNC,
-	GetFontInfo_FUNC,
-	GetGDevice_FUNC,
-	GetGWorld_FUNC,
-	GetGlobalMouse_FUNC,
-	GetHandleSize_FUNC,
-	GetIconFamilyData_FUNC,
-	GetIconRef_FUNC,
-	GetIconRefFromIconFamilyPtr_FUNC,
-	GetIndMenuItemWithCommandID_FUNC,
-	GetIndexedSubControl_FUNC,
-	GetItemMark_FUNC,
-	GetKeyboardFocus_FUNC,
-	GetLastUserEventTime_FUNC,
-	GetMBarHeight_FUNC,
-	GetMainDevice_FUNC,
-	GetMainEventQueue_FUNC,
-	GetMenuCommandMark_FUNC,
-	GetMenuEventTarget_FUNC,
-	GetMenuFont_FUNC,
-	GetMenuHeight_FUNC,
-	GetMenuID_FUNC,
-	GetMenuItemCommandID_FUNC,
-	GetMenuItemHierarchicalMenu_FUNC,
-	GetMenuItemRefCon_FUNC,
-	GetMenuTrackingData_FUNC,
-	GetMenuWidth_FUNC,
-	GetMouse_FUNC,
-	GetNextDevice_FUNC,
-	GetNextWindow_FUNC,
-	GetPixBounds_FUNC,
-	GetPixDepth_FUNC,
-	GetPort_FUNC,
-	GetPortBitMapForCopyBits_FUNC,
-	GetPortBounds_FUNC,
-	GetPortClipRegion_FUNC,
-	GetPortVisibleRegion_FUNC,
-	GetPreviousWindow_FUNC,
-	GetPtrSize_FUNC,
-	GetRegionBounds_FUNC,
-	GetRootControl_FUNC,
-	GetScrapFlavorCount_FUNC,
-	GetScrapFlavorData__II_3I_3B_FUNC,
-	GetScrapFlavorData__II_3I_3C_FUNC,
-	GetScrapFlavorInfoList_FUNC,
-	GetScrapFlavorSize_FUNC,
-	GetScriptManagerVariable_FUNC,
-	GetSuperControl_FUNC,
-	GetTabContentRect_FUNC,
-	GetThemeBrushAsColor_FUNC,
-	GetThemeButtonContentBounds_FUNC,
-	GetThemeButtonRegion_FUNC,
-	GetThemeDrawingState_FUNC,
-	GetThemeFont_FUNC,
-	GetThemeMenuItemExtra_FUNC,
-	GetThemeMetric_FUNC,
-	GetThemeTextColor_FUNC,
-	GetThemeTextDimensions_FUNC,
-	GetUserFocusEventTarget_FUNC,
-	GetUserFocusWindow_FUNC,
-	GetWRefCon_FUNC,
-	GetWindowActivationScope_FUNC,
-	GetWindowBounds_FUNC,
-	GetWindowClass_FUNC,
-	GetWindowDefaultButton_FUNC,
-	GetWindowEventTarget_FUNC,
-	GetWindowFromPort_FUNC,
-	GetWindowGroupOfClass_FUNC,
-	GetWindowList_FUNC,
-	GetWindowModality_FUNC,
-	GetWindowPort_FUNC,
-	GetWindowRegion_FUNC,
-	GetWindowResizeLimits_FUNC,
-	GetWindowStructureWidths_FUNC,
-	HIComboBoxAppendTextItem_FUNC,
-	HIComboBoxCopyTextItemAtIndex_FUNC,
-	HIComboBoxCreate_FUNC,
-	HIComboBoxGetItemCount_FUNC,
-	HIComboBoxInsertTextItemAtIndex_FUNC,
-	HIComboBoxRemoveItemAtIndex_FUNC,
-	HICopyAccessibilityRoleDescription_FUNC,
-	HICreateTransformedCGImage_FUNC,
-	HIObjectCopyClassID_FUNC,
-	HIObjectCreate_FUNC,
-	HIObjectRegisterSubclass_FUNC,
-	HIScrollViewCreate_FUNC,
-	HITextViewCreate_FUNC,
-	HITextViewGetTXNObject_FUNC,
-	HIThemeDrawBackground_FUNC,
-	HIThemeDrawButton_FUNC,
-	HIThemeDrawFocusRect_FUNC,
-	HIThemeDrawFrame_FUNC,
-	HIThemeDrawGenericWell_FUNC,
-	HIThemeDrawGroupBox_FUNC,
-	HIThemeDrawGrowBox_FUNC,
-	HIThemeDrawPopupArrow_FUNC,
-	HIThemeDrawSeparator_FUNC,
-	HIThemeDrawTab_FUNC,
-	HIThemeDrawTabPane_FUNC,
-	HIThemeDrawTextBox_FUNC,
-	HIThemeDrawTrack_FUNC,
-	HIThemeGetButtonBackgroundBounds_FUNC,
-	HIThemeGetButtonContentBounds_FUNC,
-	HIThemeGetScrollBarTrackRect_FUNC,
-	HIThemeGetTextDimensions_FUNC,
-	HIThemeGetTrackBounds_FUNC,
-	HIThemeGetTrackLiveValue_FUNC,
-	HIThemeGetTrackPartBounds_FUNC,
-	HIThemeGetTrackThumbPositionFromBounds_FUNC,
-	HIThemeGetTrackThumbPositionFromOffset_FUNC,
-	HIThemeHitTestScrollBarArrows_FUNC,
-	HIThemeHitTestTrack_FUNC,
-	HIThemeSetFill_FUNC,
-	HIViewAddSubview_FUNC,
-	HIViewChangeAttributes_FUNC,
-	HIViewChangeFeatures_FUNC,
-	HIViewClick_FUNC,
-	HIViewConvertPoint_FUNC,
-	HIViewConvertRect_FUNC,
-	HIViewConvertRegion_FUNC,
-	HIViewCreateOffscreenImage_FUNC,
-	HIViewFindByID_FUNC,
-	HIViewGetBounds_FUNC,
-	HIViewGetFeatures_FUNC,
-	HIViewGetFirstSubview_FUNC,
-	HIViewGetFrame_FUNC,
-	HIViewGetLastSubview_FUNC,
-	HIViewGetNextView_FUNC,
-	HIViewGetRoot_FUNC,
-	HIViewGetSizeConstraints_FUNC,
-	HIViewGetSubviewHit_FUNC,
-	HIViewGetSuperview_FUNC,
-	HIViewGetViewForMouseEvent_FUNC,
-	HIViewIsDrawingEnabled_FUNC,
-	HIViewIsVisible_FUNC,
-	HIViewRemoveFromSuperview_FUNC,
-	HIViewRender_FUNC,
-	HIViewScrollRect_FUNC,
-	HIViewSetBoundsOrigin_FUNC,
-	HIViewSetDrawingEnabled_FUNC,
-	HIViewSetFrame_FUNC,
-	HIViewSetNeedsDisplay_FUNC,
-	HIViewSetNeedsDisplayInRegion_FUNC,
-	HIViewSetVisible_FUNC,
-	HIViewSetZOrder_FUNC,
-	HIViewSimulateClick_FUNC,
-	HLock_FUNC,
-	HMDisplayTag_FUNC,
-	HMGetTagDelay_FUNC,
-	HMHideTag_FUNC,
-	HMInstallControlContentCallback_FUNC,
-	HMSetTagDelay_FUNC,
-	HUnlock_FUNC,
-	HandleControlClick_FUNC,
-	HandleControlSetCursor_FUNC,
-	HiWord_FUNC,
-	HideWindow_FUNC,
-	HiliteMenu_FUNC,
-	IconRefToIconFamily_FUNC,
-	InitContextualMenus_FUNC,
-	InitCursor_FUNC,
-	InitDataBrowserCallbacks_FUNC,
-	InitDataBrowserCustomCallbacks_FUNC,
-	InsertMenu_FUNC,
-	InsertMenuItemTextWithCFString_FUNC,
-	InstallEventHandler_FUNC,
-	InstallEventLoopIdleTimer_FUNC,
-	InstallEventLoopTimer_FUNC,
-	InstallReceiveHandler_FUNC,
-	InstallTrackingHandler_FUNC,
-	InvalWindowRect_FUNC,
-	InvalWindowRgn_FUNC,
-	InvertRect_FUNC,
-	InvertRgn_FUNC,
-	IsControlActive_FUNC,
-	IsControlEnabled_FUNC,
-	IsControlVisible_FUNC,
-	IsDataBrowserItemSelected_FUNC,
-	IsMenuCommandEnabled_FUNC,
-	IsMenuItemEnabled_FUNC,
-	IsValidControlHandle_FUNC,
-	IsValidMenu_FUNC,
-	IsValidWindowPtr_FUNC,
-	IsWindowActive_FUNC,
-	IsWindowCollapsed_FUNC,
-	IsWindowVisible_FUNC,
-	JNIGetObject_FUNC,
-	KeyTranslate_FUNC,
-	KillPoly_FUNC,
-	LineTo_FUNC,
-	LoWord_FUNC,
-	LockPortBits_FUNC,
-	Long2Fix_FUNC,
-	MenuSelect_FUNC,
-	MoveControl_FUNC,
-	MoveTo_FUNC,
-	MoveWindow_FUNC,
-	NavCreateChooseFolderDialog_FUNC,
-	NavCreateGetFileDialog_FUNC,
-	NavCreatePutFileDialog_FUNC,
-	NavDialogDispose_FUNC,
-	NavDialogGetReply_FUNC,
-	NavDialogGetSaveFileName_FUNC,
-	NavDialogGetUserAction_FUNC,
-	NavDialogRun_FUNC,
-	NavDialogSetFilterTypeIdentifiers_FUNC,
-	NavDialogSetSaveFileName_FUNC,
-	NavGetDefaultDialogCreationOptions_FUNC,
-	NewControl_FUNC,
-	NewDrag_FUNC,
-	NewGWorldFromPtr_FUNC,
-	NewGlobalRef_FUNC,
-	NewHandle_FUNC,
-	NewHandleClear_FUNC,
-	NewPtr_FUNC,
-	NewPtrClear_FUNC,
-	NewRgn_FUNC,
-	OffsetRect_FUNC,
-	OffsetRgn_FUNC,
-	OpenDataBrowserContainer_FUNC,
-	OpenPoly_FUNC,
-	OpenRgn_FUNC,
-	PMCreatePageFormat_FUNC,
-	PMCreatePrintSettings_FUNC,
-	PMCreateSession_FUNC,
-	PMFlattenPageFormat_FUNC,
-	PMFlattenPrintSettings_FUNC,
-	PMGetAdjustedPageRect_FUNC,
-	PMGetAdjustedPaperRect_FUNC,
-	PMGetCollate_FUNC,
-	PMGetCopies_FUNC,
-	PMGetFirstPage_FUNC,
-	PMGetJobNameCFString_FUNC,
-	PMGetLastPage_FUNC,
-	PMGetPageRange_FUNC,
-	PMGetResolution_FUNC,
-	PMRelease_FUNC,
-	PMSessionBeginDocumentNoDialog_FUNC,
-	PMSessionBeginPageNoDialog_FUNC,
-	PMSessionCopyDestinationLocation_FUNC,
-	PMSessionCreatePrinterList_FUNC,
-	PMSessionDefaultPageFormat_FUNC,
-	PMSessionDefaultPrintSettings_FUNC,
-	PMSessionEndDocumentNoDialog_FUNC,
-	PMSessionEndPageNoDialog_FUNC,
-	PMSessionError_FUNC,
-	PMSessionGetDestinationType_FUNC,
-	PMSessionGetGraphicsContext_FUNC,
-	PMSessionPageSetupDialog_FUNC,
-	PMSessionPrintDialog_FUNC,
-	PMSessionSetCurrentPrinter_FUNC,
-	PMSessionSetDestination_FUNC,
-	PMSessionSetDocumentFormatGeneration_FUNC,
-	PMSessionSetError_FUNC,
-	PMSessionUseSheets_FUNC,
-	PMSessionValidatePageFormat_FUNC,
-	PMSessionValidatePrintSettings_FUNC,
-	PMSetCollate_FUNC,
-	PMSetFirstPage_FUNC,
-	PMSetJobNameCFString_FUNC,
-	PMSetLastPage_FUNC,
-	PMSetPageRange_FUNC,
-	PMUnflattenPageFormat_FUNC,
-	PMUnflattenPrintSettings_FUNC,
-	PaintOval_FUNC,
-	PaintPoly_FUNC,
-	PaintRect_FUNC,
-	PaintRoundRect_FUNC,
-	PenSize_FUNC,
-	PickColor_FUNC,
-	PopUpMenuSelect_FUNC,
-	PostEvent_FUNC,
-	PostEventToQueue_FUNC,
-	PtInRect_FUNC,
-	PtInRgn_FUNC,
-	PutScrapFlavor__IIII_3B_FUNC,
-	PutScrapFlavor__IIII_3C_FUNC,
-	QDBeginCGContext_FUNC,
-	QDEndCGContext_FUNC,
-	QDFlushPortBuffer_FUNC,
-	QDGlobalToLocalPoint_FUNC,
-	QDLocalToGlobalPoint_FUNC,
-	QDRegionToRects_FUNC,
-	QDSetDirtyRegion_FUNC,
-	QDSetPatternOrigin_FUNC,
-	QDSwapTextFlags_FUNC,
-	RGBBackColor_FUNC,
-	RGBForeColor_FUNC,
-	ReadIconFile_FUNC,
-	ReceiveNextEvent_FUNC,
-	RectInRgn_FUNC,
-	RectRgn_FUNC,
-	RegisterAppearanceClient_FUNC,
-	ReleaseEvent_FUNC,
-	ReleaseIconRef_FUNC,
-	ReleaseMenu_FUNC,
-	ReleaseWindow_FUNC,
-	ReleaseWindowGroup_FUNC,
-	RemoveControlProperty_FUNC,
-	RemoveDataBrowserItems_FUNC,
-	RemoveDataBrowserTableViewColumn_FUNC,
-	RemoveEventHandler_FUNC,
-	RemoveEventLoopTimer_FUNC,
-	RemoveReceiveHandler_FUNC,
-	RemoveTrackingHandler_FUNC,
-	RepositionWindow_FUNC,
-	ReshapeCustomWindow_FUNC,
-	RestoreApplicationDockTileImage_FUNC,
-	RetainEvent_FUNC,
-	RetainMenu_FUNC,
-	RetainWindow_FUNC,
-	RevealDataBrowserItem_FUNC,
-	RunStandardAlert_FUNC,
-	ScrollRect_FUNC,
-	SectRect_FUNC,
-	SectRgn_FUNC,
-	SelectWindow_FUNC,
-	SendBehind_FUNC,
-	SendEventToEventTarget_FUNC,
-	SendEventToEventTargetWithOptions_FUNC,
-	SetApplicationDockTileImage_FUNC,
-	SetAutomaticControlDragTrackingEnabledForWindow_FUNC,
-	SetBevelButtonContentInfo_FUNC,
-	SetClip_FUNC,
-	SetControl32BitMaximum_FUNC,
-	SetControl32BitMinimum_FUNC,
-	SetControl32BitValue_FUNC,
-	SetControlAction_FUNC,
-	SetControlBounds_FUNC,
-	SetControlColorProc_FUNC,
-	SetControlData__IIIII_FUNC,
-	SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlButtonContentInfo_2_FUNC,
-	SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlEditTextSelectionRec_2_FUNC,
-	SetControlData__IIIILorg_eclipse_swt_internal_carbon_ControlTabInfoRecV1_2_FUNC,
-	SetControlData__IIIILorg_eclipse_swt_internal_carbon_Rect_2_FUNC,
-	SetControlData__IIII_3B_FUNC,
-	SetControlData__IIII_3I_FUNC,
-	SetControlData__IIII_3S_FUNC,
-	SetControlFontStyle_FUNC,
-	SetControlPopupMenuHandle_FUNC,
-	SetControlProperty_FUNC,
-	SetControlReference_FUNC,
-	SetControlTitleWithCFString_FUNC,
-	SetControlViewSize_FUNC,
-	SetControlVisibility_FUNC,
-	SetCursor_FUNC,
-	SetDataBrowserCallbacks_FUNC,
-	SetDataBrowserCustomCallbacks_FUNC,
-	SetDataBrowserHasScrollBars_FUNC,
-	SetDataBrowserItemDataBooleanValue_FUNC,
-	SetDataBrowserItemDataButtonValue_FUNC,
-	SetDataBrowserItemDataIcon_FUNC,
-	SetDataBrowserItemDataItemID_FUNC,
-	SetDataBrowserItemDataText_FUNC,
-	SetDataBrowserListViewDisclosureColumn_FUNC,
-	SetDataBrowserListViewHeaderBtnHeight_FUNC,
-	SetDataBrowserListViewHeaderDesc_FUNC,
-	SetDataBrowserPropertyFlags_FUNC,
-	SetDataBrowserScrollPosition_FUNC,
-	SetDataBrowserSelectedItems_FUNC,
-	SetDataBrowserSelectionFlags_FUNC,
-	SetDataBrowserSortOrder_FUNC,
-	SetDataBrowserSortProperty_FUNC,
-	SetDataBrowserTableViewColumnPosition_FUNC,
-	SetDataBrowserTableViewHiliteStyle_FUNC,
-	SetDataBrowserTableViewItemRow_FUNC,
-	SetDataBrowserTableViewNamedColumnWidth_FUNC,
-	SetDataBrowserTableViewRowHeight_FUNC,
-	SetDataBrowserTarget_FUNC,
-	SetDragAllowableActions_FUNC,
-	SetDragDropAction_FUNC,
-	SetDragImageWithCGImage_FUNC,
-	SetDragInputProc_FUNC,
-	SetDragItemFlavorData_FUNC,
-	SetDragSendProc_FUNC,
-	SetEventLoopTimerNextFireTime_FUNC,
-	SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_CGPoint_2_FUNC,
-	SetEventParameter__IIIILorg_eclipse_swt_internal_carbon_HICommand_2_FUNC,
-	SetEventParameter__IIII_3C_FUNC,
-	SetEventParameter__IIII_3I_FUNC,
-	SetEventParameter__IIII_3S_FUNC,
-	SetEventParameter__IIII_3Z_FUNC,
-	SetFontInfoForSelection_FUNC,
-	SetFrontProcess_FUNC,
-	SetFrontProcessWithOptions_FUNC,
-	SetGWorld_FUNC,
-	SetIconFamilyData_FUNC,
-	SetItemMark_FUNC,
-	SetKeyboardFocus_FUNC,
-	SetMenuCommandMark_FUNC,
-	SetMenuFont_FUNC,
-	SetMenuItemCommandKey_FUNC,
-	SetMenuItemHierarchicalMenu_FUNC,
-	SetMenuItemIconHandle_FUNC,
-	SetMenuItemKeyGlyph_FUNC,
-	SetMenuItemModifiers_FUNC,
-	SetMenuItemRefCon_FUNC,
-	SetMenuItemTextWithCFString_FUNC,
-	SetMenuTitleWithCFString_FUNC,
-	SetOrigin_FUNC,
-	SetPort_FUNC,
-	SetPortBounds_FUNC,
-	SetPortWindowPort_FUNC,
-	SetPt_FUNC,
-	SetRect_FUNC,
-	SetRectRgn_FUNC,
-	SetRootMenu_FUNC,
-	SetThemeBackground_FUNC,
-	SetThemeCursor_FUNC,
-	SetThemeDrawingState_FUNC,
-	SetThemeTextColor_FUNC,
-	SetThemeWindowBackground_FUNC,
-	SetUpControlBackground_FUNC,
-	SetWRefCon_FUNC,
-	SetWindowActivationScope_FUNC,
-	SetWindowBounds_FUNC,
-	SetWindowDefaultButton_FUNC,
-	SetWindowGroup_FUNC,
-	SetWindowGroupOwner_FUNC,
-	SetWindowGroupParent_FUNC,
-	SetWindowModality_FUNC,
-	SetWindowResizeLimits_FUNC,
-	SetWindowTitleWithCFString_FUNC,
-	ShowWindow_FUNC,
-	SizeControl_FUNC,
-	SizeWindow_FUNC,
-	StillDown_FUNC,
-	SyncCGContextOriginWithPort_FUNC,
-	SysBeep_FUNC,
-	TXNActivate_FUNC,
-	TXNAdjustCursor_FUNC,
-	TXNClick_FUNC,
-	TXNCopy_FUNC,
-	TXNCut_FUNC,
-	TXNDataSize_FUNC,
-	TXNDeleteObject_FUNC,
-	TXNDraw_FUNC,
-	TXNEchoMode_FUNC,
-	TXNFocus_FUNC,
-	TXNGetData_FUNC,
-	TXNGetHIRect_FUNC,
-	TXNGetLineCount_FUNC,
-	TXNGetLineMetrics_FUNC,
-	TXNGetRectBounds_FUNC,
-	TXNGetSelection_FUNC,
-	TXNGetTXNObjectControls_FUNC,
-	TXNGetViewRect_FUNC,
-	TXNInitTextension_FUNC,
-	TXNNewObject_FUNC,
-	TXNOffsetToPoint_FUNC,
-	TXNPaste_FUNC,
-	TXNPointToOffset_FUNC,
-	TXNSelectAll_FUNC,
-	TXNSetBackground_FUNC,
-	TXNSetData_FUNC,
-	TXNSetFrameBounds_FUNC,
-	TXNSetRectBounds_FUNC,
-	TXNSetSelection_FUNC,
-	TXNSetTXNObjectControls_FUNC,
-	TXNSetTypeAttributes_FUNC,
-	TXNShowSelection_FUNC,
-	TestControl_FUNC,
-	TextFace_FUNC,
-	TextFont_FUNC,
-	TextMode_FUNC,
-	TextSize_FUNC,
-	TextWidth_FUNC,
-	TrackDrag_FUNC,
-	TrackMouseLocationWithOptions_FUNC,
-	UTTypeCreatePreferredIdentifierForTag_FUNC,
-	UnionRect_FUNC,
-	UnionRgn_FUNC,
-	UnlockPortBits_FUNC,
-	UpdateControls_FUNC,
-	UpdateDataBrowserItems_FUNC,
-	UpgradeScriptInfoToTextEncoding_FUNC,
-	WaitMouseMoved_FUNC,
-	X2Fix_FUNC,
-	ZoomWindowIdeal_FUNC,
-	_1_1BIG_1ENDIAN_1_1_FUNC,
-	getenv_FUNC,
-	getpid_FUNC,
-	kCFNumberFormatterDecimalSeparator_FUNC,
-	kHIViewWindowContentID_FUNC,
-	kPMDocumentFormatPDF_FUNC,
-	kPMGraphicsContextCoreGraphics_FUNC,
-	kUTTagClassFilenameExtension_FUNC,
-	memcpy__III_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_ATSUTab_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_BitMap_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_Cursor_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_EventRecord_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_HMHelpContentRec_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_PixMap_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_RGBColor_2I_FUNC,
-	memcpy__ILorg_eclipse_swt_internal_carbon_Rect_2I_FUNC,
-	memcpy__I_3BI_FUNC,
-	memcpy__I_3CI_FUNC,
-	memcpy__I_3FI_FUNC,
-	memcpy__I_3II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_ATSLayoutRecord_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_ATSTrapezoid_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_CGPathElement_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_FontSelectionQDStyle_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_GDevice_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_HMHelpContentRec_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_PixMap_2II_FUNC,
-	memcpy__Lorg_eclipse_swt_internal_carbon_Rect_2II_FUNC,
-	memcpy___3BII_FUNC,
-	memcpy___3B_3CI_FUNC,
-	memcpy___3CII_FUNC,
-	memcpy___3C_3BI_FUNC,
-	memcpy___3FII_FUNC,
-	memcpy___3III_FUNC,
-	memcpy___3ILorg_eclipse_swt_internal_carbon_TXNTab_2I_FUNC,
-	memset_FUNC,
-	strlen_FUNC,
-} OS_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.c
deleted file mode 100644
index 1d9f733..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.c
+++ /dev/null
@@ -1,2957 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-
-#ifndef NO_AEDesc
-typedef struct AEDesc_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID descriptorType, dataHandle;
-} AEDesc_FID_CACHE;
-
-AEDesc_FID_CACHE AEDescFc;
-
-void cacheAEDescFields(JNIEnv *env, jobject lpObject)
-{
-	if (AEDescFc.cached) return;
-	AEDescFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AEDescFc.descriptorType = (*env)->GetFieldID(env, AEDescFc.clazz, "descriptorType", "I");
-	AEDescFc.dataHandle = (*env)->GetFieldID(env, AEDescFc.clazz, "dataHandle", "I");
-	AEDescFc.cached = 1;
-}
-
-AEDesc *getAEDescFields(JNIEnv *env, jobject lpObject, AEDesc *lpStruct)
-{
-	if (!AEDescFc.cached) cacheAEDescFields(env, lpObject);
-	lpStruct->descriptorType = (DescType)(*env)->GetIntField(env, lpObject, AEDescFc.descriptorType);
-	lpStruct->dataHandle = (AEDataStorage)(*env)->GetIntField(env, lpObject, AEDescFc.dataHandle);
-	return lpStruct;
-}
-
-void setAEDescFields(JNIEnv *env, jobject lpObject, AEDesc *lpStruct)
-{
-	if (!AEDescFc.cached) cacheAEDescFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AEDescFc.descriptorType, (jint)lpStruct->descriptorType);
-	(*env)->SetIntField(env, lpObject, AEDescFc.dataHandle, (jint)lpStruct->dataHandle);
-}
-#endif
-
-#ifndef NO_ATSLayoutRecord
-typedef struct ATSLayoutRecord_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID glyphID, flags, originalOffset, realPos;
-} ATSLayoutRecord_FID_CACHE;
-
-ATSLayoutRecord_FID_CACHE ATSLayoutRecordFc;
-
-void cacheATSLayoutRecordFields(JNIEnv *env, jobject lpObject)
-{
-	if (ATSLayoutRecordFc.cached) return;
-	ATSLayoutRecordFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ATSLayoutRecordFc.glyphID = (*env)->GetFieldID(env, ATSLayoutRecordFc.clazz, "glyphID", "S");
-	ATSLayoutRecordFc.flags = (*env)->GetFieldID(env, ATSLayoutRecordFc.clazz, "flags", "I");
-	ATSLayoutRecordFc.originalOffset = (*env)->GetFieldID(env, ATSLayoutRecordFc.clazz, "originalOffset", "I");
-	ATSLayoutRecordFc.realPos = (*env)->GetFieldID(env, ATSLayoutRecordFc.clazz, "realPos", "I");
-	ATSLayoutRecordFc.cached = 1;
-}
-
-ATSLayoutRecord *getATSLayoutRecordFields(JNIEnv *env, jobject lpObject, ATSLayoutRecord *lpStruct)
-{
-	if (!ATSLayoutRecordFc.cached) cacheATSLayoutRecordFields(env, lpObject);
-	lpStruct->glyphID = (*env)->GetShortField(env, lpObject, ATSLayoutRecordFc.glyphID);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, ATSLayoutRecordFc.flags);
-	lpStruct->originalOffset = (*env)->GetIntField(env, lpObject, ATSLayoutRecordFc.originalOffset);
-	lpStruct->realPos = (*env)->GetIntField(env, lpObject, ATSLayoutRecordFc.realPos);
-	return lpStruct;
-}
-
-void setATSLayoutRecordFields(JNIEnv *env, jobject lpObject, ATSLayoutRecord *lpStruct)
-{
-	if (!ATSLayoutRecordFc.cached) cacheATSLayoutRecordFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, ATSLayoutRecordFc.glyphID, (jshort)lpStruct->glyphID);
-	(*env)->SetIntField(env, lpObject, ATSLayoutRecordFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, ATSLayoutRecordFc.originalOffset, (jint)lpStruct->originalOffset);
-	(*env)->SetIntField(env, lpObject, ATSLayoutRecordFc.realPos, (jint)lpStruct->realPos);
-}
-#endif
-
-#ifndef NO_ATSTrapezoid
-typedef struct ATSTrapezoid_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID upperLeft_x, upperLeft_y, upperRight_x, upperRight_y, lowerRight_x, lowerRight_y, lowerLeft_x, lowerLeft_y;
-} ATSTrapezoid_FID_CACHE;
-
-ATSTrapezoid_FID_CACHE ATSTrapezoidFc;
-
-void cacheATSTrapezoidFields(JNIEnv *env, jobject lpObject)
-{
-	if (ATSTrapezoidFc.cached) return;
-	ATSTrapezoidFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ATSTrapezoidFc.upperLeft_x = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "upperLeft_x", "I");
-	ATSTrapezoidFc.upperLeft_y = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "upperLeft_y", "I");
-	ATSTrapezoidFc.upperRight_x = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "upperRight_x", "I");
-	ATSTrapezoidFc.upperRight_y = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "upperRight_y", "I");
-	ATSTrapezoidFc.lowerRight_x = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "lowerRight_x", "I");
-	ATSTrapezoidFc.lowerRight_y = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "lowerRight_y", "I");
-	ATSTrapezoidFc.lowerLeft_x = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "lowerLeft_x", "I");
-	ATSTrapezoidFc.lowerLeft_y = (*env)->GetFieldID(env, ATSTrapezoidFc.clazz, "lowerLeft_y", "I");
-	ATSTrapezoidFc.cached = 1;
-}
-
-ATSTrapezoid *getATSTrapezoidFields(JNIEnv *env, jobject lpObject, ATSTrapezoid *lpStruct)
-{
-	if (!ATSTrapezoidFc.cached) cacheATSTrapezoidFields(env, lpObject);
-	lpStruct->upperLeft.x = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.upperLeft_x);
-	lpStruct->upperLeft.y = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.upperLeft_y);
-	lpStruct->upperRight.x = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.upperRight_x);
-	lpStruct->upperRight.y = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.upperRight_y);
-	lpStruct->lowerRight.x = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.lowerRight_x);
-	lpStruct->lowerRight.y = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.lowerRight_y);
-	lpStruct->lowerLeft.x = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.lowerLeft_x);
-	lpStruct->lowerLeft.y = (*env)->GetIntField(env, lpObject, ATSTrapezoidFc.lowerLeft_y);
-	return lpStruct;
-}
-
-void setATSTrapezoidFields(JNIEnv *env, jobject lpObject, ATSTrapezoid *lpStruct)
-{
-	if (!ATSTrapezoidFc.cached) cacheATSTrapezoidFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.upperLeft_x, (jint)lpStruct->upperLeft.x);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.upperLeft_y, (jint)lpStruct->upperLeft.y);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.upperRight_x, (jint)lpStruct->upperRight.x);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.upperRight_y, (jint)lpStruct->upperRight.y);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.lowerRight_x, (jint)lpStruct->lowerRight.x);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.lowerRight_y, (jint)lpStruct->lowerRight.y);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.lowerLeft_x, (jint)lpStruct->lowerLeft.x);
-	(*env)->SetIntField(env, lpObject, ATSTrapezoidFc.lowerLeft_y, (jint)lpStruct->lowerLeft.y);
-}
-#endif
-
-#ifndef NO_ATSUCaret
-typedef struct ATSUCaret_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID fX, fY, fDeltaX, fDeltaY;
-} ATSUCaret_FID_CACHE;
-
-ATSUCaret_FID_CACHE ATSUCaretFc;
-
-void cacheATSUCaretFields(JNIEnv *env, jobject lpObject)
-{
-	if (ATSUCaretFc.cached) return;
-	ATSUCaretFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ATSUCaretFc.fX = (*env)->GetFieldID(env, ATSUCaretFc.clazz, "fX", "I");
-	ATSUCaretFc.fY = (*env)->GetFieldID(env, ATSUCaretFc.clazz, "fY", "I");
-	ATSUCaretFc.fDeltaX = (*env)->GetFieldID(env, ATSUCaretFc.clazz, "fDeltaX", "I");
-	ATSUCaretFc.fDeltaY = (*env)->GetFieldID(env, ATSUCaretFc.clazz, "fDeltaY", "I");
-	ATSUCaretFc.cached = 1;
-}
-
-ATSUCaret *getATSUCaretFields(JNIEnv *env, jobject lpObject, ATSUCaret *lpStruct)
-{
-	if (!ATSUCaretFc.cached) cacheATSUCaretFields(env, lpObject);
-	lpStruct->fX = (*env)->GetIntField(env, lpObject, ATSUCaretFc.fX);
-	lpStruct->fY = (*env)->GetIntField(env, lpObject, ATSUCaretFc.fY);
-	lpStruct->fDeltaX = (*env)->GetIntField(env, lpObject, ATSUCaretFc.fDeltaX);
-	lpStruct->fDeltaY = (*env)->GetIntField(env, lpObject, ATSUCaretFc.fDeltaY);
-	return lpStruct;
-}
-
-void setATSUCaretFields(JNIEnv *env, jobject lpObject, ATSUCaret *lpStruct)
-{
-	if (!ATSUCaretFc.cached) cacheATSUCaretFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ATSUCaretFc.fX, (jint)lpStruct->fX);
-	(*env)->SetIntField(env, lpObject, ATSUCaretFc.fY, (jint)lpStruct->fY);
-	(*env)->SetIntField(env, lpObject, ATSUCaretFc.fDeltaX, (jint)lpStruct->fDeltaX);
-	(*env)->SetIntField(env, lpObject, ATSUCaretFc.fDeltaY, (jint)lpStruct->fDeltaY);
-}
-#endif
-
-#ifndef NO_ATSUTab
-typedef struct ATSUTab_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tabPosition, tabType;
-} ATSUTab_FID_CACHE;
-
-ATSUTab_FID_CACHE ATSUTabFc;
-
-void cacheATSUTabFields(JNIEnv *env, jobject lpObject)
-{
-	if (ATSUTabFc.cached) return;
-	ATSUTabFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ATSUTabFc.tabPosition = (*env)->GetFieldID(env, ATSUTabFc.clazz, "tabPosition", "I");
-	ATSUTabFc.tabType = (*env)->GetFieldID(env, ATSUTabFc.clazz, "tabType", "S");
-	ATSUTabFc.cached = 1;
-}
-
-ATSUTab *getATSUTabFields(JNIEnv *env, jobject lpObject, ATSUTab *lpStruct)
-{
-	if (!ATSUTabFc.cached) cacheATSUTabFields(env, lpObject);
-	lpStruct->tabPosition = (*env)->GetIntField(env, lpObject, ATSUTabFc.tabPosition);
-	lpStruct->tabType = (*env)->GetShortField(env, lpObject, ATSUTabFc.tabType);
-	return lpStruct;
-}
-
-void setATSUTabFields(JNIEnv *env, jobject lpObject, ATSUTab *lpStruct)
-{
-	if (!ATSUTabFc.cached) cacheATSUTabFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ATSUTabFc.tabPosition, (jint)lpStruct->tabPosition);
-	(*env)->SetShortField(env, lpObject, ATSUTabFc.tabType, (jshort)lpStruct->tabType);
-}
-#endif
-
-#ifndef NO_ATSUUnhighlightData
-typedef struct ATSUUnhighlightData_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dataType, red, green, blue, alpha;
-} ATSUUnhighlightData_FID_CACHE;
-
-ATSUUnhighlightData_FID_CACHE ATSUUnhighlightDataFc;
-
-void cacheATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject)
-{
-	if (ATSUUnhighlightDataFc.cached) return;
-	ATSUUnhighlightDataFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ATSUUnhighlightDataFc.dataType = (*env)->GetFieldID(env, ATSUUnhighlightDataFc.clazz, "dataType", "I");
-	ATSUUnhighlightDataFc.red = (*env)->GetFieldID(env, ATSUUnhighlightDataFc.clazz, "red", "F");
-	ATSUUnhighlightDataFc.green = (*env)->GetFieldID(env, ATSUUnhighlightDataFc.clazz, "green", "F");
-	ATSUUnhighlightDataFc.blue = (*env)->GetFieldID(env, ATSUUnhighlightDataFc.clazz, "blue", "F");
-	ATSUUnhighlightDataFc.alpha = (*env)->GetFieldID(env, ATSUUnhighlightDataFc.clazz, "alpha", "F");
-	ATSUUnhighlightDataFc.cached = 1;
-}
-
-ATSUUnhighlightData *getATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject, ATSUUnhighlightData *lpStruct)
-{
-	if (!ATSUUnhighlightDataFc.cached) cacheATSUUnhighlightDataFields(env, lpObject);
-	lpStruct->dataType = (*env)->GetIntField(env, lpObject, ATSUUnhighlightDataFc.dataType);
-	lpStruct->unhighlightData.backgroundColor.red = (*env)->GetFloatField(env, lpObject, ATSUUnhighlightDataFc.red);
-	lpStruct->unhighlightData.backgroundColor.green = (*env)->GetFloatField(env, lpObject, ATSUUnhighlightDataFc.green);
-	lpStruct->unhighlightData.backgroundColor.blue = (*env)->GetFloatField(env, lpObject, ATSUUnhighlightDataFc.blue);
-	lpStruct->unhighlightData.backgroundColor.alpha = (*env)->GetFloatField(env, lpObject, ATSUUnhighlightDataFc.alpha);
-	return lpStruct;
-}
-
-void setATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject, ATSUUnhighlightData *lpStruct)
-{
-	if (!ATSUUnhighlightDataFc.cached) cacheATSUUnhighlightDataFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ATSUUnhighlightDataFc.dataType, (jint)lpStruct->dataType);
-	(*env)->SetFloatField(env, lpObject, ATSUUnhighlightDataFc.red, (jfloat)lpStruct->unhighlightData.backgroundColor.red);
-	(*env)->SetFloatField(env, lpObject, ATSUUnhighlightDataFc.green, (jfloat)lpStruct->unhighlightData.backgroundColor.green);
-	(*env)->SetFloatField(env, lpObject, ATSUUnhighlightDataFc.blue, (jfloat)lpStruct->unhighlightData.backgroundColor.blue);
-	(*env)->SetFloatField(env, lpObject, ATSUUnhighlightDataFc.alpha, (jfloat)lpStruct->unhighlightData.backgroundColor.alpha);
-}
-#endif
-
-#ifndef NO_AlertStdCFStringAlertParamRec
-typedef struct AlertStdCFStringAlertParamRec_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, movable, helpButton, defaultText, cancelText, otherText, defaultButton, cancelButton, position, flags;
-} AlertStdCFStringAlertParamRec_FID_CACHE;
-
-AlertStdCFStringAlertParamRec_FID_CACHE AlertStdCFStringAlertParamRecFc;
-
-void cacheAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject)
-{
-	if (AlertStdCFStringAlertParamRecFc.cached) return;
-	AlertStdCFStringAlertParamRecFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AlertStdCFStringAlertParamRecFc.version = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "version", "I");
-	AlertStdCFStringAlertParamRecFc.movable = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "movable", "Z");
-	AlertStdCFStringAlertParamRecFc.helpButton = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "helpButton", "Z");
-	AlertStdCFStringAlertParamRecFc.defaultText = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "defaultText", "I");
-	AlertStdCFStringAlertParamRecFc.cancelText = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "cancelText", "I");
-	AlertStdCFStringAlertParamRecFc.otherText = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "otherText", "I");
-	AlertStdCFStringAlertParamRecFc.defaultButton = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "defaultButton", "S");
-	AlertStdCFStringAlertParamRecFc.cancelButton = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "cancelButton", "S");
-	AlertStdCFStringAlertParamRecFc.position = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "position", "S");
-	AlertStdCFStringAlertParamRecFc.flags = (*env)->GetFieldID(env, AlertStdCFStringAlertParamRecFc.clazz, "flags", "I");
-	AlertStdCFStringAlertParamRecFc.cached = 1;
-}
-
-AlertStdCFStringAlertParamRec *getAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject, AlertStdCFStringAlertParamRec *lpStruct)
-{
-	if (!AlertStdCFStringAlertParamRecFc.cached) cacheAlertStdCFStringAlertParamRecFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.version);
-	lpStruct->movable = (*env)->GetBooleanField(env, lpObject, AlertStdCFStringAlertParamRecFc.movable);
-	lpStruct->helpButton = (*env)->GetBooleanField(env, lpObject, AlertStdCFStringAlertParamRecFc.helpButton);
-	lpStruct->defaultText = (CFStringRef)(*env)->GetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.defaultText);
-	lpStruct->cancelText = (CFStringRef)(*env)->GetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.cancelText);
-	lpStruct->otherText = (CFStringRef)(*env)->GetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.otherText);
-	lpStruct->defaultButton = (*env)->GetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.defaultButton);
-	lpStruct->cancelButton = (*env)->GetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.cancelButton);
-	lpStruct->position = (*env)->GetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.position);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.flags);
-	return lpStruct;
-}
-
-void setAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject, AlertStdCFStringAlertParamRec *lpStruct)
-{
-	if (!AlertStdCFStringAlertParamRecFc.cached) cacheAlertStdCFStringAlertParamRecFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.version, (jint)lpStruct->version);
-	(*env)->SetBooleanField(env, lpObject, AlertStdCFStringAlertParamRecFc.movable, (jboolean)lpStruct->movable);
-	(*env)->SetBooleanField(env, lpObject, AlertStdCFStringAlertParamRecFc.helpButton, (jboolean)lpStruct->helpButton);
-	(*env)->SetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.defaultText, (jint)lpStruct->defaultText);
-	(*env)->SetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.cancelText, (jint)lpStruct->cancelText);
-	(*env)->SetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.otherText, (jint)lpStruct->otherText);
-	(*env)->SetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.defaultButton, (jshort)lpStruct->defaultButton);
-	(*env)->SetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.cancelButton, (jshort)lpStruct->cancelButton);
-	(*env)->SetShortField(env, lpObject, AlertStdCFStringAlertParamRecFc.position, (jshort)lpStruct->position);
-	(*env)->SetIntField(env, lpObject, AlertStdCFStringAlertParamRecFc.flags, (jint)lpStruct->flags);
-}
-#endif
-
-#ifndef NO_BitMap
-typedef struct BitMap_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID baseAddr, rowBytes, top, left, bottom, right;
-} BitMap_FID_CACHE;
-
-BitMap_FID_CACHE BitMapFc;
-
-void cacheBitMapFields(JNIEnv *env, jobject lpObject)
-{
-	if (BitMapFc.cached) return;
-	BitMapFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BitMapFc.baseAddr = (*env)->GetFieldID(env, BitMapFc.clazz, "baseAddr", "I");
-	BitMapFc.rowBytes = (*env)->GetFieldID(env, BitMapFc.clazz, "rowBytes", "S");
-	BitMapFc.top = (*env)->GetFieldID(env, BitMapFc.clazz, "top", "S");
-	BitMapFc.left = (*env)->GetFieldID(env, BitMapFc.clazz, "left", "S");
-	BitMapFc.bottom = (*env)->GetFieldID(env, BitMapFc.clazz, "bottom", "S");
-	BitMapFc.right = (*env)->GetFieldID(env, BitMapFc.clazz, "right", "S");
-	BitMapFc.cached = 1;
-}
-
-BitMap *getBitMapFields(JNIEnv *env, jobject lpObject, BitMap *lpStruct)
-{
-	if (!BitMapFc.cached) cacheBitMapFields(env, lpObject);
-	lpStruct->baseAddr = (void *)(*env)->GetIntField(env, lpObject, BitMapFc.baseAddr);
-	lpStruct->rowBytes = (*env)->GetShortField(env, lpObject, BitMapFc.rowBytes);
-	lpStruct->bounds.top = (*env)->GetShortField(env, lpObject, BitMapFc.top);
-	lpStruct->bounds.left = (*env)->GetShortField(env, lpObject, BitMapFc.left);
-	lpStruct->bounds.bottom = (*env)->GetShortField(env, lpObject, BitMapFc.bottom);
-	lpStruct->bounds.right = (*env)->GetShortField(env, lpObject, BitMapFc.right);
-	return lpStruct;
-}
-
-void setBitMapFields(JNIEnv *env, jobject lpObject, BitMap *lpStruct)
-{
-	if (!BitMapFc.cached) cacheBitMapFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, BitMapFc.baseAddr, (jint)lpStruct->baseAddr);
-	(*env)->SetShortField(env, lpObject, BitMapFc.rowBytes, (jshort)lpStruct->rowBytes);
-	(*env)->SetShortField(env, lpObject, BitMapFc.top, (jshort)lpStruct->bounds.top);
-	(*env)->SetShortField(env, lpObject, BitMapFc.left, (jshort)lpStruct->bounds.left);
-	(*env)->SetShortField(env, lpObject, BitMapFc.bottom, (jshort)lpStruct->bounds.bottom);
-	(*env)->SetShortField(env, lpObject, BitMapFc.right, (jshort)lpStruct->bounds.right);
-}
-#endif
-
-#ifndef NO_CFRange
-typedef struct CFRange_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID location, length;
-} CFRange_FID_CACHE;
-
-CFRange_FID_CACHE CFRangeFc;
-
-void cacheCFRangeFields(JNIEnv *env, jobject lpObject)
-{
-	if (CFRangeFc.cached) return;
-	CFRangeFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CFRangeFc.location = (*env)->GetFieldID(env, CFRangeFc.clazz, "location", "I");
-	CFRangeFc.length = (*env)->GetFieldID(env, CFRangeFc.clazz, "length", "I");
-	CFRangeFc.cached = 1;
-}
-
-CFRange *getCFRangeFields(JNIEnv *env, jobject lpObject, CFRange *lpStruct)
-{
-	if (!CFRangeFc.cached) cacheCFRangeFields(env, lpObject);
-	lpStruct->location = (CFIndex)(*env)->GetIntField(env, lpObject, CFRangeFc.location);
-	lpStruct->length = (CFIndex)(*env)->GetIntField(env, lpObject, CFRangeFc.length);
-	return lpStruct;
-}
-
-void setCFRangeFields(JNIEnv *env, jobject lpObject, CFRange *lpStruct)
-{
-	if (!CFRangeFc.cached) cacheCFRangeFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CFRangeFc.location, (jint)lpStruct->location);
-	(*env)->SetIntField(env, lpObject, CFRangeFc.length, (jint)lpStruct->length);
-}
-#endif
-
-#ifndef NO_CGFunctionCallbacks
-typedef struct CGFunctionCallbacks_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, evaluate, releaseInfo;
-} CGFunctionCallbacks_FID_CACHE;
-
-CGFunctionCallbacks_FID_CACHE CGFunctionCallbacksFc;
-
-void cacheCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject)
-{
-	if (CGFunctionCallbacksFc.cached) return;
-	CGFunctionCallbacksFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CGFunctionCallbacksFc.version = (*env)->GetFieldID(env, CGFunctionCallbacksFc.clazz, "version", "I");
-	CGFunctionCallbacksFc.evaluate = (*env)->GetFieldID(env, CGFunctionCallbacksFc.clazz, "evaluate", "I");
-	CGFunctionCallbacksFc.releaseInfo = (*env)->GetFieldID(env, CGFunctionCallbacksFc.clazz, "releaseInfo", "I");
-	CGFunctionCallbacksFc.cached = 1;
-}
-
-CGFunctionCallbacks *getCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject, CGFunctionCallbacks *lpStruct)
-{
-	if (!CGFunctionCallbacksFc.cached) cacheCGFunctionCallbacksFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, CGFunctionCallbacksFc.version);
-	lpStruct->evaluate = (CGFunctionEvaluateCallback)(*env)->GetIntField(env, lpObject, CGFunctionCallbacksFc.evaluate);
-	lpStruct->releaseInfo = (CGFunctionReleaseInfoCallback)(*env)->GetIntField(env, lpObject, CGFunctionCallbacksFc.releaseInfo);
-	return lpStruct;
-}
-
-void setCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject, CGFunctionCallbacks *lpStruct)
-{
-	if (!CGFunctionCallbacksFc.cached) cacheCGFunctionCallbacksFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CGFunctionCallbacksFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, CGFunctionCallbacksFc.evaluate, (jint)lpStruct->evaluate);
-	(*env)->SetIntField(env, lpObject, CGFunctionCallbacksFc.releaseInfo, (jint)lpStruct->releaseInfo);
-}
-#endif
-
-#ifndef NO_CGPathElement
-typedef struct CGPathElement_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, points;
-} CGPathElement_FID_CACHE;
-
-CGPathElement_FID_CACHE CGPathElementFc;
-
-void cacheCGPathElementFields(JNIEnv *env, jobject lpObject)
-{
-	if (CGPathElementFc.cached) return;
-	CGPathElementFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CGPathElementFc.type = (*env)->GetFieldID(env, CGPathElementFc.clazz, "type", "I");
-	CGPathElementFc.points = (*env)->GetFieldID(env, CGPathElementFc.clazz, "points", "I");
-	CGPathElementFc.cached = 1;
-}
-
-CGPathElement *getCGPathElementFields(JNIEnv *env, jobject lpObject, CGPathElement *lpStruct)
-{
-	if (!CGPathElementFc.cached) cacheCGPathElementFields(env, lpObject);
-	lpStruct->type = (CGPathElementType)(*env)->GetIntField(env, lpObject, CGPathElementFc.type);
-	lpStruct->points = (CGPoint *)(*env)->GetIntField(env, lpObject, CGPathElementFc.points);
-	return lpStruct;
-}
-
-void setCGPathElementFields(JNIEnv *env, jobject lpObject, CGPathElement *lpStruct)
-{
-	if (!CGPathElementFc.cached) cacheCGPathElementFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CGPathElementFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, CGPathElementFc.points, (jint)lpStruct->points);
-}
-#endif
-
-#ifndef NO_CGPatternCallbacks
-typedef struct CGPatternCallbacks_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, drawPattern, releaseInfo;
-} CGPatternCallbacks_FID_CACHE;
-
-CGPatternCallbacks_FID_CACHE CGPatternCallbacksFc;
-
-void cacheCGPatternCallbacksFields(JNIEnv *env, jobject lpObject)
-{
-	if (CGPatternCallbacksFc.cached) return;
-	CGPatternCallbacksFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CGPatternCallbacksFc.version = (*env)->GetFieldID(env, CGPatternCallbacksFc.clazz, "version", "I");
-	CGPatternCallbacksFc.drawPattern = (*env)->GetFieldID(env, CGPatternCallbacksFc.clazz, "drawPattern", "I");
-	CGPatternCallbacksFc.releaseInfo = (*env)->GetFieldID(env, CGPatternCallbacksFc.clazz, "releaseInfo", "I");
-	CGPatternCallbacksFc.cached = 1;
-}
-
-CGPatternCallbacks *getCGPatternCallbacksFields(JNIEnv *env, jobject lpObject, CGPatternCallbacks *lpStruct)
-{
-	if (!CGPatternCallbacksFc.cached) cacheCGPatternCallbacksFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, CGPatternCallbacksFc.version);
-	lpStruct->drawPattern = (CGPatternDrawPatternCallback)(*env)->GetIntField(env, lpObject, CGPatternCallbacksFc.drawPattern);
-	lpStruct->releaseInfo = (CGPatternReleaseInfoCallback)(*env)->GetIntField(env, lpObject, CGPatternCallbacksFc.releaseInfo);
-	return lpStruct;
-}
-
-void setCGPatternCallbacksFields(JNIEnv *env, jobject lpObject, CGPatternCallbacks *lpStruct)
-{
-	if (!CGPatternCallbacksFc.cached) cacheCGPatternCallbacksFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CGPatternCallbacksFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, CGPatternCallbacksFc.drawPattern, (jint)lpStruct->drawPattern);
-	(*env)->SetIntField(env, lpObject, CGPatternCallbacksFc.releaseInfo, (jint)lpStruct->releaseInfo);
-}
-#endif
-
-#ifndef NO_CGPoint
-typedef struct CGPoint_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y;
-} CGPoint_FID_CACHE;
-
-CGPoint_FID_CACHE CGPointFc;
-
-void cacheCGPointFields(JNIEnv *env, jobject lpObject)
-{
-	if (CGPointFc.cached) return;
-	CGPointFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CGPointFc.x = (*env)->GetFieldID(env, CGPointFc.clazz, "x", "F");
-	CGPointFc.y = (*env)->GetFieldID(env, CGPointFc.clazz, "y", "F");
-	CGPointFc.cached = 1;
-}
-
-CGPoint *getCGPointFields(JNIEnv *env, jobject lpObject, CGPoint *lpStruct)
-{
-	if (!CGPointFc.cached) cacheCGPointFields(env, lpObject);
-	lpStruct->x = (float)(*env)->GetFloatField(env, lpObject, CGPointFc.x);
-	lpStruct->y = (float)(*env)->GetFloatField(env, lpObject, CGPointFc.y);
-	return lpStruct;
-}
-
-void setCGPointFields(JNIEnv *env, jobject lpObject, CGPoint *lpStruct)
-{
-	if (!CGPointFc.cached) cacheCGPointFields(env, lpObject);
-	(*env)->SetFloatField(env, lpObject, CGPointFc.x, (jfloat)lpStruct->x);
-	(*env)->SetFloatField(env, lpObject, CGPointFc.y, (jfloat)lpStruct->y);
-}
-#endif
-
-#ifndef NO_CGRect
-typedef struct CGRect_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height;
-} CGRect_FID_CACHE;
-
-CGRect_FID_CACHE CGRectFc;
-
-void cacheCGRectFields(JNIEnv *env, jobject lpObject)
-{
-	if (CGRectFc.cached) return;
-	CGRectFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CGRectFc.x = (*env)->GetFieldID(env, CGRectFc.clazz, "x", "F");
-	CGRectFc.y = (*env)->GetFieldID(env, CGRectFc.clazz, "y", "F");
-	CGRectFc.width = (*env)->GetFieldID(env, CGRectFc.clazz, "width", "F");
-	CGRectFc.height = (*env)->GetFieldID(env, CGRectFc.clazz, "height", "F");
-	CGRectFc.cached = 1;
-}
-
-CGRect *getCGRectFields(JNIEnv *env, jobject lpObject, CGRect *lpStruct)
-{
-	if (!CGRectFc.cached) cacheCGRectFields(env, lpObject);
-	lpStruct->origin.x = (float)(*env)->GetFloatField(env, lpObject, CGRectFc.x);
-	lpStruct->origin.y = (float)(*env)->GetFloatField(env, lpObject, CGRectFc.y);
-	lpStruct->size.width = (float)(*env)->GetFloatField(env, lpObject, CGRectFc.width);
-	lpStruct->size.height = (float)(*env)->GetFloatField(env, lpObject, CGRectFc.height);
-	return lpStruct;
-}
-
-void setCGRectFields(JNIEnv *env, jobject lpObject, CGRect *lpStruct)
-{
-	if (!CGRectFc.cached) cacheCGRectFields(env, lpObject);
-	(*env)->SetFloatField(env, lpObject, CGRectFc.x, (jfloat)lpStruct->origin.x);
-	(*env)->SetFloatField(env, lpObject, CGRectFc.y, (jfloat)lpStruct->origin.y);
-	(*env)->SetFloatField(env, lpObject, CGRectFc.width, (jfloat)lpStruct->size.width);
-	(*env)->SetFloatField(env, lpObject, CGRectFc.height, (jfloat)lpStruct->size.height);
-}
-#endif
-
-#ifndef NO_ColorPickerInfo
-typedef struct ColorPickerInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID profile, red, green, blue, dstProfile, flags, placeWhere, h, v, pickerType, eventProc, colorProc, colorProcData, prompt, editMenuID, cutItem, copyItem, pasteItem, clearItem, undoItem, newColorChosen;
-} ColorPickerInfo_FID_CACHE;
-
-ColorPickerInfo_FID_CACHE ColorPickerInfoFc;
-
-void cacheColorPickerInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (ColorPickerInfoFc.cached) return;
-	ColorPickerInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ColorPickerInfoFc.profile = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "profile", "I");
-	ColorPickerInfoFc.red = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "red", "S");
-	ColorPickerInfoFc.green = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "green", "S");
-	ColorPickerInfoFc.blue = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "blue", "S");
-	ColorPickerInfoFc.dstProfile = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "dstProfile", "I");
-	ColorPickerInfoFc.flags = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "flags", "I");
-	ColorPickerInfoFc.placeWhere = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "placeWhere", "S");
-	ColorPickerInfoFc.h = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "h", "S");
-	ColorPickerInfoFc.v = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "v", "S");
-	ColorPickerInfoFc.pickerType = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "pickerType", "I");
-	ColorPickerInfoFc.eventProc = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "eventProc", "I");
-	ColorPickerInfoFc.colorProc = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "colorProc", "I");
-	ColorPickerInfoFc.colorProcData = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "colorProcData", "I");
-	ColorPickerInfoFc.prompt = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "prompt", "[B");
-	ColorPickerInfoFc.editMenuID = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "editMenuID", "S");
-	ColorPickerInfoFc.cutItem = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "cutItem", "S");
-	ColorPickerInfoFc.copyItem = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "copyItem", "S");
-	ColorPickerInfoFc.pasteItem = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "pasteItem", "S");
-	ColorPickerInfoFc.clearItem = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "clearItem", "S");
-	ColorPickerInfoFc.undoItem = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "undoItem", "S");
-	ColorPickerInfoFc.newColorChosen = (*env)->GetFieldID(env, ColorPickerInfoFc.clazz, "newColorChosen", "Z");
-	ColorPickerInfoFc.cached = 1;
-}
-
-ColorPickerInfo *getColorPickerInfoFields(JNIEnv *env, jobject lpObject, ColorPickerInfo *lpStruct)
-{
-	if (!ColorPickerInfoFc.cached) cacheColorPickerInfoFields(env, lpObject);
-	lpStruct->theColor.profile = (CMProfileHandle)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.profile);
-	lpStruct->theColor.color.rgb.red = (UInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.red);
-	lpStruct->theColor.color.rgb.green = (UInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.green);
-	lpStruct->theColor.color.rgb.blue = (UInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.blue);
-	lpStruct->dstProfile = (CMProfileHandle)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.dstProfile);
-	lpStruct->flags = (UInt32)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.flags);
-	lpStruct->placeWhere = (DialogPlacementSpec)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.placeWhere);
-	lpStruct->dialogOrigin.h = (short)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.h);
-	lpStruct->dialogOrigin.v = (short)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.v);
-	lpStruct->pickerType = (OSType)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.pickerType);
-	lpStruct->eventProc = (UserEventUPP)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.eventProc);
-	lpStruct->colorProc = (ColorChangedUPP)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.colorProc);
-	lpStruct->colorProcData = (UInt32)(*env)->GetIntField(env, lpObject, ColorPickerInfoFc.colorProcData);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, ColorPickerInfoFc.prompt);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->prompt), (jbyte *)lpStruct->prompt);
-	}
-	lpStruct->mInfo.editMenuID = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.editMenuID);
-	lpStruct->mInfo.cutItem = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.cutItem);
-	lpStruct->mInfo.copyItem = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.copyItem);
-	lpStruct->mInfo.pasteItem = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.pasteItem);
-	lpStruct->mInfo.clearItem = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.clearItem);
-	lpStruct->mInfo.undoItem = (SInt16)(*env)->GetShortField(env, lpObject, ColorPickerInfoFc.undoItem);
-	lpStruct->newColorChosen = (Boolean)(*env)->GetBooleanField(env, lpObject, ColorPickerInfoFc.newColorChosen);
-	return lpStruct;
-}
-
-void setColorPickerInfoFields(JNIEnv *env, jobject lpObject, ColorPickerInfo *lpStruct)
-{
-	if (!ColorPickerInfoFc.cached) cacheColorPickerInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.profile, (jint)lpStruct->theColor.profile);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.red, (jshort)lpStruct->theColor.color.rgb.red);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.green, (jshort)lpStruct->theColor.color.rgb.green);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.blue, (jshort)lpStruct->theColor.color.rgb.blue);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.dstProfile, (jint)lpStruct->dstProfile);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.flags, (jint)lpStruct->flags);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.placeWhere, (jshort)lpStruct->placeWhere);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.h, (jshort)lpStruct->dialogOrigin.h);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.v, (jshort)lpStruct->dialogOrigin.v);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.pickerType, (jint)lpStruct->pickerType);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.eventProc, (jint)lpStruct->eventProc);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.colorProc, (jint)lpStruct->colorProc);
-	(*env)->SetIntField(env, lpObject, ColorPickerInfoFc.colorProcData, (jint)lpStruct->colorProcData);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, ColorPickerInfoFc.prompt);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->prompt), (jbyte *)lpStruct->prompt);
-	}
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.editMenuID, (jshort)lpStruct->mInfo.editMenuID);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.cutItem, (jshort)lpStruct->mInfo.cutItem);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.copyItem, (jshort)lpStruct->mInfo.copyItem);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.pasteItem, (jshort)lpStruct->mInfo.pasteItem);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.clearItem, (jshort)lpStruct->mInfo.clearItem);
-	(*env)->SetShortField(env, lpObject, ColorPickerInfoFc.undoItem, (jshort)lpStruct->mInfo.undoItem);
-	(*env)->SetBooleanField(env, lpObject, ColorPickerInfoFc.newColorChosen, (jboolean)lpStruct->newColorChosen);
-}
-#endif
-
-#ifndef NO_ControlButtonContentInfo
-typedef struct ControlButtonContentInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID contentType, iconRef;
-} ControlButtonContentInfo_FID_CACHE;
-
-ControlButtonContentInfo_FID_CACHE ControlButtonContentInfoFc;
-
-void cacheControlButtonContentInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlButtonContentInfoFc.cached) return;
-	ControlButtonContentInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlButtonContentInfoFc.contentType = (*env)->GetFieldID(env, ControlButtonContentInfoFc.clazz, "contentType", "S");
-	ControlButtonContentInfoFc.iconRef = (*env)->GetFieldID(env, ControlButtonContentInfoFc.clazz, "iconRef", "I");
-	ControlButtonContentInfoFc.cached = 1;
-}
-
-ControlButtonContentInfo *getControlButtonContentInfoFields(JNIEnv *env, jobject lpObject, ControlButtonContentInfo *lpStruct)
-{
-	if (!ControlButtonContentInfoFc.cached) cacheControlButtonContentInfoFields(env, lpObject);
-	lpStruct->contentType = (ControlContentType)(*env)->GetShortField(env, lpObject, ControlButtonContentInfoFc.contentType);
-	lpStruct->u.iconRef = (void *)(*env)->GetIntField(env, lpObject, ControlButtonContentInfoFc.iconRef);
-	return lpStruct;
-}
-
-void setControlButtonContentInfoFields(JNIEnv *env, jobject lpObject, ControlButtonContentInfo *lpStruct)
-{
-	if (!ControlButtonContentInfoFc.cached) cacheControlButtonContentInfoFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, ControlButtonContentInfoFc.contentType, (jshort)lpStruct->contentType);
-	(*env)->SetIntField(env, lpObject, ControlButtonContentInfoFc.iconRef, (jint)lpStruct->u.iconRef);
-}
-#endif
-
-#ifndef NO_ControlEditTextSelectionRec
-typedef struct ControlEditTextSelectionRec_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID selStart, selEnd;
-} ControlEditTextSelectionRec_FID_CACHE;
-
-ControlEditTextSelectionRec_FID_CACHE ControlEditTextSelectionRecFc;
-
-void cacheControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlEditTextSelectionRecFc.cached) return;
-	ControlEditTextSelectionRecFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlEditTextSelectionRecFc.selStart = (*env)->GetFieldID(env, ControlEditTextSelectionRecFc.clazz, "selStart", "S");
-	ControlEditTextSelectionRecFc.selEnd = (*env)->GetFieldID(env, ControlEditTextSelectionRecFc.clazz, "selEnd", "S");
-	ControlEditTextSelectionRecFc.cached = 1;
-}
-
-ControlEditTextSelectionRec *getControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject, ControlEditTextSelectionRec *lpStruct)
-{
-	if (!ControlEditTextSelectionRecFc.cached) cacheControlEditTextSelectionRecFields(env, lpObject);
-	lpStruct->selStart = (*env)->GetShortField(env, lpObject, ControlEditTextSelectionRecFc.selStart);
-	lpStruct->selEnd = (*env)->GetShortField(env, lpObject, ControlEditTextSelectionRecFc.selEnd);
-	return lpStruct;
-}
-
-void setControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject, ControlEditTextSelectionRec *lpStruct)
-{
-	if (!ControlEditTextSelectionRecFc.cached) cacheControlEditTextSelectionRecFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, ControlEditTextSelectionRecFc.selStart, (jshort)lpStruct->selStart);
-	(*env)->SetShortField(env, lpObject, ControlEditTextSelectionRecFc.selEnd, (jshort)lpStruct->selEnd);
-}
-#endif
-
-#ifndef NO_ControlFontStyleRec
-typedef struct ControlFontStyleRec_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID flags, font, size, style, mode, just, foreColor_red, foreColor_green, foreColor_blue, backColor_red, backColor_green, backColor_blue;
-} ControlFontStyleRec_FID_CACHE;
-
-ControlFontStyleRec_FID_CACHE ControlFontStyleRecFc;
-
-void cacheControlFontStyleRecFields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlFontStyleRecFc.cached) return;
-	ControlFontStyleRecFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlFontStyleRecFc.flags = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "flags", "S");
-	ControlFontStyleRecFc.font = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "font", "S");
-	ControlFontStyleRecFc.size = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "size", "S");
-	ControlFontStyleRecFc.style = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "style", "S");
-	ControlFontStyleRecFc.mode = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "mode", "S");
-	ControlFontStyleRecFc.just = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "just", "S");
-	ControlFontStyleRecFc.foreColor_red = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "foreColor_red", "S");
-	ControlFontStyleRecFc.foreColor_green = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "foreColor_green", "S");
-	ControlFontStyleRecFc.foreColor_blue = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "foreColor_blue", "S");
-	ControlFontStyleRecFc.backColor_red = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "backColor_red", "S");
-	ControlFontStyleRecFc.backColor_green = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "backColor_green", "S");
-	ControlFontStyleRecFc.backColor_blue = (*env)->GetFieldID(env, ControlFontStyleRecFc.clazz, "backColor_blue", "S");
-	ControlFontStyleRecFc.cached = 1;
-}
-
-ControlFontStyleRec *getControlFontStyleRecFields(JNIEnv *env, jobject lpObject, ControlFontStyleRec *lpStruct)
-{
-	if (!ControlFontStyleRecFc.cached) cacheControlFontStyleRecFields(env, lpObject);
-	lpStruct->flags = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.flags);
-	lpStruct->font = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.font);
-	lpStruct->size = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.size);
-	lpStruct->style = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.style);
-	lpStruct->mode = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.mode);
-	lpStruct->just = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.just);
-	lpStruct->foreColor.red = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_red);
-	lpStruct->foreColor.green = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_green);
-	lpStruct->foreColor.blue = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_blue);
-	lpStruct->backColor.red = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.backColor_red);
-	lpStruct->backColor.green = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.backColor_green);
-	lpStruct->backColor.blue = (*env)->GetShortField(env, lpObject, ControlFontStyleRecFc.backColor_blue);
-	return lpStruct;
-}
-
-void setControlFontStyleRecFields(JNIEnv *env, jobject lpObject, ControlFontStyleRec *lpStruct)
-{
-	if (!ControlFontStyleRecFc.cached) cacheControlFontStyleRecFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.flags, (jshort)lpStruct->flags);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.font, (jshort)lpStruct->font);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.size, (jshort)lpStruct->size);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.style, (jshort)lpStruct->style);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.mode, (jshort)lpStruct->mode);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.just, (jshort)lpStruct->just);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_red, (jshort)lpStruct->foreColor.red);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_green, (jshort)lpStruct->foreColor.green);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.foreColor_blue, (jshort)lpStruct->foreColor.blue);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.backColor_red, (jshort)lpStruct->backColor.red);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.backColor_green, (jshort)lpStruct->backColor.green);
-	(*env)->SetShortField(env, lpObject, ControlFontStyleRecFc.backColor_blue, (jshort)lpStruct->backColor.blue);
-}
-#endif
-
-#ifndef NO_ControlKind
-typedef struct ControlKind_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID signature, kind;
-} ControlKind_FID_CACHE;
-
-ControlKind_FID_CACHE ControlKindFc;
-
-void cacheControlKindFields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlKindFc.cached) return;
-	ControlKindFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlKindFc.signature = (*env)->GetFieldID(env, ControlKindFc.clazz, "signature", "I");
-	ControlKindFc.kind = (*env)->GetFieldID(env, ControlKindFc.clazz, "kind", "I");
-	ControlKindFc.cached = 1;
-}
-
-ControlKind *getControlKindFields(JNIEnv *env, jobject lpObject, ControlKind *lpStruct)
-{
-	if (!ControlKindFc.cached) cacheControlKindFields(env, lpObject);
-	lpStruct->signature = (*env)->GetIntField(env, lpObject, ControlKindFc.signature);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, ControlKindFc.kind);
-	return lpStruct;
-}
-
-void setControlKindFields(JNIEnv *env, jobject lpObject, ControlKind *lpStruct)
-{
-	if (!ControlKindFc.cached) cacheControlKindFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ControlKindFc.signature, (jint)lpStruct->signature);
-	(*env)->SetIntField(env, lpObject, ControlKindFc.kind, (jint)lpStruct->kind);
-}
-#endif
-
-#ifndef NO_ControlTabEntry
-typedef struct ControlTabEntry_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID icon, name, enabled;
-} ControlTabEntry_FID_CACHE;
-
-ControlTabEntry_FID_CACHE ControlTabEntryFc;
-
-void cacheControlTabEntryFields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlTabEntryFc.cached) return;
-	ControlTabEntryFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlTabEntryFc.icon = (*env)->GetFieldID(env, ControlTabEntryFc.clazz, "icon", "I");
-	ControlTabEntryFc.name = (*env)->GetFieldID(env, ControlTabEntryFc.clazz, "name", "I");
-	ControlTabEntryFc.enabled = (*env)->GetFieldID(env, ControlTabEntryFc.clazz, "enabled", "Z");
-	ControlTabEntryFc.cached = 1;
-}
-
-ControlTabEntry *getControlTabEntryFields(JNIEnv *env, jobject lpObject, ControlTabEntry *lpStruct)
-{
-	if (!ControlTabEntryFc.cached) cacheControlTabEntryFields(env, lpObject);
-	lpStruct->icon = (ControlButtonContentInfo *)(*env)->GetIntField(env, lpObject, ControlTabEntryFc.icon);
-	lpStruct->name = (CFStringRef)(*env)->GetIntField(env, lpObject, ControlTabEntryFc.name);
-	lpStruct->enabled = (Boolean)(*env)->GetBooleanField(env, lpObject, ControlTabEntryFc.enabled);
-	return lpStruct;
-}
-
-void setControlTabEntryFields(JNIEnv *env, jobject lpObject, ControlTabEntry *lpStruct)
-{
-	if (!ControlTabEntryFc.cached) cacheControlTabEntryFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ControlTabEntryFc.icon, (jint)lpStruct->icon);
-	(*env)->SetIntField(env, lpObject, ControlTabEntryFc.name, (jint)lpStruct->name);
-	(*env)->SetBooleanField(env, lpObject, ControlTabEntryFc.enabled, (jboolean)lpStruct->enabled);
-}
-#endif
-
-#ifndef NO_ControlTabInfoRecV1
-typedef struct ControlTabInfoRecV1_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, iconSuiteID, name;
-} ControlTabInfoRecV1_FID_CACHE;
-
-ControlTabInfoRecV1_FID_CACHE ControlTabInfoRecV1Fc;
-
-void cacheControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject)
-{
-	if (ControlTabInfoRecV1Fc.cached) return;
-	ControlTabInfoRecV1Fc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ControlTabInfoRecV1Fc.version = (*env)->GetFieldID(env, ControlTabInfoRecV1Fc.clazz, "version", "S");
-	ControlTabInfoRecV1Fc.iconSuiteID = (*env)->GetFieldID(env, ControlTabInfoRecV1Fc.clazz, "iconSuiteID", "S");
-	ControlTabInfoRecV1Fc.name = (*env)->GetFieldID(env, ControlTabInfoRecV1Fc.clazz, "name", "I");
-	ControlTabInfoRecV1Fc.cached = 1;
-}
-
-ControlTabInfoRecV1 *getControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject, ControlTabInfoRecV1 *lpStruct)
-{
-	if (!ControlTabInfoRecV1Fc.cached) cacheControlTabInfoRecV1Fields(env, lpObject);
-	lpStruct->version = (SInt16)(*env)->GetShortField(env, lpObject, ControlTabInfoRecV1Fc.version);
-	lpStruct->iconSuiteID = (SInt16)(*env)->GetShortField(env, lpObject, ControlTabInfoRecV1Fc.iconSuiteID);
-	lpStruct->name = (CFStringRef)(*env)->GetIntField(env, lpObject, ControlTabInfoRecV1Fc.name);
-	return lpStruct;
-}
-
-void setControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject, ControlTabInfoRecV1 *lpStruct)
-{
-	if (!ControlTabInfoRecV1Fc.cached) cacheControlTabInfoRecV1Fields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, ControlTabInfoRecV1Fc.version, (jshort)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, ControlTabInfoRecV1Fc.iconSuiteID, (jshort)lpStruct->iconSuiteID);
-	(*env)->SetIntField(env, lpObject, ControlTabInfoRecV1Fc.name, (jint)lpStruct->name);
-}
-#endif
-
-#ifndef NO_Cursor
-typedef struct Cursor_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID data, mask, hotSpot_v, hotSpot_h;
-} Cursor_FID_CACHE;
-
-Cursor_FID_CACHE CursorFc;
-
-void cacheCursorFields(JNIEnv *env, jobject lpObject)
-{
-	if (CursorFc.cached) return;
-	CursorFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CursorFc.data = (*env)->GetFieldID(env, CursorFc.clazz, "data", "[B");
-	CursorFc.mask = (*env)->GetFieldID(env, CursorFc.clazz, "mask", "[B");
-	CursorFc.hotSpot_v = (*env)->GetFieldID(env, CursorFc.clazz, "hotSpot_v", "S");
-	CursorFc.hotSpot_h = (*env)->GetFieldID(env, CursorFc.clazz, "hotSpot_h", "S");
-	CursorFc.cached = 1;
-}
-
-Cursor *getCursorFields(JNIEnv *env, jobject lpObject, Cursor *lpStruct)
-{
-	if (!CursorFc.cached) cacheCursorFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, CursorFc.data);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data), (jbyte *)lpStruct->data);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, CursorFc.mask);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->mask), (jbyte *)lpStruct->mask);
-	}
-	lpStruct->hotSpot.v = (*env)->GetShortField(env, lpObject, CursorFc.hotSpot_v);
-	lpStruct->hotSpot.h = (*env)->GetShortField(env, lpObject, CursorFc.hotSpot_h);
-	return lpStruct;
-}
-
-void setCursorFields(JNIEnv *env, jobject lpObject, Cursor *lpStruct)
-{
-	if (!CursorFc.cached) cacheCursorFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, CursorFc.data);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data), (jbyte *)lpStruct->data);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, CursorFc.mask);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->mask), (jbyte *)lpStruct->mask);
-	}
-	(*env)->SetShortField(env, lpObject, CursorFc.hotSpot_v, (jshort)lpStruct->hotSpot.v);
-	(*env)->SetShortField(env, lpObject, CursorFc.hotSpot_h, (jshort)lpStruct->hotSpot.h);
-}
-#endif
-
-#ifndef NO_DataBrowserCallbacks
-typedef struct DataBrowserCallbacks_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, v1_itemDataCallback, v1_itemCompareCallback, v1_itemNotificationCallback, v1_addDragItemCallback, v1_acceptDragCallback, v1_receiveDragCallback, v1_postProcessDragCallback, v1_itemHelpContentCallback, v1_getContextualMenuCallback, v1_selectContextualMenuCallback;
-} DataBrowserCallbacks_FID_CACHE;
-
-DataBrowserCallbacks_FID_CACHE DataBrowserCallbacksFc;
-
-void cacheDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject)
-{
-	if (DataBrowserCallbacksFc.cached) return;
-	DataBrowserCallbacksFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DataBrowserCallbacksFc.version = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "version", "I");
-	DataBrowserCallbacksFc.v1_itemDataCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_itemDataCallback", "I");
-	DataBrowserCallbacksFc.v1_itemCompareCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_itemCompareCallback", "I");
-	DataBrowserCallbacksFc.v1_itemNotificationCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_itemNotificationCallback", "I");
-	DataBrowserCallbacksFc.v1_addDragItemCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_addDragItemCallback", "I");
-	DataBrowserCallbacksFc.v1_acceptDragCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_acceptDragCallback", "I");
-	DataBrowserCallbacksFc.v1_receiveDragCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_receiveDragCallback", "I");
-	DataBrowserCallbacksFc.v1_postProcessDragCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_postProcessDragCallback", "I");
-	DataBrowserCallbacksFc.v1_itemHelpContentCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_itemHelpContentCallback", "I");
-	DataBrowserCallbacksFc.v1_getContextualMenuCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_getContextualMenuCallback", "I");
-	DataBrowserCallbacksFc.v1_selectContextualMenuCallback = (*env)->GetFieldID(env, DataBrowserCallbacksFc.clazz, "v1_selectContextualMenuCallback", "I");
-	DataBrowserCallbacksFc.cached = 1;
-}
-
-DataBrowserCallbacks *getDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCallbacks *lpStruct)
-{
-	if (!DataBrowserCallbacksFc.cached) cacheDataBrowserCallbacksFields(env, lpObject);
-	lpStruct->version = (UInt32)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.version);
-	lpStruct->u.v1.itemDataCallback = (DataBrowserItemDataUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemDataCallback);
-	lpStruct->u.v1.itemCompareCallback = (DataBrowserItemCompareUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemCompareCallback);
-	lpStruct->u.v1.itemNotificationCallback = (DataBrowserItemNotificationUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemNotificationCallback);
-	lpStruct->u.v1.addDragItemCallback = (DataBrowserAddDragItemUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_addDragItemCallback);
-	lpStruct->u.v1.acceptDragCallback = (DataBrowserAcceptDragUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_acceptDragCallback);
-	lpStruct->u.v1.receiveDragCallback = (DataBrowserReceiveDragUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_receiveDragCallback);
-	lpStruct->u.v1.postProcessDragCallback = (DataBrowserPostProcessDragUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_postProcessDragCallback);
-	lpStruct->u.v1.itemHelpContentCallback = (DataBrowserItemHelpContentUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemHelpContentCallback);
-	lpStruct->u.v1.getContextualMenuCallback = (DataBrowserGetContextualMenuUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_getContextualMenuCallback);
-	lpStruct->u.v1.selectContextualMenuCallback = (DataBrowserSelectContextualMenuUPP)(*env)->GetIntField(env, lpObject, DataBrowserCallbacksFc.v1_selectContextualMenuCallback);
-	return lpStruct;
-}
-
-void setDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCallbacks *lpStruct)
-{
-	if (!DataBrowserCallbacksFc.cached) cacheDataBrowserCallbacksFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemDataCallback, (jint)lpStruct->u.v1.itemDataCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemCompareCallback, (jint)lpStruct->u.v1.itemCompareCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemNotificationCallback, (jint)lpStruct->u.v1.itemNotificationCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_addDragItemCallback, (jint)lpStruct->u.v1.addDragItemCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_acceptDragCallback, (jint)lpStruct->u.v1.acceptDragCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_receiveDragCallback, (jint)lpStruct->u.v1.receiveDragCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_postProcessDragCallback, (jint)lpStruct->u.v1.postProcessDragCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_itemHelpContentCallback, (jint)lpStruct->u.v1.itemHelpContentCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_getContextualMenuCallback, (jint)lpStruct->u.v1.getContextualMenuCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCallbacksFc.v1_selectContextualMenuCallback, (jint)lpStruct->u.v1.selectContextualMenuCallback);
-}
-#endif
-
-#ifndef NO_DataBrowserCustomCallbacks
-typedef struct DataBrowserCustomCallbacks_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, v1_drawItemCallback, v1_editTextCallback, v1_hitTestCallback, v1_trackingCallback, v1_dragRegionCallback, v1_acceptDragCallback, v1_receiveDragCallback;
-} DataBrowserCustomCallbacks_FID_CACHE;
-
-DataBrowserCustomCallbacks_FID_CACHE DataBrowserCustomCallbacksFc;
-
-void cacheDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject)
-{
-	if (DataBrowserCustomCallbacksFc.cached) return;
-	DataBrowserCustomCallbacksFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DataBrowserCustomCallbacksFc.version = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "version", "I");
-	DataBrowserCustomCallbacksFc.v1_drawItemCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_drawItemCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_editTextCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_editTextCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_hitTestCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_hitTestCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_trackingCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_trackingCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_dragRegionCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_dragRegionCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_acceptDragCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_acceptDragCallback", "I");
-	DataBrowserCustomCallbacksFc.v1_receiveDragCallback = (*env)->GetFieldID(env, DataBrowserCustomCallbacksFc.clazz, "v1_receiveDragCallback", "I");
-	DataBrowserCustomCallbacksFc.cached = 1;
-}
-
-DataBrowserCustomCallbacks *getDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCustomCallbacks *lpStruct)
-{
-	if (!DataBrowserCustomCallbacksFc.cached) cacheDataBrowserCustomCallbacksFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.version);
-	lpStruct->u.v1.drawItemCallback = (DataBrowserDrawItemUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_drawItemCallback);
-	lpStruct->u.v1.editTextCallback = (DataBrowserEditItemUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_editTextCallback);
-	lpStruct->u.v1.hitTestCallback = (DataBrowserHitTestUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_hitTestCallback);
-	lpStruct->u.v1.trackingCallback = (DataBrowserTrackingUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_trackingCallback);
-	lpStruct->u.v1.dragRegionCallback = (DataBrowserItemDragRgnUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_dragRegionCallback);
-	lpStruct->u.v1.acceptDragCallback = (DataBrowserItemAcceptDragUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_acceptDragCallback);
-	lpStruct->u.v1.receiveDragCallback = (DataBrowserItemReceiveDragUPP)(*env)->GetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_receiveDragCallback);
-	return lpStruct;
-}
-
-void setDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCustomCallbacks *lpStruct)
-{
-	if (!DataBrowserCustomCallbacksFc.cached) cacheDataBrowserCustomCallbacksFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_drawItemCallback, (jint)lpStruct->u.v1.drawItemCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_editTextCallback, (jint)lpStruct->u.v1.editTextCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_hitTestCallback, (jint)lpStruct->u.v1.hitTestCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_trackingCallback, (jint)lpStruct->u.v1.trackingCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_dragRegionCallback, (jint)lpStruct->u.v1.dragRegionCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_acceptDragCallback, (jint)lpStruct->u.v1.acceptDragCallback);
-	(*env)->SetIntField(env, lpObject, DataBrowserCustomCallbacksFc.v1_receiveDragCallback, (jint)lpStruct->u.v1.receiveDragCallback);
-}
-#endif
-
-#ifndef NO_DataBrowserListViewColumnDesc
-typedef struct DataBrowserListViewColumnDesc_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID propertyDesc_propertyID, propertyDesc_propertyType, propertyDesc_propertyFlags, headerBtnDesc_version, headerBtnDesc_minimumWidth, headerBtnDesc_maximumWidth, headerBtnDesc_titleOffset, headerBtnDesc_titleString, headerBtnDesc_initialOrder, headerBtnDesc_btnFontStyle_flags, headerBtnDesc_btnFontStyle_font, headerBtnDesc_btnFontStyle_size, headerBtnDesc_btnFontStyle_style, headerBtnDesc_btnFontStyle_mode, headerBtnDesc_btnFontStyle_just, headerBtnDesc_btnFontStyle_foreColor_red, headerBtnDesc_btnFontStyle_foreColor_green, headerBtnDesc_btnFontStyle_foreColor_blue, headerBtnDesc_btnFontStyle_backColor_red, headerBtnDesc_btnFontStyle_backColor_green, headerBtnDesc_btnFontStyle_backColor_blue, headerBtnDesc_btnContentInfo_contentType, headerBtnDesc_btnContentInfo_iconRef;
-} DataBrowserListViewColumnDesc_FID_CACHE;
-
-DataBrowserListViewColumnDesc_FID_CACHE DataBrowserListViewColumnDescFc;
-
-void cacheDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject)
-{
-	if (DataBrowserListViewColumnDescFc.cached) return;
-	DataBrowserListViewColumnDescFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DataBrowserListViewColumnDescFc.propertyDesc_propertyID = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "propertyDesc_propertyID", "I");
-	DataBrowserListViewColumnDescFc.propertyDesc_propertyType = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "propertyDesc_propertyType", "I");
-	DataBrowserListViewColumnDescFc.propertyDesc_propertyFlags = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "propertyDesc_propertyFlags", "I");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_version = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_version", "I");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_minimumWidth = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_minimumWidth", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_maximumWidth = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_maximumWidth", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_titleOffset = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_titleOffset", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_titleString = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_titleString", "I");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_initialOrder = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_initialOrder", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_flags = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_flags", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_font = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_font", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_size = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_size", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_style = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_style", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_mode = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_mode", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_just = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_just", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_red = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_foreColor_red", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_green = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_foreColor_green", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_blue = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_foreColor_blue", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_red = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_backColor_red", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_green = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_backColor_green", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_blue = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnFontStyle_backColor_blue", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_contentType = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnContentInfo_contentType", "S");
-	DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_iconRef = (*env)->GetFieldID(env, DataBrowserListViewColumnDescFc.clazz, "headerBtnDesc_btnContentInfo_iconRef", "I");
-	DataBrowserListViewColumnDescFc.cached = 1;
-}
-
-DataBrowserListViewColumnDesc *getDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewColumnDesc *lpStruct)
-{
-	if (!DataBrowserListViewColumnDescFc.cached) cacheDataBrowserListViewColumnDescFields(env, lpObject);
-	lpStruct->propertyDesc.propertyID = (DataBrowserPropertyID)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyID);
-	lpStruct->propertyDesc.propertyType = (OSType)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyType);
-	lpStruct->propertyDesc.propertyFlags = (DataBrowserPropertyFlags)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyFlags);
-	lpStruct->headerBtnDesc.version = (UInt32)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_version);
-	lpStruct->headerBtnDesc.minimumWidth = (UInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_minimumWidth);
-	lpStruct->headerBtnDesc.maximumWidth = (UInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_maximumWidth);
-	lpStruct->headerBtnDesc.titleOffset = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_titleOffset);
-	lpStruct->headerBtnDesc.titleString = (CFStringRef)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_titleString);
-	lpStruct->headerBtnDesc.initialOrder = (DataBrowserSortOrder)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_initialOrder);
-	lpStruct->headerBtnDesc.btnFontStyle.flags = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_flags);
-	lpStruct->headerBtnDesc.btnFontStyle.font = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_font);
-	lpStruct->headerBtnDesc.btnFontStyle.size = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_size);
-	lpStruct->headerBtnDesc.btnFontStyle.style = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_style);
-	lpStruct->headerBtnDesc.btnFontStyle.mode = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_mode);
-	lpStruct->headerBtnDesc.btnFontStyle.just = (SInt16)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_just);
-	lpStruct->headerBtnDesc.btnFontStyle.foreColor.red = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_red);
-	lpStruct->headerBtnDesc.btnFontStyle.foreColor.green = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_green);
-	lpStruct->headerBtnDesc.btnFontStyle.foreColor.blue = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_blue);
-	lpStruct->headerBtnDesc.btnFontStyle.backColor.red = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_red);
-	lpStruct->headerBtnDesc.btnFontStyle.backColor.green = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_green);
-	lpStruct->headerBtnDesc.btnFontStyle.backColor.blue = (unsigned short)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_blue);
-	lpStruct->headerBtnDesc.btnContentInfo.contentType = (ControlContentType)(*env)->GetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_contentType);
-	lpStruct->headerBtnDesc.btnContentInfo.u.iconRef = (IconRef)(*env)->GetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_iconRef);
-	return lpStruct;
-}
-
-void setDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewColumnDesc *lpStruct)
-{
-	if (!DataBrowserListViewColumnDescFc.cached) cacheDataBrowserListViewColumnDescFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyID, (jint)lpStruct->propertyDesc.propertyID);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyType, (jint)lpStruct->propertyDesc.propertyType);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.propertyDesc_propertyFlags, (jint)lpStruct->propertyDesc.propertyFlags);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_version, (jint)lpStruct->headerBtnDesc.version);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_minimumWidth, (jshort)lpStruct->headerBtnDesc.minimumWidth);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_maximumWidth, (jshort)lpStruct->headerBtnDesc.maximumWidth);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_titleOffset, (jshort)lpStruct->headerBtnDesc.titleOffset);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_titleString, (jint)lpStruct->headerBtnDesc.titleString);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_initialOrder, (jshort)lpStruct->headerBtnDesc.initialOrder);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_flags, (jshort)lpStruct->headerBtnDesc.btnFontStyle.flags);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_font, (jshort)lpStruct->headerBtnDesc.btnFontStyle.font);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_size, (jshort)lpStruct->headerBtnDesc.btnFontStyle.size);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_style, (jshort)lpStruct->headerBtnDesc.btnFontStyle.style);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_mode, (jshort)lpStruct->headerBtnDesc.btnFontStyle.mode);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_just, (jshort)lpStruct->headerBtnDesc.btnFontStyle.just);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_red, (jshort)lpStruct->headerBtnDesc.btnFontStyle.foreColor.red);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_green, (jshort)lpStruct->headerBtnDesc.btnFontStyle.foreColor.green);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_foreColor_blue, (jshort)lpStruct->headerBtnDesc.btnFontStyle.foreColor.blue);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_red, (jshort)lpStruct->headerBtnDesc.btnFontStyle.backColor.red);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_green, (jshort)lpStruct->headerBtnDesc.btnFontStyle.backColor.green);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnFontStyle_backColor_blue, (jshort)lpStruct->headerBtnDesc.btnFontStyle.backColor.blue);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_contentType, (jshort)lpStruct->headerBtnDesc.btnContentInfo.contentType);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewColumnDescFc.headerBtnDesc_btnContentInfo_iconRef, (jint)lpStruct->headerBtnDesc.btnContentInfo.u.iconRef);
-}
-#endif
-
-#ifndef NO_DataBrowserListViewHeaderDesc
-typedef struct DataBrowserListViewHeaderDesc_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, minimumWidth, maximumWidth, titleOffset, titleString, initialOrder, btnFontStyle_flags, btnFontStyle_font, btnFontStyle_size, btnFontStyle_style, btnFontStyle_mode, btnFontStyle_just, btnFontStyle_foreColor_red, btnFontStyle_foreColor_green, btnFontStyle_foreColor_blue, btnFontStyle_backColor_red, btnFontStyle_backColor_green, btnFontStyle_backColor_blue, btnContentInfo_contentType, btnContentInfo_iconRef;
-} DataBrowserListViewHeaderDesc_FID_CACHE;
-
-DataBrowserListViewHeaderDesc_FID_CACHE DataBrowserListViewHeaderDescFc;
-
-void cacheDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject)
-{
-	if (DataBrowserListViewHeaderDescFc.cached) return;
-	DataBrowserListViewHeaderDescFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DataBrowserListViewHeaderDescFc.version = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "version", "I");
-	DataBrowserListViewHeaderDescFc.minimumWidth = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "minimumWidth", "S");
-	DataBrowserListViewHeaderDescFc.maximumWidth = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "maximumWidth", "S");
-	DataBrowserListViewHeaderDescFc.titleOffset = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "titleOffset", "S");
-	DataBrowserListViewHeaderDescFc.titleString = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "titleString", "I");
-	DataBrowserListViewHeaderDescFc.initialOrder = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "initialOrder", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_flags = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_flags", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_font = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_font", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_size = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_size", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_style = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_style", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_mode = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_mode", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_just = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_just", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_red = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_foreColor_red", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_green = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_foreColor_green", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_blue = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_foreColor_blue", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_red = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_backColor_red", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_green = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_backColor_green", "S");
-	DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_blue = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnFontStyle_backColor_blue", "S");
-	DataBrowserListViewHeaderDescFc.btnContentInfo_contentType = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnContentInfo_contentType", "S");
-	DataBrowserListViewHeaderDescFc.btnContentInfo_iconRef = (*env)->GetFieldID(env, DataBrowserListViewHeaderDescFc.clazz, "btnContentInfo_iconRef", "I");
-	DataBrowserListViewHeaderDescFc.cached = 1;
-}
-
-DataBrowserListViewHeaderDesc *getDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewHeaderDesc *lpStruct)
-{
-	if (!DataBrowserListViewHeaderDescFc.cached) cacheDataBrowserListViewHeaderDescFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.version);
-	lpStruct->minimumWidth = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.minimumWidth);
-	lpStruct->maximumWidth = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.maximumWidth);
-	lpStruct->titleOffset = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.titleOffset);
-	lpStruct->titleString = (CFStringRef)(*env)->GetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.titleString);
-	lpStruct->initialOrder = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.initialOrder);
-	lpStruct->btnFontStyle.flags = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_flags);
-	lpStruct->btnFontStyle.font = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_font);
-	lpStruct->btnFontStyle.size = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_size);
-	lpStruct->btnFontStyle.style = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_style);
-	lpStruct->btnFontStyle.mode = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_mode);
-	lpStruct->btnFontStyle.just = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_just);
-	lpStruct->btnFontStyle.foreColor.red = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_red);
-	lpStruct->btnFontStyle.foreColor.green = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_green);
-	lpStruct->btnFontStyle.foreColor.blue = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_blue);
-	lpStruct->btnFontStyle.backColor.red = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_red);
-	lpStruct->btnFontStyle.backColor.green = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_green);
-	lpStruct->btnFontStyle.backColor.blue = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_blue);
-	lpStruct->btnContentInfo.contentType = (*env)->GetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnContentInfo_contentType);
-	lpStruct->btnContentInfo.u.iconRef = (IconRef)(*env)->GetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.btnContentInfo_iconRef);
-	return lpStruct;
-}
-
-void setDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewHeaderDesc *lpStruct)
-{
-	if (!DataBrowserListViewHeaderDescFc.cached) cacheDataBrowserListViewHeaderDescFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.version, (jint)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.minimumWidth, (jshort)lpStruct->minimumWidth);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.maximumWidth, (jshort)lpStruct->maximumWidth);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.titleOffset, (jshort)lpStruct->titleOffset);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.titleString, (jint)lpStruct->titleString);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.initialOrder, (jshort)lpStruct->initialOrder);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_flags, (jshort)lpStruct->btnFontStyle.flags);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_font, (jshort)lpStruct->btnFontStyle.font);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_size, (jshort)lpStruct->btnFontStyle.size);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_style, (jshort)lpStruct->btnFontStyle.style);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_mode, (jshort)lpStruct->btnFontStyle.mode);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_just, (jshort)lpStruct->btnFontStyle.just);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_red, (jshort)lpStruct->btnFontStyle.foreColor.red);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_green, (jshort)lpStruct->btnFontStyle.foreColor.green);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_foreColor_blue, (jshort)lpStruct->btnFontStyle.foreColor.blue);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_red, (jshort)lpStruct->btnFontStyle.backColor.red);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_green, (jshort)lpStruct->btnFontStyle.backColor.green);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnFontStyle_backColor_blue, (jshort)lpStruct->btnFontStyle.backColor.blue);
-	(*env)->SetShortField(env, lpObject, DataBrowserListViewHeaderDescFc.btnContentInfo_contentType, (jshort)lpStruct->btnContentInfo.contentType);
-	(*env)->SetIntField(env, lpObject, DataBrowserListViewHeaderDescFc.btnContentInfo_iconRef, (jint)lpStruct->btnContentInfo.u.iconRef);
-}
-#endif
-
-#ifndef NO_EventRecord
-typedef struct EventRecord_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID what, message, when, where_v, where_h, modifiers;
-} EventRecord_FID_CACHE;
-
-EventRecord_FID_CACHE EventRecordFc;
-
-void cacheEventRecordFields(JNIEnv *env, jobject lpObject)
-{
-	if (EventRecordFc.cached) return;
-	EventRecordFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	EventRecordFc.what = (*env)->GetFieldID(env, EventRecordFc.clazz, "what", "S");
-	EventRecordFc.message = (*env)->GetFieldID(env, EventRecordFc.clazz, "message", "I");
-	EventRecordFc.when = (*env)->GetFieldID(env, EventRecordFc.clazz, "when", "I");
-	EventRecordFc.where_v = (*env)->GetFieldID(env, EventRecordFc.clazz, "where_v", "S");
-	EventRecordFc.where_h = (*env)->GetFieldID(env, EventRecordFc.clazz, "where_h", "S");
-	EventRecordFc.modifiers = (*env)->GetFieldID(env, EventRecordFc.clazz, "modifiers", "S");
-	EventRecordFc.cached = 1;
-}
-
-EventRecord *getEventRecordFields(JNIEnv *env, jobject lpObject, EventRecord *lpStruct)
-{
-	if (!EventRecordFc.cached) cacheEventRecordFields(env, lpObject);
-	lpStruct->what = (EventKind)(*env)->GetShortField(env, lpObject, EventRecordFc.what);
-	lpStruct->message = (*env)->GetIntField(env, lpObject, EventRecordFc.message);
-	lpStruct->when = (*env)->GetIntField(env, lpObject, EventRecordFc.when);
-	lpStruct->where.v = (*env)->GetShortField(env, lpObject, EventRecordFc.where_v);
-	lpStruct->where.h = (*env)->GetShortField(env, lpObject, EventRecordFc.where_h);
-	lpStruct->modifiers = (EventModifiers)(*env)->GetShortField(env, lpObject, EventRecordFc.modifiers);
-	return lpStruct;
-}
-
-void setEventRecordFields(JNIEnv *env, jobject lpObject, EventRecord *lpStruct)
-{
-	if (!EventRecordFc.cached) cacheEventRecordFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, EventRecordFc.what, (jshort)lpStruct->what);
-	(*env)->SetIntField(env, lpObject, EventRecordFc.message, (jint)lpStruct->message);
-	(*env)->SetIntField(env, lpObject, EventRecordFc.when, (jint)lpStruct->when);
-	(*env)->SetShortField(env, lpObject, EventRecordFc.where_v, (jshort)lpStruct->where.v);
-	(*env)->SetShortField(env, lpObject, EventRecordFc.where_h, (jshort)lpStruct->where.h);
-	(*env)->SetShortField(env, lpObject, EventRecordFc.modifiers, (jshort)lpStruct->modifiers);
-}
-#endif
-
-#ifndef NO_FontInfo
-typedef struct FontInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ascent, descent, widMax, leading;
-} FontInfo_FID_CACHE;
-
-FontInfo_FID_CACHE FontInfoFc;
-
-void cacheFontInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (FontInfoFc.cached) return;
-	FontInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FontInfoFc.ascent = (*env)->GetFieldID(env, FontInfoFc.clazz, "ascent", "S");
-	FontInfoFc.descent = (*env)->GetFieldID(env, FontInfoFc.clazz, "descent", "S");
-	FontInfoFc.widMax = (*env)->GetFieldID(env, FontInfoFc.clazz, "widMax", "S");
-	FontInfoFc.leading = (*env)->GetFieldID(env, FontInfoFc.clazz, "leading", "S");
-	FontInfoFc.cached = 1;
-}
-
-FontInfo *getFontInfoFields(JNIEnv *env, jobject lpObject, FontInfo *lpStruct)
-{
-	if (!FontInfoFc.cached) cacheFontInfoFields(env, lpObject);
-	lpStruct->ascent = (*env)->GetShortField(env, lpObject, FontInfoFc.ascent);
-	lpStruct->descent = (*env)->GetShortField(env, lpObject, FontInfoFc.descent);
-	lpStruct->widMax = (*env)->GetShortField(env, lpObject, FontInfoFc.widMax);
-	lpStruct->leading = (*env)->GetShortField(env, lpObject, FontInfoFc.leading);
-	return lpStruct;
-}
-
-void setFontInfoFields(JNIEnv *env, jobject lpObject, FontInfo *lpStruct)
-{
-	if (!FontInfoFc.cached) cacheFontInfoFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, FontInfoFc.ascent, (jshort)lpStruct->ascent);
-	(*env)->SetShortField(env, lpObject, FontInfoFc.descent, (jshort)lpStruct->descent);
-	(*env)->SetShortField(env, lpObject, FontInfoFc.widMax, (jshort)lpStruct->widMax);
-	(*env)->SetShortField(env, lpObject, FontInfoFc.leading, (jshort)lpStruct->leading);
-}
-#endif
-
-#ifndef NO_FontSelectionQDStyle
-typedef struct FontSelectionQDStyle_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, instance_fontFamily, instance_fontStyle, size, hasColor, reserved, color_red, color_green, color_blue;
-} FontSelectionQDStyle_FID_CACHE;
-
-FontSelectionQDStyle_FID_CACHE FontSelectionQDStyleFc;
-
-void cacheFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject)
-{
-	if (FontSelectionQDStyleFc.cached) return;
-	FontSelectionQDStyleFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FontSelectionQDStyleFc.version = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "version", "I");
-	FontSelectionQDStyleFc.instance_fontFamily = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "instance_fontFamily", "S");
-	FontSelectionQDStyleFc.instance_fontStyle = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "instance_fontStyle", "S");
-	FontSelectionQDStyleFc.size = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "size", "S");
-	FontSelectionQDStyleFc.hasColor = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "hasColor", "Z");
-	FontSelectionQDStyleFc.reserved = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "reserved", "B");
-	FontSelectionQDStyleFc.color_red = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "color_red", "S");
-	FontSelectionQDStyleFc.color_green = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "color_green", "S");
-	FontSelectionQDStyleFc.color_blue = (*env)->GetFieldID(env, FontSelectionQDStyleFc.clazz, "color_blue", "S");
-	FontSelectionQDStyleFc.cached = 1;
-}
-
-FontSelectionQDStyle *getFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject, FontSelectionQDStyle *lpStruct)
-{
-	if (!FontSelectionQDStyleFc.cached) cacheFontSelectionQDStyleFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, FontSelectionQDStyleFc.version);
-	lpStruct->instance.fontFamily = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.instance_fontFamily);
-	lpStruct->instance.fontStyle = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.instance_fontStyle);
-	lpStruct->size = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.size);
-	lpStruct->hasColor = (*env)->GetBooleanField(env, lpObject, FontSelectionQDStyleFc.hasColor);
-	lpStruct->reserved = (*env)->GetByteField(env, lpObject, FontSelectionQDStyleFc.reserved);
-	lpStruct->color.red = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.color_red);
-	lpStruct->color.green = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.color_green);
-	lpStruct->color.blue = (*env)->GetShortField(env, lpObject, FontSelectionQDStyleFc.color_blue);
-	return lpStruct;
-}
-
-void setFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject, FontSelectionQDStyle *lpStruct)
-{
-	if (!FontSelectionQDStyleFc.cached) cacheFontSelectionQDStyleFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, FontSelectionQDStyleFc.version, (jint)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.instance_fontFamily, (jshort)lpStruct->instance.fontFamily);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.instance_fontStyle, (jshort)lpStruct->instance.fontStyle);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.size, (jshort)lpStruct->size);
-	(*env)->SetBooleanField(env, lpObject, FontSelectionQDStyleFc.hasColor, (jboolean)lpStruct->hasColor);
-	(*env)->SetByteField(env, lpObject, FontSelectionQDStyleFc.reserved, (jbyte)lpStruct->reserved);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.color_red, (jshort)lpStruct->color.red);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.color_green, (jshort)lpStruct->color.green);
-	(*env)->SetShortField(env, lpObject, FontSelectionQDStyleFc.color_blue, (jshort)lpStruct->color.blue);
-}
-#endif
-
-#ifndef NO_GDevice
-typedef struct GDevice_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID gdRefNum, gdID, gdType, gdITable, gdResPref, gdSearchProc, gdCompProc, gdFlags, gdPMap, gdRefCon, gdNextGD, left, top, right, bottom, gdMode, gdCCBytes, gdCCDepth, gdCCXData, gdCCXMask, gdExt;
-} GDevice_FID_CACHE;
-
-GDevice_FID_CACHE GDeviceFc;
-
-void cacheGDeviceFields(JNIEnv *env, jobject lpObject)
-{
-	if (GDeviceFc.cached) return;
-	GDeviceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GDeviceFc.gdRefNum = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdRefNum", "S");
-	GDeviceFc.gdID = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdID", "S");
-	GDeviceFc.gdType = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdType", "S");
-	GDeviceFc.gdITable = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdITable", "I");
-	GDeviceFc.gdResPref = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdResPref", "S");
-	GDeviceFc.gdSearchProc = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdSearchProc", "I");
-	GDeviceFc.gdCompProc = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdCompProc", "I");
-	GDeviceFc.gdFlags = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdFlags", "S");
-	GDeviceFc.gdPMap = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdPMap", "I");
-	GDeviceFc.gdRefCon = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdRefCon", "I");
-	GDeviceFc.gdNextGD = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdNextGD", "I");
-	GDeviceFc.left = (*env)->GetFieldID(env, GDeviceFc.clazz, "left", "S");
-	GDeviceFc.top = (*env)->GetFieldID(env, GDeviceFc.clazz, "top", "S");
-	GDeviceFc.right = (*env)->GetFieldID(env, GDeviceFc.clazz, "right", "S");
-	GDeviceFc.bottom = (*env)->GetFieldID(env, GDeviceFc.clazz, "bottom", "S");
-	GDeviceFc.gdMode = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdMode", "I");
-	GDeviceFc.gdCCBytes = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdCCBytes", "S");
-	GDeviceFc.gdCCDepth = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdCCDepth", "S");
-	GDeviceFc.gdCCXData = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdCCXData", "I");
-	GDeviceFc.gdCCXMask = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdCCXMask", "I");
-	GDeviceFc.gdExt = (*env)->GetFieldID(env, GDeviceFc.clazz, "gdExt", "I");
-	GDeviceFc.cached = 1;
-}
-
-GDevice *getGDeviceFields(JNIEnv *env, jobject lpObject, GDevice *lpStruct)
-{
-	if (!GDeviceFc.cached) cacheGDeviceFields(env, lpObject);
-	lpStruct->gdRefNum = (*env)->GetShortField(env, lpObject, GDeviceFc.gdRefNum);
-	lpStruct->gdID = (*env)->GetShortField(env, lpObject, GDeviceFc.gdID);
-	lpStruct->gdType = (*env)->GetShortField(env, lpObject, GDeviceFc.gdType);
-	lpStruct->gdITable = (ITabHandle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdITable);
-	lpStruct->gdResPref = (*env)->GetShortField(env, lpObject, GDeviceFc.gdResPref);
-	lpStruct->gdSearchProc = (SProcHndl)(*env)->GetIntField(env, lpObject, GDeviceFc.gdSearchProc);
-	lpStruct->gdCompProc = (CProcHndl)(*env)->GetIntField(env, lpObject, GDeviceFc.gdCompProc);
-	lpStruct->gdFlags = (*env)->GetShortField(env, lpObject, GDeviceFc.gdFlags);
-	lpStruct->gdPMap = (PixMapHandle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdPMap);
-	lpStruct->gdRefCon = (*env)->GetIntField(env, lpObject, GDeviceFc.gdRefCon);
-	lpStruct->gdNextGD = (GDHandle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdNextGD);
-	lpStruct->gdRect.left = (*env)->GetShortField(env, lpObject, GDeviceFc.left);
-	lpStruct->gdRect.top = (*env)->GetShortField(env, lpObject, GDeviceFc.top);
-	lpStruct->gdRect.right = (*env)->GetShortField(env, lpObject, GDeviceFc.right);
-	lpStruct->gdRect.bottom = (*env)->GetShortField(env, lpObject, GDeviceFc.bottom);
-	lpStruct->gdMode = (*env)->GetIntField(env, lpObject, GDeviceFc.gdMode);
-	lpStruct->gdCCBytes = (*env)->GetShortField(env, lpObject, GDeviceFc.gdCCBytes);
-	lpStruct->gdCCDepth = (*env)->GetShortField(env, lpObject, GDeviceFc.gdCCDepth);
-	lpStruct->gdCCXData = (Handle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdCCXData);
-	lpStruct->gdCCXMask = (Handle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdCCXMask);
-	lpStruct->gdExt = (Handle)(*env)->GetIntField(env, lpObject, GDeviceFc.gdExt);
-	return lpStruct;
-}
-
-void setGDeviceFields(JNIEnv *env, jobject lpObject, GDevice *lpStruct)
-{
-	if (!GDeviceFc.cached) cacheGDeviceFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdRefNum, (jshort)lpStruct->gdRefNum);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdID, (jshort)lpStruct->gdID);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdType, (jshort)lpStruct->gdType);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdITable, (jint)lpStruct->gdITable);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdResPref, (jshort)lpStruct->gdResPref);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdSearchProc, (jint)lpStruct->gdSearchProc);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdCompProc, (jint)lpStruct->gdCompProc);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdFlags, (jshort)lpStruct->gdFlags);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdPMap, (jint)lpStruct->gdPMap);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdRefCon, (jint)lpStruct->gdRefCon);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdNextGD, (jint)lpStruct->gdNextGD);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.left, (jshort)lpStruct->gdRect.left);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.top, (jshort)lpStruct->gdRect.top);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.right, (jshort)lpStruct->gdRect.right);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.bottom, (jshort)lpStruct->gdRect.bottom);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdMode, (jint)lpStruct->gdMode);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdCCBytes, (jshort)lpStruct->gdCCBytes);
-	(*env)->SetShortField(env, lpObject, GDeviceFc.gdCCDepth, (jshort)lpStruct->gdCCDepth);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdCCXData, (jint)lpStruct->gdCCXData);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdCCXMask, (jint)lpStruct->gdCCXMask);
-	(*env)->SetIntField(env, lpObject, GDeviceFc.gdExt, (jint)lpStruct->gdExt);
-}
-#endif
-
-#ifndef NO_HICommand
-typedef struct HICommand_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID attributes, commandID, menu_menuRef, menu_menuItemIndex;
-} HICommand_FID_CACHE;
-
-HICommand_FID_CACHE HICommandFc;
-
-void cacheHICommandFields(JNIEnv *env, jobject lpObject)
-{
-	if (HICommandFc.cached) return;
-	HICommandFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HICommandFc.attributes = (*env)->GetFieldID(env, HICommandFc.clazz, "attributes", "I");
-	HICommandFc.commandID = (*env)->GetFieldID(env, HICommandFc.clazz, "commandID", "I");
-	HICommandFc.menu_menuRef = (*env)->GetFieldID(env, HICommandFc.clazz, "menu_menuRef", "I");
-	HICommandFc.menu_menuItemIndex = (*env)->GetFieldID(env, HICommandFc.clazz, "menu_menuItemIndex", "S");
-	HICommandFc.cached = 1;
-}
-
-HICommand *getHICommandFields(JNIEnv *env, jobject lpObject, HICommand *lpStruct)
-{
-	if (!HICommandFc.cached) cacheHICommandFields(env, lpObject);
-	lpStruct->attributes = (*env)->GetIntField(env, lpObject, HICommandFc.attributes);
-	lpStruct->commandID = (*env)->GetIntField(env, lpObject, HICommandFc.commandID);
-	lpStruct->menu.menuRef = (MenuRef)(*env)->GetIntField(env, lpObject, HICommandFc.menu_menuRef);
-	lpStruct->menu.menuItemIndex = (MenuItemIndex)(*env)->GetShortField(env, lpObject, HICommandFc.menu_menuItemIndex);
-	return lpStruct;
-}
-
-void setHICommandFields(JNIEnv *env, jobject lpObject, HICommand *lpStruct)
-{
-	if (!HICommandFc.cached) cacheHICommandFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HICommandFc.attributes, (jint)lpStruct->attributes);
-	(*env)->SetIntField(env, lpObject, HICommandFc.commandID, (jint)lpStruct->commandID);
-	(*env)->SetIntField(env, lpObject, HICommandFc.menu_menuRef, (jint)lpStruct->menu.menuRef);
-	(*env)->SetShortField(env, lpObject, HICommandFc.menu_menuItemIndex, (jshort)lpStruct->menu.menuItemIndex);
-}
-#endif
-
-#ifndef NO_HIScrollBarTrackInfo
-typedef struct HIScrollBarTrackInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, enableState, pressState, viewsize;
-} HIScrollBarTrackInfo_FID_CACHE;
-
-HIScrollBarTrackInfo_FID_CACHE HIScrollBarTrackInfoFc;
-
-void cacheHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIScrollBarTrackInfoFc.cached) return;
-	HIScrollBarTrackInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIScrollBarTrackInfoFc.version = (*env)->GetFieldID(env, HIScrollBarTrackInfoFc.clazz, "version", "I");
-	HIScrollBarTrackInfoFc.enableState = (*env)->GetFieldID(env, HIScrollBarTrackInfoFc.clazz, "enableState", "B");
-	HIScrollBarTrackInfoFc.pressState = (*env)->GetFieldID(env, HIScrollBarTrackInfoFc.clazz, "pressState", "B");
-	HIScrollBarTrackInfoFc.viewsize = (*env)->GetFieldID(env, HIScrollBarTrackInfoFc.clazz, "viewsize", "F");
-	HIScrollBarTrackInfoFc.cached = 1;
-}
-
-HIScrollBarTrackInfo *getHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, HIScrollBarTrackInfo *lpStruct)
-{
-	if (!HIScrollBarTrackInfoFc.cached) cacheHIScrollBarTrackInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIScrollBarTrackInfoFc.version);
-	lpStruct->enableState = (*env)->GetByteField(env, lpObject, HIScrollBarTrackInfoFc.enableState);
-	lpStruct->pressState = (*env)->GetByteField(env, lpObject, HIScrollBarTrackInfoFc.pressState);
-	lpStruct->viewsize = (*env)->GetFloatField(env, lpObject, HIScrollBarTrackInfoFc.viewsize);
-	return lpStruct;
-}
-
-void setHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, HIScrollBarTrackInfo *lpStruct)
-{
-	if (!HIScrollBarTrackInfoFc.cached) cacheHIScrollBarTrackInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIScrollBarTrackInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetByteField(env, lpObject, HIScrollBarTrackInfoFc.enableState, (jbyte)lpStruct->enableState);
-	(*env)->SetByteField(env, lpObject, HIScrollBarTrackInfoFc.pressState, (jbyte)lpStruct->pressState);
-	(*env)->SetFloatField(env, lpObject, HIScrollBarTrackInfoFc.viewsize, (jfloat)lpStruct->viewsize);
-}
-#endif
-
-#ifndef NO_HIThemeAnimationFrameInfo
-typedef struct HIThemeAnimationFrameInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID index;
-} HIThemeAnimationFrameInfo_FID_CACHE;
-
-HIThemeAnimationFrameInfo_FID_CACHE HIThemeAnimationFrameInfoFc;
-
-void cacheHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeAnimationFrameInfoFc.cached) return;
-	HIThemeAnimationFrameInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeAnimationFrameInfoFc.index = (*env)->GetFieldID(env, HIThemeAnimationFrameInfoFc.clazz, "index", "I");
-	HIThemeAnimationFrameInfoFc.cached = 1;
-}
-
-HIThemeAnimationFrameInfo *getHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationFrameInfo *lpStruct)
-{
-	if (!HIThemeAnimationFrameInfoFc.cached) cacheHIThemeAnimationFrameInfoFields(env, lpObject);
-	lpStruct->index = (*env)->GetIntField(env, lpObject, HIThemeAnimationFrameInfoFc.index);
-	return lpStruct;
-}
-
-void setHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationFrameInfo *lpStruct)
-{
-	if (!HIThemeAnimationFrameInfoFc.cached) cacheHIThemeAnimationFrameInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeAnimationFrameInfoFc.index, (jint)lpStruct->index);
-}
-#endif
-
-#ifndef NO_HIThemeAnimationTimeInfo
-typedef struct HIThemeAnimationTimeInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID start, current;
-} HIThemeAnimationTimeInfo_FID_CACHE;
-
-HIThemeAnimationTimeInfo_FID_CACHE HIThemeAnimationTimeInfoFc;
-
-void cacheHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeAnimationTimeInfoFc.cached) return;
-	HIThemeAnimationTimeInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeAnimationTimeInfoFc.start = (*env)->GetFieldID(env, HIThemeAnimationTimeInfoFc.clazz, "start", "J");
-	HIThemeAnimationTimeInfoFc.current = (*env)->GetFieldID(env, HIThemeAnimationTimeInfoFc.clazz, "current", "J");
-	HIThemeAnimationTimeInfoFc.cached = 1;
-}
-
-HIThemeAnimationTimeInfo *getHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationTimeInfo *lpStruct)
-{
-	if (!HIThemeAnimationTimeInfoFc.cached) cacheHIThemeAnimationTimeInfoFields(env, lpObject);
-	lpStruct->start = (*env)->GetLongField(env, lpObject, HIThemeAnimationTimeInfoFc.start);
-	lpStruct->current = (*env)->GetLongField(env, lpObject, HIThemeAnimationTimeInfoFc.current);
-	return lpStruct;
-}
-
-void setHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationTimeInfo *lpStruct)
-{
-	if (!HIThemeAnimationTimeInfoFc.cached) cacheHIThemeAnimationTimeInfoFields(env, lpObject);
-	(*env)->SetLongField(env, lpObject, HIThemeAnimationTimeInfoFc.start, (jlong)lpStruct->start);
-	(*env)->SetLongField(env, lpObject, HIThemeAnimationTimeInfoFc.current, (jlong)lpStruct->current);
-}
-#endif
-
-#ifndef NO_HIThemeBackgroundDrawInfo
-typedef struct HIThemeBackgroundDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, kind;
-} HIThemeBackgroundDrawInfo_FID_CACHE;
-
-HIThemeBackgroundDrawInfo_FID_CACHE HIThemeBackgroundDrawInfoFc;
-
-void cacheHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeBackgroundDrawInfoFc.cached) return;
-	HIThemeBackgroundDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeBackgroundDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeBackgroundDrawInfoFc.clazz, "version", "I");
-	HIThemeBackgroundDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeBackgroundDrawInfoFc.clazz, "state", "I");
-	HIThemeBackgroundDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeBackgroundDrawInfoFc.clazz, "kind", "I");
-	HIThemeBackgroundDrawInfoFc.cached = 1;
-}
-
-HIThemeBackgroundDrawInfo *getHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeBackgroundDrawInfo *lpStruct)
-{
-	if (!HIThemeBackgroundDrawInfoFc.cached) cacheHIThemeBackgroundDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.state);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.kind);
-	return lpStruct;
-}
-
-void setHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeBackgroundDrawInfo *lpStruct)
-{
-	if (!HIThemeBackgroundDrawInfoFc.cached) cacheHIThemeBackgroundDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, HIThemeBackgroundDrawInfoFc.kind, (jint)lpStruct->kind);
-}
-#endif
-
-#ifndef NO_HIThemeButtonDrawInfo
-typedef struct HIThemeButtonDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, kind, value, adornment, time, frame;
-} HIThemeButtonDrawInfo_FID_CACHE;
-
-HIThemeButtonDrawInfo_FID_CACHE HIThemeButtonDrawInfoFc;
-
-void cacheHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeButtonDrawInfoFc.cached) return;
-	HIThemeButtonDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeButtonDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "version", "I");
-	HIThemeButtonDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "state", "I");
-	HIThemeButtonDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "kind", "I");
-	HIThemeButtonDrawInfoFc.value = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "value", "I");
-	HIThemeButtonDrawInfoFc.adornment = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "adornment", "I");
-	HIThemeButtonDrawInfoFc.time = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "time", "Lorg/eclipse/swt/internal/carbon/HIThemeAnimationTimeInfo;");
-	HIThemeButtonDrawInfoFc.frame = (*env)->GetFieldID(env, HIThemeButtonDrawInfoFc.clazz, "frame", "Lorg/eclipse/swt/internal/carbon/HIThemeAnimationFrameInfo;");
-	HIThemeButtonDrawInfoFc.cached = 1;
-}
-
-HIThemeButtonDrawInfo *getHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeButtonDrawInfo *lpStruct)
-{
-	if (!HIThemeButtonDrawInfoFc.cached) cacheHIThemeButtonDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeButtonDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeButtonDrawInfoFc.state);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeButtonDrawInfoFc.kind);
-	lpStruct->value = (*env)->GetIntField(env, lpObject, HIThemeButtonDrawInfoFc.value);
-	lpStruct->adornment = (*env)->GetIntField(env, lpObject, HIThemeButtonDrawInfoFc.adornment);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeButtonDrawInfoFc.time);
-	if (lpObject1 != NULL) getHIThemeAnimationTimeInfoFields(env, lpObject1, &lpStruct->animation.time);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeButtonDrawInfoFc.frame);
-	if (lpObject1 != NULL) getHIThemeAnimationFrameInfoFields(env, lpObject1, &lpStruct->animation.frame);
-	}
-	return lpStruct;
-}
-
-void setHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeButtonDrawInfo *lpStruct)
-{
-	if (!HIThemeButtonDrawInfoFc.cached) cacheHIThemeButtonDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeButtonDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeButtonDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, HIThemeButtonDrawInfoFc.kind, (jint)lpStruct->kind);
-	(*env)->SetIntField(env, lpObject, HIThemeButtonDrawInfoFc.value, (jint)lpStruct->value);
-	(*env)->SetIntField(env, lpObject, HIThemeButtonDrawInfoFc.adornment, (jint)lpStruct->adornment);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeButtonDrawInfoFc.time);
-	if (lpObject1 != NULL) setHIThemeAnimationTimeInfoFields(env, lpObject1, &lpStruct->animation.time);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeButtonDrawInfoFc.frame);
-	if (lpObject1 != NULL) setHIThemeAnimationFrameInfoFields(env, lpObject1, &lpStruct->animation.frame);
-	}
-}
-#endif
-
-#ifndef NO_HIThemeFrameDrawInfo
-typedef struct HIThemeFrameDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, kind, isFocused;
-} HIThemeFrameDrawInfo_FID_CACHE;
-
-HIThemeFrameDrawInfo_FID_CACHE HIThemeFrameDrawInfoFc;
-
-void cacheHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeFrameDrawInfoFc.cached) return;
-	HIThemeFrameDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeFrameDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeFrameDrawInfoFc.clazz, "version", "I");
-	HIThemeFrameDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeFrameDrawInfoFc.clazz, "state", "I");
-	HIThemeFrameDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeFrameDrawInfoFc.clazz, "kind", "I");
-	HIThemeFrameDrawInfoFc.isFocused = (*env)->GetFieldID(env, HIThemeFrameDrawInfoFc.clazz, "isFocused", "Z");
-	HIThemeFrameDrawInfoFc.cached = 1;
-}
-
-HIThemeFrameDrawInfo *getHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeFrameDrawInfo *lpStruct)
-{
-	if (!HIThemeFrameDrawInfoFc.cached) cacheHIThemeFrameDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeFrameDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeFrameDrawInfoFc.state);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeFrameDrawInfoFc.kind);
-	lpStruct->isFocused = (*env)->GetBooleanField(env, lpObject, HIThemeFrameDrawInfoFc.isFocused);
-	return lpStruct;
-}
-
-void setHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeFrameDrawInfo *lpStruct)
-{
-	if (!HIThemeFrameDrawInfoFc.cached) cacheHIThemeFrameDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeFrameDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeFrameDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, HIThemeFrameDrawInfoFc.kind, (jint)lpStruct->kind);
-	(*env)->SetBooleanField(env, lpObject, HIThemeFrameDrawInfoFc.isFocused, (jboolean)lpStruct->isFocused);
-}
-#endif
-
-#ifndef NO_HIThemeGroupBoxDrawInfo
-typedef struct HIThemeGroupBoxDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, kind;
-} HIThemeGroupBoxDrawInfo_FID_CACHE;
-
-HIThemeGroupBoxDrawInfo_FID_CACHE HIThemeGroupBoxDrawInfoFc;
-
-void cacheHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeGroupBoxDrawInfoFc.cached) return;
-	HIThemeGroupBoxDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeGroupBoxDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeGroupBoxDrawInfoFc.clazz, "version", "I");
-	HIThemeGroupBoxDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeGroupBoxDrawInfoFc.clazz, "state", "I");
-	HIThemeGroupBoxDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeGroupBoxDrawInfoFc.clazz, "kind", "I");
-	HIThemeGroupBoxDrawInfoFc.cached = 1;
-}
-
-HIThemeGroupBoxDrawInfo *getHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGroupBoxDrawInfo *lpStruct)
-{
-	if (!HIThemeGroupBoxDrawInfoFc.cached) cacheHIThemeGroupBoxDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.state);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.kind);
-	return lpStruct;
-}
-
-void setHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGroupBoxDrawInfo *lpStruct)
-{
-	if (!HIThemeGroupBoxDrawInfoFc.cached) cacheHIThemeGroupBoxDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, HIThemeGroupBoxDrawInfoFc.kind, (jint)lpStruct->kind);
-}
-#endif
-
-#ifndef NO_HIThemeGrowBoxDrawInfo
-typedef struct HIThemeGrowBoxDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, kind, state, direction, size;
-} HIThemeGrowBoxDrawInfo_FID_CACHE;
-
-HIThemeGrowBoxDrawInfo_FID_CACHE HIThemeGrowBoxDrawInfoFc;
-
-void cacheHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeGrowBoxDrawInfoFc.cached) return;
-	HIThemeGrowBoxDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeGrowBoxDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeGrowBoxDrawInfoFc.clazz, "version", "I");
-	HIThemeGrowBoxDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeGrowBoxDrawInfoFc.clazz, "kind", "I");
-	HIThemeGrowBoxDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeGrowBoxDrawInfoFc.clazz, "state", "I");
-	HIThemeGrowBoxDrawInfoFc.direction = (*env)->GetFieldID(env, HIThemeGrowBoxDrawInfoFc.clazz, "direction", "S");
-	HIThemeGrowBoxDrawInfoFc.size = (*env)->GetFieldID(env, HIThemeGrowBoxDrawInfoFc.clazz, "size", "I");
-	HIThemeGrowBoxDrawInfoFc.cached = 1;
-}
-
-HIThemeGrowBoxDrawInfo *getHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGrowBoxDrawInfo *lpStruct)
-{
-	if (!HIThemeGrowBoxDrawInfoFc.cached) cacheHIThemeGrowBoxDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.version);
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.kind);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.state);
-	lpStruct->direction = (*env)->GetShortField(env, lpObject, HIThemeGrowBoxDrawInfoFc.direction);
-	lpStruct->size = (*env)->GetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.size);
-	return lpStruct;
-}
-
-void setHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGrowBoxDrawInfo *lpStruct)
-{
-	if (!HIThemeGrowBoxDrawInfoFc.cached) cacheHIThemeGrowBoxDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.kind, (jint)lpStruct->kind);
-	(*env)->SetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, HIThemeGrowBoxDrawInfoFc.direction, (jshort)lpStruct->direction);
-	(*env)->SetIntField(env, lpObject, HIThemeGrowBoxDrawInfoFc.size, (jint)lpStruct->size);
-}
-#endif
-
-#ifndef NO_HIThemePopupArrowDrawInfo
-typedef struct HIThemePopupArrowDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, orientation, size;
-} HIThemePopupArrowDrawInfo_FID_CACHE;
-
-HIThemePopupArrowDrawInfo_FID_CACHE HIThemePopupArrowDrawInfoFc;
-
-void cacheHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemePopupArrowDrawInfoFc.cached) return;
-	HIThemePopupArrowDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemePopupArrowDrawInfoFc.version = (*env)->GetFieldID(env, HIThemePopupArrowDrawInfoFc.clazz, "version", "I");
-	HIThemePopupArrowDrawInfoFc.state = (*env)->GetFieldID(env, HIThemePopupArrowDrawInfoFc.clazz, "state", "I");
-	HIThemePopupArrowDrawInfoFc.orientation = (*env)->GetFieldID(env, HIThemePopupArrowDrawInfoFc.clazz, "orientation", "S");
-	HIThemePopupArrowDrawInfoFc.size = (*env)->GetFieldID(env, HIThemePopupArrowDrawInfoFc.clazz, "size", "S");
-	HIThemePopupArrowDrawInfoFc.cached = 1;
-}
-
-HIThemePopupArrowDrawInfo *getHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemePopupArrowDrawInfo *lpStruct)
-{
-	if (!HIThemePopupArrowDrawInfoFc.cached) cacheHIThemePopupArrowDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemePopupArrowDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemePopupArrowDrawInfoFc.state);
-	lpStruct->orientation = (*env)->GetShortField(env, lpObject, HIThemePopupArrowDrawInfoFc.orientation);
-	lpStruct->size = (*env)->GetShortField(env, lpObject, HIThemePopupArrowDrawInfoFc.size);
-	return lpStruct;
-}
-
-void setHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemePopupArrowDrawInfo *lpStruct)
-{
-	if (!HIThemePopupArrowDrawInfoFc.cached) cacheHIThemePopupArrowDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemePopupArrowDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemePopupArrowDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, HIThemePopupArrowDrawInfoFc.orientation, (jshort)lpStruct->orientation);
-	(*env)->SetShortField(env, lpObject, HIThemePopupArrowDrawInfoFc.size, (jshort)lpStruct->size);
-}
-#endif
-
-#ifndef NO_HIThemeSeparatorDrawInfo
-typedef struct HIThemeSeparatorDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state;
-} HIThemeSeparatorDrawInfo_FID_CACHE;
-
-HIThemeSeparatorDrawInfo_FID_CACHE HIThemeSeparatorDrawInfoFc;
-
-void cacheHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeSeparatorDrawInfoFc.cached) return;
-	HIThemeSeparatorDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeSeparatorDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeSeparatorDrawInfoFc.clazz, "version", "I");
-	HIThemeSeparatorDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeSeparatorDrawInfoFc.clazz, "state", "I");
-	HIThemeSeparatorDrawInfoFc.cached = 1;
-}
-
-HIThemeSeparatorDrawInfo *getHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeSeparatorDrawInfo *lpStruct)
-{
-	if (!HIThemeSeparatorDrawInfoFc.cached) cacheHIThemeSeparatorDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeSeparatorDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeSeparatorDrawInfoFc.state);
-	return lpStruct;
-}
-
-void setHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeSeparatorDrawInfo *lpStruct)
-{
-	if (!HIThemeSeparatorDrawInfoFc.cached) cacheHIThemeSeparatorDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeSeparatorDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeSeparatorDrawInfoFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_HIThemeTabDrawInfo
-typedef struct HIThemeTabDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, style, direction, size, adornment, kind, position;
-} HIThemeTabDrawInfo_FID_CACHE;
-
-HIThemeTabDrawInfo_FID_CACHE HIThemeTabDrawInfoFc;
-
-void cacheHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeTabDrawInfoFc.cached) return;
-	HIThemeTabDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeTabDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "version", "I");
-	HIThemeTabDrawInfoFc.style = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "style", "S");
-	HIThemeTabDrawInfoFc.direction = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "direction", "S");
-	HIThemeTabDrawInfoFc.size = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "size", "I");
-	HIThemeTabDrawInfoFc.adornment = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "adornment", "I");
-	HIThemeTabDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "kind", "I");
-	HIThemeTabDrawInfoFc.position = (*env)->GetFieldID(env, HIThemeTabDrawInfoFc.clazz, "position", "I");
-	HIThemeTabDrawInfoFc.cached = 1;
-}
-
-HIThemeTabDrawInfo *getHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabDrawInfo *lpStruct)
-{
-	if (!HIThemeTabDrawInfoFc.cached) cacheHIThemeTabDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeTabDrawInfoFc.version);
-	lpStruct->style = (*env)->GetShortField(env, lpObject, HIThemeTabDrawInfoFc.style);
-	lpStruct->direction = (*env)->GetShortField(env, lpObject, HIThemeTabDrawInfoFc.direction);
-	lpStruct->size = (*env)->GetIntField(env, lpObject, HIThemeTabDrawInfoFc.size);
-	lpStruct->adornment = (*env)->GetIntField(env, lpObject, HIThemeTabDrawInfoFc.adornment);
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeTabDrawInfoFc.kind);
-#endif
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	lpStruct->position = (*env)->GetIntField(env, lpObject, HIThemeTabDrawInfoFc.position);
-#endif
-	return lpStruct;
-}
-
-void setHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabDrawInfo *lpStruct)
-{
-	if (!HIThemeTabDrawInfoFc.cached) cacheHIThemeTabDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeTabDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, HIThemeTabDrawInfoFc.style, (jshort)lpStruct->style);
-	(*env)->SetShortField(env, lpObject, HIThemeTabDrawInfoFc.direction, (jshort)lpStruct->direction);
-	(*env)->SetIntField(env, lpObject, HIThemeTabDrawInfoFc.size, (jint)lpStruct->size);
-	(*env)->SetIntField(env, lpObject, HIThemeTabDrawInfoFc.adornment, (jint)lpStruct->adornment);
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	(*env)->SetIntField(env, lpObject, HIThemeTabDrawInfoFc.kind, (jint)lpStruct->kind);
-#endif
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	(*env)->SetIntField(env, lpObject, HIThemeTabDrawInfoFc.position, (jint)lpStruct->position);
-#endif
-}
-#endif
-
-#ifndef NO_HIThemeTabPaneDrawInfo
-typedef struct HIThemeTabPaneDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, direction, size, kind, adornment;
-} HIThemeTabPaneDrawInfo_FID_CACHE;
-
-HIThemeTabPaneDrawInfo_FID_CACHE HIThemeTabPaneDrawInfoFc;
-
-void cacheHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeTabPaneDrawInfoFc.cached) return;
-	HIThemeTabPaneDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeTabPaneDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "version", "I");
-	HIThemeTabPaneDrawInfoFc.state = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "state", "I");
-	HIThemeTabPaneDrawInfoFc.direction = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "direction", "S");
-	HIThemeTabPaneDrawInfoFc.size = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "size", "I");
-	HIThemeTabPaneDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "kind", "I");
-	HIThemeTabPaneDrawInfoFc.adornment = (*env)->GetFieldID(env, HIThemeTabPaneDrawInfoFc.clazz, "adornment", "I");
-	HIThemeTabPaneDrawInfoFc.cached = 1;
-}
-
-HIThemeTabPaneDrawInfo *getHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabPaneDrawInfo *lpStruct)
-{
-	if (!HIThemeTabPaneDrawInfoFc.cached) cacheHIThemeTabPaneDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.state);
-	lpStruct->direction = (*env)->GetShortField(env, lpObject, HIThemeTabPaneDrawInfoFc.direction);
-	lpStruct->size = (*env)->GetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.size);
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	lpStruct->kind = (*env)->GetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.kind);
-#endif
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	lpStruct->adornment = (*env)->GetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.adornment);
-#endif
-	return lpStruct;
-}
-
-void setHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabPaneDrawInfo *lpStruct)
-{
-	if (!HIThemeTabPaneDrawInfoFc.cached) cacheHIThemeTabPaneDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, HIThemeTabPaneDrawInfoFc.direction, (jshort)lpStruct->direction);
-	(*env)->SetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.size, (jint)lpStruct->size);
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	(*env)->SetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.kind, (jint)lpStruct->kind);
-#endif
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-	(*env)->SetIntField(env, lpObject, HIThemeTabPaneDrawInfoFc.adornment, (jint)lpStruct->adornment);
-#endif
-}
-#endif
-
-#ifndef NO_HIThemeTextInfo
-typedef struct HIThemeTextInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, state, fontID, horizontalFlushness, verticalFlushness, options, truncationPosition, truncationMaxLines, truncationHappened;
-} HIThemeTextInfo_FID_CACHE;
-
-HIThemeTextInfo_FID_CACHE HIThemeTextInfoFc;
-
-void cacheHIThemeTextInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeTextInfoFc.cached) return;
-	HIThemeTextInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeTextInfoFc.version = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "version", "I");
-	HIThemeTextInfoFc.state = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "state", "I");
-	HIThemeTextInfoFc.fontID = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "fontID", "S");
-	HIThemeTextInfoFc.horizontalFlushness = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "horizontalFlushness", "I");
-	HIThemeTextInfoFc.verticalFlushness = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "verticalFlushness", "I");
-	HIThemeTextInfoFc.options = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "options", "I");
-	HIThemeTextInfoFc.truncationPosition = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "truncationPosition", "I");
-	HIThemeTextInfoFc.truncationMaxLines = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "truncationMaxLines", "I");
-	HIThemeTextInfoFc.truncationHappened = (*env)->GetFieldID(env, HIThemeTextInfoFc.clazz, "truncationHappened", "Z");
-	HIThemeTextInfoFc.cached = 1;
-}
-
-HIThemeTextInfo *getHIThemeTextInfoFields(JNIEnv *env, jobject lpObject, HIThemeTextInfo *lpStruct)
-{
-	if (!HIThemeTextInfoFc.cached) cacheHIThemeTextInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.version);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.state);
-	lpStruct->fontID = (*env)->GetShortField(env, lpObject, HIThemeTextInfoFc.fontID);
-	lpStruct->horizontalFlushness = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.horizontalFlushness);
-	lpStruct->verticalFlushness = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.verticalFlushness);
-	lpStruct->options = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.options);
-	lpStruct->truncationPosition = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.truncationPosition);
-	lpStruct->truncationMaxLines = (*env)->GetIntField(env, lpObject, HIThemeTextInfoFc.truncationMaxLines);
-	lpStruct->truncationHappened = (*env)->GetBooleanField(env, lpObject, HIThemeTextInfoFc.truncationHappened);
-	return lpStruct;
-}
-
-void setHIThemeTextInfoFields(JNIEnv *env, jobject lpObject, HIThemeTextInfo *lpStruct)
-{
-	if (!HIThemeTextInfoFc.cached) cacheHIThemeTextInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, HIThemeTextInfoFc.fontID, (jshort)lpStruct->fontID);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.horizontalFlushness, (jint)lpStruct->horizontalFlushness);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.verticalFlushness, (jint)lpStruct->verticalFlushness);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.options, (jint)lpStruct->options);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.truncationPosition, (jint)lpStruct->truncationPosition);
-	(*env)->SetIntField(env, lpObject, HIThemeTextInfoFc.truncationMaxLines, (jint)lpStruct->truncationMaxLines);
-	(*env)->SetBooleanField(env, lpObject, HIThemeTextInfoFc.truncationHappened, (jboolean)lpStruct->truncationHappened);
-}
-#endif
-
-#ifndef NO_HIThemeTrackDrawInfo
-typedef struct HIThemeTrackDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, kind, bounds_x, bounds_y, bounds_width, bounds_height, min, max, value, reserved, attributes, enableState, filler1, scrollbar, slider, progress;
-} HIThemeTrackDrawInfo_FID_CACHE;
-
-HIThemeTrackDrawInfo_FID_CACHE HIThemeTrackDrawInfoFc;
-
-void cacheHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIThemeTrackDrawInfoFc.cached) return;
-	HIThemeTrackDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIThemeTrackDrawInfoFc.version = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "version", "I");
-	HIThemeTrackDrawInfoFc.kind = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "kind", "S");
-	HIThemeTrackDrawInfoFc.bounds_x = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "bounds_x", "F");
-	HIThemeTrackDrawInfoFc.bounds_y = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "bounds_y", "F");
-	HIThemeTrackDrawInfoFc.bounds_width = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "bounds_width", "F");
-	HIThemeTrackDrawInfoFc.bounds_height = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "bounds_height", "F");
-	HIThemeTrackDrawInfoFc.min = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "min", "I");
-	HIThemeTrackDrawInfoFc.max = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "max", "I");
-	HIThemeTrackDrawInfoFc.value = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "value", "I");
-	HIThemeTrackDrawInfoFc.reserved = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "reserved", "I");
-	HIThemeTrackDrawInfoFc.attributes = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "attributes", "S");
-	HIThemeTrackDrawInfoFc.enableState = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "enableState", "B");
-	HIThemeTrackDrawInfoFc.filler1 = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "filler1", "B");
-	HIThemeTrackDrawInfoFc.scrollbar = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "scrollbar", "Lorg/eclipse/swt/internal/carbon/ScrollBarTrackInfo;");
-	HIThemeTrackDrawInfoFc.slider = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "slider", "Lorg/eclipse/swt/internal/carbon/SliderTrackInfo;");
-	HIThemeTrackDrawInfoFc.progress = (*env)->GetFieldID(env, HIThemeTrackDrawInfoFc.clazz, "progress", "Lorg/eclipse/swt/internal/carbon/ProgressTrackInfo;");
-	HIThemeTrackDrawInfoFc.cached = 1;
-}
-
-HIThemeTrackDrawInfo *getHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTrackDrawInfo *lpStruct)
-{
-	if (!HIThemeTrackDrawInfoFc.cached) cacheHIThemeTrackDrawInfoFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HIThemeTrackDrawInfoFc.version);
-	lpStruct->kind = (ThemeTrackKind)(*env)->GetShortField(env, lpObject, HIThemeTrackDrawInfoFc.kind);
-	lpStruct->bounds.origin.x = (*env)->GetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_x);
-	lpStruct->bounds.origin.y = (*env)->GetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_y);
-	lpStruct->bounds.size.width = (*env)->GetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_width);
-	lpStruct->bounds.size.height = (*env)->GetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_height);
-	lpStruct->min = (*env)->GetIntField(env, lpObject, HIThemeTrackDrawInfoFc.min);
-	lpStruct->max = (*env)->GetIntField(env, lpObject, HIThemeTrackDrawInfoFc.max);
-	lpStruct->value = (*env)->GetIntField(env, lpObject, HIThemeTrackDrawInfoFc.value);
-	lpStruct->reserved = (*env)->GetIntField(env, lpObject, HIThemeTrackDrawInfoFc.reserved);
-	lpStruct->attributes = (ThemeTrackAttributes)(*env)->GetShortField(env, lpObject, HIThemeTrackDrawInfoFc.attributes);
-	lpStruct->enableState = (ThemeTrackEnableState)(*env)->GetByteField(env, lpObject, HIThemeTrackDrawInfoFc.enableState);
-	lpStruct->filler1 = (*env)->GetByteField(env, lpObject, HIThemeTrackDrawInfoFc.filler1);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.scrollbar);
-	if (lpObject1 != NULL) getScrollBarTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.scrollbar);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.slider);
-	if (lpObject1 != NULL) getSliderTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.slider);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.progress);
-	if (lpObject1 != NULL) getProgressTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.progress);
-	}
-	return lpStruct;
-}
-
-void setHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTrackDrawInfo *lpStruct)
-{
-	if (!HIThemeTrackDrawInfoFc.cached) cacheHIThemeTrackDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIThemeTrackDrawInfoFc.version, (jint)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, HIThemeTrackDrawInfoFc.kind, (jshort)lpStruct->kind);
-	(*env)->SetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_x, (jfloat)lpStruct->bounds.origin.x);
-	(*env)->SetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_y, (jfloat)lpStruct->bounds.origin.y);
-	(*env)->SetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_width, (jfloat)lpStruct->bounds.size.width);
-	(*env)->SetFloatField(env, lpObject, HIThemeTrackDrawInfoFc.bounds_height, (jfloat)lpStruct->bounds.size.height);
-	(*env)->SetIntField(env, lpObject, HIThemeTrackDrawInfoFc.min, (jint)lpStruct->min);
-	(*env)->SetIntField(env, lpObject, HIThemeTrackDrawInfoFc.max, (jint)lpStruct->max);
-	(*env)->SetIntField(env, lpObject, HIThemeTrackDrawInfoFc.value, (jint)lpStruct->value);
-	(*env)->SetIntField(env, lpObject, HIThemeTrackDrawInfoFc.reserved, (jint)lpStruct->reserved);
-	(*env)->SetShortField(env, lpObject, HIThemeTrackDrawInfoFc.attributes, (jshort)lpStruct->attributes);
-	(*env)->SetByteField(env, lpObject, HIThemeTrackDrawInfoFc.enableState, (jbyte)lpStruct->enableState);
-	(*env)->SetByteField(env, lpObject, HIThemeTrackDrawInfoFc.filler1, (jbyte)lpStruct->filler1);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.scrollbar);
-	if (lpObject1 != NULL) setScrollBarTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.scrollbar);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.slider);
-	if (lpObject1 != NULL) setSliderTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.slider);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, HIThemeTrackDrawInfoFc.progress);
-	if (lpObject1 != NULL) setProgressTrackInfoFields(env, lpObject1, &lpStruct->trackInfo.progress);
-	}
-}
-#endif
-
-#ifndef NO_HMHelpContentRec
-typedef struct HMHelpContentRec_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, absHotRect_top, absHotRect_left, absHotRect_bottom, absHotRect_right, tagSide, content0_contentType, content0_tagCFString, content1_contentType, content1_tagCFString;
-} HMHelpContentRec_FID_CACHE;
-
-HMHelpContentRec_FID_CACHE HMHelpContentRecFc;
-
-void cacheHMHelpContentRecFields(JNIEnv *env, jobject lpObject)
-{
-	if (HMHelpContentRecFc.cached) return;
-	HMHelpContentRecFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HMHelpContentRecFc.version = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "version", "I");
-	HMHelpContentRecFc.absHotRect_top = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "absHotRect_top", "S");
-	HMHelpContentRecFc.absHotRect_left = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "absHotRect_left", "S");
-	HMHelpContentRecFc.absHotRect_bottom = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "absHotRect_bottom", "S");
-	HMHelpContentRecFc.absHotRect_right = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "absHotRect_right", "S");
-	HMHelpContentRecFc.tagSide = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "tagSide", "S");
-	HMHelpContentRecFc.content0_contentType = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "content0_contentType", "I");
-	HMHelpContentRecFc.content0_tagCFString = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "content0_tagCFString", "I");
-	HMHelpContentRecFc.content1_contentType = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "content1_contentType", "I");
-	HMHelpContentRecFc.content1_tagCFString = (*env)->GetFieldID(env, HMHelpContentRecFc.clazz, "content1_tagCFString", "I");
-	HMHelpContentRecFc.cached = 1;
-}
-
-HMHelpContentRec *getHMHelpContentRecFields(JNIEnv *env, jobject lpObject, HMHelpContentRec *lpStruct)
-{
-	if (!HMHelpContentRecFc.cached) cacheHMHelpContentRecFields(env, lpObject);
-	lpStruct->version = (*env)->GetIntField(env, lpObject, HMHelpContentRecFc.version);
-	lpStruct->absHotRect.top = (*env)->GetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_top);
-	lpStruct->absHotRect.left = (*env)->GetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_left);
-	lpStruct->absHotRect.bottom = (*env)->GetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_bottom);
-	lpStruct->absHotRect.right = (*env)->GetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_right);
-	lpStruct->tagSide = (*env)->GetShortField(env, lpObject, HMHelpContentRecFc.tagSide);
-	lpStruct->content[0].contentType = (*env)->GetIntField(env, lpObject, HMHelpContentRecFc.content0_contentType);
-	lpStruct->content[0].u.tagCFString = (CFStringRef)(*env)->GetIntField(env, lpObject, HMHelpContentRecFc.content0_tagCFString);
-	lpStruct->content[1].contentType = (*env)->GetIntField(env, lpObject, HMHelpContentRecFc.content1_contentType);
-	lpStruct->content[1].u.tagCFString = (CFStringRef)(*env)->GetIntField(env, lpObject, HMHelpContentRecFc.content1_tagCFString);
-	return lpStruct;
-}
-
-void setHMHelpContentRecFields(JNIEnv *env, jobject lpObject, HMHelpContentRec *lpStruct)
-{
-	if (!HMHelpContentRecFc.cached) cacheHMHelpContentRecFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HMHelpContentRecFc.version, (jint)lpStruct->version);
-	(*env)->SetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_top, (jshort)lpStruct->absHotRect.top);
-	(*env)->SetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_left, (jshort)lpStruct->absHotRect.left);
-	(*env)->SetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_bottom, (jshort)lpStruct->absHotRect.bottom);
-	(*env)->SetShortField(env, lpObject, HMHelpContentRecFc.absHotRect_right, (jshort)lpStruct->absHotRect.right);
-	(*env)->SetShortField(env, lpObject, HMHelpContentRecFc.tagSide, (jshort)lpStruct->tagSide);
-	(*env)->SetIntField(env, lpObject, HMHelpContentRecFc.content0_contentType, (jint)lpStruct->content[0].contentType);
-	(*env)->SetIntField(env, lpObject, HMHelpContentRecFc.content0_tagCFString, (jint)lpStruct->content[0].u.tagCFString);
-	(*env)->SetIntField(env, lpObject, HMHelpContentRecFc.content1_contentType, (jint)lpStruct->content[1].contentType);
-	(*env)->SetIntField(env, lpObject, HMHelpContentRecFc.content1_tagCFString, (jint)lpStruct->content[1].u.tagCFString);
-}
-#endif
-
-#ifndef NO_MenuTrackingData
-typedef struct MenuTrackingData_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID menu, itemSelected, itemUnderMouse, top, left, bottom, right, virtualMenuTop, virtualMenuBottom;
-} MenuTrackingData_FID_CACHE;
-
-MenuTrackingData_FID_CACHE MenuTrackingDataFc;
-
-void cacheMenuTrackingDataFields(JNIEnv *env, jobject lpObject)
-{
-	if (MenuTrackingDataFc.cached) return;
-	MenuTrackingDataFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MenuTrackingDataFc.menu = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "menu", "I");
-	MenuTrackingDataFc.itemSelected = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "itemSelected", "S");
-	MenuTrackingDataFc.itemUnderMouse = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "itemUnderMouse", "S");
-	MenuTrackingDataFc.top = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "top", "S");
-	MenuTrackingDataFc.left = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "left", "S");
-	MenuTrackingDataFc.bottom = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "bottom", "S");
-	MenuTrackingDataFc.right = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "right", "S");
-	MenuTrackingDataFc.virtualMenuTop = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "virtualMenuTop", "I");
-	MenuTrackingDataFc.virtualMenuBottom = (*env)->GetFieldID(env, MenuTrackingDataFc.clazz, "virtualMenuBottom", "I");
-	MenuTrackingDataFc.cached = 1;
-}
-
-MenuTrackingData *getMenuTrackingDataFields(JNIEnv *env, jobject lpObject, MenuTrackingData *lpStruct)
-{
-	if (!MenuTrackingDataFc.cached) cacheMenuTrackingDataFields(env, lpObject);
-	lpStruct->menu = (MenuRef)(*env)->GetIntField(env, lpObject, MenuTrackingDataFc.menu);
-	lpStruct->itemSelected = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.itemSelected);
-	lpStruct->itemUnderMouse = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.itemUnderMouse);
-	lpStruct->itemRect.top = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.top);
-	lpStruct->itemRect.left = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.left);
-	lpStruct->itemRect.bottom = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.bottom);
-	lpStruct->itemRect.right = (*env)->GetShortField(env, lpObject, MenuTrackingDataFc.right);
-	lpStruct->virtualMenuTop = (*env)->GetIntField(env, lpObject, MenuTrackingDataFc.virtualMenuTop);
-	lpStruct->virtualMenuBottom = (*env)->GetIntField(env, lpObject, MenuTrackingDataFc.virtualMenuBottom);
-	return lpStruct;
-}
-
-void setMenuTrackingDataFields(JNIEnv *env, jobject lpObject, MenuTrackingData *lpStruct)
-{
-	if (!MenuTrackingDataFc.cached) cacheMenuTrackingDataFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MenuTrackingDataFc.menu, (jint)lpStruct->menu);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.itemSelected, (jshort)lpStruct->itemSelected);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.itemUnderMouse, (jshort)lpStruct->itemUnderMouse);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.top, (jshort)lpStruct->itemRect.top);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.left, (jshort)lpStruct->itemRect.left);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.bottom, (jshort)lpStruct->itemRect.bottom);
-	(*env)->SetShortField(env, lpObject, MenuTrackingDataFc.right, (jshort)lpStruct->itemRect.right);
-	(*env)->SetIntField(env, lpObject, MenuTrackingDataFc.virtualMenuTop, (jint)lpStruct->virtualMenuTop);
-	(*env)->SetIntField(env, lpObject, MenuTrackingDataFc.virtualMenuBottom, (jint)lpStruct->virtualMenuBottom);
-}
-#endif
-
-#ifndef NO_NavDialogCreationOptions
-typedef struct NavDialogCreationOptions_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, optionFlags, location_h, location_v, clientName, windowTitle, actionButtonLabel, cancelButtonLabel, saveFileName, message, preferenceKey, popupExtension, modality, parentWindow;
-} NavDialogCreationOptions_FID_CACHE;
-
-NavDialogCreationOptions_FID_CACHE NavDialogCreationOptionsFc;
-
-void cacheNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject)
-{
-	if (NavDialogCreationOptionsFc.cached) return;
-	NavDialogCreationOptionsFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NavDialogCreationOptionsFc.version = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "version", "S");
-	NavDialogCreationOptionsFc.optionFlags = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "optionFlags", "I");
-	NavDialogCreationOptionsFc.location_h = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "location_h", "S");
-	NavDialogCreationOptionsFc.location_v = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "location_v", "S");
-	NavDialogCreationOptionsFc.clientName = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "clientName", "I");
-	NavDialogCreationOptionsFc.windowTitle = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "windowTitle", "I");
-	NavDialogCreationOptionsFc.actionButtonLabel = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "actionButtonLabel", "I");
-	NavDialogCreationOptionsFc.cancelButtonLabel = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "cancelButtonLabel", "I");
-	NavDialogCreationOptionsFc.saveFileName = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "saveFileName", "I");
-	NavDialogCreationOptionsFc.message = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "message", "I");
-	NavDialogCreationOptionsFc.preferenceKey = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "preferenceKey", "I");
-	NavDialogCreationOptionsFc.popupExtension = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "popupExtension", "I");
-	NavDialogCreationOptionsFc.modality = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "modality", "I");
-	NavDialogCreationOptionsFc.parentWindow = (*env)->GetFieldID(env, NavDialogCreationOptionsFc.clazz, "parentWindow", "I");
-	NavDialogCreationOptionsFc.cached = 1;
-}
-
-NavDialogCreationOptions *getNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject, NavDialogCreationOptions *lpStruct)
-{
-	if (!NavDialogCreationOptionsFc.cached) cacheNavDialogCreationOptionsFields(env, lpObject);
-	lpStruct->version = (*env)->GetShortField(env, lpObject, NavDialogCreationOptionsFc.version);
-	lpStruct->optionFlags = (NavDialogOptionFlags)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.optionFlags);
-	lpStruct->location.h = (*env)->GetShortField(env, lpObject, NavDialogCreationOptionsFc.location_h);
-	lpStruct->location.v = (*env)->GetShortField(env, lpObject, NavDialogCreationOptionsFc.location_v);
-	lpStruct->clientName = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.clientName);
-	lpStruct->windowTitle = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.windowTitle);
-	lpStruct->actionButtonLabel = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.actionButtonLabel);
-	lpStruct->cancelButtonLabel = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.cancelButtonLabel);
-	lpStruct->saveFileName = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.saveFileName);
-	lpStruct->message = (CFStringRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.message);
-	lpStruct->preferenceKey = (*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.preferenceKey);
-	lpStruct->popupExtension = (CFArrayRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.popupExtension);
-	lpStruct->modality = (WindowModality)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.modality);
-	lpStruct->parentWindow = (WindowRef)(*env)->GetIntField(env, lpObject, NavDialogCreationOptionsFc.parentWindow);
-	return lpStruct;
-}
-
-void setNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject, NavDialogCreationOptions *lpStruct)
-{
-	if (!NavDialogCreationOptionsFc.cached) cacheNavDialogCreationOptionsFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, NavDialogCreationOptionsFc.version, (jshort)lpStruct->version);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.optionFlags, (jint)lpStruct->optionFlags);
-	(*env)->SetShortField(env, lpObject, NavDialogCreationOptionsFc.location_h, (jshort)lpStruct->location.h);
-	(*env)->SetShortField(env, lpObject, NavDialogCreationOptionsFc.location_v, (jshort)lpStruct->location.v);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.clientName, (jint)lpStruct->clientName);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.windowTitle, (jint)lpStruct->windowTitle);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.actionButtonLabel, (jint)lpStruct->actionButtonLabel);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.cancelButtonLabel, (jint)lpStruct->cancelButtonLabel);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.saveFileName, (jint)lpStruct->saveFileName);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.message, (jint)lpStruct->message);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.preferenceKey, (jint)lpStruct->preferenceKey);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.popupExtension, (jint)lpStruct->popupExtension);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.modality, (jint)lpStruct->modality);
-	(*env)->SetIntField(env, lpObject, NavDialogCreationOptionsFc.parentWindow, (jint)lpStruct->parentWindow);
-}
-#endif
-
-#ifndef NO_NavReplyRecord
-typedef struct NavReplyRecord_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID version, validRecord, replacing, isStationery, translationNeeded, selection_descriptorType, selection_dataHandle, keyScript, fileTranslation, reserved1, saveFileName, saveFileExtensionHidden, reserved2, reserved;
-} NavReplyRecord_FID_CACHE;
-
-NavReplyRecord_FID_CACHE NavReplyRecordFc;
-
-void cacheNavReplyRecordFields(JNIEnv *env, jobject lpObject)
-{
-	if (NavReplyRecordFc.cached) return;
-	NavReplyRecordFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NavReplyRecordFc.version = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "version", "S");
-	NavReplyRecordFc.validRecord = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "validRecord", "Z");
-	NavReplyRecordFc.replacing = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "replacing", "Z");
-	NavReplyRecordFc.isStationery = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "isStationery", "Z");
-	NavReplyRecordFc.translationNeeded = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "translationNeeded", "Z");
-	NavReplyRecordFc.selection_descriptorType = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "selection_descriptorType", "I");
-	NavReplyRecordFc.selection_dataHandle = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "selection_dataHandle", "I");
-	NavReplyRecordFc.keyScript = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "keyScript", "S");
-	NavReplyRecordFc.fileTranslation = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "fileTranslation", "I");
-	NavReplyRecordFc.reserved1 = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "reserved1", "I");
-	NavReplyRecordFc.saveFileName = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "saveFileName", "I");
-	NavReplyRecordFc.saveFileExtensionHidden = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "saveFileExtensionHidden", "Z");
-	NavReplyRecordFc.reserved2 = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "reserved2", "B");
-	NavReplyRecordFc.reserved = (*env)->GetFieldID(env, NavReplyRecordFc.clazz, "reserved", "[B");
-	NavReplyRecordFc.cached = 1;
-}
-
-NavReplyRecord *getNavReplyRecordFields(JNIEnv *env, jobject lpObject, NavReplyRecord *lpStruct)
-{
-	if (!NavReplyRecordFc.cached) cacheNavReplyRecordFields(env, lpObject);
-	lpStruct->version = (UInt16)(*env)->GetShortField(env, lpObject, NavReplyRecordFc.version);
-	lpStruct->validRecord = (Boolean)(*env)->GetBooleanField(env, lpObject, NavReplyRecordFc.validRecord);
-	lpStruct->replacing = (Boolean)(*env)->GetBooleanField(env, lpObject, NavReplyRecordFc.replacing);
-	lpStruct->isStationery = (Boolean)(*env)->GetBooleanField(env, lpObject, NavReplyRecordFc.isStationery);
-	lpStruct->translationNeeded = (Boolean)(*env)->GetBooleanField(env, lpObject, NavReplyRecordFc.translationNeeded);
-	lpStruct->selection.descriptorType = (DescType)(*env)->GetIntField(env, lpObject, NavReplyRecordFc.selection_descriptorType);
-	lpStruct->selection.dataHandle = (AEDataStorage)(*env)->GetIntField(env, lpObject, NavReplyRecordFc.selection_dataHandle);
-	lpStruct->keyScript = (ScriptCode)(*env)->GetShortField(env, lpObject, NavReplyRecordFc.keyScript);
-	lpStruct->fileTranslation = (FileTranslationSpecArrayHandle)(*env)->GetIntField(env, lpObject, NavReplyRecordFc.fileTranslation);
-	lpStruct->reserved1 = (UInt32)(*env)->GetIntField(env, lpObject, NavReplyRecordFc.reserved1);
-	lpStruct->saveFileName = (CFStringRef)(*env)->GetIntField(env, lpObject, NavReplyRecordFc.saveFileName);
-	lpStruct->saveFileExtensionHidden = (Boolean)(*env)->GetBooleanField(env, lpObject, NavReplyRecordFc.saveFileExtensionHidden);
-	lpStruct->reserved2 = (UInt8)(*env)->GetByteField(env, lpObject, NavReplyRecordFc.reserved2);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NavReplyRecordFc.reserved);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->reserved), (jbyte *)lpStruct->reserved);
-	}
-	return lpStruct;
-}
-
-void setNavReplyRecordFields(JNIEnv *env, jobject lpObject, NavReplyRecord *lpStruct)
-{
-	if (!NavReplyRecordFc.cached) cacheNavReplyRecordFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, NavReplyRecordFc.version, (jshort)lpStruct->version);
-	(*env)->SetBooleanField(env, lpObject, NavReplyRecordFc.validRecord, (jboolean)lpStruct->validRecord);
-	(*env)->SetBooleanField(env, lpObject, NavReplyRecordFc.replacing, (jboolean)lpStruct->replacing);
-	(*env)->SetBooleanField(env, lpObject, NavReplyRecordFc.isStationery, (jboolean)lpStruct->isStationery);
-	(*env)->SetBooleanField(env, lpObject, NavReplyRecordFc.translationNeeded, (jboolean)lpStruct->translationNeeded);
-	(*env)->SetIntField(env, lpObject, NavReplyRecordFc.selection_descriptorType, (jint)lpStruct->selection.descriptorType);
-	(*env)->SetIntField(env, lpObject, NavReplyRecordFc.selection_dataHandle, (jint)lpStruct->selection.dataHandle);
-	(*env)->SetShortField(env, lpObject, NavReplyRecordFc.keyScript, (jshort)lpStruct->keyScript);
-	(*env)->SetIntField(env, lpObject, NavReplyRecordFc.fileTranslation, (jint)lpStruct->fileTranslation);
-	(*env)->SetIntField(env, lpObject, NavReplyRecordFc.reserved1, (jint)lpStruct->reserved1);
-	(*env)->SetIntField(env, lpObject, NavReplyRecordFc.saveFileName, (jint)lpStruct->saveFileName);
-	(*env)->SetBooleanField(env, lpObject, NavReplyRecordFc.saveFileExtensionHidden, (jboolean)lpStruct->saveFileExtensionHidden);
-	(*env)->SetByteField(env, lpObject, NavReplyRecordFc.reserved2, (jbyte)lpStruct->reserved2);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NavReplyRecordFc.reserved);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->reserved), (jbyte *)lpStruct->reserved);
-	}
-}
-#endif
-
-#ifndef NO_PMRect
-typedef struct PMRect_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID top, left, bottom, right;
-} PMRect_FID_CACHE;
-
-PMRect_FID_CACHE PMRectFc;
-
-void cachePMRectFields(JNIEnv *env, jobject lpObject)
-{
-	if (PMRectFc.cached) return;
-	PMRectFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PMRectFc.top = (*env)->GetFieldID(env, PMRectFc.clazz, "top", "D");
-	PMRectFc.left = (*env)->GetFieldID(env, PMRectFc.clazz, "left", "D");
-	PMRectFc.bottom = (*env)->GetFieldID(env, PMRectFc.clazz, "bottom", "D");
-	PMRectFc.right = (*env)->GetFieldID(env, PMRectFc.clazz, "right", "D");
-	PMRectFc.cached = 1;
-}
-
-PMRect *getPMRectFields(JNIEnv *env, jobject lpObject, PMRect *lpStruct)
-{
-	if (!PMRectFc.cached) cachePMRectFields(env, lpObject);
-	lpStruct->top = (double)(*env)->GetDoubleField(env, lpObject, PMRectFc.top);
-	lpStruct->left = (double)(*env)->GetDoubleField(env, lpObject, PMRectFc.left);
-	lpStruct->bottom = (double)(*env)->GetDoubleField(env, lpObject, PMRectFc.bottom);
-	lpStruct->right = (double)(*env)->GetDoubleField(env, lpObject, PMRectFc.right);
-	return lpStruct;
-}
-
-void setPMRectFields(JNIEnv *env, jobject lpObject, PMRect *lpStruct)
-{
-	if (!PMRectFc.cached) cachePMRectFields(env, lpObject);
-	(*env)->SetDoubleField(env, lpObject, PMRectFc.top, (jdouble)lpStruct->top);
-	(*env)->SetDoubleField(env, lpObject, PMRectFc.left, (jdouble)lpStruct->left);
-	(*env)->SetDoubleField(env, lpObject, PMRectFc.bottom, (jdouble)lpStruct->bottom);
-	(*env)->SetDoubleField(env, lpObject, PMRectFc.right, (jdouble)lpStruct->right);
-}
-#endif
-
-#ifndef NO_PMResolution
-typedef struct PMResolution_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hRes, vRes;
-} PMResolution_FID_CACHE;
-
-PMResolution_FID_CACHE PMResolutionFc;
-
-void cachePMResolutionFields(JNIEnv *env, jobject lpObject)
-{
-	if (PMResolutionFc.cached) return;
-	PMResolutionFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PMResolutionFc.hRes = (*env)->GetFieldID(env, PMResolutionFc.clazz, "hRes", "D");
-	PMResolutionFc.vRes = (*env)->GetFieldID(env, PMResolutionFc.clazz, "vRes", "D");
-	PMResolutionFc.cached = 1;
-}
-
-PMResolution *getPMResolutionFields(JNIEnv *env, jobject lpObject, PMResolution *lpStruct)
-{
-	if (!PMResolutionFc.cached) cachePMResolutionFields(env, lpObject);
-	lpStruct->hRes = (*env)->GetDoubleField(env, lpObject, PMResolutionFc.hRes);
-	lpStruct->vRes = (*env)->GetDoubleField(env, lpObject, PMResolutionFc.vRes);
-	return lpStruct;
-}
-
-void setPMResolutionFields(JNIEnv *env, jobject lpObject, PMResolution *lpStruct)
-{
-	if (!PMResolutionFc.cached) cachePMResolutionFields(env, lpObject);
-	(*env)->SetDoubleField(env, lpObject, PMResolutionFc.hRes, (jdouble)lpStruct->hRes);
-	(*env)->SetDoubleField(env, lpObject, PMResolutionFc.vRes, (jdouble)lpStruct->vRes);
-}
-#endif
-
-#ifndef NO_PixMap
-typedef struct PixMap_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pmVersion, packType, packSize, hRes, vRes, pixelType, pixelSize, cmpCount, cmpSize, pixelFormat, pmTable, pmExt;
-} PixMap_FID_CACHE;
-
-PixMap_FID_CACHE PixMapFc;
-
-void cachePixMapFields(JNIEnv *env, jobject lpObject)
-{
-	if (PixMapFc.cached) return;
-	cacheBitMapFields(env, lpObject);
-	PixMapFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PixMapFc.pmVersion = (*env)->GetFieldID(env, PixMapFc.clazz, "pmVersion", "S");
-	PixMapFc.packType = (*env)->GetFieldID(env, PixMapFc.clazz, "packType", "S");
-	PixMapFc.packSize = (*env)->GetFieldID(env, PixMapFc.clazz, "packSize", "I");
-	PixMapFc.hRes = (*env)->GetFieldID(env, PixMapFc.clazz, "hRes", "I");
-	PixMapFc.vRes = (*env)->GetFieldID(env, PixMapFc.clazz, "vRes", "I");
-	PixMapFc.pixelType = (*env)->GetFieldID(env, PixMapFc.clazz, "pixelType", "S");
-	PixMapFc.pixelSize = (*env)->GetFieldID(env, PixMapFc.clazz, "pixelSize", "S");
-	PixMapFc.cmpCount = (*env)->GetFieldID(env, PixMapFc.clazz, "cmpCount", "S");
-	PixMapFc.cmpSize = (*env)->GetFieldID(env, PixMapFc.clazz, "cmpSize", "S");
-	PixMapFc.pixelFormat = (*env)->GetFieldID(env, PixMapFc.clazz, "pixelFormat", "I");
-	PixMapFc.pmTable = (*env)->GetFieldID(env, PixMapFc.clazz, "pmTable", "I");
-	PixMapFc.pmExt = (*env)->GetFieldID(env, PixMapFc.clazz, "pmExt", "I");
-	PixMapFc.cached = 1;
-}
-
-PixMap *getPixMapFields(JNIEnv *env, jobject lpObject, PixMap *lpStruct)
-{
-	if (!PixMapFc.cached) cachePixMapFields(env, lpObject);
-	getBitMapFields(env, lpObject, (BitMap *)lpStruct);
-	lpStruct->pmVersion = (*env)->GetShortField(env, lpObject, PixMapFc.pmVersion);
-	lpStruct->packType = (*env)->GetShortField(env, lpObject, PixMapFc.packType);
-	lpStruct->packSize = (*env)->GetIntField(env, lpObject, PixMapFc.packSize);
-	lpStruct->hRes = (*env)->GetIntField(env, lpObject, PixMapFc.hRes);
-	lpStruct->vRes = (*env)->GetIntField(env, lpObject, PixMapFc.vRes);
-	lpStruct->pixelType = (*env)->GetShortField(env, lpObject, PixMapFc.pixelType);
-	lpStruct->pixelSize = (*env)->GetShortField(env, lpObject, PixMapFc.pixelSize);
-	lpStruct->cmpCount = (*env)->GetShortField(env, lpObject, PixMapFc.cmpCount);
-	lpStruct->cmpSize = (*env)->GetShortField(env, lpObject, PixMapFc.cmpSize);
-	lpStruct->pixelFormat = (*env)->GetIntField(env, lpObject, PixMapFc.pixelFormat);
-	lpStruct->pmTable = (CTabHandle)(*env)->GetIntField(env, lpObject, PixMapFc.pmTable);
-	lpStruct->pmExt = (void *)(*env)->GetIntField(env, lpObject, PixMapFc.pmExt);
-	return lpStruct;
-}
-
-void setPixMapFields(JNIEnv *env, jobject lpObject, PixMap *lpStruct)
-{
-	if (!PixMapFc.cached) cachePixMapFields(env, lpObject);
-	setBitMapFields(env, lpObject, (BitMap *)lpStruct);
-	(*env)->SetShortField(env, lpObject, PixMapFc.pmVersion, (jshort)lpStruct->pmVersion);
-	(*env)->SetShortField(env, lpObject, PixMapFc.packType, (jshort)lpStruct->packType);
-	(*env)->SetIntField(env, lpObject, PixMapFc.packSize, (jint)lpStruct->packSize);
-	(*env)->SetIntField(env, lpObject, PixMapFc.hRes, (jint)lpStruct->hRes);
-	(*env)->SetIntField(env, lpObject, PixMapFc.vRes, (jint)lpStruct->vRes);
-	(*env)->SetShortField(env, lpObject, PixMapFc.pixelType, (jshort)lpStruct->pixelType);
-	(*env)->SetShortField(env, lpObject, PixMapFc.pixelSize, (jshort)lpStruct->pixelSize);
-	(*env)->SetShortField(env, lpObject, PixMapFc.cmpCount, (jshort)lpStruct->cmpCount);
-	(*env)->SetShortField(env, lpObject, PixMapFc.cmpSize, (jshort)lpStruct->cmpSize);
-	(*env)->SetIntField(env, lpObject, PixMapFc.pixelFormat, (jint)lpStruct->pixelFormat);
-	(*env)->SetIntField(env, lpObject, PixMapFc.pmTable, (jint)lpStruct->pmTable);
-	(*env)->SetIntField(env, lpObject, PixMapFc.pmExt, (jint)lpStruct->pmExt);
-}
-#endif
-
-#ifndef NO_Point
-typedef struct Point_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID v, h;
-} Point_FID_CACHE;
-
-Point_FID_CACHE PointFc;
-
-void cachePointFields(JNIEnv *env, jobject lpObject)
-{
-	if (PointFc.cached) return;
-	PointFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PointFc.v = (*env)->GetFieldID(env, PointFc.clazz, "v", "S");
-	PointFc.h = (*env)->GetFieldID(env, PointFc.clazz, "h", "S");
-	PointFc.cached = 1;
-}
-
-Point *getPointFields(JNIEnv *env, jobject lpObject, Point *lpStruct)
-{
-	if (!PointFc.cached) cachePointFields(env, lpObject);
-	lpStruct->v = (*env)->GetShortField(env, lpObject, PointFc.v);
-	lpStruct->h = (*env)->GetShortField(env, lpObject, PointFc.h);
-	return lpStruct;
-}
-
-void setPointFields(JNIEnv *env, jobject lpObject, Point *lpStruct)
-{
-	if (!PointFc.cached) cachePointFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PointFc.v, (jshort)lpStruct->v);
-	(*env)->SetShortField(env, lpObject, PointFc.h, (jshort)lpStruct->h);
-}
-#endif
-
-#ifndef NO_ProgressTrackInfo
-typedef struct ProgressTrackInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID phase;
-} ProgressTrackInfo_FID_CACHE;
-
-ProgressTrackInfo_FID_CACHE ProgressTrackInfoFc;
-
-void cacheProgressTrackInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (ProgressTrackInfoFc.cached) return;
-	ProgressTrackInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ProgressTrackInfoFc.phase = (*env)->GetFieldID(env, ProgressTrackInfoFc.clazz, "phase", "B");
-	ProgressTrackInfoFc.cached = 1;
-}
-
-ProgressTrackInfo *getProgressTrackInfoFields(JNIEnv *env, jobject lpObject, ProgressTrackInfo *lpStruct)
-{
-	if (!ProgressTrackInfoFc.cached) cacheProgressTrackInfoFields(env, lpObject);
-	lpStruct->phase = (*env)->GetByteField(env, lpObject, ProgressTrackInfoFc.phase);
-	return lpStruct;
-}
-
-void setProgressTrackInfoFields(JNIEnv *env, jobject lpObject, ProgressTrackInfo *lpStruct)
-{
-	if (!ProgressTrackInfoFc.cached) cacheProgressTrackInfoFields(env, lpObject);
-	(*env)->SetByteField(env, lpObject, ProgressTrackInfoFc.phase, (jbyte)lpStruct->phase);
-}
-#endif
-
-#ifndef NO_RGBColor
-typedef struct RGBColor_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID red, green, blue;
-} RGBColor_FID_CACHE;
-
-RGBColor_FID_CACHE RGBColorFc;
-
-void cacheRGBColorFields(JNIEnv *env, jobject lpObject)
-{
-	if (RGBColorFc.cached) return;
-	RGBColorFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	RGBColorFc.red = (*env)->GetFieldID(env, RGBColorFc.clazz, "red", "S");
-	RGBColorFc.green = (*env)->GetFieldID(env, RGBColorFc.clazz, "green", "S");
-	RGBColorFc.blue = (*env)->GetFieldID(env, RGBColorFc.clazz, "blue", "S");
-	RGBColorFc.cached = 1;
-}
-
-RGBColor *getRGBColorFields(JNIEnv *env, jobject lpObject, RGBColor *lpStruct)
-{
-	if (!RGBColorFc.cached) cacheRGBColorFields(env, lpObject);
-	lpStruct->red = (*env)->GetShortField(env, lpObject, RGBColorFc.red);
-	lpStruct->green = (*env)->GetShortField(env, lpObject, RGBColorFc.green);
-	lpStruct->blue = (*env)->GetShortField(env, lpObject, RGBColorFc.blue);
-	return lpStruct;
-}
-
-void setRGBColorFields(JNIEnv *env, jobject lpObject, RGBColor *lpStruct)
-{
-	if (!RGBColorFc.cached) cacheRGBColorFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, RGBColorFc.red, (jshort)lpStruct->red);
-	(*env)->SetShortField(env, lpObject, RGBColorFc.green, (jshort)lpStruct->green);
-	(*env)->SetShortField(env, lpObject, RGBColorFc.blue, (jshort)lpStruct->blue);
-}
-#endif
-
-#ifndef NO_Rect
-typedef struct Rect_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID top, left, bottom, right;
-} Rect_FID_CACHE;
-
-Rect_FID_CACHE RectFc;
-
-void cacheRectFields(JNIEnv *env, jobject lpObject)
-{
-	if (RectFc.cached) return;
-	RectFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	RectFc.top = (*env)->GetFieldID(env, RectFc.clazz, "top", "S");
-	RectFc.left = (*env)->GetFieldID(env, RectFc.clazz, "left", "S");
-	RectFc.bottom = (*env)->GetFieldID(env, RectFc.clazz, "bottom", "S");
-	RectFc.right = (*env)->GetFieldID(env, RectFc.clazz, "right", "S");
-	RectFc.cached = 1;
-}
-
-Rect *getRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
-{
-	if (!RectFc.cached) cacheRectFields(env, lpObject);
-	lpStruct->top = (*env)->GetShortField(env, lpObject, RectFc.top);
-	lpStruct->left = (*env)->GetShortField(env, lpObject, RectFc.left);
-	lpStruct->bottom = (*env)->GetShortField(env, lpObject, RectFc.bottom);
-	lpStruct->right = (*env)->GetShortField(env, lpObject, RectFc.right);
-	return lpStruct;
-}
-
-void setRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
-{
-	if (!RectFc.cached) cacheRectFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, RectFc.top, (jshort)lpStruct->top);
-	(*env)->SetShortField(env, lpObject, RectFc.left, (jshort)lpStruct->left);
-	(*env)->SetShortField(env, lpObject, RectFc.bottom, (jshort)lpStruct->bottom);
-	(*env)->SetShortField(env, lpObject, RectFc.right, (jshort)lpStruct->right);
-}
-#endif
-
-#ifndef NO_ScrollBarTrackInfo
-typedef struct ScrollBarTrackInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID viewsize, pressState;
-} ScrollBarTrackInfo_FID_CACHE;
-
-ScrollBarTrackInfo_FID_CACHE ScrollBarTrackInfoFc;
-
-void cacheScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (ScrollBarTrackInfoFc.cached) return;
-	ScrollBarTrackInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ScrollBarTrackInfoFc.viewsize = (*env)->GetFieldID(env, ScrollBarTrackInfoFc.clazz, "viewsize", "I");
-	ScrollBarTrackInfoFc.pressState = (*env)->GetFieldID(env, ScrollBarTrackInfoFc.clazz, "pressState", "B");
-	ScrollBarTrackInfoFc.cached = 1;
-}
-
-ScrollBarTrackInfo *getScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, ScrollBarTrackInfo *lpStruct)
-{
-	if (!ScrollBarTrackInfoFc.cached) cacheScrollBarTrackInfoFields(env, lpObject);
-	lpStruct->viewsize = (*env)->GetIntField(env, lpObject, ScrollBarTrackInfoFc.viewsize);
-	lpStruct->pressState = (*env)->GetByteField(env, lpObject, ScrollBarTrackInfoFc.pressState);
-	return lpStruct;
-}
-
-void setScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, ScrollBarTrackInfo *lpStruct)
-{
-	if (!ScrollBarTrackInfoFc.cached) cacheScrollBarTrackInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ScrollBarTrackInfoFc.viewsize, (jint)lpStruct->viewsize);
-	(*env)->SetByteField(env, lpObject, ScrollBarTrackInfoFc.pressState, (jbyte)lpStruct->pressState);
-}
-#endif
-
-#ifndef NO_SliderTrackInfo
-typedef struct SliderTrackInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID thumbDir, pressState;
-} SliderTrackInfo_FID_CACHE;
-
-SliderTrackInfo_FID_CACHE SliderTrackInfoFc;
-
-void cacheSliderTrackInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (SliderTrackInfoFc.cached) return;
-	SliderTrackInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SliderTrackInfoFc.thumbDir = (*env)->GetFieldID(env, SliderTrackInfoFc.clazz, "thumbDir", "B");
-	SliderTrackInfoFc.pressState = (*env)->GetFieldID(env, SliderTrackInfoFc.clazz, "pressState", "B");
-	SliderTrackInfoFc.cached = 1;
-}
-
-SliderTrackInfo *getSliderTrackInfoFields(JNIEnv *env, jobject lpObject, SliderTrackInfo *lpStruct)
-{
-	if (!SliderTrackInfoFc.cached) cacheSliderTrackInfoFields(env, lpObject);
-	lpStruct->thumbDir = (*env)->GetByteField(env, lpObject, SliderTrackInfoFc.thumbDir);
-	lpStruct->pressState = (*env)->GetByteField(env, lpObject, SliderTrackInfoFc.pressState);
-	return lpStruct;
-}
-
-void setSliderTrackInfoFields(JNIEnv *env, jobject lpObject, SliderTrackInfo *lpStruct)
-{
-	if (!SliderTrackInfoFc.cached) cacheSliderTrackInfoFields(env, lpObject);
-	(*env)->SetByteField(env, lpObject, SliderTrackInfoFc.thumbDir, (jbyte)lpStruct->thumbDir);
-	(*env)->SetByteField(env, lpObject, SliderTrackInfoFc.pressState, (jbyte)lpStruct->pressState);
-}
-#endif
-
-#ifndef NO_TXNBackground
-typedef struct TXNBackground_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID bgType, bg_red, bg_green, bg_blue;
-} TXNBackground_FID_CACHE;
-
-TXNBackground_FID_CACHE TXNBackgroundFc;
-
-void cacheTXNBackgroundFields(JNIEnv *env, jobject lpObject)
-{
-	if (TXNBackgroundFc.cached) return;
-	TXNBackgroundFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TXNBackgroundFc.bgType = (*env)->GetFieldID(env, TXNBackgroundFc.clazz, "bgType", "I");
-	TXNBackgroundFc.bg_red = (*env)->GetFieldID(env, TXNBackgroundFc.clazz, "bg_red", "S");
-	TXNBackgroundFc.bg_green = (*env)->GetFieldID(env, TXNBackgroundFc.clazz, "bg_green", "S");
-	TXNBackgroundFc.bg_blue = (*env)->GetFieldID(env, TXNBackgroundFc.clazz, "bg_blue", "S");
-	TXNBackgroundFc.cached = 1;
-}
-
-TXNBackground *getTXNBackgroundFields(JNIEnv *env, jobject lpObject, TXNBackground *lpStruct)
-{
-	if (!TXNBackgroundFc.cached) cacheTXNBackgroundFields(env, lpObject);
-	lpStruct->bgType = (*env)->GetIntField(env, lpObject, TXNBackgroundFc.bgType);
-	lpStruct->bg.color.red = (*env)->GetShortField(env, lpObject, TXNBackgroundFc.bg_red);
-	lpStruct->bg.color.green = (*env)->GetShortField(env, lpObject, TXNBackgroundFc.bg_green);
-	lpStruct->bg.color.blue = (*env)->GetShortField(env, lpObject, TXNBackgroundFc.bg_blue);
-	return lpStruct;
-}
-
-void setTXNBackgroundFields(JNIEnv *env, jobject lpObject, TXNBackground *lpStruct)
-{
-	if (!TXNBackgroundFc.cached) cacheTXNBackgroundFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TXNBackgroundFc.bgType, (jint)lpStruct->bgType);
-	(*env)->SetShortField(env, lpObject, TXNBackgroundFc.bg_red, (jshort)lpStruct->bg.color.red);
-	(*env)->SetShortField(env, lpObject, TXNBackgroundFc.bg_green, (jshort)lpStruct->bg.color.green);
-	(*env)->SetShortField(env, lpObject, TXNBackgroundFc.bg_blue, (jshort)lpStruct->bg.color.blue);
-}
-#endif
-
-#ifndef NO_TXNLongRect
-typedef struct TXNLongRect_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID top, left, bottom, right;
-} TXNLongRect_FID_CACHE;
-
-TXNLongRect_FID_CACHE TXNLongRectFc;
-
-void cacheTXNLongRectFields(JNIEnv *env, jobject lpObject)
-{
-	if (TXNLongRectFc.cached) return;
-	TXNLongRectFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TXNLongRectFc.top = (*env)->GetFieldID(env, TXNLongRectFc.clazz, "top", "I");
-	TXNLongRectFc.left = (*env)->GetFieldID(env, TXNLongRectFc.clazz, "left", "I");
-	TXNLongRectFc.bottom = (*env)->GetFieldID(env, TXNLongRectFc.clazz, "bottom", "I");
-	TXNLongRectFc.right = (*env)->GetFieldID(env, TXNLongRectFc.clazz, "right", "I");
-	TXNLongRectFc.cached = 1;
-}
-
-TXNLongRect *getTXNLongRectFields(JNIEnv *env, jobject lpObject, TXNLongRect *lpStruct)
-{
-	if (!TXNLongRectFc.cached) cacheTXNLongRectFields(env, lpObject);
-	lpStruct->top = (*env)->GetIntField(env, lpObject, TXNLongRectFc.top);
-	lpStruct->left = (*env)->GetIntField(env, lpObject, TXNLongRectFc.left);
-	lpStruct->bottom = (*env)->GetIntField(env, lpObject, TXNLongRectFc.bottom);
-	lpStruct->right = (*env)->GetIntField(env, lpObject, TXNLongRectFc.right);
-	return lpStruct;
-}
-
-void setTXNLongRectFields(JNIEnv *env, jobject lpObject, TXNLongRect *lpStruct)
-{
-	if (!TXNLongRectFc.cached) cacheTXNLongRectFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TXNLongRectFc.top, (jint)lpStruct->top);
-	(*env)->SetIntField(env, lpObject, TXNLongRectFc.left, (jint)lpStruct->left);
-	(*env)->SetIntField(env, lpObject, TXNLongRectFc.bottom, (jint)lpStruct->bottom);
-	(*env)->SetIntField(env, lpObject, TXNLongRectFc.right, (jint)lpStruct->right);
-}
-#endif
-
-#ifndef NO_TXNTab
-typedef struct TXNTab_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID value, tabType, filler;
-} TXNTab_FID_CACHE;
-
-TXNTab_FID_CACHE TXNTabFc;
-
-void cacheTXNTabFields(JNIEnv *env, jobject lpObject)
-{
-	if (TXNTabFc.cached) return;
-	TXNTabFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TXNTabFc.value = (*env)->GetFieldID(env, TXNTabFc.clazz, "value", "S");
-	TXNTabFc.tabType = (*env)->GetFieldID(env, TXNTabFc.clazz, "tabType", "B");
-	TXNTabFc.filler = (*env)->GetFieldID(env, TXNTabFc.clazz, "filler", "B");
-	TXNTabFc.cached = 1;
-}
-
-TXNTab *getTXNTabFields(JNIEnv *env, jobject lpObject, TXNTab *lpStruct)
-{
-	if (!TXNTabFc.cached) cacheTXNTabFields(env, lpObject);
-	lpStruct->value = (*env)->GetShortField(env, lpObject, TXNTabFc.value);
-	lpStruct->tabType = (*env)->GetByteField(env, lpObject, TXNTabFc.tabType);
-	lpStruct->filler = (*env)->GetByteField(env, lpObject, TXNTabFc.filler);
-	return lpStruct;
-}
-
-void setTXNTabFields(JNIEnv *env, jobject lpObject, TXNTab *lpStruct)
-{
-	if (!TXNTabFc.cached) cacheTXNTabFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, TXNTabFc.value, (jshort)lpStruct->value);
-	(*env)->SetByteField(env, lpObject, TXNTabFc.tabType, (jbyte)lpStruct->tabType);
-	(*env)->SetByteField(env, lpObject, TXNTabFc.filler, (jbyte)lpStruct->filler);
-}
-#endif
-
-#ifndef NO_ThemeButtonDrawInfo
-typedef struct ThemeButtonDrawInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID state, value, adornment;
-} ThemeButtonDrawInfo_FID_CACHE;
-
-ThemeButtonDrawInfo_FID_CACHE ThemeButtonDrawInfoFc;
-
-void cacheThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (ThemeButtonDrawInfoFc.cached) return;
-	ThemeButtonDrawInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ThemeButtonDrawInfoFc.state = (*env)->GetFieldID(env, ThemeButtonDrawInfoFc.clazz, "state", "I");
-	ThemeButtonDrawInfoFc.value = (*env)->GetFieldID(env, ThemeButtonDrawInfoFc.clazz, "value", "S");
-	ThemeButtonDrawInfoFc.adornment = (*env)->GetFieldID(env, ThemeButtonDrawInfoFc.clazz, "adornment", "S");
-	ThemeButtonDrawInfoFc.cached = 1;
-}
-
-ThemeButtonDrawInfo *getThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, ThemeButtonDrawInfo *lpStruct)
-{
-	if (!ThemeButtonDrawInfoFc.cached) cacheThemeButtonDrawInfoFields(env, lpObject);
-	lpStruct->state = (ThemeDrawState)(*env)->GetIntField(env, lpObject, ThemeButtonDrawInfoFc.state);
-	lpStruct->value = (ThemeButtonValue)(*env)->GetShortField(env, lpObject, ThemeButtonDrawInfoFc.value);
-	lpStruct->adornment = (ThemeButtonAdornment)(*env)->GetShortField(env, lpObject, ThemeButtonDrawInfoFc.adornment);
-	return lpStruct;
-}
-
-void setThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, ThemeButtonDrawInfo *lpStruct)
-{
-	if (!ThemeButtonDrawInfoFc.cached) cacheThemeButtonDrawInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ThemeButtonDrawInfoFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, ThemeButtonDrawInfoFc.value, (jshort)lpStruct->value);
-	(*env)->SetShortField(env, lpObject, ThemeButtonDrawInfoFc.adornment, (jshort)lpStruct->adornment);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.h
deleted file mode 100644
index af2b699..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_structs.h
+++ /dev/null
@@ -1,757 +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
- *******************************************************************************/
-
-#include "os.h"
-
-#ifndef NO_AEDesc
-void cacheAEDescFields(JNIEnv *env, jobject lpObject);
-AEDesc *getAEDescFields(JNIEnv *env, jobject lpObject, AEDesc *lpStruct);
-void setAEDescFields(JNIEnv *env, jobject lpObject, AEDesc *lpStruct);
-#define AEDesc_sizeof() sizeof(AEDesc)
-#else
-#define cacheAEDescFields(a,b)
-#define getAEDescFields(a,b,c) NULL
-#define setAEDescFields(a,b,c)
-#define AEDesc_sizeof() 0
-#endif
-
-#ifndef NO_ATSLayoutRecord
-void cacheATSLayoutRecordFields(JNIEnv *env, jobject lpObject);
-ATSLayoutRecord *getATSLayoutRecordFields(JNIEnv *env, jobject lpObject, ATSLayoutRecord *lpStruct);
-void setATSLayoutRecordFields(JNIEnv *env, jobject lpObject, ATSLayoutRecord *lpStruct);
-#define ATSLayoutRecord_sizeof() sizeof(ATSLayoutRecord)
-#else
-#define cacheATSLayoutRecordFields(a,b)
-#define getATSLayoutRecordFields(a,b,c) NULL
-#define setATSLayoutRecordFields(a,b,c)
-#define ATSLayoutRecord_sizeof() 0
-#endif
-
-#ifndef NO_ATSTrapezoid
-void cacheATSTrapezoidFields(JNIEnv *env, jobject lpObject);
-ATSTrapezoid *getATSTrapezoidFields(JNIEnv *env, jobject lpObject, ATSTrapezoid *lpStruct);
-void setATSTrapezoidFields(JNIEnv *env, jobject lpObject, ATSTrapezoid *lpStruct);
-#define ATSTrapezoid_sizeof() sizeof(ATSTrapezoid)
-#else
-#define cacheATSTrapezoidFields(a,b)
-#define getATSTrapezoidFields(a,b,c) NULL
-#define setATSTrapezoidFields(a,b,c)
-#define ATSTrapezoid_sizeof() 0
-#endif
-
-#ifndef NO_ATSUCaret
-void cacheATSUCaretFields(JNIEnv *env, jobject lpObject);
-ATSUCaret *getATSUCaretFields(JNIEnv *env, jobject lpObject, ATSUCaret *lpStruct);
-void setATSUCaretFields(JNIEnv *env, jobject lpObject, ATSUCaret *lpStruct);
-#define ATSUCaret_sizeof() sizeof(ATSUCaret)
-#else
-#define cacheATSUCaretFields(a,b)
-#define getATSUCaretFields(a,b,c) NULL
-#define setATSUCaretFields(a,b,c)
-#define ATSUCaret_sizeof() 0
-#endif
-
-#ifndef NO_ATSUTab
-void cacheATSUTabFields(JNIEnv *env, jobject lpObject);
-ATSUTab *getATSUTabFields(JNIEnv *env, jobject lpObject, ATSUTab *lpStruct);
-void setATSUTabFields(JNIEnv *env, jobject lpObject, ATSUTab *lpStruct);
-#define ATSUTab_sizeof() sizeof(ATSUTab)
-#else
-#define cacheATSUTabFields(a,b)
-#define getATSUTabFields(a,b,c) NULL
-#define setATSUTabFields(a,b,c)
-#define ATSUTab_sizeof() 0
-#endif
-
-#ifndef NO_ATSUUnhighlightData
-void cacheATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject);
-ATSUUnhighlightData *getATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject, ATSUUnhighlightData *lpStruct);
-void setATSUUnhighlightDataFields(JNIEnv *env, jobject lpObject, ATSUUnhighlightData *lpStruct);
-#define ATSUUnhighlightData_sizeof() sizeof(ATSUUnhighlightData)
-#else
-#define cacheATSUUnhighlightDataFields(a,b)
-#define getATSUUnhighlightDataFields(a,b,c) NULL
-#define setATSUUnhighlightDataFields(a,b,c)
-#define ATSUUnhighlightData_sizeof() 0
-#endif
-
-#ifndef NO_AlertStdCFStringAlertParamRec
-void cacheAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject);
-AlertStdCFStringAlertParamRec *getAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject, AlertStdCFStringAlertParamRec *lpStruct);
-void setAlertStdCFStringAlertParamRecFields(JNIEnv *env, jobject lpObject, AlertStdCFStringAlertParamRec *lpStruct);
-#define AlertStdCFStringAlertParamRec_sizeof() sizeof(AlertStdCFStringAlertParamRec)
-#else
-#define cacheAlertStdCFStringAlertParamRecFields(a,b)
-#define getAlertStdCFStringAlertParamRecFields(a,b,c) NULL
-#define setAlertStdCFStringAlertParamRecFields(a,b,c)
-#define AlertStdCFStringAlertParamRec_sizeof() 0
-#endif
-
-#ifndef NO_BitMap
-void cacheBitMapFields(JNIEnv *env, jobject lpObject);
-BitMap *getBitMapFields(JNIEnv *env, jobject lpObject, BitMap *lpStruct);
-void setBitMapFields(JNIEnv *env, jobject lpObject, BitMap *lpStruct);
-#define BitMap_sizeof() sizeof(BitMap)
-#else
-#define cacheBitMapFields(a,b)
-#define getBitMapFields(a,b,c) NULL
-#define setBitMapFields(a,b,c)
-#define BitMap_sizeof() 0
-#endif
-
-#ifndef NO_CFRange
-void cacheCFRangeFields(JNIEnv *env, jobject lpObject);
-CFRange *getCFRangeFields(JNIEnv *env, jobject lpObject, CFRange *lpStruct);
-void setCFRangeFields(JNIEnv *env, jobject lpObject, CFRange *lpStruct);
-#define CFRange_sizeof() sizeof(CFRange)
-#else
-#define cacheCFRangeFields(a,b)
-#define getCFRangeFields(a,b,c) NULL
-#define setCFRangeFields(a,b,c)
-#define CFRange_sizeof() 0
-#endif
-
-#ifndef NO_CGFunctionCallbacks
-void cacheCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject);
-CGFunctionCallbacks *getCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject, CGFunctionCallbacks *lpStruct);
-void setCGFunctionCallbacksFields(JNIEnv *env, jobject lpObject, CGFunctionCallbacks *lpStruct);
-#define CGFunctionCallbacks_sizeof() sizeof(CGFunctionCallbacks)
-#else
-#define cacheCGFunctionCallbacksFields(a,b)
-#define getCGFunctionCallbacksFields(a,b,c) NULL
-#define setCGFunctionCallbacksFields(a,b,c)
-#define CGFunctionCallbacks_sizeof() 0
-#endif
-
-#ifndef NO_CGPathElement
-void cacheCGPathElementFields(JNIEnv *env, jobject lpObject);
-CGPathElement *getCGPathElementFields(JNIEnv *env, jobject lpObject, CGPathElement *lpStruct);
-void setCGPathElementFields(JNIEnv *env, jobject lpObject, CGPathElement *lpStruct);
-#define CGPathElement_sizeof() sizeof(CGPathElement)
-#else
-#define cacheCGPathElementFields(a,b)
-#define getCGPathElementFields(a,b,c) NULL
-#define setCGPathElementFields(a,b,c)
-#define CGPathElement_sizeof() 0
-#endif
-
-#ifndef NO_CGPatternCallbacks
-void cacheCGPatternCallbacksFields(JNIEnv *env, jobject lpObject);
-CGPatternCallbacks *getCGPatternCallbacksFields(JNIEnv *env, jobject lpObject, CGPatternCallbacks *lpStruct);
-void setCGPatternCallbacksFields(JNIEnv *env, jobject lpObject, CGPatternCallbacks *lpStruct);
-#define CGPatternCallbacks_sizeof() sizeof(CGPatternCallbacks)
-#else
-#define cacheCGPatternCallbacksFields(a,b)
-#define getCGPatternCallbacksFields(a,b,c) NULL
-#define setCGPatternCallbacksFields(a,b,c)
-#define CGPatternCallbacks_sizeof() 0
-#endif
-
-#ifndef NO_CGPoint
-void cacheCGPointFields(JNIEnv *env, jobject lpObject);
-CGPoint *getCGPointFields(JNIEnv *env, jobject lpObject, CGPoint *lpStruct);
-void setCGPointFields(JNIEnv *env, jobject lpObject, CGPoint *lpStruct);
-#define CGPoint_sizeof() sizeof(CGPoint)
-#else
-#define cacheCGPointFields(a,b)
-#define getCGPointFields(a,b,c) NULL
-#define setCGPointFields(a,b,c)
-#define CGPoint_sizeof() 0
-#endif
-
-#ifndef NO_CGRect
-void cacheCGRectFields(JNIEnv *env, jobject lpObject);
-CGRect *getCGRectFields(JNIEnv *env, jobject lpObject, CGRect *lpStruct);
-void setCGRectFields(JNIEnv *env, jobject lpObject, CGRect *lpStruct);
-#define CGRect_sizeof() sizeof(CGRect)
-#else
-#define cacheCGRectFields(a,b)
-#define getCGRectFields(a,b,c) NULL
-#define setCGRectFields(a,b,c)
-#define CGRect_sizeof() 0
-#endif
-
-#ifndef NO_ColorPickerInfo
-void cacheColorPickerInfoFields(JNIEnv *env, jobject lpObject);
-ColorPickerInfo *getColorPickerInfoFields(JNIEnv *env, jobject lpObject, ColorPickerInfo *lpStruct);
-void setColorPickerInfoFields(JNIEnv *env, jobject lpObject, ColorPickerInfo *lpStruct);
-#define ColorPickerInfo_sizeof() sizeof(ColorPickerInfo)
-#else
-#define cacheColorPickerInfoFields(a,b)
-#define getColorPickerInfoFields(a,b,c) NULL
-#define setColorPickerInfoFields(a,b,c)
-#define ColorPickerInfo_sizeof() 0
-#endif
-
-#ifndef NO_ControlButtonContentInfo
-void cacheControlButtonContentInfoFields(JNIEnv *env, jobject lpObject);
-ControlButtonContentInfo *getControlButtonContentInfoFields(JNIEnv *env, jobject lpObject, ControlButtonContentInfo *lpStruct);
-void setControlButtonContentInfoFields(JNIEnv *env, jobject lpObject, ControlButtonContentInfo *lpStruct);
-#define ControlButtonContentInfo_sizeof() sizeof(ControlButtonContentInfo)
-#else
-#define cacheControlButtonContentInfoFields(a,b)
-#define getControlButtonContentInfoFields(a,b,c) NULL
-#define setControlButtonContentInfoFields(a,b,c)
-#define ControlButtonContentInfo_sizeof() 0
-#endif
-
-#ifndef NO_ControlEditTextSelectionRec
-void cacheControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject);
-ControlEditTextSelectionRec *getControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject, ControlEditTextSelectionRec *lpStruct);
-void setControlEditTextSelectionRecFields(JNIEnv *env, jobject lpObject, ControlEditTextSelectionRec *lpStruct);
-#define ControlEditTextSelectionRec_sizeof() sizeof(ControlEditTextSelectionRec)
-#else
-#define cacheControlEditTextSelectionRecFields(a,b)
-#define getControlEditTextSelectionRecFields(a,b,c) NULL
-#define setControlEditTextSelectionRecFields(a,b,c)
-#define ControlEditTextSelectionRec_sizeof() 0
-#endif
-
-#ifndef NO_ControlFontStyleRec
-void cacheControlFontStyleRecFields(JNIEnv *env, jobject lpObject);
-ControlFontStyleRec *getControlFontStyleRecFields(JNIEnv *env, jobject lpObject, ControlFontStyleRec *lpStruct);
-void setControlFontStyleRecFields(JNIEnv *env, jobject lpObject, ControlFontStyleRec *lpStruct);
-#define ControlFontStyleRec_sizeof() sizeof(ControlFontStyleRec)
-#else
-#define cacheControlFontStyleRecFields(a,b)
-#define getControlFontStyleRecFields(a,b,c) NULL
-#define setControlFontStyleRecFields(a,b,c)
-#define ControlFontStyleRec_sizeof() 0
-#endif
-
-#ifndef NO_ControlKind
-void cacheControlKindFields(JNIEnv *env, jobject lpObject);
-ControlKind *getControlKindFields(JNIEnv *env, jobject lpObject, ControlKind *lpStruct);
-void setControlKindFields(JNIEnv *env, jobject lpObject, ControlKind *lpStruct);
-#define ControlKind_sizeof() sizeof(ControlKind)
-#else
-#define cacheControlKindFields(a,b)
-#define getControlKindFields(a,b,c) NULL
-#define setControlKindFields(a,b,c)
-#define ControlKind_sizeof() 0
-#endif
-
-#ifndef NO_ControlTabEntry
-void cacheControlTabEntryFields(JNIEnv *env, jobject lpObject);
-ControlTabEntry *getControlTabEntryFields(JNIEnv *env, jobject lpObject, ControlTabEntry *lpStruct);
-void setControlTabEntryFields(JNIEnv *env, jobject lpObject, ControlTabEntry *lpStruct);
-#define ControlTabEntry_sizeof() sizeof(ControlTabEntry)
-#else
-#define cacheControlTabEntryFields(a,b)
-#define getControlTabEntryFields(a,b,c) NULL
-#define setControlTabEntryFields(a,b,c)
-#define ControlTabEntry_sizeof() 0
-#endif
-
-#ifndef NO_ControlTabInfoRecV1
-void cacheControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject);
-ControlTabInfoRecV1 *getControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject, ControlTabInfoRecV1 *lpStruct);
-void setControlTabInfoRecV1Fields(JNIEnv *env, jobject lpObject, ControlTabInfoRecV1 *lpStruct);
-#define ControlTabInfoRecV1_sizeof() sizeof(ControlTabInfoRecV1)
-#else
-#define cacheControlTabInfoRecV1Fields(a,b)
-#define getControlTabInfoRecV1Fields(a,b,c) NULL
-#define setControlTabInfoRecV1Fields(a,b,c)
-#define ControlTabInfoRecV1_sizeof() 0
-#endif
-
-#ifndef NO_Cursor
-void cacheCursorFields(JNIEnv *env, jobject lpObject);
-Cursor *getCursorFields(JNIEnv *env, jobject lpObject, Cursor *lpStruct);
-void setCursorFields(JNIEnv *env, jobject lpObject, Cursor *lpStruct);
-#define Cursor_sizeof() sizeof(Cursor)
-#else
-#define cacheCursorFields(a,b)
-#define getCursorFields(a,b,c) NULL
-#define setCursorFields(a,b,c)
-#define Cursor_sizeof() 0
-#endif
-
-#ifndef NO_DataBrowserCallbacks
-void cacheDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject);
-DataBrowserCallbacks *getDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCallbacks *lpStruct);
-void setDataBrowserCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCallbacks *lpStruct);
-#define DataBrowserCallbacks_sizeof() sizeof(DataBrowserCallbacks)
-#else
-#define cacheDataBrowserCallbacksFields(a,b)
-#define getDataBrowserCallbacksFields(a,b,c) NULL
-#define setDataBrowserCallbacksFields(a,b,c)
-#define DataBrowserCallbacks_sizeof() 0
-#endif
-
-#ifndef NO_DataBrowserCustomCallbacks
-void cacheDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject);
-DataBrowserCustomCallbacks *getDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCustomCallbacks *lpStruct);
-void setDataBrowserCustomCallbacksFields(JNIEnv *env, jobject lpObject, DataBrowserCustomCallbacks *lpStruct);
-#define DataBrowserCustomCallbacks_sizeof() sizeof(DataBrowserCustomCallbacks)
-#else
-#define cacheDataBrowserCustomCallbacksFields(a,b)
-#define getDataBrowserCustomCallbacksFields(a,b,c) NULL
-#define setDataBrowserCustomCallbacksFields(a,b,c)
-#define DataBrowserCustomCallbacks_sizeof() 0
-#endif
-
-#ifndef NO_DataBrowserListViewColumnDesc
-void cacheDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject);
-DataBrowserListViewColumnDesc *getDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewColumnDesc *lpStruct);
-void setDataBrowserListViewColumnDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewColumnDesc *lpStruct);
-#define DataBrowserListViewColumnDesc_sizeof() sizeof(DataBrowserListViewColumnDesc)
-#else
-#define cacheDataBrowserListViewColumnDescFields(a,b)
-#define getDataBrowserListViewColumnDescFields(a,b,c) NULL
-#define setDataBrowserListViewColumnDescFields(a,b,c)
-#define DataBrowserListViewColumnDesc_sizeof() 0
-#endif
-
-#ifndef NO_DataBrowserListViewHeaderDesc
-void cacheDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject);
-DataBrowserListViewHeaderDesc *getDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewHeaderDesc *lpStruct);
-void setDataBrowserListViewHeaderDescFields(JNIEnv *env, jobject lpObject, DataBrowserListViewHeaderDesc *lpStruct);
-#define DataBrowserListViewHeaderDesc_sizeof() sizeof(DataBrowserListViewHeaderDesc)
-#else
-#define cacheDataBrowserListViewHeaderDescFields(a,b)
-#define getDataBrowserListViewHeaderDescFields(a,b,c) NULL
-#define setDataBrowserListViewHeaderDescFields(a,b,c)
-#define DataBrowserListViewHeaderDesc_sizeof() 0
-#endif
-
-#ifndef NO_EventRecord
-void cacheEventRecordFields(JNIEnv *env, jobject lpObject);
-EventRecord *getEventRecordFields(JNIEnv *env, jobject lpObject, EventRecord *lpStruct);
-void setEventRecordFields(JNIEnv *env, jobject lpObject, EventRecord *lpStruct);
-#define EventRecord_sizeof() sizeof(EventRecord)
-#else
-#define cacheEventRecordFields(a,b)
-#define getEventRecordFields(a,b,c) NULL
-#define setEventRecordFields(a,b,c)
-#define EventRecord_sizeof() 0
-#endif
-
-#ifndef NO_FontInfo
-void cacheFontInfoFields(JNIEnv *env, jobject lpObject);
-FontInfo *getFontInfoFields(JNIEnv *env, jobject lpObject, FontInfo *lpStruct);
-void setFontInfoFields(JNIEnv *env, jobject lpObject, FontInfo *lpStruct);
-#define FontInfo_sizeof() sizeof(FontInfo)
-#else
-#define cacheFontInfoFields(a,b)
-#define getFontInfoFields(a,b,c) NULL
-#define setFontInfoFields(a,b,c)
-#define FontInfo_sizeof() 0
-#endif
-
-#ifndef NO_FontSelectionQDStyle
-void cacheFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject);
-FontSelectionQDStyle *getFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject, FontSelectionQDStyle *lpStruct);
-void setFontSelectionQDStyleFields(JNIEnv *env, jobject lpObject, FontSelectionQDStyle *lpStruct);
-#define FontSelectionQDStyle_sizeof() sizeof(FontSelectionQDStyle)
-#else
-#define cacheFontSelectionQDStyleFields(a,b)
-#define getFontSelectionQDStyleFields(a,b,c) NULL
-#define setFontSelectionQDStyleFields(a,b,c)
-#define FontSelectionQDStyle_sizeof() 0
-#endif
-
-#ifndef NO_GDevice
-void cacheGDeviceFields(JNIEnv *env, jobject lpObject);
-GDevice *getGDeviceFields(JNIEnv *env, jobject lpObject, GDevice *lpStruct);
-void setGDeviceFields(JNIEnv *env, jobject lpObject, GDevice *lpStruct);
-#define GDevice_sizeof() sizeof(GDevice)
-#else
-#define cacheGDeviceFields(a,b)
-#define getGDeviceFields(a,b,c) NULL
-#define setGDeviceFields(a,b,c)
-#define GDevice_sizeof() 0
-#endif
-
-#ifndef NO_HICommand
-void cacheHICommandFields(JNIEnv *env, jobject lpObject);
-HICommand *getHICommandFields(JNIEnv *env, jobject lpObject, HICommand *lpStruct);
-void setHICommandFields(JNIEnv *env, jobject lpObject, HICommand *lpStruct);
-#define HICommand_sizeof() sizeof(HICommand)
-#else
-#define cacheHICommandFields(a,b)
-#define getHICommandFields(a,b,c) NULL
-#define setHICommandFields(a,b,c)
-#define HICommand_sizeof() 0
-#endif
-
-#ifndef NO_HIScrollBarTrackInfo
-void cacheHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject);
-HIScrollBarTrackInfo *getHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, HIScrollBarTrackInfo *lpStruct);
-void setHIScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, HIScrollBarTrackInfo *lpStruct);
-#define HIScrollBarTrackInfo_sizeof() sizeof(HIScrollBarTrackInfo)
-#else
-#define cacheHIScrollBarTrackInfoFields(a,b)
-#define getHIScrollBarTrackInfoFields(a,b,c) NULL
-#define setHIScrollBarTrackInfoFields(a,b,c)
-#define HIScrollBarTrackInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeAnimationFrameInfo
-void cacheHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeAnimationFrameInfo *getHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationFrameInfo *lpStruct);
-void setHIThemeAnimationFrameInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationFrameInfo *lpStruct);
-#define HIThemeAnimationFrameInfo_sizeof() sizeof(HIThemeAnimationFrameInfo)
-#else
-#define cacheHIThemeAnimationFrameInfoFields(a,b)
-#define getHIThemeAnimationFrameInfoFields(a,b,c) NULL
-#define setHIThemeAnimationFrameInfoFields(a,b,c)
-#define HIThemeAnimationFrameInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeAnimationTimeInfo
-void cacheHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeAnimationTimeInfo *getHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationTimeInfo *lpStruct);
-void setHIThemeAnimationTimeInfoFields(JNIEnv *env, jobject lpObject, HIThemeAnimationTimeInfo *lpStruct);
-#define HIThemeAnimationTimeInfo_sizeof() sizeof(HIThemeAnimationTimeInfo)
-#else
-#define cacheHIThemeAnimationTimeInfoFields(a,b)
-#define getHIThemeAnimationTimeInfoFields(a,b,c) NULL
-#define setHIThemeAnimationTimeInfoFields(a,b,c)
-#define HIThemeAnimationTimeInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeBackgroundDrawInfo
-void cacheHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeBackgroundDrawInfo *getHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeBackgroundDrawInfo *lpStruct);
-void setHIThemeBackgroundDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeBackgroundDrawInfo *lpStruct);
-#define HIThemeBackgroundDrawInfo_sizeof() sizeof(HIThemeBackgroundDrawInfo)
-#else
-#define cacheHIThemeBackgroundDrawInfoFields(a,b)
-#define getHIThemeBackgroundDrawInfoFields(a,b,c) NULL
-#define setHIThemeBackgroundDrawInfoFields(a,b,c)
-#define HIThemeBackgroundDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeButtonDrawInfo
-void cacheHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeButtonDrawInfo *getHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeButtonDrawInfo *lpStruct);
-void setHIThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeButtonDrawInfo *lpStruct);
-#define HIThemeButtonDrawInfo_sizeof() sizeof(HIThemeButtonDrawInfo)
-#else
-#define cacheHIThemeButtonDrawInfoFields(a,b)
-#define getHIThemeButtonDrawInfoFields(a,b,c) NULL
-#define setHIThemeButtonDrawInfoFields(a,b,c)
-#define HIThemeButtonDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeFrameDrawInfo
-void cacheHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeFrameDrawInfo *getHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeFrameDrawInfo *lpStruct);
-void setHIThemeFrameDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeFrameDrawInfo *lpStruct);
-#define HIThemeFrameDrawInfo_sizeof() sizeof(HIThemeFrameDrawInfo)
-#else
-#define cacheHIThemeFrameDrawInfoFields(a,b)
-#define getHIThemeFrameDrawInfoFields(a,b,c) NULL
-#define setHIThemeFrameDrawInfoFields(a,b,c)
-#define HIThemeFrameDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeGroupBoxDrawInfo
-void cacheHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeGroupBoxDrawInfo *getHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGroupBoxDrawInfo *lpStruct);
-void setHIThemeGroupBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGroupBoxDrawInfo *lpStruct);
-#define HIThemeGroupBoxDrawInfo_sizeof() sizeof(HIThemeGroupBoxDrawInfo)
-#else
-#define cacheHIThemeGroupBoxDrawInfoFields(a,b)
-#define getHIThemeGroupBoxDrawInfoFields(a,b,c) NULL
-#define setHIThemeGroupBoxDrawInfoFields(a,b,c)
-#define HIThemeGroupBoxDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeGrowBoxDrawInfo
-void cacheHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeGrowBoxDrawInfo *getHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGrowBoxDrawInfo *lpStruct);
-void setHIThemeGrowBoxDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeGrowBoxDrawInfo *lpStruct);
-#define HIThemeGrowBoxDrawInfo_sizeof() sizeof(HIThemeGrowBoxDrawInfo)
-#else
-#define cacheHIThemeGrowBoxDrawInfoFields(a,b)
-#define getHIThemeGrowBoxDrawInfoFields(a,b,c) NULL
-#define setHIThemeGrowBoxDrawInfoFields(a,b,c)
-#define HIThemeGrowBoxDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemePopupArrowDrawInfo
-void cacheHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemePopupArrowDrawInfo *getHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemePopupArrowDrawInfo *lpStruct);
-void setHIThemePopupArrowDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemePopupArrowDrawInfo *lpStruct);
-#define HIThemePopupArrowDrawInfo_sizeof() sizeof(HIThemePopupArrowDrawInfo)
-#else
-#define cacheHIThemePopupArrowDrawInfoFields(a,b)
-#define getHIThemePopupArrowDrawInfoFields(a,b,c) NULL
-#define setHIThemePopupArrowDrawInfoFields(a,b,c)
-#define HIThemePopupArrowDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeSeparatorDrawInfo
-void cacheHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeSeparatorDrawInfo *getHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeSeparatorDrawInfo *lpStruct);
-void setHIThemeSeparatorDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeSeparatorDrawInfo *lpStruct);
-#define HIThemeSeparatorDrawInfo_sizeof() sizeof(HIThemeSeparatorDrawInfo)
-#else
-#define cacheHIThemeSeparatorDrawInfoFields(a,b)
-#define getHIThemeSeparatorDrawInfoFields(a,b,c) NULL
-#define setHIThemeSeparatorDrawInfoFields(a,b,c)
-#define HIThemeSeparatorDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeTabDrawInfo
-void cacheHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeTabDrawInfo *getHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabDrawInfo *lpStruct);
-void setHIThemeTabDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabDrawInfo *lpStruct);
-#define HIThemeTabDrawInfo_sizeof() sizeof(HIThemeTabDrawInfo)
-#else
-#define cacheHIThemeTabDrawInfoFields(a,b)
-#define getHIThemeTabDrawInfoFields(a,b,c) NULL
-#define setHIThemeTabDrawInfoFields(a,b,c)
-#define HIThemeTabDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeTabPaneDrawInfo
-void cacheHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeTabPaneDrawInfo *getHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabPaneDrawInfo *lpStruct);
-void setHIThemeTabPaneDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTabPaneDrawInfo *lpStruct);
-#define HIThemeTabPaneDrawInfo_sizeof() sizeof(HIThemeTabPaneDrawInfo)
-#else
-#define cacheHIThemeTabPaneDrawInfoFields(a,b)
-#define getHIThemeTabPaneDrawInfoFields(a,b,c) NULL
-#define setHIThemeTabPaneDrawInfoFields(a,b,c)
-#define HIThemeTabPaneDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeTextInfo
-void cacheHIThemeTextInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeTextInfo *getHIThemeTextInfoFields(JNIEnv *env, jobject lpObject, HIThemeTextInfo *lpStruct);
-void setHIThemeTextInfoFields(JNIEnv *env, jobject lpObject, HIThemeTextInfo *lpStruct);
-#define HIThemeTextInfo_sizeof() sizeof(HIThemeTextInfo)
-#else
-#define cacheHIThemeTextInfoFields(a,b)
-#define getHIThemeTextInfoFields(a,b,c) NULL
-#define setHIThemeTextInfoFields(a,b,c)
-#define HIThemeTextInfo_sizeof() 0
-#endif
-
-#ifndef NO_HIThemeTrackDrawInfo
-void cacheHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject);
-HIThemeTrackDrawInfo *getHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTrackDrawInfo *lpStruct);
-void setHIThemeTrackDrawInfoFields(JNIEnv *env, jobject lpObject, HIThemeTrackDrawInfo *lpStruct);
-#define HIThemeTrackDrawInfo_sizeof() sizeof(HIThemeTrackDrawInfo)
-#else
-#define cacheHIThemeTrackDrawInfoFields(a,b)
-#define getHIThemeTrackDrawInfoFields(a,b,c) NULL
-#define setHIThemeTrackDrawInfoFields(a,b,c)
-#define HIThemeTrackDrawInfo_sizeof() 0
-#endif
-
-#ifndef NO_HMHelpContentRec
-void cacheHMHelpContentRecFields(JNIEnv *env, jobject lpObject);
-HMHelpContentRec *getHMHelpContentRecFields(JNIEnv *env, jobject lpObject, HMHelpContentRec *lpStruct);
-void setHMHelpContentRecFields(JNIEnv *env, jobject lpObject, HMHelpContentRec *lpStruct);
-#define HMHelpContentRec_sizeof() sizeof(HMHelpContentRec)
-#else
-#define cacheHMHelpContentRecFields(a,b)
-#define getHMHelpContentRecFields(a,b,c) NULL
-#define setHMHelpContentRecFields(a,b,c)
-#define HMHelpContentRec_sizeof() 0
-#endif
-
-#ifndef NO_MenuTrackingData
-void cacheMenuTrackingDataFields(JNIEnv *env, jobject lpObject);
-MenuTrackingData *getMenuTrackingDataFields(JNIEnv *env, jobject lpObject, MenuTrackingData *lpStruct);
-void setMenuTrackingDataFields(JNIEnv *env, jobject lpObject, MenuTrackingData *lpStruct);
-#define MenuTrackingData_sizeof() sizeof(MenuTrackingData)
-#else
-#define cacheMenuTrackingDataFields(a,b)
-#define getMenuTrackingDataFields(a,b,c) NULL
-#define setMenuTrackingDataFields(a,b,c)
-#define MenuTrackingData_sizeof() 0
-#endif
-
-#ifndef NO_NavDialogCreationOptions
-void cacheNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject);
-NavDialogCreationOptions *getNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject, NavDialogCreationOptions *lpStruct);
-void setNavDialogCreationOptionsFields(JNIEnv *env, jobject lpObject, NavDialogCreationOptions *lpStruct);
-#define NavDialogCreationOptions_sizeof() sizeof(NavDialogCreationOptions)
-#else
-#define cacheNavDialogCreationOptionsFields(a,b)
-#define getNavDialogCreationOptionsFields(a,b,c) NULL
-#define setNavDialogCreationOptionsFields(a,b,c)
-#define NavDialogCreationOptions_sizeof() 0
-#endif
-
-#ifndef NO_NavReplyRecord
-void cacheNavReplyRecordFields(JNIEnv *env, jobject lpObject);
-NavReplyRecord *getNavReplyRecordFields(JNIEnv *env, jobject lpObject, NavReplyRecord *lpStruct);
-void setNavReplyRecordFields(JNIEnv *env, jobject lpObject, NavReplyRecord *lpStruct);
-#define NavReplyRecord_sizeof() sizeof(NavReplyRecord)
-#else
-#define cacheNavReplyRecordFields(a,b)
-#define getNavReplyRecordFields(a,b,c) NULL
-#define setNavReplyRecordFields(a,b,c)
-#define NavReplyRecord_sizeof() 0
-#endif
-
-#ifndef NO_PMRect
-void cachePMRectFields(JNIEnv *env, jobject lpObject);
-PMRect *getPMRectFields(JNIEnv *env, jobject lpObject, PMRect *lpStruct);
-void setPMRectFields(JNIEnv *env, jobject lpObject, PMRect *lpStruct);
-#define PMRect_sizeof() sizeof(PMRect)
-#else
-#define cachePMRectFields(a,b)
-#define getPMRectFields(a,b,c) NULL
-#define setPMRectFields(a,b,c)
-#define PMRect_sizeof() 0
-#endif
-
-#ifndef NO_PMResolution
-void cachePMResolutionFields(JNIEnv *env, jobject lpObject);
-PMResolution *getPMResolutionFields(JNIEnv *env, jobject lpObject, PMResolution *lpStruct);
-void setPMResolutionFields(JNIEnv *env, jobject lpObject, PMResolution *lpStruct);
-#define PMResolution_sizeof() sizeof(PMResolution)
-#else
-#define cachePMResolutionFields(a,b)
-#define getPMResolutionFields(a,b,c) NULL
-#define setPMResolutionFields(a,b,c)
-#define PMResolution_sizeof() 0
-#endif
-
-#ifndef NO_PixMap
-void cachePixMapFields(JNIEnv *env, jobject lpObject);
-PixMap *getPixMapFields(JNIEnv *env, jobject lpObject, PixMap *lpStruct);
-void setPixMapFields(JNIEnv *env, jobject lpObject, PixMap *lpStruct);
-#define PixMap_sizeof() sizeof(PixMap)
-#else
-#define cachePixMapFields(a,b)
-#define getPixMapFields(a,b,c) NULL
-#define setPixMapFields(a,b,c)
-#define PixMap_sizeof() 0
-#endif
-
-#ifndef NO_Point
-void cachePointFields(JNIEnv *env, jobject lpObject);
-Point *getPointFields(JNIEnv *env, jobject lpObject, Point *lpStruct);
-void setPointFields(JNIEnv *env, jobject lpObject, Point *lpStruct);
-#define Point_sizeof() sizeof(Point)
-#else
-#define cachePointFields(a,b)
-#define getPointFields(a,b,c) NULL
-#define setPointFields(a,b,c)
-#define Point_sizeof() 0
-#endif
-
-#ifndef NO_ProgressTrackInfo
-void cacheProgressTrackInfoFields(JNIEnv *env, jobject lpObject);
-ProgressTrackInfo *getProgressTrackInfoFields(JNIEnv *env, jobject lpObject, ProgressTrackInfo *lpStruct);
-void setProgressTrackInfoFields(JNIEnv *env, jobject lpObject, ProgressTrackInfo *lpStruct);
-#define ProgressTrackInfo_sizeof() sizeof(ProgressTrackInfo)
-#else
-#define cacheProgressTrackInfoFields(a,b)
-#define getProgressTrackInfoFields(a,b,c) NULL
-#define setProgressTrackInfoFields(a,b,c)
-#define ProgressTrackInfo_sizeof() 0
-#endif
-
-#ifndef NO_RGBColor
-void cacheRGBColorFields(JNIEnv *env, jobject lpObject);
-RGBColor *getRGBColorFields(JNIEnv *env, jobject lpObject, RGBColor *lpStruct);
-void setRGBColorFields(JNIEnv *env, jobject lpObject, RGBColor *lpStruct);
-#define RGBColor_sizeof() sizeof(RGBColor)
-#else
-#define cacheRGBColorFields(a,b)
-#define getRGBColorFields(a,b,c) NULL
-#define setRGBColorFields(a,b,c)
-#define RGBColor_sizeof() 0
-#endif
-
-#ifndef NO_Rect
-void cacheRectFields(JNIEnv *env, jobject lpObject);
-Rect *getRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct);
-void setRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct);
-#define Rect_sizeof() sizeof(Rect)
-#else
-#define cacheRectFields(a,b)
-#define getRectFields(a,b,c) NULL
-#define setRectFields(a,b,c)
-#define Rect_sizeof() 0
-#endif
-
-#ifndef NO_ScrollBarTrackInfo
-void cacheScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject);
-ScrollBarTrackInfo *getScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, ScrollBarTrackInfo *lpStruct);
-void setScrollBarTrackInfoFields(JNIEnv *env, jobject lpObject, ScrollBarTrackInfo *lpStruct);
-#define ScrollBarTrackInfo_sizeof() sizeof(ScrollBarTrackInfo)
-#else
-#define cacheScrollBarTrackInfoFields(a,b)
-#define getScrollBarTrackInfoFields(a,b,c) NULL
-#define setScrollBarTrackInfoFields(a,b,c)
-#define ScrollBarTrackInfo_sizeof() 0
-#endif
-
-#ifndef NO_SliderTrackInfo
-void cacheSliderTrackInfoFields(JNIEnv *env, jobject lpObject);
-SliderTrackInfo *getSliderTrackInfoFields(JNIEnv *env, jobject lpObject, SliderTrackInfo *lpStruct);
-void setSliderTrackInfoFields(JNIEnv *env, jobject lpObject, SliderTrackInfo *lpStruct);
-#define SliderTrackInfo_sizeof() sizeof(SliderTrackInfo)
-#else
-#define cacheSliderTrackInfoFields(a,b)
-#define getSliderTrackInfoFields(a,b,c) NULL
-#define setSliderTrackInfoFields(a,b,c)
-#define SliderTrackInfo_sizeof() 0
-#endif
-
-#ifndef NO_TXNBackground
-void cacheTXNBackgroundFields(JNIEnv *env, jobject lpObject);
-TXNBackground *getTXNBackgroundFields(JNIEnv *env, jobject lpObject, TXNBackground *lpStruct);
-void setTXNBackgroundFields(JNIEnv *env, jobject lpObject, TXNBackground *lpStruct);
-#define TXNBackground_sizeof() sizeof(TXNBackground)
-#else
-#define cacheTXNBackgroundFields(a,b)
-#define getTXNBackgroundFields(a,b,c) NULL
-#define setTXNBackgroundFields(a,b,c)
-#define TXNBackground_sizeof() 0
-#endif
-
-#ifndef NO_TXNLongRect
-void cacheTXNLongRectFields(JNIEnv *env, jobject lpObject);
-TXNLongRect *getTXNLongRectFields(JNIEnv *env, jobject lpObject, TXNLongRect *lpStruct);
-void setTXNLongRectFields(JNIEnv *env, jobject lpObject, TXNLongRect *lpStruct);
-#define TXNLongRect_sizeof() sizeof(TXNLongRect)
-#else
-#define cacheTXNLongRectFields(a,b)
-#define getTXNLongRectFields(a,b,c) NULL
-#define setTXNLongRectFields(a,b,c)
-#define TXNLongRect_sizeof() 0
-#endif
-
-#ifndef NO_TXNTab
-void cacheTXNTabFields(JNIEnv *env, jobject lpObject);
-TXNTab *getTXNTabFields(JNIEnv *env, jobject lpObject, TXNTab *lpStruct);
-void setTXNTabFields(JNIEnv *env, jobject lpObject, TXNTab *lpStruct);
-#define TXNTab_sizeof() sizeof(TXNTab)
-#else
-#define cacheTXNTabFields(a,b)
-#define getTXNTabFields(a,b,c) NULL
-#define setTXNTabFields(a,b,c)
-#define TXNTab_sizeof() 0
-#endif
-
-#ifndef NO_ThemeButtonDrawInfo
-void cacheThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject);
-ThemeButtonDrawInfo *getThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, ThemeButtonDrawInfo *lpStruct);
-void setThemeButtonDrawInfoFields(JNIEnv *env, jobject lpObject, ThemeButtonDrawInfo *lpStruct);
-#define ThemeButtonDrawInfo_sizeof() sizeof(ThemeButtonDrawInfo)
-#else
-#define cacheThemeButtonDrawInfoFields(a,b)
-#define getThemeButtonDrawInfoFields(a,b,c) NULL
-#define setThemeButtonDrawInfoFields(a,b,c)
-#define ThemeButtonDrawInfo_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/webkit.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/webkit.c
deleted file mode 100644
index e4b200c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/webkit.c
+++ /dev/null
@@ -1,243 +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
- *******************************************************************************/
-
-#include <Carbon/Carbon.h>
-#include <WebKit/WebKit.h>
-#include <WebKit/HIWebView.h>
-
-#include "jni.h"
-
-JNIEXPORT void JNICALL Java_org_eclipse_swt_browser_WebKit_WebInitForCarbon(JNIEnv *env, jclass zz) {
-	WebInitForCarbon();
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_HIWebViewCreate(JNIEnv *env, jclass zz, jintArray outView) {
-	jint *a = (*env)->GetIntArrayElements(env, outView, NULL);
-	jint status = (jint) HIWebViewCreate((HIViewRef *)a);
-	(*env)->ReleaseIntArrayElements(env, outView, a, 0);
-	return status;
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_HIWebViewGetWebView(JNIEnv *env, jclass zz, jint viewRef) {
-	return (jint) HIWebViewGetWebView((HIViewRef)viewRef);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1msgSend__II(JNIEnv *env, jclass zz, jint obj, jint sel) {
-	return (jint) objc_msgSend((void *)obj, (void *)sel);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1msgSend__III(JNIEnv *env, jclass zz, jint obj, jint sel, jint arg0) {
-	return (jint) objc_msgSend((void *)obj, (void *)sel, (void *)arg0);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1msgSend__IIII(JNIEnv *env, jclass zz, jint obj, jint sel, jint arg0, jint arg1) {
-	return (jint) objc_msgSend((void *)obj, (void *)sel, (void *)arg0, (void *)arg1);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1msgSend__IIIII(JNIEnv *env, jclass zz, jint obj, jint sel, jint arg0, jint arg1, jint arg2) {
-	return (jint) objc_msgSend((void *)obj, (void *)sel, (void *)arg0, (void *)arg1, (void *)arg2);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1msgSend__IIIIII(JNIEnv *env, jclass zz, jint obj, jint sel, jint arg0, jint arg1, jint arg2, jint arg3) {
-	return (jint) objc_msgSend((void *)obj, (void *)sel, (void *)arg0, (void *)arg1, (void *)arg2, (void *)arg3);
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_objc_1getClass(JNIEnv *env, jclass zz, jbyteArray name) {
-	jbyte *a = (*env)->GetByteArrayElements(env, name, NULL);
-	jint id = (jint) objc_getClass((const char *)a);
-	(*env)->ReleaseByteArrayElements(env, name, a, 0);
-	return id;
-}
-
-JNIEXPORT jint JNICALL Java_org_eclipse_swt_browser_WebKit_sel_1registerName(JNIEnv *env, jclass zz, jbyteArray name) {
-	jbyte *a= (*env)->GetByteArrayElements(env, name, NULL);
-	jint sel= (jint) sel_registerName((const char *)a);
-	(*env)->ReleaseByteArrayElements(env, name, a, 0);
-	return sel;
-}
-
-@interface WebKitDelegate : NSObject
-{
-	int user_data;
-	int (*proc) (int sender, int user_data, int selector, int arg0, int arg1, int arg2, int arg3);
-}
-@end
-
-@implementation WebKitDelegate
-
-- (id)initWithProc:(id)prc user_data:(int)data
-{
-    [super init];
-    proc= (void *) prc;
-    user_data = data;
-    return self;
-}
-
-/* WebFrameLoadDelegate */
-
-- (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 1, (int)error, (int)frame, 0, 0);
-}
-
-- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 2, (int)frame, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 3, (int)title, (int)frame, 0, 0);
-}
-
-- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 4, (int)frame, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 10, (int)frame, 0, 0, 0);
-}
-
-/* WebResourceLoadDelegate */
-
-- (void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource
-{
-	proc((int)sender, user_data, 5, (int)identifier, (int)dataSource, 0, 0);
-}
-
-- (void)webView:(WebView *)sender resource:(id)identifier didFailLoadingWithError:(NSError *)error fromDataSource:(WebDataSource *)dataSource
-{
-	proc((int)sender, user_data, 6, (int)identifier, (int)error, (int)dataSource, 0);
-}
-
-- (id)webView:(WebView *)sender identifierForInitialRequest:(NSURLRequest *)request fromDataSource:(WebDataSource *)dataSource
-{
-    return (id) proc((int)sender, user_data, 7, (int)request, (int)dataSource, 0, 0);    
-}
-
-- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource
-{
-	return (NSURLRequest *) proc((int)sender, user_data, 8, (int)identifier, (int)request, (int)redirectResponse, (int)dataSource);
-}
-
-/* handleNotification */
-
-- (void)handleNotification:(NSNotification *)notification
-{
-	proc((int)[notification object], user_data, 9, (int)notification, 0, 0, 0);
-}
-
-/* UIDelegate */
-
-- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request
-{
-	return (WebView *) proc((int)sender, user_data, 11, (int)request, 0, 0, 0);
-}
-
-- (void)webViewShow:(WebView *)sender
-{
-	proc((int)sender, user_data, 12, 0, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender setFrame:(NSRect)frame
-{
-	proc((int)sender, user_data, 13, (int)&frame, 0, 0, 0);
-}
-
-- (void)webViewClose:(WebView *)sender
-{
-	proc((int)sender, user_data, 14, 0, 0, 0, 0);
-}
-
-- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems
-{
-	return (NSArray *)proc((int)sender, user_data, 15, (int)element, (int)defaultMenuItems, 0, 0);
-}
-
-- (void)webView:(WebView *)sender setStatusBarVisible:(BOOL)visible
-{
-	proc((int)sender, user_data, 16, (int)visible, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender setResizable:(BOOL)resizable
-{
-	proc((int)sender, user_data, 17, (int)resizable, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender setToolbarsVisible:(BOOL)visible
-{
-	proc((int)sender, user_data, 18, (int)visible, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender setStatusText:(NSString *)text
-{
-	proc((int)sender, user_data, 23, (int)text, 0, 0, 0);
-}
-
-- (void)webViewFocus:(WebView *)sender
-{
-	proc((int)sender, user_data, 24, 0, 0, 0, 0);
-}
-
-- (void)webViewUnfocus:(WebView *)sender
-{
-	proc((int)sender, user_data, 25, 0, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message
-{
-	proc((int)sender, user_data, 26, (int)message, 0, 0, 0);
-}
-
-- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message
-{
-	return (BOOL) proc((int)sender, user_data, 27, (int)message, 0, 0, 0);
-}
-
-- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener
-{
-	proc((int)sender, user_data, 28, (int)resultListener, 0, 0, 0);
-}
-
-/* WebPolicyDelegate */
-- (void)webView:(WebView *)sender decidePolicyForMIMEType:(NSString *)type request:(NSURLRequest *)request frame:(WebFrame*)frame decisionListener:(id<WebPolicyDecisionListener>)listener
-{
-	proc((int)sender, user_data, 19, (int)type, (int)request, (int)frame, (int)listener);
-}
-
-- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener
-{
-	proc((int)sender, user_data, 20, (int)actionInformation, (int)request, (int)frame, (int)listener);
-}
-
-
-- (void)webView:(WebView *)sender decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id<WebPolicyDecisionListener>)listener
-{
-	proc((int)sender, user_data, 21, (int)actionInformation, (int)request, (int)frameName, (int)listener);
-}
-
-
-- (void)webView:(WebView *)sender unableToImplementPolicyWithError:(NSError *)error frame:(WebFrame *)frame
-{
-	proc((int)sender, user_data, 22, (int)error, (int)frame, 0, 0);
-}
-
-/* WebDownload */
-
-- (void)download:(NSURLDownload *)download decideDestinationWithSuggestedFilename:(NSString *)filename
-{
-	proc((int)download, user_data, 29, (int)download, (int)filename, 0, 0);
-}
-
-@end
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/Platform.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/Platform.java
deleted file mode 100644
index 5d51a5e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/Platform.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.internal;
-
-public class Platform {
-	
-public static final String PLATFORM = "carbon";
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AEDesc.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AEDesc.java
deleted file mode 100644
index 191110b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AEDesc.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class AEDesc {
-	public int descriptorType;
-	public int dataHandle;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSLayoutRecord.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSLayoutRecord.java
deleted file mode 100644
index 8cf7987..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSLayoutRecord.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ATSLayoutRecord {
-	public short glyphID;
-	public int flags;
-	public int originalOffset;
-	public int realPos;
-	public static final int sizeof = 14;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSTrapezoid.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSTrapezoid.java
deleted file mode 100644
index acd8819..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSTrapezoid.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ATSTrapezoid {
-	//FixedPoint upperLeft;
-	public int upperLeft_x;
-	public int upperLeft_y;
-	//FixedPoint upperRight;
-	public int upperRight_x;
-	public int upperRight_y;
-	//FixedPoint lowerRight;
-	public int lowerRight_x;
-	public int lowerRight_y;
-	//FixedPoint lowerLeft;
-	public int lowerLeft_x;
-	public int lowerLeft_y;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUCaret.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUCaret.java
deleted file mode 100644
index c48373b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUCaret.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ATSUCaret {
-	public int fX;
-	public int fY;
-	public int fDeltaX;
-	public int fDeltaY;
-	public static final int sizeof = 16;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUTab.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUTab.java
deleted file mode 100644
index 68799d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUTab.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ATSUTab {
-	public int tabPosition;
-	public short tabType;
-	public static final int sizeof = 6;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUUnhighlightData.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUUnhighlightData.java
deleted file mode 100644
index 0e10d03..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ATSUUnhighlightData.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ATSUUnhighlightData {
-	public int dataType; 
-	public float red;
-	public float green;
-	public float blue;
-	public float alpha;
-	public static final int sizeof = 20;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AlertStdCFStringAlertParamRec.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AlertStdCFStringAlertParamRec.java
deleted file mode 100644
index c2f105f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/AlertStdCFStringAlertParamRec.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class AlertStdCFStringAlertParamRec {
-	public int version;
-	public boolean movable;
-	public boolean helpButton;
-	public int defaultText;
-	public int cancelText;
-	public int otherText;
-	public short defaultButton;
-	public short cancelButton;
-	public short position;
-	public int flags;
-	
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/BitMap.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/BitMap.java
deleted file mode 100644
index 2cfd03f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/BitMap.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class BitMap {
-	public int baseAddr;
-	public short rowBytes;
-	//Rect bounds;
-	public short top;
-	public short left;
-	public short bottom;
-	public short right;
-	public static final int sizeof = 14;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CFRange.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CFRange.java
deleted file mode 100644
index 3a02ffc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CFRange.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CFRange {
-	public int location;
-	public int length;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGFunctionCallbacks.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGFunctionCallbacks.java
deleted file mode 100644
index b87ce73..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGFunctionCallbacks.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CGFunctionCallbacks {
-	public int version;
-	public int evaluate;
-	public int releaseInfo;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPathElement.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPathElement.java
deleted file mode 100644
index ff4d420..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPathElement.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CGPathElement {
-	public int type;
-	public int points;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPatternCallbacks.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPatternCallbacks.java
deleted file mode 100644
index 1fd37da..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPatternCallbacks.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CGPatternCallbacks {
-	public int version;
-	public int drawPattern;
-	public int releaseInfo;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPoint.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPoint.java
deleted file mode 100644
index f3ecf41..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGPoint.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CGPoint {
-	public float x;
-	public float y;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGRect.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGRect.java
deleted file mode 100644
index a6bd199..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/CGRect.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class CGRect {
-	public float x;
-	public float y;
-	public float width;
-	public float height;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ColorPickerInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ColorPickerInfo.java
deleted file mode 100644
index 652ff85..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ColorPickerInfo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ColorPickerInfo {
-//	PMColor theColor;
-	public int profile;
-	public short red;
-	public short green;
-	public short blue;
-	public int dstProfile;
-	public int flags;
-	public short placeWhere;
-//	Point dialogOrigin
-	public short h;
-	public short v;
-	public int pickerType;
-	public int eventProc;
-	public int colorProc;
-	public int colorProcData;
-//	Str255 prompt;
-	public byte [] prompt = new byte [256];
-//	PickerMenuItemInfo  mInfo;
-	public short editMenuID;
-	public short cutItem;
-	public short copyItem;
-	public short pasteItem;
-	public short clearItem;
-	public short undoItem;
-	public boolean newColorChosen;
-//	SInt8 filler;
-	public static final int sizeof = 312;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlButtonContentInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlButtonContentInfo.java
deleted file mode 100644
index 231daf6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlButtonContentInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ControlButtonContentInfo {
-	public short contentType;
-	public int iconRef;
-	public static final int sizeof = 6;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlEditTextSelectionRec.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlEditTextSelectionRec.java
deleted file mode 100644
index a0109ac..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlEditTextSelectionRec.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ControlEditTextSelectionRec {
-	public short selStart;
-	public short selEnd;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlFontStyleRec.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlFontStyleRec.java
deleted file mode 100644
index 9f17148..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlFontStyleRec.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ControlFontStyleRec {
-	public short flags;
-	public short font;
-	public short size;
-	public short style;
-	public short mode;
-	public short just;
-//	RGBColor foreColor;
-	public short foreColor_red;
-	public short foreColor_green;
-	public short foreColor_blue;
-//	RGBColor backColor;
-	public short backColor_red;
-	public short backColor_green;
-	public short backColor_blue;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlKind.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlKind.java
deleted file mode 100644
index e28fcc8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlKind.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class ControlKind {
-	public int signature;
-	public int kind;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabEntry.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabEntry.java
deleted file mode 100644
index d741498..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabEntry.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ControlTabEntry {
-	public int icon;
-	public int name;
-	public boolean enabled;
-	public static final int sizeof = 10;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabInfoRecV1.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabInfoRecV1.java
deleted file mode 100644
index 991e4a5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ControlTabInfoRecV1.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ControlTabInfoRecV1 {
-	public short version;
-	public short iconSuiteID;
-	public int name;
-	public static final int sizeof = 8;                   
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Cursor.java
deleted file mode 100644
index 49e60d8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Cursor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class Cursor {
-	public byte[] data = new byte[16 * 2];
-	public byte[] mask = new byte[16 * 2];
-	public short hotSpot_v;
-	public short hotSpot_h;
-	public static final int sizeof = 68;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCallbacks.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCallbacks.java
deleted file mode 100644
index 8263156..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCallbacks.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class DataBrowserCallbacks {
-	public int version;
-	public int v1_itemDataCallback;
-	public int v1_itemCompareCallback;
-	public int v1_itemNotificationCallback;
-	public int v1_addDragItemCallback;
-	public int v1_acceptDragCallback;
-	public int v1_receiveDragCallback;
-	public int v1_postProcessDragCallback;
-	public int v1_itemHelpContentCallback;
-	public int v1_getContextualMenuCallback;
-	public int v1_selectContextualMenuCallback;
-	public static final int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCustomCallbacks.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCustomCallbacks.java
deleted file mode 100644
index 4e78c24..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserCustomCallbacks.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class DataBrowserCustomCallbacks {
-	public int version;
-	public int v1_drawItemCallback;
-	public int v1_editTextCallback;
-	public int v1_hitTestCallback;
-	public int v1_trackingCallback;
-	public int v1_dragRegionCallback;
-	public int v1_acceptDragCallback;
-	public int v1_receiveDragCallback;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewColumnDesc.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewColumnDesc.java
deleted file mode 100644
index 48745a0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewColumnDesc.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class DataBrowserListViewColumnDesc {
-	//DataBrowserTableViewColumnDesc  propertyDesc;
-	public int  propertyDesc_propertyID;
-	public int  propertyDesc_propertyType;
-	public int  propertyDesc_propertyFlags;
-	//DataBrowserListViewHeaderDesc  headerBtnDesc;
-  	public int headerBtnDesc_version;
-	public short headerBtnDesc_minimumWidth;
-	public short headerBtnDesc_maximumWidth;
-	public short headerBtnDesc_titleOffset;
-	public int headerBtnDesc_titleString;
-	public short headerBtnDesc_initialOrder;
-	//ControlFontStyleRec headerBtnDesc_btnFontStyle;
-	public short headerBtnDesc_btnFontStyle_flags;
-	public short headerBtnDesc_btnFontStyle_font;
-	public short headerBtnDesc_btnFontStyle_size;
-	public short headerBtnDesc_btnFontStyle_style;
-	public short headerBtnDesc_btnFontStyle_mode;
-	public short headerBtnDesc_btnFontStyle_just;
-	// RGBColor headerBtnDesc_btnFontStyle_foreColor;
-	public short headerBtnDesc_btnFontStyle_foreColor_red;
- 	public short headerBtnDesc_btnFontStyle_foreColor_green;
-	public short headerBtnDesc_btnFontStyle_foreColor_blue;
-	//RGBColor headerBtnDesc_btnFontStyle_backColor;
-	public short headerBtnDesc_btnFontStyle_backColor_red;
- 	public short headerBtnDesc_btnFontStyle_backColor_green;
-	public short headerBtnDesc_btnFontStyle_backColor_blue;
-	//public ControlButtonContentInfo headerBtnDesc_btnContentInfo;
-	public short headerBtnDesc_btnContentInfo_contentType;
-	public int headerBtnDesc_btnContentInfo_iconRef; // union field 
-	public static final int sizeof = 58;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewHeaderDesc.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewHeaderDesc.java
deleted file mode 100644
index 1cd0471..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/DataBrowserListViewHeaderDesc.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class DataBrowserListViewHeaderDesc {
-	public int version;
-	public short minimumWidth;
-	public short maximumWidth;
-	public short titleOffset;
-	public int titleString;
-	public short initialOrder;
-	// ControlFontStyleRec  btnFontStyle;
-	public short btnFontStyle_flags;
-	public short btnFontStyle_font;
-	public short btnFontStyle_size;
-	public short btnFontStyle_style;
-	public short btnFontStyle_mode;
-	public short btnFontStyle_just;
-	//RGBColor btnFontStyle_foreColor;
-	public short btnFontStyle_foreColor_red;
-	public short btnFontStyle_foreColor_green;
-	public short btnFontStyle_foreColor_blue;
-	//RGBColor btnFontStyle_backColor;
-	public short btnFontStyle_backColor_red;
-	public short btnFontStyle_backColor_green;
-	public short btnFontStyle_backColor_blue;
-	//ControlButtonContentInfo  btnContentInfo;
-	public short btnContentInfo_contentType;
-	public int btnContentInfo_iconRef;
-	
-	public static final int sizeof = 46;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/EventRecord.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/EventRecord.java
deleted file mode 100644
index dbfa6fc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/EventRecord.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-public class EventRecord {
-	public short what;
-	public int message;
-	public int when;
-	//Point where;
-	public short where_v;
-	public short where_h;
-	public short modifiers;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontInfo.java
deleted file mode 100644
index f4fd191..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontInfo.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class FontInfo {
-	public short ascent;
-	public short descent;
-	public short widMax;
-	public short leading;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontSelectionQDStyle.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontSelectionQDStyle.java
deleted file mode 100644
index 5f92a48..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/FontSelectionQDStyle.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class FontSelectionQDStyle {
-	public int version;
-	//FMFontFamilyInstance instance;
-	public short instance_fontFamily;
-	public short instance_fontStyle;
-	public short size;
-	public boolean hasColor;
-	public byte reserved;
-	//RGBColor color
-	public short color_red;
-	public short color_green;
-	public short color_blue;
-	public static final int sizeof = 18;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/GDevice.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/GDevice.java
deleted file mode 100644
index af3f899..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/GDevice.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class GDevice {
-	public short gdRefNum;
-	public short gdID;
-	public short gdType;
-	public int gdITable;
-	public short gdResPref;
-	public int gdSearchProc;
-	public int gdCompProc;
-	public short gdFlags;
-	public int gdPMap;
-	public int gdRefCon;
-	public int gdNextGD;
-	//Rect gdRect;
-	public short left;
-	public short top;
-	public short right;
-	public short bottom;
-	public int gdMode;
-	public short gdCCBytes;
-	public short gdCCDepth;
-	public int gdCCXData;
-	public int gdCCXMask;
-	public int gdExt;
-	public static final int sizeof = 62;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HICommand.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HICommand.java
deleted file mode 100644
index cd05546..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HICommand.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HICommand {
-	public int attributes;
-	public int commandID;
-	public int menu_menuRef;
-	public short menu_menuItemIndex;
-	
-	public static final int sizeof = 14;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIScrollBarTrackInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIScrollBarTrackInfo.java
deleted file mode 100644
index c60d512..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIScrollBarTrackInfo.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIScrollBarTrackInfo {
-	public int version;
-	public byte enableState;
-	public byte pressState;
-	public float viewsize;
-	public static final int sizeof = 10;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationFrameInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationFrameInfo.java
deleted file mode 100644
index c6e07e1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationFrameInfo.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeAnimationFrameInfo {
-	public int index;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationTimeInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationTimeInfo.java
deleted file mode 100644
index 5ae6a57..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeAnimationTimeInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeAnimationTimeInfo {
-	public long start;
-	public long current;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeBackgroundDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeBackgroundDrawInfo.java
deleted file mode 100644
index 149065b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeBackgroundDrawInfo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeBackgroundDrawInfo {
-	public int version;
-	public int state;
-	public int kind;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeButtonDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeButtonDrawInfo.java
deleted file mode 100644
index 72216e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeButtonDrawInfo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeButtonDrawInfo {
-	public int version;
-	public int state;
-	public int kind;
-	public int value;
-	public int adornment;
-	public HIThemeAnimationTimeInfo time;
-	public HIThemeAnimationFrameInfo frame;
-	public static final int sizeof = 30;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeFrameDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeFrameDrawInfo.java
deleted file mode 100644
index 3585bf0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeFrameDrawInfo.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeFrameDrawInfo {
-	public int version;
-	public int state;
-	public int kind;
-	public boolean isFocused;
-	public static final int sizeof = 14;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGroupBoxDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGroupBoxDrawInfo.java
deleted file mode 100644
index 43d1489..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGroupBoxDrawInfo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeGroupBoxDrawInfo {
-	public int version;
-	public int state;
-	public int kind;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGrowBoxDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGrowBoxDrawInfo.java
deleted file mode 100644
index 0dfa7fe..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeGrowBoxDrawInfo.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeGrowBoxDrawInfo {
-	public int version;
-	public int kind;
-	public int state;
-	public short direction;
-	public int size;
-	public static final int sizeof = 18;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemePopupArrowDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemePopupArrowDrawInfo.java
deleted file mode 100644
index b581eba..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemePopupArrowDrawInfo.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemePopupArrowDrawInfo {
-	public int version;
-	public int state;
-	public short orientation;
-	public short size;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeSeparatorDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeSeparatorDrawInfo.java
deleted file mode 100644
index c05aea0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeSeparatorDrawInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeSeparatorDrawInfo {
-	public int version;
-	public int state;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabDrawInfo.java
deleted file mode 100644
index 94649f9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabDrawInfo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeTabDrawInfo {
-	public int version;
-	public short style;
-	public short direction;
-	public int size;
-	public int adornment;
-	public int kind;
-	public int position;
-	public static final int sizeof = OS.VERSION >= 0x1040 ? 24 : 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabPaneDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabPaneDrawInfo.java
deleted file mode 100644
index 3adb60f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTabPaneDrawInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeTabPaneDrawInfo {
-	public int version;
-	public int state;
-	public short direction;
-	public int size;	
-	public int kind;
-	public int adornment;
-	public static final int sizeof = OS.VERSION >= 0x1040 ? 22 : 14;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTextInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTextInfo.java
deleted file mode 100644
index 4c72f04..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTextInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeTextInfo {
-	public int version;
-	public int state;
-	public short fontID;
-	public int horizontalFlushness;
-	public int verticalFlushness;
-	public int options;
-	public int truncationPosition;
-	public int truncationMaxLines;
-	public boolean truncationHappened;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTrackDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTrackDrawInfo.java
deleted file mode 100644
index d77378e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HIThemeTrackDrawInfo.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HIThemeTrackDrawInfo {
-	public int version;
-	public short kind;
-	//HIRect bounds
-	public float bounds_x;
-	public float bounds_y;
-	public float bounds_width;
-	public float bounds_height;
-	public int min;
-	public int max;
-	public int value;
-	public int reserved;
-	public short attributes;
-	public byte enableState;
-	public byte filler1;
-	public ScrollBarTrackInfo scrollbar;
-	public SliderTrackInfo slider;
-	public ProgressTrackInfo progress;
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HMHelpContentRec.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HMHelpContentRec.java
deleted file mode 100644
index 83ca8cf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/HMHelpContentRec.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class HMHelpContentRec {
-	public int version;
-//	Rect absHotRect;
-	public short absHotRect_top;
-	public short absHotRect_left;
-	public short absHotRect_bottom;
-	public short absHotRect_right;
-	public short tagSide;
-//	HMHelpContent       content[2];
-	public int content0_contentType;
-	public int content0_tagCFString; 
-	public int content1_contentType;
-	public int content1_tagCFString;
-	public static final int sizeof = 534;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/MenuTrackingData.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/MenuTrackingData.java
deleted file mode 100644
index abc12b3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/MenuTrackingData.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class MenuTrackingData {
-	public int menu; 
-	public short itemSelected; 
-	public short itemUnderMouse; 
-//	  Rect itemRect; 
-	public short top;
-	public short left;
-	public short bottom;
-	public short right;
-	public int virtualMenuTop; 
-	public int virtualMenuBottom;
-	public static int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavDialogCreationOptions.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavDialogCreationOptions.java
deleted file mode 100644
index 7dcca8f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavDialogCreationOptions.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class NavDialogCreationOptions {
-	public short version;
-	public int optionFlags;
-//	Point location;
-	public short location_h;
-	public short location_v;
-	public int clientName;
-	public int windowTitle;
-	public int actionButtonLabel;
-	public int cancelButtonLabel;
-	public int saveFileName;
-	public int message;
-	public int preferenceKey;
-	public int popupExtension;
-	public int modality;
-	public int parentWindow;
-//	char reserved[16];
-	public static final int sizeof = 66;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavReplyRecord.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavReplyRecord.java
deleted file mode 100644
index 587a060..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/NavReplyRecord.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class NavReplyRecord {
-	public short version;
-	public boolean validRecord;
-	public boolean replacing;
-	public boolean isStationery;
-	public boolean translationNeeded;
-	//AEDescList selection;
-	public int selection_descriptorType;
-	public int selection_dataHandle;
-	public short keyScript;
-	public int fileTranslation;
-	public int reserved1;
-	public int saveFileName;
-	public boolean saveFileExtensionHidden;
-	public byte reserved2;
-	public byte[] reserved = new byte[225];
-	public static final int sizeof = 256;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
deleted file mode 100644
index d3ef1d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
+++ /dev/null
@@ -1,2122 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-import org.eclipse.swt.internal.*;
-
-public class OS extends Platform {
-	static {
-		Library.loadLibrary ("swt-pi");
-	}
-	
-	public static final boolean HIVIEW;
-	public static final int VERSION;
-	static {
-		int [] response = new int [1];
-		OS.Gestalt (OS.gestaltSystemVersion, response);
-		VERSION = response [0] & 0xffff;
-		HIVIEW = VERSION >= 0x1030;
-	}
-
-	/** Constants */
-	public static final int RGBDirect = 16;
-	public static final int alphaLock = 0x0400;
-	public static final int badDragFlavorErr = -1852;
-	public static final int bold = 1;
-	public static final int cantGetFlavorErr = -1854;
-	public static final int checkMark = 18;
-	public static final int cmdKey = 1 << 8;
-	public static final int controlKey = 1 << 12;
-	public static final int diamondMark = 19;
-	public static final int dragNotAcceptedErr = -1857;
-	public static final int errControlIsNotEmbedder = -30590;
-	public static final int errUnknownControl = -30584;
-	public static final int eventLoopTimedOutErr = -9875;
-	public static final int eventNotHandledErr = -9874;
-	public static final int eventParameterNotFoundErr = -9870;
-	public static final int gestaltSystemVersion = ('s'<<24) + ('y'<<16) + ('s'<<8) + 'v';
-	public static final int inContent = 3;
-	public static final int inMenuBar = 1;
-	public static final int inStructure = 15;
-	public static final int inZoomIn = 7;
-	public static final int inZoomOut = 8;
-	public static final int inToolbarButton = 13;	
-	public static final int italic = 2;
-	public static final int k32ARGBPixelFormat = 0x00000020;
-	public static final int kActivateAndHandleClick = 3;
-	public static final int kAppearanceEventClass = ('a'<<24) + ('p'<<16) + ('p'<<8) + 'r';
-	public static final int kAEAppearanceChanged = ('t'<<24) + ('h'<<16) + ('m'<<8) + 'e';
-	public static final int kAESystemFontChanged = ('s'<<24) + ('y'<<16) + ('s'<<8) + 'f';
-	public static final int kAESmallSystemFontChanged = ('s'<<24) + ('s'<<16) + ('f'<<8) + 'n';
-	public static final int kAEViewsFontChanged = ('v'<<24) + ('f'<<16) + ('n'<<8) + 't';
-	public static final int kAEQuitApplication = ('q'<<24) + ('u'<<16) + ('i'<<8) + 't';
-	public static final int kAlertCautionAlert = 2;
-	public static final int kAlertCautionIcon = ('c'<<24) + ('a'<<16) + ('u'<<8) + 't';
-	public static final int kAlertNoteAlert = 1;
-	public static final int kAlertNoteIcon = ('n'<<24) + ('o'<<16) + ('t'<<8) + 'e';
-	public static final int kAlertPlainAlert = 3;
-	public static final int kAlertStopAlert = 0;
-	public static final int kAlertStopIcon = ('s'<<24) + ('t'<<16) + ('o'<<8) + 'p';
-	public static final int kAlertDefaultOKText           = -1;
-	public static final int kAlertDefaultCancelText       = -1;
-	public static final int kAlertStdAlertOKButton        = 1;
-	public static final int kAlertStdAlertCancelButton    = 2;
-	public static final int kAlertStdAlertOtherButton     = 3;
-	public static final int kAtSpecifiedOrigin = 0;
-	public static final int kATSDeletedGlyphcode = 0xFFFF;
-	public static final int kATSLineLastNoJustification = 0x00000020;
-	public static final int kATSUAscentTag = 284;
-	public static final int kATSUCrossStreamShiftTag = 269;
-	public static final int kATSUDescentTag = 285;
-	public static final int kATSUDirectDataBaselineDeltaFixedArray = 1;
-	public static final int kATSUDirectDataLayoutRecordATSLayoutRecordVersion1 = 100;
-	public static final int kATSUDirectDataLayoutRecordATSLayoutRecordCurrent = kATSUDirectDataLayoutRecordATSLayoutRecordVersion1;
-	public static final int kATSUFullJustification = 0x40000000;
-	public static final int kATSUNoJustification = 0x00000000;
-	public static final int kATSUImposeWidthTag = 266;
-	public static final int kATSULineAscentTag = 8;
-	public static final int kATSULineDescentTag = 9;
-	public static final int kATSULineDirectionTag = 3;
-	public static final int kATSLineUseDeviceMetrics = 0x01000000;
-	public static final int kATSUStartAlignment = 0x00000000;
-	public static final int kATSUEndAlignment = 0x40000000;
-	public static final int kATSUCenterAlignment = 0x20000000;
-	public static final int kATSUByCharacter = 0;
-	public static final int kATSUByTypographicCluster = 1;
-	public static final int kATSUByWord = 2;
-	public static final int kATSUByCharacterCluster = 3;
-	public static final int kATSUColorTag = 263;
-	public static final int kATSUCGContextTag = 32767;
-	public static final int kATSUFontTag = 261;
-	public static final int kATSULineFlushFactorTag = 5;
-	public static final int kATSULineHighlightCGColorTag = 17;
-	public static final int kATSULineJustificationFactorTag = 4;
-	public static final int kATSULineLayoutOptionsTag = 7;
-	public static final int kATSULineWidthTag = 1;
-	public static final int kATSULeftToRightBaseDirection = 0;
-	public static final int kATSURightToLeftBaseDirection = 1;
-	public static final int kATSUQDBoldfaceTag = 256;
-	public static final int kATSUQDItalicTag = 257;
-	public static final int kATSUQDUnderlineTag = 258;
-	public static final int kATSUStyleStrikeThroughTag = 292;
-	public static final int kATSULeftTab = 0;
-	public static final int kATSUseDeviceOrigins = 1;
-	public static final int kATSUseLineHeight = 0x7FFFFFFF;
-	public static final int kATSUSizeTag = 262;
-	public static final int kATSUToTextEnd = 0xFFFFFFFF;
-	public static final int kAvailBoundsChangedForDock = 1 << 0;
-	public static final int kCGBitmapByteOrderDefault = 0 << 12;
-	public static final int kCGBitmapByteOrder16Little = 1 << 12;
-	public static final int kCGBitmapByteOrder32Little = 2 << 12;
-	public static final int kCGBitmapByteOrder16Big = 3 << 12;
-	public static final int kCGBitmapByteOrder32Big = 4 << 12;
-	public static final int kCGBitmapByteOrder16Host = __BIG_ENDIAN__() ? kCGBitmapByteOrder16Big : kCGBitmapByteOrder16Little;
-	public static final int kCGBitmapByteOrder32Host = __BIG_ENDIAN__() ? kCGBitmapByteOrder32Big : kCGBitmapByteOrder32Little;
-	public static final int kCFAllocatorDefault = 0;
-	public static final int kCFNumberFormatterDecimalStyle = 1;
-	public static final int kCFURLPOSIXPathStyle = 0;
-	public static final int kCFStringEncodingASCII = 0x0600;
-	public static final int kCFStringEncodingMacRoman = 0;
-	public static final int kCFStringEncodingUTF8 = 0x08000100;
-	public static final int kCFStringEncodingUnicode = 0x0100;
-	public static final int kCGEncodingMacRoman = 1;
-	public static final int kCGImageAlphaFirst = 4;
-	public static final int kCGImageAlphaNoneSkipFirst = 6;
-	public static final int kCGInterpolationDefault = 0;
-	public static final int kCGInterpolationNone = 1;
-	public static final int kCGInterpolationLow = 2;
-	public static final int kCGInterpolationHigh = 3;
-	public static final int kCGLineCapButt = 0;
-	public static final int kCGLineCapRound = 1;
-	public static final int kCGLineCapSquare = 2;
-	public static final int kCGLineJoinMiter = 0;
-	public static final int kCGLineJoinRound = 1;
-	public static final int kCGLineJoinBevel = 2;
-	public static final int kCGPathElementMoveToPoint = 0;
-	public static final int kCGPathElementAddLineToPoint = 1;
-	public static final int kCGPathElementAddQuadCurveToPoint = 2;
-	public static final int kCGPathElementAddCurveToPoint = 3;
-	public static final int kCGPathElementCloseSubpath = 4; 
-	public static final int kCGPatternTilingNoDistortion = 0;
-	public static final int kCGPatternTilingConstantSpacingMinimalDistortion = 1;
-	public static final int kCGPatternTilingConstantSpacing = 2;
-	public static final int kCGRenderingIntentDefault = 0;
-	public static final int kCGTextFill = 0;
-	public static final int kCGTextInvisible = 3;
-	public static final int kColorPickerDialogIsMoveable =  1;
-	public static final int kColorPickerDialogIsModal = 2;
-	public static final int kControlBehaviorPushbutton = 0;
-	public static final int kControlBehaviorToggles = 0x0100;
-	public static final int kControlBevelButtonAlignCenter = 0;
-	public static final int kControlBevelButtonAlignLeft  = 1;
-	public static final int kControlBevelButtonAlignRight = 2;
-	public static final int kControlBevelButtonAlignTextCenter = 1;
-	public static final int kControlBevelButtonAlignTextFlushRight = -1;
-	public static final int kControlBevelButtonAlignTextFlushLeft = -2;
-	public static final int kControlBevelButtonNormalBevelProc = 33;
-	public static final int kControlBevelButtonSmallBevel = 0;
-	public static final int kControlBevelButtonLargeBevel = 2;
-	public static final int kControlBevelButtonMenuRefTag = ('m'<<24) + ('h'<<16) + ('n'<<8) + 'd';
-	public static final int kControlBevelButtonNormalBevel = 1;
-	public static final int kControlBevelButtonPlaceBelowGraphic = 3;
-	public static final int kControlBevelButtonPlaceToRightOfGraphic = 1;
-	public static final int kControlBevelButtonKindTag = ('b'<<24) + ('e'<<16) + ('b'<<8) + 'k';
-	public static final int kControlBevelButtonTextAlignTag = ('t'<<24) + ('a'<<16) + ('l'<<8) + 'i';
-	public static final int kControlBevelButtonTextPlaceTag = ('t'<<24) + ('p'<<16) + ('l'<<8) + 'c';
-	public static final int kControlBevelButtonGraphicAlignTag = ('g'<<24) + ('a'<<16) + ('l'<<8) + 'i';
-	public static final int kControlBoundsChangeSizeChanged = 1 << 2;
-	public static final int kControlBoundsChangePositionChanged = 1 << 3;
-	public static final int kControlCheckBoxAutoToggleProc = 371;
-	public static final int kControlContentCGImageRef = 134;
-	public static final int kControlContentCIconHandle = 130;
-	public static final int kControlContentIconRef = 132;
-	public static final int kControlContentMetaPart = -2;
-	public static final int kControlContentTextOnly = 0;
-	public static final int kControlDataBrowserIncludesFrameAndFocusTag = ('b'<<24) + ('r'<<16) + ('d'<<8) + 'r';
-	public static final int kControlDownButtonPart = 21;
-	public static final int kControlEditTextCFStringTag = ('c'<<24) + ('f'<<16) + ('s'<<8) + 't';
-	public static final int kControlEditTextLockedTag = ('l'<<24) + ('o'<<16) + ('c'<<8) + 'k';
-	public static final int kControlEditTextSingleLineTag = ('s'<<24) + ('g'<<16) + ('l'<<8) + 'c';
-	public static final int kControlEditTextSelectionTag = ('s'<<24) + ('e'<<16) + ('l'<<8) + 'e';
-	public static final int kControlEditTextTextTag = ('t'<<24) + ('e'<<16) + ('x'<<8) + 't';
-	public static final int kControlEditTextInsertCFStringRefTag = ('i'<<24) + ('n'<<16) + ('c'<<8) + 'f';
-	public static final int kControlEditTextPasswordCFStringTag = ('p'<<24) + ('w'<<16) + ('c'<<8) + 'f';
-	public static final int kControlEntireControl = 0;
-	public static final int kControlFocusNoPart = 0;
-	public static final int kControlFontStyleTag = ('f'<<24) + ('o'<<16) + ('n'<<8) + 't';
-	public static final int kControlGetsFocusOnClick = 1 << 8;
-	public static final int kControlGroupBoxTextTitleProc = 160;
-	public static final int kControlHandlesTracking = 1 << 5;
-	public static final int kControlIconTransformTag = ('t'<<24) + ('r'<<16) + ('f'<<8) + 'm';
-	public static final int kControlIndicatorPart = 129;
-	public static final int kControlKindScrollBar = ('s'<<24) + ('b'<<16) + ('a'<<8) + 'r';
-	public static final int kControlMsgApplyTextColor = 30;
-	public static final int kControlMsgSetUpBackground = 23;
-	public static final int kControlPageDownPart = 23;
-	public static final int kControlPageUpPart = 22;
-	public static final int kControlPopupArrowEastProc = 192;
-	public static final int kControlPopupArrowOrientationEast = 0;
-	public static final int kControlPopupArrowOrientationWest = 1;
-	public static final int kControlPopupArrowOrientationNorth = 2;
-	public static final int kControlPopupArrowOrientationSouth = 3;
-	public static final int kControlPopupArrowSizeNormal  = 0;
-	public static final int kControlPopupArrowSizeSmall   = 1;
-	public static final int kControlPopupButtonProc = 400;
-	public static final int kControlProgressBarIndeterminateTag = ('i'<<24) + ('n'<<16) + ('d'<<8) + 'e';
-	public static final int kControlProgressBarProc = 80;
-	public static final int kControlPushButtonProc = 368;
-	public static final int kControlRadioButtonAutoToggleProc = 372;
-	public static final int kControlScrollBarLiveProc = 386;
-	public static final int kControlSeparatorLineProc = 144;
-	public static final int kControlSliderLiveFeedback = (1 << 0);
-	public static final int kControlSliderNonDirectional = (1 << 3);
-	public static final int kControlSliderProc = 48;
-	public static final int kControlStructureMetaPart = -1;
-	public static final int kControlSupportsEmbedding = 1 << 1;
-	public static final int kControlSupportsFocus = 1 << 2;
-	public static final int kControlStaticTextCFStringTag = ('c'<<24) + ('f'<<16) + ('s'<<8) + 't';
-	public static final int kControlTabContentRectTag = ('r'<<24) + ('e'<<16) + ('c'<<8) + 't';
-	public static final int kControlTabDirectionNorth = 0;
-	public static final int kControlTabDirectionSouth = 1;
-	public static final int kControlTabImageContentTag = ('c'<<24) + ('o'<<16) + ('n'<<8) + 't';
-	public static final int kControlTabInfoVersionOne = 1;
-	public static final int kControlTabInfoTag = ('t'<<24) + ('a'<<16) + ('b'<<8) + 'i';
-	public static final int kControlTabSizeLarge = 0;
-	public static final int kControlTabSmallProc = 129;
-	public static final int kControlUpButtonPart = 20;
-	public static final int kControlUserPaneDrawProcTag = ('d'<<24) + ('r'<<16) + ('a'<<8) + 'w';
-	public static final int kControlUserPaneHitTestProcTag = ('h'<<24) + ('i'<<16) + ('t'<<8) + 't';
-	public static final int kControlUserPaneProc = 256;
-	public static final int kControlUserPaneTrackingProcTag = ('t'<<24) + ('r'<<16) + ('a'<<8) + 'k';
-	public static final int kControlUseBackColorMask = 16;
-	public static final int kControlUseFontMask = 0x1;
-	public static final int kControlUseForeColorMask = 8;
-	public static final int kControlUseJustMask = 0x0040;
-	public static final int kControlUseSizeMask = 0x4;
-	public static final int kControlUseThemeFontIDMask = 0x80;
-	public static final int kControlUseFaceMask = 0x2;
-	public static final int kCurrentProcess = 2;
-	public static final int kDataBrowserAttributeListViewAlternatingRowColors = (1 << 1);
-	public static final int kDataBrowserAttributeListViewDrawColumnDividers = (1 << 2);
-	public static final int kDataBrowserCheckboxType = ('c'<<24) + ('h'<<16) + ('b'<<8) + 'x';
-	public static final int kDataBrowserCmdTogglesSelection = 1 << 3;
-	public static final int kDataBrowserContainerClosed = 10;
-	public static final int kDataBrowserContainerClosing = 9;
-	public static final int kDataBrowserContainerIsClosableProperty = 6;
-	public static final int kDataBrowserContainerIsOpen = 1 << 1;
-	public static final int kDataBrowserContainerIsOpenableProperty = 5;
-	public static final int kDataBrowserContainerIsSortableProperty = 7;
-	public static final int kDataBrowserContainerOpened = 8;
-	public static final int kDataBrowserCustomType = 0x3F3F3F3F;
-	public static final int kDataBrowserDefaultPropertyFlags = 0;
-	public static final int kDataBrowserDragSelect = 1 << 0;
-	public static final int kDataBrowserIconAndTextType = ('t'<<24) + ('i'<<16) + ('c'<<8) + 'n';
-	public static final int kDataBrowserItemAnyState = -1;
-	public static final int kDataBrowserItemIsActiveProperty = 1;
-	public static final int kDataBrowserItemIsContainerProperty = 4;
-	public static final int kDataBrowserItemIsDragTarget  = 1 << 2;
-	public static final int kDataBrowserItemIsEditableProperty = 3;
-	public static final int kDataBrowserItemIsSelectableProperty = 2;
-	public static final int kDataBrowserItemIsSelected = 1 << 0;
-	public static final int kDataBrowserItemNoProperty = 0;
-	public static final int kDataBrowserItemParentContainerProperty = 11;
-	public static final int kDataBrowserItemsAdd = 0;
-	public static final int kDataBrowserItemsAssign = 1;
-	public static final int kDataBrowserItemsRemove = 3;
-	public static final int kDataBrowserItemRemoved = 2;
-	public static final int kDataBrowserItemSelected = 5;
-	public static final int kDataBrowserItemDeselected = 6;
-	public static final int kDataBrowserItemDoubleClicked = 7;
-	public static final int kDataBrowserLatestCallbacks = 0;
-	public static final int kDataBrowserLatestCustomCallbacks = 0;
-	public static final int kDataBrowserListView = ('l'<<24) + ('s'<<16) + ('t'<<8) + 'v';
-	public static final int kDataBrowserListViewLatestHeaderDesc = 0;
-	public static final int kDataBrowserListViewMovableColumn = 1 << OS.kDataBrowserViewSpecificFlagsOffset + 1;
-	public static final int kDataBrowserListViewSelectionColumn = 1 << OS.kDataBrowserViewSpecificFlagsOffset;
-	public static final int kDataBrowserListViewSortableColumn = 1 << 18;
-	public static final int kDataBrowserNeverEmptySelectionSet = 1 << 6;
-	public static final int kDataBrowserMetricCellContentInset = 1;
-	public static final int kDataBrowserMetricIconAndTextGap = 2;
-	public static final int kDataBrowserMetricDisclosureColumnEdgeInset = 3;
-	public static final int kDataBrowserMetricDisclosureTriangleAndContentGap = 4;
-	public static final int kDataBrowserMetricDisclosureColumnPerDepthGap = 5;
-	public static final int kDataBrowserNoItem = 0;
-	public static final int kDataBrowserOrderUndefined = 0;
-	public static final int kDataBrowserOrderIncreasing = 1;
-	public static final int kDataBrowserOrderDecreasing = 2;
-	public static final int kDataBrowserPropertyEnclosingPart = 0;
-	public static final int kDataBrowserPropertyContentPart =  ('-'<<24) + ('-'<<16) + ('-'<<8) + '-';
-	public static final int kDataBrowserPropertyDisclosurePart =  ('d'<<24) + ('i'<<16) + ('s'<<8) + 'c';
-	public static final int kDataBrowserPropertyIsMutable = 1 << 0;
-	public static final int kDataBrowserRevealOnly = 0;
-	public static final int kDataBrowserRevealAndCenterInView = 1 << 0;
-	public static final int kDataBrowserRevealWithoutSelecting = 1 << 1;
-	public static final int kDataBrowserSelectOnlyOne = 1 << 1;
-	public static final int kDataBrowserUserStateChanged = 13;
-	public static final int kDataBrowserUserToggledContainer = 16;
-	public static final int kDataBrowserTextType = ('t'<<24) + ('e'<<16) + ('x'<<8) + 't';
-	public static final int kDataBrowserTableViewFillHilite = 1;
-	public static final int kDataBrowserViewSpecificFlagsOffset = 16;
-	public static final int kDocumentWindowClass = 6;
-	public static final int kDragActionNothing = 0;
-	public static final int kDragActionCopy = 1;
-	public static final int kDragActionAlias = 1 << 1;
-	public static final int kDragActionGeneric = 1 << 2;
-	public static final int kDragActionPrivate = 1 << 3;
-	public static final int kDragActionMove = 1 << 4;
-	public static final int kDragActionDelete = 1 << 5;
-	public static final int kDragActionAll = 0xFFFFFFFF;
-	public static final int kDragStandardTranslucency = 0;
-	public static final int kDragTrackingEnterHandler = 1;
-	public static final int kDragTrackingEnterWindow = 2;
-	public static final int kDragTrackingInWindow = 3;
-	public static final int kDragTrackingLeaveWindow = 4;
-	public static final int kDragTrackingLeaveHandler = 5;
-	public static final int kEventAppleEvent = 1;
-	public static final int kEventAppAvailableWindowBoundsChanged = 110;
-	public static final int kEventAttributeUserEvent = 1 << 0;
-	public static final int kEventClassAppleEvent = ('e'<<24) + ('p'<<16) + ('p'<<8) + 'c';
-	public static final int kEventClassApplication = ('a'<<24) + ('p'<<16) + ('p'<<8) + 'l';
-	public static final int kEventClassCommand = ('c'<<24) + ('m'<<16) + ('d'<<8) + 's';
-	public static final int kEventClassControl = ('c'<<24) + ('n'<<16) + ('t'<<8) + 'l';
-	public static final int kEventClassFont= ('f'<<24) + ('o'<<16) + ('n'<<8) + 't';
-	public static final int kEventClassHIObject = ('h'<<24) + ('i'<<16) + ('o'<<8) + 'b';
-	public static final int kEventClassKeyboard = ('k'<<24) + ('e'<<16) + ('y'<<8) + 'b';
-	public static final int kEventClassMenu = ('m'<<24) + ('e'<<16) + ('n'<<8) + 'u';
-	public static final int kEventClassMouse = ('m'<<24) + ('o'<<16) + ('u'<<8) + 's';
-	public static final int kEventClassScrollable = ('s'<<24) + ('c'<<16) + ('r'<<8) + 'l';
-	public static final int kEventClassTextInput = ('t'<<24) + ('e'<<16) + ('x'<<8) + 't';
-	public static final int kEventClassWindow = ('w'<<24) + ('i'<<16) + ('n'<<8) + 'd';
-	public static final int kEventControlApplyBackground = 5;
-	public static final int kEventControlActivate = 9;
-  	public static final int kEventControlAddedSubControl = 152;
-	public static final int kEventControlBoundsChanged = 154;
-	public static final int kEventControlClick = 13;
-	public static final int kEventControlContextualMenuClick = 12;
-  	public static final int kEventControlDeactivate = 10;
-	public static final int kEventControlDraw = 4;
-	public static final int kControlFocusNextPart = -1;
-	public static final int kEventControlGetClickActivation = 17;
-	public static final int kEventControlGetFocusPart = 8;
-	public static final int kEventControlHit = 1;
-	public static final int kEventControlHitTest = 3;
-	public static final int kEventControlSetCursor = 11;
-	public static final int kEventControlSetFocusPart = 7;
-	public static final int kEventParamControlSubControl = ('c'<<24) + ('s'<<16) + ('u'<<8) + 'b';
-	public static final int kEventControlRemovingSubControl = 153;
-	public static final int kEventControlTrack = 51;
-	public static final int kEventPriorityStandard = 1;
-	public static final double kEventDurationForever = -1.0;
-	public static final double kEventDurationNoWait = 0.0;
-	public static final int kEventFontSelection = 2;
-	public static final int kEventFontPanelClosed = 1;
-	public static final int kEventParamGrafPort =  ('g'<<24) + ('r'<<16) + ('a'<<8) + 'f';
-	public static final int kEventHIObjectConstruct = 1;
-	public static final int kEventHIObjectDestruct = 3;
-	public static final int kEventMenuCalculateSize = 1004;
-	public static final int kEventMenuClosed = 5;
-	public static final int kEventMenuCreateFrameView = 1005;
-	public static final int kEventMenuDrawItem = 102;
-	public static final int kEventMenuDrawItemContent = 103;
-	public static final int kEventMenuGetFrameBounds = 1006;
-	public static final int kEventMenuMeasureItemWidth = 100;
-	public static final int kEventMenuOpening = 4;
-	public static final int kEventMenuPopulate = 9;
-	public static final int kEventMenuTargetItem = 6;
-	public static final int kEventMouseButtonPrimary = 1;
-	public static final int kEventMouseButtonSecondary = 2;
-	public static final int kEventMouseButtonTertiary = 3;
-	public static final int kEventMouseDown = 1;
-	public static final int kEventMouseDragged = 6;
-	public static final int kEventMouseEntered = 8;
-	public static final int kEventMouseExited = 9;
-	public static final int kEventMouseMoved = 5;
-	public static final int kEventMouseUp = 2;
-	public static final int kEventMouseWheelAxisX = 0;
-	public static final int kEventMouseWheelAxisY = 1;
-	public static final int kEventMouseWheelMoved = 10;
-	public static final int kEventParamAEEventClass = ('e'<<24) + ('v'<<16) + ('c'<<8) + 'l';
-	public static final int kEventParamAEEventID = ('e'<<24) + ('v'<<16) + ('t'<<8) + 'i';
-	public static final int kEventParamATSUFontID = ('a'<<24) + ('u'<<16) + ('i'<<8) + 'd';
-	public static final int kEventParamAttributes = ('a'<<24) + ('t'<<16) + ('t'<<8) + 'r';
-	public static final int kEventParamBounds =  ('b'<<24) + ('o'<<16) + ('u'<<8) + 'n';
-	public static final int kEventParamCGContextRef = ('c'<<24) + ('n'<<16) + ('t'<<8) + 'x';
-	public static final int kEventParamClickActivation = ('c'<<24) + ('l'<<16) + ('a'<<8) + 'c';
-	public static final int kEventParamClickCount = ('c'<<24) + ('c'<<16) + ('n'<<8) + 't';
-	public static final int kEventParamControlPart= ('c'<<24) + ('p'<<16) + ('r'<<8) + 't';
-	public static final int kEventParamControlRef = ('c'<<24) + ('t'<<16) + ('r'<<8) + 'l';
-	public static final int kEventParamCurrentBounds = ('c'<<24) + ('r'<<16) + ('c'<<8) + 't';
-	public static final int kEventParamDirectObject = ('-'<<24) + ('-'<<16) + ('-'<<8) + '-';
-	public static final int kEventParamFMFontFamily = ('f'<<24) + ('m'<<16) + ('f'<<8) + 'm';
-	public static final int kEventParamFMFontStyle = ('f'<<24) + ('m'<<16) + ('s'<<8) + 't';
-	public static final int kEventParamFMFontSize = ('f'<<24) + ('m'<<16) + ('s'<<8) + 'z';
-	public static final int kEventParamFontColor = ('f'<<24) + ('c'<<16) + ('l'<<8) + 'r';
-	public static final int kEventParamKeyCode = ('k'<<24) + ('c'<<16) + ('o'<<8) + 'd';
-	public static final int kEventParamKeyMacCharCodes = ('k'<<24) + ('c'<<16) + ('h'<<8) + 'r';
-	public static final int kEventParamKeyModifiers = ('k'<<24) + ('m'<<16) + ('o'<<8) + 'd';
-	public static final int kEventParamMenuCommand = ('m'<<24) + ('c'<<16) + ('m'<<8) + 'd';
-	public static final int kEventParamMenuItemIndex = ('i'<<24) + ('t'<<16) + ('e'<<8) + 'm';
-	public static final int kEventParamMenuItemBounds = ('m'<<24) + ('i'<<16) + ('t'<<8) + 'b';
-	public static final int kEventParamMenuItemWidth = ('m'<<24) + ('i'<<16) + ('t'<<8) + 'w';
-	public static final int kEventParamModalWindow = ('m'<<24) + ('w'<<16) + ('i'<<8) + 'n';
-	public static final int kEventParamMouseButton = ('m'<<24) + ('b'<<16) + ('t'<<8) + 'n';
-	public static final int kEventParamMouseChord = ('c'<<24) + ('h'<<16) + ('o'<<8) + 'r';
-	public static final int kEventParamMouseLocation = ('m'<<24) + ('l'<<16) + ('o'<<8) + 'c';
-	public static final int kEventParamMouseWheelAxis = ('m'<<24) + ('w'<<16) + ('a'<<8) + 'x';
-	public static final int kEventParamMouseWheelDelta = ('m'<<24) + ('w'<<16) + ('d'<<8) + 'l';
-	public static final int kEventParamPreviousBounds = ('p'<<24) + ('r'<<16) + ('c'<<8) + 't';
-	public static final int kEventParamOrigin = ('o'<<24) + ('r'<<16) + ('g'<<8) + 'n';
-	public static final int kEventParamOriginalBounds = ('o'<<24) + ('r'<<16) + ('c'<<8) + 't';
-	public static final int kEventParamReason =  ('w'<<24) + ('h'<<16) + ('y'<<8) + '?';
-	public static final int kEventParamRgnHandle =  ('r'<<24) + ('g'<<16) + ('n'<<8) + 'h';
-	public static final int kEventParamTextInputSendText = ('t'<<24) + ('s'<<16) + ('t'<<8) + 'x';
-	public static final int kEventParamTextInputSendKeyboardEvent = ('t'<<24) + ('s'<<16) + ('k'<<8) + 'e';
-	public static final int kEventParamKeyUnicodes= ('k'<<24) + ('u'<<16) + ('n'<<8) + 'i';
-	public static final int kEventParamWindowDefPart = ('w'<<24) + ('d'<<16) + ('p'<<8) + 'c';
-	public static final int kEventParamWindowMouseLocation = ('w'<<24) + ('m'<<16) + ('o'<<8) + 'u';
-	public static final int kEventParamWindowRef = ('w'<<24) + ('i'<<16) + ('n'<<8) + 'd';
-	public static final int kEventParamWindowRegionCode   = ('w'<<24) + ('s'<<16) + ('h'<<8) + 'p';
-	public static final int kEventProcessCommand = 1;
-	public static final int kEventRawKeyDown = 1;
-	public static final int kEventRawKeyRepeat = 2;
-	public static final int kEventRawKeyUp = 3;
-	public static final int kEventRawKeyModifiersChanged = 4;
-	public static final int kEventScrollableScrollTo = 10;
-	public static final int kEventTextInputUnicodeForKeyEvent = 2;
-	public static final int kEventWindowActivated = 5;
-	public static final int kEventWindowBoundsChanged = 27;
-	public static final int kEventWindowClose = 72;
-	public static final int kEventWindowCollapsed = 67;
-	public static final int kEventWindowDeactivated = 6;
-	public static final int kEventWindowDrawContent = 2;
-	public static final int kEventWindowExpanded = 70;
-	public static final int kEventWindowFocusAcquired = 200;
-	public static final int kEventWindowFocusRelinquish = 201;
-	public static final int kEventWindowGetClickModality = 8;
-	public static final int kEventWindowGetRegion = 1002;
-	public static final int kEventWindowHidden = 25;
-	public static final int kEventWindowHitTest = 1003;
-	public static final int kEventWindowShown = 24;
-	public static final int kEventWindowToolbarSwitchMode = 150;
-	public static final int kEventWindowUpdate = 1;
-	public static final int kFMIterationCompleted = -980;
-	public static final int kFloatingWindowClass = 5;
-	public static final int kFontFamilyName = 1;
-	public static final int kFontNoPlatformCode = -1;
-	public static final int kFontNoScriptCode = -1;
-	public static final int kFontNoLanguageCode = -1;
-	public static final int kFontUnicodePlatform = 0;
-	public static final int kFontSelectionQDStyleVersionZero = 0;
-	public static final int kFontSelectionQDType = ('q'<<24) + ('s'<<16) + ('t'<<8) + 'l';
-	public static final int kHIComboBoxAutoCompletionAttribute = (1 << 0);	
-	public static final int kHIComboBoxAutoSizeListAttribute = (1 << 3);
-	public static final int kHIComboBoxEditTextPart = 5;
-	public static final int kHIComboBoxNumVisibleItemsTag = ('c'<<24) + ('b'<<16) + ('n'<<8) + 'i';
-	public static final int kHICommandFromMenu = 1 << 0;
-	public static final int kHICommandQuit = ('q'<<24) + ('u'<<16) + ('i'<<8) + 't';
-	public static final int kHIScrollViewOptionsVertScroll = (1 << 0);
-	public static final int kHIScrollViewOptionsHorizScroll = (1 << 1);
-	public static final int kHIScrollViewOptionsAllowGrow = (1 << 2);
-	public static final int kHIThemeFrameTextFieldSquare = 0;
-	public static final int kHIThemeGroupBoxKindPrimary = 0;
-	public static final int kHIThemeFrameListBox = 1;
-	public static final int kRedrawHighlighting = 1;
-	public static final int kThemeComboBox = 16;
-	public static final int kThemeLeftOutsideArrowPressed = 0x01;
-	public static final int kThemeLeftInsideArrowPressed = 0x02;
-	public static final int kThemeLeftTrackPressed = 0x04;
-	public static final int kThemePopupButton = 5;
-	public static final int kThemeThumbPressed = 0x08;
-	public static final int kThemeRightTrackPressed = 0x10;
-	public static final int kThemeRightInsideArrowPressed = 0x20;
-	public static final int kThemeRightOutsideArrowPressed = 0x40;
-	public static final int kThemeScrollBarMedium = 0;
-	public static final int kThemeSliderMedium = 2;
-	public static final int kThemeProgressBarMedium = 3;
-	public static final int kThemeTrackActive = 0;
-	public static final int kThemeTrackDisabled = 1;
-	public static final int kThemeTrackNothingToScroll = 2;
-	public static final int kThemeTrackInactive = 3;
-	public static final int kThemeTrackHorizontal = (1 << 0);
-	public static final int kThemeTrackRightToLeft = (1 << 1);
-	public static final int kThemeTrackShowThumb = (1 << 2);
-	public static final int kThemeTrackThumbRgnIsNotGhost = (1 << 3);
-	public static final int kThemeTrackNoScrollBarArrows = (1 << 4);
-	public static final int kThemeTrackHasFocus = (1 << 5);
-	public static final int kThemeTabNonFront = 0;
-	public static final int kThemeTabNonFrontPressed = 1;
-	public static final int kThemeTabNonFrontInactive = 2;
-	public static final int kThemeTabFront = 3;
-	public static final int kThemeTabFrontInactive = 4;
-	public static final int kThemeTabNonFrontUnavailable = 5;
-	public static final int kThemeTabFrontUnavailable = 6;
-	public static final int kThemeTabNorth = 0;
-	public static final int kThemeTabSouth = 1;
-	public static final int kThemeTabEast = 2;
-	public static final int kThemeTabWest = 3;
-	public static final int kHIThemeOrientationNormal = 0;
-	public static final int kHIThemeOrientationInverted = 1;
-	public static final int kHIThemeTextHorizontalFlushLeft = 0;
-	public static final int kHIThemeTextHorizontalFlushCenter = 1;
-	public static final int kHIThemeTextHorizontalFlushRight = 2;
-	public static final int kHIThemeTextVerticalFlushTop  = 0;
-	public static final int kHIThemeTextVerticalFlushCenter = 1;
-	public static final int kHIThemeTextVerticalFlushBottom = 2;
-	public static final int kHIThemeTabPositionFirst = 0;
-	public static final int kHIThemeTabPositionMiddle = 1;
-	public static final int kHIThemeTabPositionLast = 2;
-	public static final int kHIThemeTabPositionOnly = 3;
-	public static final int kHIThemeTabAdornmentFocus = 1 << 2;
-	public static final int kHIThemeTabAdornmentTrailingSeparator = 1 << 4;
-	public static final int kHIViewFeatureIsOpaque = 1 << 25;
-	public static final int kHIViewZOrderAbove = 1;
-	public static final int kHIViewZOrderBelow = 2;
-	public static final int kHITransformNone = 0x00;
-	public static final int kHITransformDisabled = 0x01;
-	public static final int kHITransformSelected = 0x4000;
-	public static final int kHMCFStringContent = ('c'<<24) + ('f'<<16) + ('s'<<8) + 't';
-	public static final int kHMOutsideBottomRightAligned = 10;
-	public static final int kHMAbsoluteCenterAligned = 23;
-	public static final int kHMContentProvided = 0;
-	public static final int kHMContentNotProvided = -1;
-	public static final int kHMContentNotProvidedDontPropagate = -2;
-	public static final int kHMDefaultSide = 0;
-	public static final int kHMDisposeContent = 1;
-	public static final int kHMSupplyContent = 0;
-	public static final int kHelpWindowClass = 10;
-	public static final int kInvalidFontFamily = -1;
-	public static final int kLarge1BitMask = ('I'<<24) + ('C'<<16) + ('N'<<8) + '#';
-	public static final int kLarge4BitData = ('i'<<24) + ('c'<<16) + ('l'<<8) + '4';
-	public static final int kLarge8BitData = ('i'<<24) + ('c'<<16) + ('l'<<8) + '8';
-	public static final int kLarge32BitData = ('i'<<24) + ('l'<<16) + ('3'<<8) + '2';
-	public static final int kLarge8BitMask = ('l'<<24) + ('8'<<16) + ('m'<<8) + 'k';
-	public static final int kSmall1BitMask = ('i'<<24) + ('c'<<16) + ('s'<<8) + '#';
-	public static final int kSmall4BitData = ('i'<<24) + ('c'<<16) + ('s'<<8) + '4';
-	public static final int kSmall8BitData = ('i'<<24) + ('c'<<16) + ('s'<<8) + '8';
-	public static final int kSmall32BitData = ('i'<<24) + ('s'<<16) + ('3'<<8) + '2';
-	public static final int kSmall8BitMask = ('s'<<24) + ('8'<<16) + ('m'<<8) + 'k';
-	public static final int kMini1BitMask = ('i'<<24) + ('c'<<16) + ('m'<<8) + '#';
-	public static final int kMini4BitData = ('i'<<24) + ('c'<<16) + ('m'<<8) + '4';
-	public static final int kMini8BitData = ('i'<<24) + ('c'<<16) + ('m'<<8) + '8';
-	public static final int kThumbnail32BitData = ('i'<<24) + ('t'<<16) + ('3'<<8) + '2';
-	public static final int kThumbnail8BitMask = ('t'<<24) + ('8'<<16) + ('m'<<8) + 'k';
-	public static final int kHuge1BitMask = ('i'<<24) + ('c'<<16) + ('h'<<8) + '#';
-	public static final int kHuge4BitData = ('i'<<24) + ('c'<<16) + ('h'<<8) + '4';
-	public static final int kHuge8BitData = ('i'<<24) + ('c'<<16) + ('h'<<8) + '8';
-	public static final int kHuge32BitData = ('i'<<24) + ('h'<<16) + ('3'<<8) + '2';
-	public static final int kHuge8BitMask = ('h'<<24) + ('8'<<16) + ('m'<<8) + 'k';
-	public static final int kLigaturesType = 1;
-	public static final int kQDParseRegionFromTop = (1 << 0);
-	public static final int kQDParseRegionFromBottom = (1 << 1);
-	public static final int kQDParseRegionFromLeft = (1 << 2);
-	public static final int kQDParseRegionFromRight = (1 << 3);
-	public static final int kQDParseRegionFromTopLeft = kQDParseRegionFromTop | kQDParseRegionFromLeft;
-	public static final int kQDRegionToRectsMsgInit = 1;
-	public static final int kQDRegionToRectsMsgParse = 2;
-	public static final int kQDRegionToRectsMsgTerminate = 3;
-	public static final int kRequiredLigaturesOffSelector = 1;
-	public static final int kCommonLigaturesOffSelector = 3;
-	public static final int kRareLigaturesOffSelector = 5;
-	public static final int kLogosOffSelector = 7;
-	public static final int kRebusPicturesOffSelector = 9;
-	public static final int kDiphthongLigaturesOffSelector = 11;
-	public static final int kSquaredLigaturesOffSelector = 13;
-	public static final int kAbbrevSquaredLigaturesOffSelector = 15;
-	public static final int kMacHelpVersion = 3;
-	public static final int kMenuBlankGlyph = 97;
-	public static final int kMenuCapsLockGlyph = 99;
-	public static final int kMenuCGImageRefType = 7;
-	public static final int kMenuCheckmarkGlyph = 18;
-	public static final int kMenuClearGlyph = 28;
-	public static final int kMenuCommandGlyph = 17;
-	public static final int kMenuContextualMenuGlyph = 109;
-	public static final int kMenuControlGlyph = 6;
-	public static final int kMenuControlISOGlyph = 138;
-	public static final int kMenuControlModifier = 4;
-	public static final int kMenuDeleteLeftGlyph = 23;
-	public static final int kMenuDeleteRightGlyph = 10;
-	public static final int kMenuDiamondGlyph = 19;
-	public static final int kMenuDownArrowGlyph = 106;
-	public static final int kMenuDownwardArrowDashedGlyph = 16;
-	public static final int kMenuEnterGlyph = 4;
-	public static final int kMenuEscapeGlyph = 27;
-	public static final int kMenuF10Glyph = 120;
-	public static final int kMenuF11Glyph = 121;
-	public static final int kMenuF12Glyph = 122;
-	public static final int kMenuF1Glyph = 111;
-	public static final int kMenuF2Glyph = 112;
-	public static final int kMenuF3Glyph = 113;
-	public static final int kMenuF4Glyph = 114;
-	public static final int kMenuF5Glyph = 115;
-	public static final int kMenuF6Glyph = 116;
-	public static final int kMenuF7Glyph = 117;
-	public static final int kMenuF8Glyph = 118;
-	public static final int kMenuF9Glyph = 119;
-	public static final int kMenuHelpGlyph = 103;
-	public static final int kMenuItemAttrCustomDraw = 1 << 11;
-	public static final int kMenuItemAttrAutoRepeat = 1 << 9;
-	public static final int kMenuItemAttrSeparator = 64;
-	public static final int kMenuLeftArrowDashedGlyph = 24;
-	public static final int kMenuLeftArrowGlyph = 100;
-	public static final int kMenuNoCommandModifier = (1 << 3);
-	public static final int kMenuNoIcon = 0;
-	public static final int kMenuNoModifiers = 0;
-	public static final int kMenuNonmarkingReturnGlyph = 13;
-	public static final int kMenuNullGlyph = 0;
-	public static final int kMenuOptionGlyph = 7;
-	public static final int kMenuOptionModifier = (1 << 1);
-	public static final int kMenuPageDownGlyph = 107;
-	public static final int kMenuPageUpGlyph = 98;
-	public static final int kMenuPencilGlyph = 15;
-	public static final int kMenuPowerGlyph = 110;
-	public static final int kMenuReturnGlyph = 11;
-	public static final int kMenuReturnR2LGlyph = 12;
-	public static final int kMenuRightArrowDashedGlyph = 26;
-	public static final int kMenuRightArrowGlyph = 101;
-	public static final int kMenuShiftGlyph = 5;
-	public static final int kMenuShiftModifier = (1 << 0);
-	public static final int kMenuTabRightGlyph = 2;
-	public static final int kMenuUpArrowDashedGlyph = 25;
-	public static final int kMenuUpArrowGlyph = 104;
-	public static final int kMouseTrackingMouseDown= 1;
-	public static final int kMouseTrackingMouseUp= 2;
-	public static final int kMouseTrackingMouseExited  = 3;
-	public static final int kMouseTrackingMouseEntered = 4;
-	public static final int kMouseTrackingMouseDragged= 5;
-	public static final int kMouseTrackingMouseKeyModifiersChanged= 6;
-	public static final int kMouseTrackingUserCancelled= 7;
-	public static final int kMouseTrackingTimedOut= 8;
-	public static final int kMouseTrackingMouseMoved= 9;
-	public static final int kModalWindowClass = 3;
-	public static final int kMovableModalWindowClass = 4;
-	public static final int kNavAllowInvisibleFiles = 0x00000100;
-	public static final int kNavAllowMultipleFiles = 0x00000080;
-	public static final int kNavAllowOpenPackages = 0x00002000;
-	public static final int kNavCBNewLocation = 5;
-	public static final int kNavGenericSignature = ('*'<<24) + ('*'<<16) + ('*'<<8) + '*';
-	public static final int kNavSupportPackages = 0x00001000;
-	public static final int kNavUserActionCancel = 1;
-	public static final int kNavUserActionChoose = 4;
-	public static final int kNavUserActionOpen = 2;
-	public static final int kNavUserActionSaveAs = 3;
-	public static final short kOnSystemDisk = -32768;
-	public static final int kOverlayWindowClass = 14;
-	public static final int kPMCancel = 0x0080;
-	public static final int kPMDestinationFax = 3;
-	public static final int kPMDestinationFile = 2;
-	public static final int kPMDestinationPreview = 4;
-	public static final int kPMDestinationPrinter = 1;
-	public static final int kPMPrintAllPages = 2147483647;
-	public static final int kQDUseCGTextMetrics = (1 << 2);
-	public static final int kQDUseCGTextRendering = (1 << 1);
-	public static final int kScrapFlavorTypeUnicode = ('u'<<24) + ('t'<<16) + ('x'<<8) + 't';
-	public static final int kScrapFlavorTypeText = ('T'<<24) + ('E'<<16) + ('X'<<8) + 'T';
-	public static final boolean kScrollBarsSyncAlwaysActive = true;
-	public static final boolean kScrollBarsSyncWithFocus = false;
-	public static final int kSelectorAlLAvailableData = 0xFFFFFFFF;
-	public static final int kSetFrontProcessFrontWindowOnly = 1 << 0;
-	public static final int kSheetWindowClass = 11;
-	public static final int kStdCFStringAlertVersionOne = 1;
-	public static final int kSystemIconsCreator = ('m'<<24) + ('a'<<16) + ('c'<<8) + 's';
-	public static final int kSymbolLigaturesOffSelector = 17;
-	public static final int kControlSliderDoesNotPoint = 2;
-	public static final int kTXNViewRectKey = 0;
-	public static final int kTXNDestinationRectKey = 1;
-	public static final int kTXNTextRectKey = 2;
-	public static final int kTXNVerticalScrollBarRectKey = 3;
-	public static final int kTXNHorizontalScrollBarRectKey = 4;
-	public static final int kTXNAlwaysWrapAtViewEdgeMask = 1 << 11;
-	public static final int kTXNBackgroundTypeRGB = 1;
-	public static final int kTXNDefaultFontSize = 0x000C0000;
-	public static final int kTXNDefaultFontStyle = 0;
-	public static final int kTXNDefaultFontName = 0;
-	public static final int kTXNFlushLeft = 1;
-	public static final int kTXNFlushRight = 2;
-	public static final int kTXNCenter = 4;
-	public static final int kTXNDisableDragAndDropTag = ('d'<<24) + ('r'<<16) + ('a'<<8) + 'g';
-	public static final int kTXNDoFontSubstitution = ('f'<<24) + ('S'<<16) + ('u'<<8) + 'b';
-	public static final int kTXNDontDrawCaretWhenInactiveMask = 1 << 12;
-	public static final int kTXNDrawCaretWhenInactiveTag = ('d'<<24)+('c'<<16)+('r'<<8)+'t';
-	public static final int kTXNEndOffset = 2147483647;
-	public static final int kTXNIOPrivilegesTag = ('i'<<24) + ('o'<<16) + ('p'<<8) + 'v';
-	public static final int kTXNJustificationTag = ('j'<<24) + ('u'<<16) + ('s'<<8) + 't';
-	public static final int kTXNMarginsTag = ('m'<<24) + ('a'<<16) + ('r'<<8) + 'g';
-	public static final int kTXNMonostyledTextMask = 1 << 17;
-	public static final int kTXNQDFontFamilyIDAttribute = ('f'<<24) + ('o'<<16) + ('n'<<8) + 't';
-	public static final int kTXNQDFontSizeAttribute = ('s'<<24) + ('i'<<16) + ('z'<<8) + 'e';
-	public static final int kTXNQDFontStyleAttribute = ('f'<<24) + ('a'<<16) + ('c'<<8) + 'e';
-	public static final int kTXNQDFontColorAttribute = ('k'<<24) + ('l'<<16) + ('o'<<8) + 'r';
-	public static final int kTXNQDFontFamilyIDAttributeSize = 2;
-	public static final int kTXNQDFontSizeAttributeSize = 2;
-	public static final int kTXNQDFontStyleAttributeSize = 2;
-	public static final int kTXNQDFontColorAttributeSize = 6;
-	public static final int kTXNReadOnlyMask = 1 << 5;
-	public static final int kTXNSingleLineOnlyMask = 1 << 14;
-	public static final int kTXNStartOffset = 0;
-	public static final int kTXNSystemDefaultEncoding = 0;
-	public static final int kTXNTabSettingsTag = ('t'<<24) + ('a'<<16) + ('b'<<8) + 's';
-	public static final int kTXNTextEditStyleFrameType = 1;
-	public static final int kTXNUnicodeTextData = ('u'<<24) + ('t'<<16) + ('x'<<8) + 't';
-	public static final int kTXNUnicodeTextFile = ('u'<<24) + ('t'<<16) + ('x'<<8) + 't';
-	public static final int kTXNUseCurrentSelection = -1;
-	public static final int kTXNVisibilityTag = ('v'<<24) + ('i'<<16) + ('s'<<8) + 'b';
-	public static final int kTXNWordWrapStateTag = ('w'<<24) + ('w'<<16) + ('r'<<8) + 's';
-	public static final int kTXNAutoScrollBehaviorTag = ('s'<<24) + ('b'<<16) + ('e'<<8) + 'v';
-	public static final int kTXNWantHScrollBarMask = 1 << 2;
-	public static final int kTXNWantVScrollBarMask = 1 << 3;
-	public static final int kTextEncodingMacUnicode = 0x7E;
-	public static final int kTextEncodingMacRoman = 0;
-	public static final int kTextLanguageDontCare = -128;
-	public static final int kTextRegionDontCare = -128;
-	public static final int kThemeAdornmentDefault = 1 << 0;
-	public static final int kThemeAdornmentFocus = 1 << 2;
-	public static final int kThemeAliasArrowCursor = 2;
-	public static final int kThemeArrowButton = 4;
-	public static final int kThemeArrowCursor = 0;
-	public static final int kThemeArrowDown = 1;
-	public static final int kThemeArrow5pt = 1;
-	public static final int kThemeBevelButtonSmall = 8;
-	public static final int kThemeBrushDialogBackgroundActive = 1;
-	public static final int kThemeBrushDocumentWindowBackground = 15;
-	public static final int kThemeBrushPrimaryHighlightColor = -3;
-	public static final int kThemeBrushSecondaryHighlightColor = -4;
-	public static final int kThemeBrushButtonFaceActive = 29;
-	public static final int kThemeBrushFocusHighlight = 19;
-	public static final int kThemeBrushListViewBackground = 10; 
-	public static final int kThemeButtonOff = 0;
-	public static final int kThemeButtonOn = 1;
-	public static final int kThemeButtonMixed = 2;
-	public static final int kThemeCheckBox = 1;
-	public static final int kThemeCopyArrowCursor = 1;
-	public static final int kThemeCrossCursor = 5;
-	public static final int kThemeCurrentPortFont = 200;
-	public static final int kThemeDisclosureButton = 6;
-	public static final int kThemeDisclosureTriangle = 6;
-	public static final int kThemeDisclosureRight = 0;
-	public static final int kThemeDisclosureDown = 1;
-	public static final int kThemeDisclosureLeft = 2;
-	public static final int kThemeEmphasizedSystemFont = 4;
-	public static final int kThemeIBeamCursor = 4;
-	public static final int kThemeMenuItemCmdKeyFont = 103;
-	public static final int kThemeMenuItemFont = 101;
-	public static final int kThemeMenuItemHierarchical = 1;
-	public static final int kThemeMetricDisclosureButtonWidth = 22;
-	public static final int kThemeMetricDisclosureTriangleHeight = 25;
-	public static final int kThemeMetricDisclosureTriangleWidth = 26;
-	public static final int kThemeMetricCheckBoxWidth = 50;
-	public static final int kThemeMetricComboBoxLargeDisclosureWidth = 74;
-	public static final int kThemeMetricRadioButtonWidth = 52;
-	public static final int kThemeMetricEditTextFrameOutset = 5;
-	public static final int kThemeMetricEditTextWhitespace = 4;
-	public static final int kThemeMetricFocusRectOutset = 7;
-	public static final int kThemeMetricHSliderHeight = 41;
-	public static final int kThemeMetricLargeTabHeight = 10;
-	public static final int kThemeMetricLargeTabCapsWidth = 11;
-	public static final int kThemeMetricLittleArrowsHeight = 27;
-	public static final int kThemeMetricLittleArrowsWidth = 28;
-	public static final int kThemeMetricMenuTextTrailingEdgeMargin = 67;
-	public static final int kThemeMetricMenuIconTrailingEdgeMargin = 69;
-	public static final int kThemeMetricNormalProgressBarThickness = 58;
-	public static final int kThemeMetricTabFrameOverlap = 12;
-	public static final int kThemeMetricPrimaryGroupBoxContentInset = 61;
-	public static final int kThemeMetricPushButtonHeight = 19;
-	public static final int kThemeMetricScrollBarWidth = 0;
-	public static final int kThemeMetricVSliderWidth = 45;
-	public static final int kThemeNotAllowedCursor = 18;
-	public static final int kThemePointingHandCursor = 10;
-	public static final int kThemePushButton = 0;
-	public static final int kThemePushButtonFont = 105;
-	public static final int kThemeRadioButton = 2;
-	public static final int kThemeResizeLeftRightCursor = 17;
-	public static final int kThemeResizeLeftCursor = 15;
-	public static final int kThemeResizeRightCursor = 16;
-	public static final int kThemeRoundedBevelButton = 15;
-	public static final int kThemeSmallBevelButton = 8;
-	public static final int kThemeSmallEmphasizedSystemFont = 2;
-	public static final int kThemeSmallSystemFont = 1;
-	public static final int kThemeSpinningCursor = 14;
-	public static final int kThemeStateActive = 1;
-	public static final int kThemeStateInactive = 0;
-	public static final int kThemeStatePressed = 2;
-	public static final int kThemeStateRollover = 6;
-	public static final int kThemeStateUnavailable = 7;
-	public static final int kThemeStateUnavailableInactive = 8;
-	public static final int kThemeSystemFont = 0;
-	public static final int kThemeTextColorDialogActive = 1;
-	public static final int kThemeTextColorDocumentWindowTitleActive = 23;
-	public static final int kThemeTextColorDocumentWindowTitleInactive = 24;
-	public static final int kThemeTextColorListView = 22;
-	public static final int kThemeTextColorPushButtonActive = 12;
-	public static final int kThemeToolbarFont = 108;
-	public static final int kThemeViewsFont = 3;
-	public static final int kThemeWatchCursor = 7;
-	public static final int kTrackMouseLocationOptionDontConsumeMouseUp = 1;
-	public static final int kTransformSelected = 0x4000;
-	public static final int kUtilityWindowClass = 8;
-    public static final int kWindowActivationScopeNone = 0;
-    public static final int kWindowActivationScopeIndependent = 1;
-    public static final int kWindowActivationScopeAll = 2;
-	public static final int kWindowAlertPositionParentWindowScreen = 0x700A;
-    public static final int kWindowBoundsChangeOriginChanged = 1<<3;
-    public static final int kWindowBoundsChangeSizeChanged = 1<<2;
-    public static final int kWindowCascadeOnMainScreen = 4;
-	public static final int kWindowCloseBoxAttribute = (1 << 0);
-	public static final int kWindowCollapseBoxAttribute = (1 << 3);
-	public static final int kWindowCompositingAttribute = (1 << 19);
-	public static final int kWindowContentRgn = 33;
-	public static final int kWindowGroupAttrHideOnCollapse = 16;
-	public static final int kWindowHorizontalZoomAttribute = 1 << 1;
-	public static final int kWindowVerticalZoomAttribute  = 1 << 2;
-	public static final int kWindowFullZoomAttribute = (OS.kWindowVerticalZoomAttribute | OS.kWindowHorizontalZoomAttribute);
-	public static final int kWindowLiveResizeAttribute = (1 << 28);
-	public static final int kWindowModalityAppModal = 2;
-	public static final int kWindowModalityNone = 0;
-	public static final int kWindowModalitySystemModal = 1;
-	public static final int kWindowModalityWindowModal = 3;
-	public static final int kWindowNoShadowAttribute = (1 << 21);
-	public static final int kWindowResizableAttribute = (1 << 4);
-	public static final int kWindowStandardHandlerAttribute = (1 << 25);
-	public static final int kWindowStructureRgn = 32;
-	public static final int kWindowToolbarButtonAttribute = (1 << 6);
-	public static final int kWindowUpdateRgn= 34;
-	public static final int mouseDown = 1;
-	public static final int noErr = 0;
-	public static final int normal = 0;
-	public static final int optionKey = 1 << 11;
-	public static final int osEvt = 15;
-	public static final int paramErr = -50;
-	public static final int shiftKey = 1 << 9;
-	public static final int smKCHRCache = 38;	
-	public static final int smKeyScript = 22;
-	public static final int smRegionCode = 40;
-	public static final int smSystemScript = -1;
-	public static final int srcCopy = 0;
-	public static final int srcOr = 1;
-	public static final int srcXor = 2;
-	public static final int notSrcXor = 6;
-	public static final int teFlushDefault = 0;
-	public static final int teCenter = 1;
-	public static final int teFlushRight = -1;
-	public static final int teFlushLeft = -2;
-	public static final int teJustLeft = 0;
-	public static final int teJustCenter = 1;
-	public static final int teJustRight = -1;
-	public static final int typeBoolean = ('b'<<24) + ('o'<<16) + ('o'<<8) + 'l';
-	public static final int typeCFMutableArrayRef = ('c'<<24) + ('f'<<16) + ('m'<<8) + 'a';
-	public static final int typeCFStringRef = ('c'<<24) + ('f'<<16) + ('s'<<8) + 't';
-	public static final int typeCFTypeRef = ('c'<<24) + ('f'<<16) + ('t'<<8) + 'y';
-	public static final int typeCGContextRef = ('c'<<24) + ('n'<<16) + ('t'<<8) + 'x';
-	public static final int typeChar = ('T'<<24) + ('E'<<16) + ('X'<<8) + 'T';
-	public static final int typeClickActivationResult = ('c'<<24) + ('l'<<16) + ('a'<<8) + 'c';
-	public static final int typeControlPartCode = ('c'<<24) + ('p'<<16) + ('r'<<8) + 't';
-	public static final int typeControlRef = ('c'<<24) + ('t'<<16) + ('r'<<8) + 'l';
-	public static final int typeEventRef = ('e'<<24) + ('v'<<16) + ('r'<<8) + 'f';
-	public static final int typeFileURL= ('f'<<24) + ('u'<<16) + ('r'<<8) + 'l';	
-	public static final int typeFSRef = ('f'<<24) + ('s'<<16) + ('r'<<8) + 'f';
-	public static final int typeGrafPtr =  ('g'<<24) + ('r'<<16) + ('a'<<8) + 'f';
-	public static final int typeHICommand = ('h'<<24) + ('c'<<16) + ('m'<<8) + 'd';
-	public static final int typeHIPoint = ('h'<<24) + ('i'<<16) + ('p'<<8) + 't';
-	public static final int typeHIRect = ('h'<<24) + ('i'<<16) + ('r'<<8) + 'c';
-	public static final int typeMenuCommand = ('m'<<24) + ('c'<<16) + ('m'<<8) + 'd';
-	public static final int typeMenuItemIndex = ('m'<<24) + ('i'<<16) + ('d'<<8) + 'x';        
-	public static final int typeMenuRef = ('m'<<24) + ('e'<<16) + ('n'<<8) + 'u';
-	public static final int typeMouseButton = ('m'<<24) + ('b'<<16) + ('t'<<8) + 'n';
-	public static final int typeMouseWheelAxis = ('m'<<24) + ('w'<<16) + ('a'<<8) + 'x';
-	public static final int typeQDPoint = ('Q'<<24) + ('D'<<16) + ('p'<<8) + 't';
-	public static final int typeQDRectangle = ('q'<<24) + ('d'<<16) + ('r'<<8) + 't';
-	public static final int typeQDRgnHandle = ('r'<<24) + ('g'<<16) + ('n'<<8) + 'h';
-	public static final int typeRGBColor = ('c'<<24) + ('R'<<16) + ('G'<<8) + 'B';
-	public static final int typeSInt16 = ('s'<<24) + ('h'<<16) + ('o'<<8) + 'r';
-	public static final int typeSInt32 = ('l'<<24) + ('o'<<16) + ('n'<<8) + 'g';
-	public static final int typeType = ('t'<<24) + ('y'<<16) + ('p'<<8) + 'e';
-	public static final int typeUInt32 = ('m'<<24) + ('a'<<16) + ('g'<<8) + 'n';
-	public static final int typeUnicodeText = ('u'<<24) + ('t'<<16) + ('x'<<8) + 't';
-	public static final int typeWildCard = ('w'<<24) + ('i'<<16) + ('l'<<8) + 'd';
-	public static final int typeWindowDefPartCode = ('w'<<24) + ('d'<<16) + ('p'<<8) + 't';
-	public static final int typeWindowRef = ('w'<<24) + ('i'<<16) + ('n'<<8) + 'd';
-	public static final int typeWindowRegionCode = ('w'<<24) + ('s'<<16) + ('h'<<8) + 'p';
-	public static final int updateEvt = 6;
-	public static final int updateMask = 1 << updateEvt;
-	public static final int userCanceledErr = -128;
-	public static final short wInContent = 1;
-	public static final short wNoHit = 0;
-
-/** JNI natives */
-public static final native int NewGlobalRef(Object object);
-public static final native void DeleteGlobalRef(int globalRef);
-public static final native Object JNIGetObject(int globalRef);
-
-/** Natives */
-public static final native boolean __BIG_ENDIAN__();
-public static final native int kUTTagClassFilenameExtension();
-public static final native int kHIViewWindowContentID();
-public static final native int kPMDocumentFormatPDF();
-public static final native int kPMGraphicsContextCoreGraphics();
-public static final native int ActiveNonFloatingWindow();
-public static final native int AECountItems(AEDesc theAEDescList, int[] theCount);
-public static final native int AEGetNthPtr(AEDesc theAEDescList, int index, int desiredType, int[] theAEKeyword, int[] typeCode, int dataPtr, int maximumSize, int[] actualSize);
-public static final native int AEInstallEventHandler(int theAEEventClass, int theAEEventID, int handler, int handlerRefcon, boolean isSysHandler);  
-public static final native int AEProcessAppleEvent(EventRecord theEventRecord);
-public static final native int ATSFontGetPostScriptName(int iFont, int iOptions, int[] oName); 
-public static final native int ATSUBatchBreakLines(int iTextLayout, int iRangeStart, int iRangeLength, int iLineWidth, int[] oBreakCount);
-public static final native int ATSUCreateStyle(int[] oStyle);
-public static final native int ATSUCreateTextLayout(int[] oTextLayout);
-public static final native int ATSUCreateTextLayoutWithTextPtr(int iText, int iTextOffset, int iTextLength, int iTextTotalLength, int iNumberOfRuns, int[] iRunLengths, int[] iStyles, int[] oTextLayout);
-public static final native int ATSUDirectGetLayoutDataArrayPtrFromTextLayout(int iTextLayout, int iLineOffset, int iDataSelector, int[] oLayoutDataArrayPtr, int[] oLayoutDataCount);
-public static final native int ATSUDirectReleaseLayoutDataArrayPtr(int iLineRef, int iDataSelector, int iLayoutDataArrayPtr);
-public static final native int ATSUDisposeStyle(int iStyle);
-public static final native int ATSUDisposeTextLayout(int iTextLayout);
-public static final native int ATSUDrawText(int iTextLayout, int iLineOffset, int iLineLength, int iLocationX, int iLocationY);
-public static final native int ATSUFindFontFromName(byte[] iName, int iNameLength, int iFontNameCode, int iFontNamePlatform, int iFontNameScript, int iFontNameLanguage, int[] oFontID);
-public static final native int ATSUFindFontName(int iFontID, int iFontNameCode, int iFontNamePlatform, int iFontNameScript, int iFontNameLanguage, int iMaximumNameLength, byte[] oName, int[] oActualNameLength, int[] oFontNameIndex);
-public static final native int ATSUGetFontIDs(int[] oFontIDs, int iArraySize, int[] oFontCount);
-public static final native int ATSUGetGlyphBounds(int iTextLayout, int iTextBasePointX, int iTextBasePointY, int iBoundsCharStart, int iBoundsCharLength, short iTypeOfBounds, int iMaxNumberOfBounds, int oGlyphBounds, int[] oActualNumberOfBounds);
-public static final native int ATSUGetGlyphBounds(int iTextLayout, int iTextBasePointX, int iTextBasePointY, int iBoundsCharStart, int iBoundsCharLength, short iTypeOfBounds, int iMaxNumberOfBounds, ATSTrapezoid oGlyphBounds, int[] oActualNumberOfBounds);
-public static final native int ATSUGetLayoutControl(int iTextLayout, int iTag, int iExpectedValueSize, int[] oValue, int[] oActualValueSize);
-public static final native int ATSUGetLineControl(int iTextLayout, int iLineStart, int iTag, int iExpectedValueSize, int[] oValue, int[] oActualValueSize);
-public static final native int ATSUGlyphGetQuadraticPaths(int iATSUStyle, short iGlyphID, int iNewPathProc, int iLineProc, int iCurveProc, int iClosePathProc, int iCallbackDataPtr, int[] oCallbackResult);
-public static final native int ATSUGetSoftLineBreaks(int iTextLayout, int iRangeStart, int iRangeLength, int iMaximumBreaks, int[] oBreaks, int[] oBreakCount);
-public static final native int ATSUGetTextHighlight (int iTextLayout, int iTextBasePointX, int iTextBasePointY, int iHighlightStart, int iHighlightLength, int oHighlightRegion);
-public static final native int ATSUGetUnjustifiedBounds(int iTextLayout, int iLineStart, int iLineLength,  int[] oTextBefore, int[] oTextAfter, int[] oAscent, int[] oDescent);
-public static final native int ATSUHighlightText(int iTextLayout, int iTextBasePointX, int iTextBasePointY, int iHighlightStart, int iHighlightLength);
-public static final native int ATSUNextCursorPosition(int iTextLayout, int iOldOffset, int iMovementType, int[] oNewOffset);
-public static final native int ATSUOffsetToPosition(int iTextLayout, int iOffset, boolean iIsLeading, ATSUCaret oMainCaret, ATSUCaret oSecondCaret, boolean[] oCaretIsSplit);
-public static final native int ATSUPositionToOffset(int iTextLayout, int iLocationX, int iLocationY, int[] ioPrimaryOffset,  boolean[] oIsLeading,  int[] oSecondaryOffset);
-public static final native int ATSUPreviousCursorPosition(int iTextLayout, int iOldOffset, int iMovementType,  int[] oNewOffset);
-public static final native int ATSUSetAttributes(int iStyle, int iAttributeCount, int[] iTag, int[] iValueSize, int[] iValue); 
-public static final native int ATSUSetFontFeatures(int iStyle, int iFeatureCount,  short[] iType, short[] iSelector);
-public static final native int ATSUSetHighlightingMethod(int iTextLayout, int iMethod, ATSUUnhighlightData iUnhighlightData);
-public static final native int ATSUSetLayoutControls(int iTextLayout, int iAttributeCount, int[] iTag, int[] iValueSize, int[] iValue);
-public static final native int ATSUSetLineControls(int iTextLayout, int iLineStart, int iAttributeCount, int[] iTag, int[] iValueSize, int[] iValue);
-public static final native int ATSUSetRunStyle(int iTextLayout, int iStyle, int iRunStart, int iRunLength);
-public static final native int ATSUSetSoftLineBreak(int iTextLayout, int iLineBreak);
-public static final native int ATSUSetTabArray(int iTextLayout, int iTabs, int iTabCount);
-public static final native int ATSUSetTextPointerLocation(int iTextLayout, int iText, int iTextOffset, int iTextLength, int iTextTotalLength);
-public static final native int ATSUSetTransientFontMatching(int iTextLayout, boolean iTransientFontMatching);
-public static final native int ATSUTextInserted(int iTextLayout, int iInsertionLocation, int iInsertionLength);
-public static final native int ATSUTextDeleted(int iTextLayout, int iInsertionLocation, int iInsertionLength);
-public static final native int AddDataBrowserItems(int cHandle, int containerID, int numItems, int[] itemIDs, int preSortProperty);
-public static final native int AddDataBrowserListViewColumn(int browser, DataBrowserListViewColumnDesc columnDesc, int position);
-public static final native int AddDragItemFlavor(int theDrag, int theItemRef, int theType, byte[] dataPtr, int dataSize, int theFlags);  
-public static final native int AppendMenuItemTextWithCFString(int mHandle, int sHandle, int attributes, int commandID, short[] outItemIndex);
-public static final native int AutoSizeDataBrowserListViewColumns(int cHandle);
-public static final native void BeginUpdate(int wHandle);
-public static final native void BringToFront(int wHandle);
-public static final native void CFRelease(int sHandle);
-public static final native void CFArrayAppendValue(int theArray, int value);
-public static final native int CFArrayCreateMutable(int allocator, int capacity, int callBacks);
-public static final native int CFArrayGetCount(int theArray);
-public static final native int CFArrayGetValueAtIndex(int theArray, int idx); 
-public static final native void CFDataGetBytes(int theData, CFRange range,  byte[] buffer); 
-public static final native int CFDataGetLength(int theData);
-public static final native boolean CFEqual(int theString, int theOtherString);
-public static final native int CFLocaleCopyCurrent();
-public static final native int CFNumberFormatterCopyProperty(int formatter, int key);
-public static final native int CFNumberFormatterCreate(int alloc, int locale, int style);
-public static final native int CFStringCreateWithBytes(int alloc, byte[] bytes, int numBytes, int encoding, boolean isExternalRepresentation);
-public static final native int CFStringCreateWithCharacters(int alloc, char[] chars, int numChars);
-public static final native int CFStringCreateWithCharacters(int alloc, int chars, int numChars);
-public static final native int CFStringGetBytes(int theString, CFRange range, int encoding, byte lossByte, boolean isExternalRepresentation, byte[] buffer, int maxBufLen, int[] usedBufLen);
-public static final native void CFStringGetCharacters(int theString, CFRange range, char[] buffer);
-public static final native int CFStringGetLength(int theString);
-public static final native int CFStringGetSystemEncoding();
-public static final native int CFURLCopyFileSystemPath(int anURL, int pathStyle);
-public static final native int CFURLCopyLastPathComponent(int url);
-public static final native int CFURLCopyPathExtension(int url);
-public static final native int CFURLCreateData(int allocator, int url, int encoding, boolean escapeWhitespace);
-public static final native int CFURLCreateCopyAppendingPathComponent(int allocator, int url, int pathComponent, boolean isDirectory);
-public static final native int CFURLCreateCopyDeletingLastPathComponent(int allocator, int url);
-public static final native int CFURLCreateFromFSRef(int allocator, byte[] fsRef);
-public static final native int CFURLCreateWithBytes(int allocator, byte[] URLBytes, int length, int encoding, int baseURL);
-public static final native int CFURLCreateWithFileSystemPath (int allocator, int filePath, int pathStyle, boolean isDirectory);
-public static final native int CFURLCreateFromFileSystemRepresentation(int allocator, int buffer, int bufLen, boolean isDirectory);
-public static final native boolean CFURLGetFSRef(int url, byte[] fsRef);
-public static final native void CGAffineTransformConcat (float[] t1, float[] t2, float[] result);
-public static final native void CGAffineTransformMake (float a, float b, float c, float d, float tx, float ty, float[] result);
-public static final native void CGAffineTransformTranslate (float[] t, float tx, float ty, float[] result);
-public static final native void CGAffineTransformRotate (float[] t, float angle, float[] result);
-public static final native void CGAffineTransformScale (float[] t, float sx, float sy, float[] result);
-public static final native void CGAffineTransformInvert (float[] t, float[] result);
-public static final native void CGContextScaleCTM(int inContext, float sx, float sy);
-public static final native void CGContextTranslateCTM(int inContext, float tx, float ty);
-public static final native int CGBitmapContextCreate(int data, int width, int height, int bitsPerComponent, int bytesPerRow, int colorspace, int alphaInfo);
-public static final native int CGColorCreate(int colorspace, float[] components);
-public static final native void CGColorRelease(int color);
-public static final native int CGColorSpaceCreatePattern(int baseSpace);
-public static final native int CGColorSpaceCreateDeviceRGB ();
-public static final native void CGColorSpaceRelease (int cs);
-public static final native void CGContextAddArc (int ctx, float x, float y, float radius, float startAngle, float endAngle, boolean clockwise);
-public static final native void CGContextAddArcToPoint (int ctx, float x1, float y1, float x2, float y2, float radius);
-public static final native void CGContextAddLineToPoint (int ctx, float x, float y);
-public static final native void CGContextAddLines (int ctx, float[] points, int count);
-public static final native void CGContextAddPath (int context, int path);
-public static final native void CGContextBeginPath (int ctx);
-public static final native void CGContextClip (int ctx);
-public static final native void CGContextClearRect (int ctx, CGRect rect);
-public static final native void CGContextClosePath (int ctx);
-public static final native void CGContextConcatCTM (int context, float[] transform);
-public static final native void CGContextDrawImage (int ctx, CGRect rect, int image);
-public static final native void CGContextDrawShading (int context, int shading);
-public static final native void CGContextEOClip (int ctx);
-public static final native void CGContextEOFillPath (int ctx);
-public static final native void CGContextFillPath (int ctx);
-public static final native void CGContextStrokeRect (int ctx, CGRect rect);
-public static final native void CGContextFillRect (int ctx, CGRect rect);
-public static final native void CGContextFlush (int ctx);
-public static final native void CGContextGetCTM (int context, float[] result);
-public static final native int CGContextGetInterpolationQuality (int context	);
-public static final native void CGContextGetPathBoundingBox(int ctx, CGRect rect);
-public static final native void CGContextGetTextPosition (int ctx, CGPoint point);
-public static final native void CGContextMoveToPoint (int ctx, float x, float y);
-public static final native void CGContextRelease(int ctx);
-public static final native void CGContextRestoreGState(int ctx);
-public static final native void CGContextSaveGState(int ctx);
-public static final native void CGContextSelectFont (int ctx, byte[] name, float size, int textEncoding);
-public static final native void CGContextSetFillColorSpace (int ctx, int colorspace);
-public static final native void CGContextSetFillPattern (int context, int pattern, float[] components);
-public static final native void CGContextSetAlpha (int context, float alpha);
-public static final native void CGContextSetFillColor (int ctx, float[] value);
-public static final native void CGContextSetFont (int ctx, int font);
-public static final native void CGContextSetFontSize (int ctx, float size);
-public static final native void CGContextSetInterpolationQuality (int context, int quality);
-public static final native void CGContextSetLineCap (int context, int cap); 
-public static final native void CGContextSetLineDash (int ctx, float phase, float[] lengths, int count);
-public static final native void CGContextSetLineJoin (int context, int join); 
-public static final native void CGContextSetLineWidth (int ctx, float width);
-public static final native void CGContextSetShouldAntialias (int ctx, boolean shouldAntialias);
-public static final native void CGContextSetShouldSmoothFonts (int ctx, boolean shouldSmooth);
-public static final native void CGContextSetStrokeColorSpace (int ctx, int colorspace);
-public static final native void CGContextSetStrokeColor (int ctx, float[] value);
-public static final native void CGContextSetStrokePattern (int context, int pattern, float[] components);
-public static final native void CGContextSetRenderingIntent (int context, int intent);
-public static final native void CGContextSetRGBFillColor (int ctx, float r, float g, float b, float alpha);
-public static final native void CGContextSetRGBStrokeColor (int ctx, float r, float g, float b, float alpha);
-public static final native void CGContextSetTextDrawingMode (int ctx, int mode);
-public static final native void CGContextSetTextPosition (int ctx, float x, float y);
-public static final native void CGContextShowText (int ctx, byte[] cstring, int length);
-public static final native void CGContextShowTextAtPoint (int ctx, float x, float y, byte[] cstring, int length);
-public static final native void CGContextSetTextMatrix (int ctx, float[] transform);
-public static final native void CGContextStrokePath (int ctx);
-public static final native void CGContextSynchronize (int ctx);
-public static final native int CGFunctionCreate (int info, int domainDimension, float[] domain, int rangeDimension, float[] range, CGFunctionCallbacks callbacks);
-public static final native void CGFunctionRelease (int function);
-public static final native int CGDataProviderCreateWithData (int info, int data, int size, int releaseData);
-public static final native int CGDataProviderCreateWithURL (int url);
-public static final native void CGDataProviderRelease (int provider);
-public static final native int CGDisplayBaseAddress (int display);
-public static final native int CGDisplayBitsPerPixel (int display);
-public static final native int CGDisplayBitsPerSample (int display);
-public static final native int CGDisplayBytesPerRow (int display);
-public static final native int CGDisplayPixelsHigh (int display);
-public static final native int CGDisplayPixelsWide (int display);
-public static final native int CGFontCreateWithPlatformFont (int[] platformFontReference);
-public static final native void CGFontRelease (int font);
-public static final native int CGGetDisplaysWithRect (CGRect rect, int maxDisplays, int[] dspys, int[] dspyCnt);
-public static final native int CGImageCreate (int width, int height, int bitsPerComponent, int bitsPerPixel, int bytesPerRow, int colorspace, int alphaInfo, int provider, float[] decode, boolean shouldInterpolate, int intent);
-public static final native int CGImageCreateWithImageInRect(int image, CGRect rect);
-public static final native int CGImageCreateWithPNGDataProvider (int source, float[] decode, boolean shouldInterpolate, int intent);
-public static final native int CGImageCreateWithJPEGDataProvider (int source, float[] decode, boolean shouldInterpolate, int intent);
-public static final native int CGImageGetAlphaInfo (int image);
-public static final native int CGImageGetBitsPerComponent (int image);
-public static final native int CGImageGetBitsPerPixel (int image);
-public static final native int CGImageGetBytesPerRow (int image);
-public static final native int CGImageGetColorSpace (int image);
-public static final native int CGImageGetHeight (int image);
-public static final native int CGImageGetWidth (int image);
-public static final native void CGImageRelease (int image);
-public static final native void CGPathAddArc (int path, float[] m, float x, float y, float r, float startAngle, float endAngle, boolean clockwise);
-public static final native void CGPathAddCurveToPoint (int path, float[] m, float cx1, float cy1, float cx2, float cy2, float x, float y);
-public static final native void CGPathAddLineToPoint (int path, float[] m, float x, float y);
-public static final native void CGPathAddPath (int path1, float[] m, int path2);
-public static final native void CGPathAddQuadCurveToPoint (int path, float[] m, float cx, float cy, float x, float y);
-public static final native void CGPathAddRect (int path, float[] m, CGRect rect);
-public static final native void CGPathApply (int path, int info, int function);
-public static final native void CGPathCloseSubpath (int path);
-public static final native int CGPathCreateMutable ();
-public static final native void CGPathGetBoundingBox (int path, CGRect rect);
-public static final native void CGPathGetCurrentPoint (int path, CGPoint point);
-public static final native boolean CGPathIsEmpty (int path);
-public static final native void CGPathMoveToPoint (int path, float[] m, float x, float y);
-public static final native void CGPathRelease (int path);
-public static final native int CGPatternCreate (int info, CGRect bounds, float[] matrix, float xStep, float yStep, int tiling, int isColored, CGPatternCallbacks callbacks);
-public static final native void CGPatternRelease (int pattern);
-public static final native void CGPointApplyAffineTransform (CGPoint point, float[] t, CGPoint result);
-public static final native int CGPostMouseEvent(CGPoint mouseCursorPosition, boolean updateMouseCursorPosition, int buttonCount, boolean mouseButtonDown, boolean mouseButtonDown2, boolean mouseButtonDown3);
-public static final native int CGPostKeyboardEvent(int keyChar, int virtualKey, boolean keyDown);
-public static final native int CGRectContainsPoint(CGRect rect, CGPoint point);
-public static final native int CGShadingCreateAxial (int colorspace, CGPoint start, CGPoint end, int function, boolean extendStart, boolean extendEnd);
-public static final native int CGShadingCreateRadial (int colorspace, CGPoint start, float startRadius, CGPoint end, float endRadius, int function, boolean extendStart, boolean extendEnd);
-public static final native void CGShadingRelease (int shading);
-public static final native int CGWarpMouseCursorPosition (CGPoint newCursorPosition);
-public static final native int ChangeWindowAttributes(int windowHandle, int setAttributes, int clearAttributes);
-public static final native int CPSEnableForegroundOperation(int[] psn, int arg2, int arg3, int arg4, int arg5);
-public static final native int CPSSetProcessName(int[] psn, byte[] name);
-public static final native int CallNextEventHandler(int nextHandler, int eventRefHandle);
-public static final native void Call(int proc, int arg1, int arg2);
-public static final native void CalcMenuSize(int theMenu);
-public static final native int CancelMenuTracking(int inRootMenu, boolean inImmediate, int inDismissalReason); 
-public static final native short CharWidth(short c);
-public static final native int ClearCurrentScrap();
-public static final native int ClearKeyboardFocus(int inWindow);
-public static final native void ClearMenuBar();
-public static final native int ClipCGContextToRegion(int inContext, Rect portRect, int rgnHandle);
-public static final native int CloseDataBrowserContainer(int cHandle, int container);
-public static final native void ClosePoly();
-public static final native void CloseRgn(int dstRgn);
-public static final native int CollapseWindow(int wHandle, boolean collapse);
-public static final native boolean ConvertEventRefToEventRecord(int inEvent, EventRecord outEvent);
-public static final native int ConvertFromPStringToUnicode(int iTextToUnicodeInfo, byte[] iPascalStr, int iOutputBufLen, int[] oUnicodeLen, char[] oUnicodeStr);
-public static final native int ConvertFromUnicodeToPString (int iUnicodeToTextInfo, int iUnicodeLen, char[] iUnicodeStr, byte[] oPascalStr); 
-public static final native void CopyBits(int srcPixMapHandle, int dstPixMapHandle, Rect srcRect, Rect dstRect, short mode, int maskRgn);
-public static final native int CopyControlTitleAsCFString(int cHandle, int[] sHandle);
-public static final native void CopyDeepMask(int srcPixMapHandle, int maskPixMapHandle, int dstPixMapHandle, Rect srcRect, Rect maskRect, Rect dstRect, short mode, int maskRgn);
-public static final native int CopyMenuItemTextAsCFString(int mHandle, short index, int[] sHandle);
-public static final native void CopyRgn(int srcRgnHandle, int dstRgnHandle);
-public static final native int CountDragItems(int theDrag, short[] numItems);
-public static final native int CountDragItemFlavors(int theDrag, int theItemRef, short[] numFlavors);
-public static final native short CountMenuItems(int mHandle);
-public static final native int CountSubControls(int cHandle, short[] count);
-public static final native int CreateBevelButtonControl(int window, Rect boundsRect, int title, short thickness, short behavior, int info, short menuID, short menuBehavior, short menuPlacement, int[] outControl);
-public static final native int CreateCheckBoxControl(int window, Rect boundsRect, int title, int initialValue, boolean autoToggle, int[] outControl);
-public static final native int CreateCGContextForPort(int inPort, int[] outContext);
-public static final native int CreateDataBrowserControl(int window, Rect boundsRect, int style,int[] outControl);
-public static final native int CreateEvent(int allocator, int inClassID, int kind, double when, int flags, int[] outEventRef);
-public static final native int CreateGroupBoxControl(int window, Rect boundsRect, int title, boolean primary, int[] outControl);
-public static final native int CreateIconControl(int window, Rect boundsRect, ControlButtonContentInfo icon, boolean dontTrack, int[] outControl);
-public static final native int CreateLittleArrowsControl(int window, Rect boundsRect, int value, int minimum, int maximum, int increment, int[] outControl);
-public static final native int CreateNewMenu(short menuID, int menuAttributes, int[] outMenuRef);
-public static final native int CreateNewWindow(int windowClass, int attributes, Rect bounds, int[] wHandle);
-public static final native int CreatePopupArrowControl(int window, Rect boundsRect, short orientation, short size, int[] outControl);
-public static final native int CreatePopupButtonControl(int window, Rect boundsRect, int title, short menuID, boolean variableWidth, short titleWidth, short titleJustification, int titleStyle, int[] outControl);
-public static final native int CreateProgressBarControl(int window, Rect boundsRect, int value, int minimim, int maximum, boolean indeterminate, int [] outControl);
-public static final native int CreatePushButtonControl(int window, Rect boundsRect, int title, int[] outControl);
-public static final native int CreatePushButtonWithIconControl(int window, Rect boundsRect, int title, ControlButtonContentInfo icon, short iconAlignment, int[] outControl);
-public static final native int CreateRadioButtonControl(int window, Rect boundsRect, int title, int initialValue, boolean autoToggle, int[] outControl);
-public static final native int CreateRootControl(int windowHandle, int[] cHandle);
-public static final native int CreateSliderControl(int window, Rect boundsRect, int value, int minimum, int maximum, int orientation, short numTickMarks, boolean liveTracking, int liveTrackingProc, int [] outControl);
-public static final native int CreateScrollBarControl(int window, Rect boundsRect, int value, int minimum, int maximum, int viewSize, boolean liveTracking, int liveTrackingProc, int [] outControl);
-public static final native int CreateSeparatorControl(int window, Rect boundsRect, int [] outControl);
-public static final native int CreateStandardAlert(short alertType, int errorSHandle, int explanationSHandle, AlertStdCFStringAlertParamRec alertParamHandle, int[] dialogHandle);
-public static final native int CreateStaticTextControl(int window, Rect boundsRect, int text, ControlFontStyleRec style, int [] outControl);    
-public static final native int CreateTabsControl(int window, Rect boundsRect, short size, short direction, short numTabs, int tabArray, int[] outControl);
-public static final native int CreateTextToUnicodeInfoByEncoding(int iEncoding, int[] oTextToUnicodeInfo);
-public static final native int CreateUnicodeToTextInfoByEncoding (int iEncoding, int[] oUnicodeToTextInfo);
-public static final native int CreateEditUnicodeTextControl(int window, Rect boundsRect, int text, boolean isPassword, ControlFontStyleRec style, int [] outControl);
-public static final native int CreateUserPaneControl(int window, Rect boundsRect, int features, int [] outControl);
-public static final native int CreateWindowGroup (int inAttributes, int [] outGroup);
-public static final native int DataBrowserChangeAttributes(int inDataBrowser, int inAttributesToSet, int inAttributesToClear);
-public static final native int DataBrowserGetMetric(int inDataBrowser, int inMetric, boolean[] outUsingDefaultValue, float[] outValue);
-public static final native int DataBrowserSetMetric(int inDataBrowser, int inMetric, boolean inUseDefaultValue, float inValue);
-public static final native int DataBrowserGetAttributes(int inDataBrowser, int[] outAttributes); 
-public static final native void DeleteMenu(short menuID);
-public static final native void DeleteMenuItem(int mHandle, short index);
-public static final native int DeleteMenuItems(int mHandle, short firstItem, int numItems);
-public static final native void DiffRgn(int srcRgnA, int srcRgnB, int dstRgn);
-public static final native int DisableControl(int cHandle);
-public static final native void DisableMenuCommand(int mHandle, int commandId);
-public static final native void DisableMenuItem(int mHandle, short index);
-public static final native void DisposeControl(int cHandle);
-public static final native int DisposeDrag(int theDrag);
-public static final native void DisposeGWorld(int offscreenGWorld);
-public static final native void DisposeHandle(int handle);
-public static final native void DisposeMenu(int mHandle);
-public static final native void DisposePtr(int ptr);
-public static final native void DisposeRgn(int rgnHandle);
-public static final native int DisposeTextToUnicodeInfo(int[] ioTextToUnicodeInfo);
-public static final native int DisposeUnicodeToTextInfo(int[] ioUnicodeToTextInfo);
-public static final native void DisposeWindow(int wHandle);
-public static final native int DMGetNextScreenDevice(int theDevice, boolean activeOnly);
-public static final native int DMGetFirstScreenDevice(boolean activeOnly);
-public static final native void DrawControlInCurrentPort(int inControl);
-public static final native void DrawMenuBar();
-public static final native void DrawText(byte[] textBuf, short firstByte, short byteCount);
-public static final native int DrawThemeButton(Rect inBounds, short inKind, ThemeButtonDrawInfo inNewInfo, ThemeButtonDrawInfo inPrevInfo, int inEraseProc, int inLabelProc, int inUserData);
-public static final native int DrawThemeEditTextFrame(Rect bounds, int state);
-public static final native int DrawThemeFocusRect(Rect bounds, boolean hasFocus);
-public static final native int DrawThemePopupArrow(Rect bounds,short orientation, short size, int state, int eraseProc, int eraseData); 
-public static final native int DrawThemeSeparator(Rect bounds, int state);
-public static final native int DrawThemeTextBox(int sHandle, short fontID, int state, boolean wrapToWidth, Rect bounds, short just, int context);
-public static final native int EmbedControl(int inControl, int inContainer);
-public static final native boolean EmptyRect(Rect r);
-public static final native boolean EmptyRgn(int rgnHandle);
-public static final native int EnableControl(int cHandle);
-public static final native void EnableMenuCommand(int mHandle, int commandId);
-public static final native void EnableMenuItem(int mHandle, short index);
-public static final native void EndUpdate(int wHandle);
-public static final native boolean EqualRect(Rect rect1, Rect rect2);
-public static final native void EraseRect(Rect bounds);
-public static final native void EraseRgn(int rgnHandle);
-public static final native int FetchFontInfo(short fontID, short fontSize, short fontStyle, FontInfo info); 
-public static final native int Fix2Long(int x);
-public static final native double Fix2X(int x);
-public static final native int FMCreateFontFamilyInstanceIterator(short iFontFamily, int ioIterator);
-public static final native int FMCreateFontFamilyIterator(int iFilter, int iRefCon, int iOptions, int ioIterator);
-public static final native int FMDisposeFontFamilyIterator(int ioIterator);
-public static final native int FMDisposeFontFamilyInstanceIterator(int ioIterator);
-public static final native int FMGetATSFontRefFromFont(int iFont);
-public static final native int FMGetFontFamilyName(short id, byte[] name);
-public static final native short FMGetFontFamilyFromName(byte[] name);
-public static final native int FMGetFontFamilyInstanceFromFont(int iFont, short[] oFontFamily, short[] oStyle);
-public static final native int FMGetFontFromFontFamilyInstance(short iFontFamily, short iStyle, int[] oFont, short[] oIntrinsicStyle);
-public static final native int FMGetNextFontFamily(int ioIterator, short[] oFontFamily);
-public static final native int FMGetNextFontFamilyInstance(int ioIterator, int[] oFont, short[] oStyle, short[] oSize);
-public static final native boolean FPIsFontPanelVisible();
-public static final native int FPShowHideFontPanel();
-public static final native int FSpGetFInfo(byte[] spec, byte[] fndrInfo);
-public static final native int FSpMakeFSRef(byte[] source, byte[] newRef);
-public static final native int FSGetCatalogInfo(byte[] ref, int whichInfo, byte[] catalogInfo, byte[] outName, byte[] fsSpec, byte[] parentRef); 
-public static final native short FindWindow(Point where, int[] wHandle);
-public static final native void FrameOval(Rect bounds);
-public static final native void FramePoly(int polyHandle);
-public static final native void FrameRect(Rect bounds);
-public static final native void FrameRoundRect(Rect bounds, short ovalWidth, short ovalHeight);
-public static final native int FrontWindow();
-public static final native int Gestalt(int selector, int[] response);
-public static final native short GetAppFont();
-public static final native int GetApplicationEventTarget();
-public static final native int GetAvailableWindowAttributes(int windowClass);
-public static final native int GetAvailableWindowPositioningBounds(int inDevice, Rect outAvailableRect);
-public static final native int GetBestControlRect(int inControl, Rect outRect, short[] outBaseLineOffset);
-public static final native int GetCaretTime();
-public static final native void GetClip(int rgnHandle);
-public static final native int GetControlAction(int theControl	);
-public static final native int GetControl32BitMaximum(int cHandle);
-public static final native int GetControl32BitMinimum(int cHandle);
-public static final native int GetControl32BitValue(int cHandle);
-public static final native void GetControlBounds(int cHandle, Rect bounds);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, ControlFontStyleRec inBuffer, int[] outActualSize);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, Rect inBuffer, int[] outActualSize);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, int[] inBuffer, int[] outActualSize);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, short[] inBuffer, int[] outActualSize);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, byte[] inBuffer, int[] outActualSize);
-public static final native int GetControlData(int inControl, short inPart, int inTagName, int inBufferSize, ControlEditTextSelectionRec inBuffer, int[] outActualSize);
-public static final native int GetControlEventTarget(int cHandle);
-public static final native int GetControlFeatures(int inControl, int[] outFeatures);
-public static final native int GetControlKind(int inControl, ControlKind kind);
-public static final native int GetControlOwner(int cHandle);
-public static final native int GetControlProperty(int control, int  propertyCreator, int propertyTag, int bufferSize, int[] actualSize,  int[] propertyBuffer);
-public static final native int GetControlReference(int cHandle);
-public static final native int GetControlRegion(int cHandle, short inPart, int rgnHandle);
-public static final native short GetControlValue(int cHandle);
-public static final native int GetControlViewSize(int cHandle);
-public static final native int GetCurrentEventButtonState();
-public static final native int GetCurrentEventLoop();
-public static final native int GetCurrentEventKeyModifiers();
-public static final native int GetCurrentEventQueue();
-public static final native int GetCurrentProcess(int[] psn);
-public static final native int GetCurrentScrap(int[] scrap);
-public static final native int GetDataBrowserCallbacks(int browser, DataBrowserCallbacks  callbacks);
-public static final native int GetDataBrowserItemCount(int cHandle, int container, boolean recurse, int state, int[] numItems);
-public static final native int GetDataBrowserItemDataButtonValue(int itemData, short [] theData);
-public static final native int GetDataBrowserItemPartBounds(int cHandle, int item, int property, int part, Rect bounds);
-public static final native int GetDataBrowserItems(int browser, int container, boolean recurse, int state, int items);
-public static final native int GetDataBrowserItemState(int browser, int item, int [] state);
-public static final native int GetDataBrowserListViewDisclosureColumn(int browser, int [] column, boolean [] expandableRows);
-public static final native int GetDataBrowserListViewHeaderBtnHeight(int browser, short [] height);
-public static final native int GetDataBrowserListViewHeaderDesc(int browser, int column, DataBrowserListViewHeaderDesc desc);
-public static final native int GetDataBrowserPropertyFlags(int browser, int property, int [] flags);
-public static final native int GetDataBrowserTableViewColumnPosition(int browser,int column,int[] position);
-public static final native int GetDataBrowserTableViewItemID(int browser, int row, int [] item);
-public static final native int GetDataBrowserTableViewItemRow(int browser, int item, int [] row);                         
-public static final native int GetDataBrowserTableViewNamedColumnWidth(int browser, int column, short [] width);
-public static final native int GetDataBrowserTableViewRowHeight(int browser, short [] height);
-public static final native int GetDataBrowserScrollBarInset(int browser, Rect insetRect);
-public static final native int GetDataBrowserScrollPosition(int cHandle, int[] top, int[] left);
-public static final native int GetDataBrowserSelectionAnchor(int browser, int [] first, int [] last);
-public static final native int GetDataBrowserSelectionFlags(int browser, int [] selectionFlags);
-public static final native int GetDataBrowserSortProperty(int browser, int[] property);
-public static final native int GetDblTime();
-public static final native short GetDefFontSize();
-public static final native int GetDeviceList();
-public static final native int GetDragAllowableActions(int theDrag, int[] outActions); 
-public static final native int GetDragDropAction(int theDrag, int[] outAction);
-public static final native int GetDragItemReferenceNumber(int theDrag, short index, int[] theItemRef);
-public static final native int GetDragModifiers(int theDrag, short[] modifiers, short[] mouseDownModifiers, short[] mouseUpModifiers);
-public static final native int GetDragMouse(int theDrag, Point mouse, Point globalPinnedMouse); 
-public static final native int GetEventClass(int eHandle);
-public static final native int GetEventDispatcherTarget();
-public static final native int GetEventKind(int eHandle);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, int[] outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, char[] outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, short[] outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, byte[] outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, boolean[] outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, HICommand outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, Point outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, CGPoint outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, CGRect outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, RGBColor outData);
-public static final native int GetEventParameter(int inEvent, int inName, int inDesiredType, int[] outActualType, int inBufferSize, int[] outActualSize, Rect outData);
-public static final native double GetEventTime(int eHandle);
-public static final native int GetFlavorData(int theDrag, int theItemRef, int theType, byte[] dataPtr, int[] dataSize, int dataOffset);
-public static final native int GetFlavorDataSize(int theDrag, int theItemRef, int theType, int[] dataSize);
-public static final native int GetFlavorType(int theDrag,int theItemRef, short index, int[] theType);
-public static final native void GetFontInfo(FontInfo info);
-public static final native int GetGDevice();
-public static final native void GetGWorld(int[] portHandle, int[] gdHandle);
-public static final native void GetGlobalMouse(Point where);
-public static final native int GetHandleSize(int handle);
-public static final native int GetIconFamilyData(int iconFamily, int iconType, int h);
-public static final native int GetIconRefFromIconFamilyPtr(int inIconFamilyPtr, int inSize, int[] outIconRef);
-public static final native int GetIconRef(short vRefNum, int creator, int iconType, int[] theIconRef);
-public static final native int GetIndMenuItemWithCommandID(int mHandle, int commandId, int index, int[] outMenu, short[] outIndex);
-public static final native int GetIndexedSubControl(int cHandle, short index, int[] outHandle);
-public static final native void GetItemMark (int theMenu, short item, short[] markChar);
-public static final native int GetKeyboardFocus(int wHandle, int[] cHandle);
-public static final native double GetLastUserEventTime();
-public static final native int GetMainDevice();
-public static final native int GetMainEventQueue();
-public static final native int GetMBarHeight();
-public static final native int GetMenuCommandMark(int theMenu, int commandId, char[] outMark);
-public static final native int GetMenuEventTarget(int cHandle);
-public static final native int GetMenuFont(int inMenu, short[] outFontID, short[] outFontSize);
-public static final native short GetMenuHeight(int inMenu);
-public static final native short GetMenuID(int menu);
-public static final native int GetMenuItemCommandID(int inMenu, short inItem, int[] outCommandID);
-public static final native int GetMenuItemHierarchicalMenu(int inMenu, short inItem, int []outHierMenu);
-public static final native int GetMenuItemRefCon(int inMenu, short intItem, int[] outRefCon);
-public static final native int GetMenuTrackingData(int menu, MenuTrackingData outData);
-public static final native short GetMenuWidth(int inMenu);
-public static final native void GetMouse(Point where);
-public static final native int GetNextDevice(int curDevice);
-public static final native void GetPixBounds(int pHandle, Rect bounds);
-public static final native short GetPixDepth(int pHandle);
-public static final native void GetPort(int[] port);
-public static final native int GetPortBitMapForCopyBits(int portHandle);
-public static final native void GetPortBounds(int pHandle, Rect rect);
-public static final native void GetPortClipRegion(int port, int clipRgn);
-public static final native int GetPortVisibleRegion(int portHandle, int rgnHandle);
-public static final native int GetPreviousWindow(int inWindow);
-public static final native int GetPtrSize(int ptr);
-public static final native void GetRegionBounds(int rgnHandle, Rect bounds);
-public static final native int GetRootControl(int windowHandle, int[] cHandle);
-public static final native int GetScrapFlavorCount(int scrap, int[] infoCount);
-public static final native int GetScrapFlavorData(int scrap, int flavorType, int[] byteCount, byte[] destination);
-public static final native int GetScrapFlavorData(int scrap, int flavorType, int[] byteCount, char[] destination);
-public static final native int GetScrapFlavorInfoList(int scrap, int[] infoCount, int[] info);
-public static final native int GetScrapFlavorSize(int scrap, int flavorType, int[] byteCount);
-public static final native int GetScriptManagerVariable(short selector);
-public static final native int GetSuperControl(int cHandle, int[] parentHandle);
-public static final native int GetTabContentRect(int theControl, Rect rect);
-public static final native int GetThemeBrushAsColor(short inBrush, short inDepth, boolean inColorDev, RGBColor outColor);
-public static final native int GetThemeButtonContentBounds(Rect inBounds, int inKind, ThemeButtonDrawInfo inDrawInfo, Rect outBounds);
-public static final native int GetThemeButtonRegion(Rect inBounds, int inKind, ThemeButtonDrawInfo inNewInfo, int outRegion);
-public static final native int GetThemeDrawingState(int[] state);
-public static final native int GetThemeFont(short themeFontId, short scriptCode, byte[] fontName, short[] fontSize, byte[] style);
-public static final native int GetThemeMenuItemExtra(short inItemType, short[] outHeight, short[] outWidth); 
-public static final native int GetThemeMetric(int inMetric, int [] outMetric);
-public static final native int GetThemeTextColor(short inColor, short inDepth, boolean inColorDev, RGBColor outColor);
-public static final native int GetThemeTextDimensions(int sHandle, short fontID, int state, boolean wrapToWidth, Point ioBounds, short[] baseLine);
-public static final native int GetUserFocusEventTarget();
-public static final native int GetUserFocusWindow();
-public static final native int GetWRefCon(int wHandle);
-public static final native int GetWindowActivationScope(int inWindow, int[] outScope);
-public static final native void GetWindowBounds(int wHandle, short windowRegion, Rect bounds);
-public static final native int GetWindowClass (int inWindow, int[] outClass);
-public static final native int GetWindowDefaultButton(int wHandle, int[] cHandle);
-public static final native int GetWindowEventTarget(int wHandle);
-public static final native int GetWindowFromPort(int pHandle);
-public static final native int GetWindowGroupOfClass (int windowClass);
-public static final native int GetWindowList();
-public static final native int GetNextWindow(int inWindow);
-public static final native int GetWindowModality(int inWindow, int[] outModalKind, int[] outUnavailableWindow);
-public static final native int GetWindowPort(int wHandle);
-public static final native int GetWindowRegion(int window, short inRegionCode, int ioWinRgn);
-public static final native int GetWindowResizeLimits (int inWindow, CGPoint inMinLimits, CGPoint inMaxLimits);
-public static final native void GetWindowStructureWidths(int intWindow, Rect outRect);
-public static final native int HICreateTransformedCGImage(int inImage, int inTransform, int[] outImage); 
-public static final native int HandleControlSetCursor(int control, Point localPoint, int modifiers, boolean[] cursorWasSet);  
-public static final native int HIComboBoxAppendTextItem(int inComboBox, int inText, int[] outIndex);
-public static final native int HIComboBoxCopyTextItemAtIndex(int inComboBox, int inIndex, int[] outString);
-public static final native int HIComboBoxCreate(CGRect boundsRect, int text, ControlFontStyleRec style, int list, int inAttributes, int[] outComboBox);
-public static final native int HIComboBoxGetItemCount(int inComboBox);
-public static final native int HIComboBoxInsertTextItemAtIndex(int inComboBox, int inIndex, int inText);
-public static final native int HIComboBoxRemoveItemAtIndex(int inComboBox, int inIndex);
-public static final native int HICopyAccessibilityRoleDescription(int inRole, int inSubrole);
-public static final native int HIObjectCopyClassID(int inObject);
-public static final native int HIObjectCreate(int inClassID, int inConstructData, int[] outObject);
-public static final native int HIObjectRegisterSubclass(int inClassID, int inBaseClassID, int inOptions, int inConstructProc, int inNumEvents, int[] inEventList, int inConstructData, int[] outClassRef);
-public static final native int HIViewScrollRect(int inView, CGRect inRect, float inDX, float inDY);
-public static final native int HIScrollViewCreate (int inOptions, int[] outView);
-public static final native int HITextViewCreate(CGRect inBoundsRect, int inOptions, int inTXNFrameOptions, int[] outTextView);
-public static final native int HITextViewGetTXNObject(int inTextView);
-public static final native int HIThemeDrawBackground(CGRect inBounds, HIThemeBackgroundDrawInfo inDrawInfo, int inContext, int inOrientation); 
-public static final native int HIThemeDrawButton(CGRect inBounds, HIThemeButtonDrawInfo inDrawInfo, int inContext, int inOrientation, CGRect outLabelRect);
-public static final native int HIThemeDrawFocusRect(CGRect inRect, boolean inHasFocus, int inContext, int inOrientation); 
-public static final native int HIThemeDrawFrame(CGRect inRect, HIThemeFrameDrawInfo inDrawInfo, int inContext, int inOrientation);   
-public static final native int HIThemeDrawGenericWell(CGRect inRect, HIThemeButtonDrawInfo info, int inContext, int inOrientation);
-public static final native int HIThemeDrawGroupBox(CGRect inRect, HIThemeGroupBoxDrawInfo inDrawInfo, int inContext, int inOrientation);
-public static final native int HIThemeDrawGrowBox(CGPoint inOrigin, HIThemeGrowBoxDrawInfo inDrawInfo, int inContext, int inOrientation);
-public static final native int HIThemeDrawPopupArrow(CGRect inBounds, HIThemePopupArrowDrawInfo inDrawInfo, int inContext, int inOrientation); 
-public static final native int HIThemeDrawSeparator(CGRect inRect, HIThemeSeparatorDrawInfo inDrawInfo, int inContext, int inOrientation);  
-public static final native int HIThemeDrawTab(CGRect inRect, HIThemeTabDrawInfo inDrawInfo, int inContext, int inOrientation, CGRect outLabelRect);
-public static final native int HIThemeDrawTabPane(CGRect inRect, HIThemeTabPaneDrawInfo inDrawInfo, int inContext, int inOrientation);
-public static final native int HIThemeDrawTextBox(int inString, CGRect inBounds, HIThemeTextInfo inTextInfo, int inContext, int inOrientation); 
-public static final native int HIThemeDrawTrack(HIThemeTrackDrawInfo inDrawInfo, CGRect inGhostRect, int inContext, int inOrientation);
-public static final native int HIThemeGetButtonBackgroundBounds(CGRect inBounds, HIThemeButtonDrawInfo inDrawInfo, CGRect outBounds);
-public static final native int HIThemeGetButtonContentBounds(CGRect inBounds, HIThemeButtonDrawInfo inDrawInfo, CGRect outBounds);
-public static final native int HIThemeGetScrollBarTrackRect(CGRect inBounds, HIScrollBarTrackInfo inTrackInfo, boolean inIsHoriz, CGRect outTrackBounds);     
-public static final native int HIThemeGetTextDimensions(int inString, float inWidth, HIThemeTextInfo inTextInfo, float[] outWidth, float[] outHeight, float[] outBaseline);
-public static final native int HIThemeGetTrackBounds(HIThemeTrackDrawInfo inDrawInfo, CGRect outBounds);
-public static final native int HIThemeGetTrackPartBounds(HIThemeTrackDrawInfo inDrawInfo, short inPartCode, CGRect outPartBounds);
-public static final native int HIThemeGetTrackThumbPositionFromBounds(HIThemeTrackDrawInfo inDrawInfo, CGRect inThumbBounds, float[] outRelativePosition);  
-public static final native int HIThemeGetTrackThumbPositionFromOffset(HIThemeTrackDrawInfo inDrawInfo, CGPoint inThumbOffset, float[] outRelativePosition);
-public static final native int HIThemeGetTrackLiveValue(HIThemeTrackDrawInfo inDrawInfo, float inRelativePosition, int[] outValue);
-public static final native boolean HIThemeHitTestScrollBarArrows(CGRect inScrollBarBounds, HIScrollBarTrackInfo inTrackInfo, boolean inIsHoriz, CGPoint inPtHit, CGRect outTrackBounds, short[] outPartCode);
-public static final native boolean HIThemeHitTestTrack(HIThemeTrackDrawInfo inDrawInfo, CGPoint inMousePoint, short[] outPartHit);
-public static final native int HIThemeSetFill(int inBrush, int inInfo, int inContext, int inOrientation);
-public static final native int HIViewAddSubview(int parent, int child);
-public static final native int HIViewChangeAttributes(int inView, int inAttrsToSet, int inAttrsToClear);
-public static final native int HIViewChangeFeatures(int inView, int inFeaturesToSet, int inFeaturesToClear);
-public static final native int HIViewClick(int inView, int inEvent);
-public static final native int HIViewConvertPoint(CGPoint ioPoint, int inSourceView, int inDestView);
-public static final native int HIViewConvertRect(CGRect ioRect, int inSourceView, int inDestView);  
-public static final native int HIViewConvertRegion(int ioRgn, int inSourceView, int inDestView); 
-public static final native int HIViewCreateOffscreenImage(int inView, int inOptions, CGRect outFrame, int[] outImage	);
-public static final native int HIViewFindByID(int inStartView, int inID, int[] outControl);
-public static final native int HIViewGetBounds(int inView, CGRect outRect);
-public static final native int HIViewGetFeatures(int inView, int[] outFeatures);
-public static final native int HIViewGetFirstSubview(int inView);
-public static final native int HIViewGetLastSubview(int inView);
-public static final native int HIViewGetNextView(int inView);
-public static final native int HIViewGetFrame(int inView, CGRect outRect);
-public static final native int HIViewGetRoot(int wHandle);
-public static final native int HIViewGetSizeConstraints(int inView, CGRect outMinSize, CGRect outMaxSize);
-public static final native int HIViewGetSubviewHit(int inView, CGPoint inPoint, boolean inDeep, int[] outView);
-public static final native int HIViewGetSuperview(int inView);
-public static final native int HIViewGetViewForMouseEvent(int inView, int inEvent, int[] outView);
-public static final native boolean HIViewIsDrawingEnabled (int inView);
-public static final native boolean HIViewIsVisible(int inView);
-public static final native int HIViewRemoveFromSuperview(int inView);
-public static final native int HIViewRender(int inView);
-public static final native int HIViewSetBoundsOrigin(int inView, float inX, float inY); 
-public static final native int HIViewSetDrawingEnabled(int inView, boolean isEnabled);
-public static final native int HIViewSetFrame(int inView, CGRect inRect);
-public static final native int HIViewSetNeedsDisplay(int inView, boolean inNeedsDisplay);
-public static final native int HIViewSetNeedsDisplayInRegion(int inView, int inRgn, boolean inNeedsDisplay);
-public static final native int HIViewSetVisible(int inView, boolean inVisible);
-public static final native int HIViewSetZOrder(int inView, int inOp, int inOther);
-public static final native int HIViewSimulateClick(int inView, short inPartToClick, int modifiers, short[] outPartClicked);
-public static final native short HandleControlClick(int cHandle, Point where, int modifiers, int actionUPP);
-public static final native short HiWord(int doubleWord);
-public static final native void HideWindow(int wHandle);
-public static final native void HiliteMenu(short menuID);
-public static final native void HLock(int h);
-public static final native int HMDisplayTag(HMHelpContentRec inContent);
-public static final native int HMGetTagDelay (int [] outDelay);
-public static final native int HMHideTag ();
-public static final native int HMSetTagDelay (int inDelay);
-public static final native void HMInstallControlContentCallback(int inControl, int inContentUPP);  
-public static final native void HUnlock(int h);
-public static final native int IconRefToIconFamily(int theIconRef, int whichIcons, int[] iconFamily);
-public static final native int InitContextualMenus();
-public static final native void InitCursor();
-public static final native int InitDataBrowserCallbacks(DataBrowserCallbacks callbacks);
-public static final native int InitDataBrowserCustomCallbacks(DataBrowserCustomCallbacks callbacks); 
-public static final native void InsertMenu(int mHandle, short beforeID);
-public static final native int InsertMenuItemTextWithCFString(int mHandle, int sHandle, short index, int attributes, int commandID);
-public static final native int InstallEventHandler(int inTarget, int inHandler, int inNumTypes, int[] inList, int inUserData, int[] outRef);
-public static final native int InstallEventLoopIdleTimer(int inEventLoop, double inFireDelay,double inInterval, int inTimerProc, int inTimerData, int[] outTimer);
-public static final native int InstallEventLoopTimer(int inEventLoop, double inFireDelay, double inInterval, int inTimerProc, int inTimerData, int[] outTimer);
-public static final native int InstallReceiveHandler(int receiveHandler,int theWindow, int[] handlerRefCon);
-public static final native int InstallTrackingHandler(int trackingHandler,int theWindow, int[] handlerRefCon);
-public static final native void InvalWindowRect(int wHandle, Rect bounds);
-public static final native void InvalWindowRgn(int wHandle, int rgnHandle);
-public static final native void InvertRect(Rect r);
-public static final native void InvertRgn(int rgnHandle);
-public static final native boolean IsControlActive(int inControl);
-public static final native boolean IsControlEnabled(int cHandle);
-public static final native boolean IsControlVisible(int cHandle);
-public static final native boolean IsDataBrowserItemSelected(int cHandle, int itemID);
-public static final native boolean IsMenuCommandEnabled(int mHandle, int commandId);
-public static final native boolean IsMenuItemEnabled(int mHandle, short index);
-public static final native boolean IsValidControlHandle(int cHandle);
-public static final native boolean IsValidMenu(int mHandle);
-public static final native boolean IsValidWindowPtr(int grafPort);
-public static final native boolean IsWindowActive(int window);
-public static final native boolean IsWindowCollapsed(int window);
-public static final native boolean IsWindowVisible(int window);
-public static final native int KeyTranslate(int transData, short keycode, int[] state);
-public static final native void KillPoly(int polyHandle);
-public static final native void LineTo(short h, short v);
-public static final native int Long2Fix(int x);
-public static final native short LoWord(int doubleWord);
-public static final native int LockPortBits(int portHandle);
-public static final native int MenuSelect(Point mHandle);
-public static final native void MoveControl(int theControl, short h, short v);
-public static final native void MoveTo(short h, short v);
-public static final native void MoveWindow(int wHandle, short h, short v, boolean toFront);
-public static final native int NavCreateChooseFolderDialog(NavDialogCreationOptions inOptions, int inEventProc, int inFilterProc, int inClientData, int[] outDialog);
-public static final native int NavCreateGetFileDialog(NavDialogCreationOptions inOptions, int inTypeList, int inEventProc, int inPreviewProc, int inFilterProc, int inClientData, int[] outDialog);
-public static final native int NavCreatePutFileDialog(NavDialogCreationOptions inOptions, int inFileType, int inFileCreator, int inEventProc, int inClientData, int[] outDialog);
-public static final native void NavDialogDispose(int dialogHandle);
-public static final native int NavDialogGetSaveFileName(int dialogHandle);
-public static final native int NavDialogGetUserAction(int dialogHandle);
-public static final native int NavDialogRun(int dialogHandle);
-public static final native int NavDialogSetSaveFileName(int dialogHandle, int fileNameHandle);
-public static final native int NavDialogSetFilterTypeIdentifiers(int inGetFileDialog, int inTypeIdentifiers);  
-public static final native int NavGetDefaultDialogCreationOptions(NavDialogCreationOptions outOptions);
-public static final native int NavDialogGetReply(int inDialog, NavReplyRecord outReply);
-public static final native int NewControl(int owningWindow, Rect boundsRect, byte[] controlTitle, boolean initiallyVisible, short initialValue, short minimumValue, short maximumValue, short procID, int controlReference);
-public static final native int NewDrag(int[] theDrag); 
-public static final native int NewGWorldFromPtr(int[] offscreenGWorld, int PixelFormat, Rect boundsRect, int cTable, int aGDevice, int flags, int newBuffer, int rowBytes);
-public static final native int NewHandle(int size);
-public static final native int NewHandleClear(int size);
-public static final native int NewPtr(int size);
-public static final native int NewPtrClear(int size);
-public static final native int NewRgn();
-public static final native void OffsetRect(Rect rect, short dh, short dv);
-public static final native void OffsetRgn(int rgnHandle, short dh, short dv);
-public static final native int OpenDataBrowserContainer(int cHandle, int container);
-public static final native int OpenPoly();
-public static final native void OpenRgn();
-public static final native void PaintOval(Rect bounds);
-public static final native void PaintPoly(int polyHandle);
-public static final native void PaintRect(Rect bounds);
-public static final native void PaintRoundRect(Rect bounds, short ovalWidth, short ovalHeight);
-public static final native void PenSize(short h, short v);
-public static final native int PickColor(ColorPickerInfo theColorInfo);
-public static final native int PopUpMenuSelect(int mHandle, short top, short left, short popUpItem);
-public static final native int PostEvent(short eventNum, int eventMsg);
-public static final native int PostEventToQueue(int inQueue, int inEvent, short inPriority);
-public static final native int PMCreatePageFormat(int[] pageFormat);
-public static final native int PMCreatePrintSettings(int[] printSettings);
-public static final native int PMCreateSession(int[] printSession);
-public static final native int PMFlattenPageFormat(int pageFormat, int[] flatFormat);
-public static final native int PMFlattenPrintSettings(int printSettings, int[] flatSettings);
-public static final native int PMGetAdjustedPageRect(int pageFormat, PMRect pageRect);
-public static final native int PMGetAdjustedPaperRect(int pageFormat, PMRect paperRect);
-public static final native int PMGetCollate(int printSettings, boolean[] collate);
-public static final native int PMGetCopies(int printSettings, int[] copies);
-public static final native int PMGetFirstPage(int printSettings, int[] first);
-public static final native int PMGetJobNameCFString(int printSettings, int[] name);
-public static final native int PMGetLastPage(int printSettings, int[] last);
-public static final native int PMGetPageRange(int printSettings, int[] minPage, int[] maxPage);
-public static final native int PMRelease(int printManagerObject);
-public static final native int PMGetResolution(int pageFormat, PMResolution resolution);
-public static final native int PMSessionBeginDocumentNoDialog(int printSession, int printSettings, int pageFormat);
-public static final native int PMSessionBeginPageNoDialog(int printSession, int pageFormat, PMRect pageFrame);
-public static final native int PMSessionCopyDestinationLocation(int printSession, int printSettings, int[] destLocationP);
-public static final native int PMSessionCreatePrinterList(int printSession, int[] printerList, int[] currentIndex, int[] currentPrinter);
-public static final native int PMSessionDefaultPageFormat(int printSession, int pageFormat);
-public static final native int PMSessionDefaultPrintSettings(int printSession, int printSettings);
-public static final native int PMSessionEndDocumentNoDialog(int printSession);
-public static final native int PMSessionEndPageNoDialog(int printSession);
-public static final native int PMSessionError(int printSession);
-public static final native int PMSessionGetDestinationType(int printSession, int printSettings, short[] destTypeP); 
-public static final native int PMSessionGetGraphicsContext(int printSession, int graphicsType, int[] graphicsContext);
-public static final native int PMSessionPageSetupDialog(int printSession, int pageFormat, boolean[] result);	
-public static final native int PMSessionPrintDialog(int printSession, int settings, int pageFormat, boolean[] accepted);
-public static final native int PMSessionSetCurrentPrinter(int session, int printerName);
-public static final native int PMSessionSetDestination(int printSession, int printSettings, short destType, int destFormat, int destLocation);
-public static final native int PMSessionSetError(int printSession, int printError);
-public static final native int PMSessionSetDocumentFormatGeneration(int printSession, int docFormat, int graphicsContexts, int options);
-public static final native int PMSessionUseSheets(int printSession, int documentWindow, int sheetDoneProc); 
-public static final native int PMSessionValidatePageFormat(int printSession, int pageFormat, boolean[] result);
-public static final native int PMSessionValidatePrintSettings(int printSession, int printSettings, boolean[] result);
-public static final native int PMSetCollate(int printSettings, boolean collate);
-public static final native int PMSetFirstPage(int printSettings, int first, boolean lock);
-public static final native int PMSetJobNameCFString(int printSettings, int name); 
-public static final native int PMSetLastPage(int printSettings, int last, boolean lock);
-public static final native int PMSetPageRange(int printSettings, int minPage, int maxPage);
-public static final native int PMUnflattenPageFormat(int flatFormat, int[] pageFormat); 
-public static final native int PMUnflattenPrintSettings(int flatSettings, int[] printSettings); 
-public static final native boolean PtInRect(Point pt, Rect r);
-public static final native boolean PtInRgn(Point pt, int rgnHandle);
-public static final native int PutScrapFlavor(int scrap, int flavorType, int flavorFlags, int flavorSize, byte[] flavorData);
-public static final native int PutScrapFlavor(int scrap, int flavorType, int flavorFlags, int flavorSize, char[] flavorData);
-public static final native int QDBeginCGContext(int inPort, int[] outContext);
-public static final native int QDEndCGContext(int inPort, int[] inoutContext);
-public static final native void QDFlushPortBuffer(int port, int rgnHandle);
-public static final native void QDGlobalToLocalPoint(int port, Point point);
-public static final native void QDLocalToGlobalPoint(int port, Point point);
-public static final native int QDRegionToRects(int rgn, int dir, int proc, int userData);
-public static final native int QDSetDirtyRegion (int port, int rgn);
-public static final native void QDSetPatternOrigin(Point point);
-public static final native int QDSwapTextFlags(int flags);
-public static final native void RGBBackColor(RGBColor color);
-public static final native void RGBForeColor(RGBColor color);
-public static final native int ReadIconFile (byte[] iconFile, int[] iconFamily);
-public static final native int ReceiveNextEvent(int inNumTypes, int[] inList, double inTimeout, boolean inPullEvent, int[] outEvent);
-public static final native boolean RectInRgn(Rect rect, int rgnHandle);
-public static final native void RectRgn(int rgnHandle, Rect left);
-public static final native int RegisterAppearanceClient();
-public static final native void ReleaseEvent(int theEvent);
-public static final native void ReleaseIconRef(int theIconRef);
-public static final native int ReleaseMenu(int mHandle);
-public static final native int ReleaseWindowGroup (int inGroup);
-public static final native int ReleaseWindow(int inWindow); 
-public static final native int RemoveControlProperty(int control, int propertyCreator, int propertyTag);
-public static final native int RemoveDataBrowserItems(int cHandle, int containerID, int numItems, int[] itemIDs, int preSortProperty);
-public static final native int RemoveDataBrowserTableViewColumn(int browser, int column);
-public static final native int RemoveEventHandler(int inHandlerRef);
-public static final native int RemoveEventLoopTimer(int inTimer);
-public static final native int RemoveReceiveHandler(int receiveHandler,int theWindow);
-public static final native int RemoveTrackingHandler(int trackingHandler,int theWindow);
-public static final native int RepositionWindow(int window, int parentWindow, int method);
-public static final native int ReshapeCustomWindow(int window);
-public static final native int RestoreApplicationDockTileImage();
-public static final native int RetainEvent(int inEvent);
-public static final native int RetainMenu(int mHandle);
-public static final native int RetainWindow(int inWindow); 
-public static final native int RevealDataBrowserItem(int browser, int item, int property, byte options);
-public static final native int RunStandardAlert(int dialogHandle, int modalFilterUPP, short[] itemHit);
-public static final native void ScrollRect(Rect rect, short dh, short dv, int updateRgn);
-public static final native boolean SectRect(Rect src1, Rect src2, Rect dstRect);
-public static final native void SectRgn(int srcRgnA, int srcRgnB, int dstRgn);
-public static final native void SelectWindow(int wHandle);
-public static final native void SendBehind(int window, int behindWindow);
-public static final native int SendEventToEventTarget(int theEvent, int theTarget);
-public static final native int SendEventToEventTargetWithOptions(int theEvent, int theTarget, int options);
-public static final native int SetApplicationDockTileImage(int inImage);
-public static final native int SetAutomaticControlDragTrackingEnabledForWindow (int inWindow, boolean inTracks);
-public static final native int SetBevelButtonContentInfo(int inButton, ControlButtonContentInfo inContent);
-public static final native void SetClip(int rgnHandle);
-public static final native void SetControl32BitMaximum(int cHandle, int maximum);
-public static final native void SetControl32BitMinimum(int cHandle, int minimum);
-public static final native void SetControl32BitValue(int cHandle, int value);
-public static final native void SetControlAction(int cHandle, int actionProc);
-public static final native void SetControlBounds(int cHandle, Rect bounds);
-public static final native int SetControlColorProc(int inControl, int inProc);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, ControlButtonContentInfo inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, ControlTabInfoRecV1 inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, Rect inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, short[] inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, int[] inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, int inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, byte[] inData);
-public static final native int SetControlData(int inControl, int inPart, int inTagName, int inSize, ControlEditTextSelectionRec inData);
-public static final native int SetControlFontStyle(int inControl, ControlFontStyleRec inStyle);
-public static final native void SetControlPopupMenuHandle(int cHandle, int popupMenuHandle);
-public static final native int SetControlProperty(int control, int propertyCreator, int propertyTag, int propertySize, int[] propertyData);
-public static final native void SetControlReference(int cHandle, int data);
-public static final native int SetControlTitleWithCFString(int cHandle, int sHandle);
-public static final native void SetControlViewSize(int cHandle, int viewSize);
-public static final native int SetControlVisibility(int inControl, boolean inIsVisible, boolean inDoDraw);
-public static final native void SetCursor(int cursor);
-public static final native int SetDataBrowserCallbacks(int browser, DataBrowserCallbacks  callbacks);
-public static final native int SetDataBrowserCustomCallbacks(int browser, DataBrowserCustomCallbacks  callbacks);
-public static final native int SetDataBrowserHasScrollBars(int cHandle, boolean hScroll, boolean vScroll);
-public static final native int SetDataBrowserItemDataBooleanValue(int itemRef, boolean data);
-public static final native int SetDataBrowserItemDataButtonValue(int itemRef, short themeButtonValue);
-public static final native int SetDataBrowserItemDataIcon(int itemRef, int iconRef);
-public static final native int SetDataBrowserItemDataItemID(int itemRef, int itemID);
-public static final native int SetDataBrowserItemDataText(int itemRef, int sHandle);
-public static final native int SetDataBrowserListViewDisclosureColumn(int cHandle, int colID, boolean b);
-public static final native int SetDataBrowserListViewHeaderBtnHeight(int cHandle, short height);
-public static final native int SetDataBrowserListViewHeaderDesc(int browser, int column, DataBrowserListViewHeaderDesc desc);
-public static final native int SetDataBrowserPropertyFlags(int browser, int property, int flags);
-public static final native int SetDataBrowserScrollPosition(int cHandle, int top, int left);
-public static final native int SetDataBrowserSelectedItems(int cHandle, int numItems, int[] items, int operation);
-public static final native int SetDataBrowserSelectionFlags(int cHandle, int selectionFlags);
-public static final native int SetDataBrowserSortOrder(int browser, short order);
-public static final native int SetDataBrowserSortProperty(int browser, int property);
-public static final native int SetDataBrowserTableViewColumnPosition(int browser, int column, int position);
-public static final native int SetDataBrowserTableViewHiliteStyle(int browser, int hiliteStyle);  
-public static final native int SetDataBrowserTableViewItemRow(int browser, int item, int row);
-public static final native int SetDataBrowserTableViewNamedColumnWidth(int browser, int column, short width);
-public static final native int SetDataBrowserTableViewRowHeight(int browser, short height	);
-public static final native int SetDataBrowserTarget(int cHandle, int rootID);
-public static final native int SetDragAllowableActions(int theDrag, int inActions, boolean isLocal);
-public static final native int SetDragDropAction(int theDrag, int inAction);
-public static final native int SetDragImageWithCGImage(int inDrag, int inCGImage, CGPoint inImageOffsetPt, int inImageFlags);
-public static final native int SetDragInputProc(int theDrag, int inputProc, int dragInputRefCon);
-public static final native int SetDragItemFlavorData (int theDrag, int theItemRef, int theType, byte[] dataPtr, int dataSize, int dataOffset);
-public static final native int SetDragSendProc(int theDrag, int sendProc, int dragSendRefCon);
-public static final native int SetEventLoopTimerNextFireTime(int inTimer, double inNextFire);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, HICommand inDataPtr);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, char[] inDataPtr);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, short[] inDataPtr);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, int[] inDataPtr);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, boolean[] inDataPtr);
-public static final native int SetEventParameter(int inEvent, int inName, int inType, int inSize, CGPoint inDataPtr);
-public static final native int SetFontInfoForSelection(int iStyleType, int iNumStyles, int iStyles, int iFPEventTarget);
-public static final native int SetFrontProcess(int[] psn);
-public static final native int SetFrontProcessWithOptions(int[] psn, int inOptions);
-public static final native void SetGWorld(int portHandle, int gdHandle);
-public static final native int SetIconFamilyData(int iconFamily, int iconType, int h);
-public static final native void SetItemMark(int theMenu, short item, short markChar);
-public static final native int SetKeyboardFocus(int wHandle, int cHandle, short inPart);
-public static final native int SetMenuCommandMark(int mHandle, int commandId, char mark);
-public static final native int SetMenuFont(int mHandle, short fontID, short size);
-public static final native int SetMenuItemCommandKey(int mHandle, short index, boolean virtualKey, char key);
-public static final native int SetMenuItemHierarchicalMenu(int mHandle, short index, int hierMenuHandle);
-public static final native int SetMenuItemIconHandle(int mHandle, short item, byte iconType, int iconHandle);
-public static final native int SetMenuItemKeyGlyph(int mHandle, short index, short glyph);
-public static final native int SetMenuItemModifiers(int mHandle, short index, byte modifiers);
-public static final native int SetMenuItemRefCon(int mHandle, short index, int refCon);
-public static final native int SetMenuItemTextWithCFString(int mHandle, short index, int sHandle);
-public static final native int SetMenuTitleWithCFString(int mHandle, int sHandle);
-public static final native void SetOrigin(short h, short v);
-public static final native void SetPort(int pHandle);
-public static final native void SetPortBounds(int port, Rect rect);
-public static final native void SetPortWindowPort(int wHandle);
-public static final native void SetPt(Point p, short h, short v);
-public static final native void SetRect(Rect r, short left, short top, short right, short bottom);
-public static final native void SetRectRgn(int rgnHandle, short left, short top, short right, short bottom);
-public static final native int SetRootMenu(int mHandle);
-public static final native int SetThemeBackground(short inBrush, short depth, boolean isColorDevice);
-public static final native int SetThemeCursor(int themeCursor);
-public static final native int SetThemeDrawingState(int state, boolean disposeNow);
-public static final native int SetThemeTextColor(short inBrush, short depth, boolean isColorDevice);
-public static final native int SetThemeWindowBackground(int wHandle, short brush, boolean update);
-public static final native int SetUpControlBackground(int cHandle, short depth, boolean isColorDevice);
-public static final native void SetWRefCon(int wHandle, int data);
-public static final native int SetWindowActivationScope(int wHandle, int scope);
-public static final native void SetWindowBounds(int window, int regionCode, Rect globalBounds);
-public static final native int SetWindowDefaultButton(int wHandle, int cHandle);
-public static final native int SetWindowGroup(int inWindow, int inNewGroup);
-public static final native int SetWindowGroupOwner(int inGroup, int inWindow);
-public static final native int SetWindowGroupParent(int inGroup, int inNewGroup);
-public static final native int SetWindowModality(int inWindow, int inModalKind, int inUnavailableWindow);
-public static final native int SetWindowResizeLimits (int inWindow, CGPoint inMinLimits, CGPoint inMaxLimits);
-public static final native int SetWindowTitleWithCFString(int wHandle, int sHandle);
-public static final native void ShowWindow(int wHandle);
-public static final native void SizeControl(int cHandle, short w, short h);
-public static final native void SizeWindow(int wHandle, short w, short h, boolean update);
-public static final native boolean StillDown();
-public static final native int SyncCGContextOriginWithPort(int inContext, int port);
-public static final native void SysBeep(short duration);
-public static final native int TXNActivate(int txHandle, int frameID, boolean scrollBarState);
-public static final native void TXNAdjustCursor (int iTXNObject, int ioCursorRgn);
-public static final native void TXNClick(int iTXNObject, EventRecord iEvent);
-public static final native int TXNCopy(int txHandle);
-public static final native int TXNCut(int txHandle);
-public static final native int TXNDataSize(int txHandle);
-public static final native void TXNDeleteObject(int txHandle);
-public static final native void TXNDraw(int txHandle, int gDevice);
-public static final native int TXNEchoMode(int txHandle, char echoCharacter, int encoding, boolean on);
-public static final native void TXNFocus(int txHandle, boolean becomingFocused);
-public static final native int TXNGetData(int txHandle, int startOffset, int endOffset, int[] dataHandle);
-public static final native int TXNGetLineCount(int txHandle, int[] lineTotal);
-public static final native int TXNGetLineMetrics(int iTXNObject, int iLineNumber, int [] oLineWidth, int [] oLineHeight);
-public static final native int TXNGetTXNObjectControls(int iTXNObject, int iControlCount, int [] iControlTags, int [] oControlData);
-public static final native int TXNGetHIRect(int iTXNObject, int iTXNRectKey, CGRect oRectangle);
-public static final native int TXNGetRectBounds(int iTXNObject, Rect oViewRect, TXNLongRect oDestinationRect, TXNLongRect oTextRect);
-public static final native void TXNGetSelection(int txHandle, int[] startOffset, int[] endOffset);
-public static final native void TXNGetViewRect (int iTXNObject, Rect oViewRect);
-public static final native int TXNInitTextension(int iDefaultFonts, int iCountDefaultFonts, int iUsageFlags);
-public static final native int TXNNewObject(int iFileSpec, int iWindw, Rect iFrame, int iFrameOptions, int iFrameType, int iFileType, int iPermanentEncoding, int [] oTXNObject, int[] oTXNFrameID, int iRefCpm);
-public static final native int TXNOffsetToPoint(int txHandle, int offset, Point point);
-public static final native int TXNPaste(int txHandle);
-public static final native int TXNPointToOffset (int iTXNObject, Point iPoint, int [] oOffset);
-public static final native void TXNSelectAll(int txHandle);
-public static final native void TXNSetRectBounds(int iTXNObject, Rect iViewRect, TXNLongRect iDestinationRect, boolean iUpdate);
-public static final native int TXNSetBackground(int iTXNObject, TXNBackground iBackgroundInfo);
-public static final native int TXNSetData(int iTXNObject, int iDataType, char[] iDataPtr, int iDataSize, int iStartOffset, int iEndOffset);
-public static final native void TXNSetFrameBounds(int txHandle, int top, int left, int bottom, int right, int frameID);
-public static final native int TXNSetSelection(int txHandle, int startOffset, int endOffset);
-public static final native int TXNSetTypeAttributes(int iTXNObject, int iAttrCount, int iAttributes, int iStartOffset, int iEndOffset);
-public static final native int TXNSetTXNObjectControls(int iTXNObject, boolean iClearAll, int iControlCount, int[] iControlTags, int[] iControlData);
-public static final native void TXNShowSelection(int txHandle, boolean showEnd);
-public static final native short TestControl(int control, Point point);
-public static final native void TextFace(short face);
-public static final native void TextFont(short fontID);
-public static final native void TextMode(short mode);
-public static final native void TextSize(short size);
-public static final native short TextWidth(byte[] textBuf, short firstByte, short byteCount);
-public static final native int TrackDrag(int theDrag, EventRecord theEvent, int theRegion);
-public static final native int TrackMouseLocationWithOptions(int inPort, int inOptions, double inTime, Point outPt, int [] outModifiers, short[] outResult);
-public static final native int UTTypeCreatePreferredIdentifierForTag(int inTagClass, int inTag, int inConformingToUTI);   
-public static final native void UnionRect(Rect srcA, Rect srcB, Rect dst);
-public static final native void UnionRgn(int srcRgnA, int srcRgnB, int dstRgn);
-public static final native int UnlockPortBits(int portHandle);
-public static final native void UpdateControls(int wHandle, int rgnHandle);
-public static final native int UpdateDataBrowserItems(int cHandle, int container, int numItems, int[] items, int preSortProperty, int propertyID);
-public static final native int UpgradeScriptInfoToTextEncoding(short iTextScriptID, short iTextLanguageID, short iRegionID, byte[] iTextFontname, int[] oEncoding); 
-public static final native boolean WaitMouseMoved(Point initialGlobalMouse);
-public static final native int X2Fix(double x);
-public static final native int ZoomWindowIdeal(int inWindow, short inPartCode, Point ioIdealSize);
-public static final native int kCFNumberFormatterDecimalSeparator();
-public static final native int getpid();
-public static final native int getenv(byte[] name);
-public static final native void memcpy(ATSTrapezoid dest, int src, int n);
-public static final native void memcpy(CGPathElement dest, int src, int n);
-public static final native void memcpy(byte[] dest, int src, int n);
-public static final native void memcpy(char[] dest, int src, int n);
-public static final native void memcpy(int[] dest, int src, int n);
-public static final native void memcpy(int dest, int[] src, int n);
-public static final native void memcpy(int dest, PixMap src, int n);
-public static final native void memcpy(int dest, Cursor src, int n);
-public static final native void memcpy(GDevice dest, int src, int n);
-public static final native void memcpy(PixMap dest, int src, int n);
-public static final native void memcpy(FontSelectionQDStyle dest, int src, int n);
-public static final native void memcpy(HMHelpContentRec dest, int src, int n);
-public static final native void memcpy(ATSLayoutRecord dest, int src, int n);
-public static final native void memcpy(int dest, HMHelpContentRec src, int n);
-public static final native void memcpy(int dest, BitMap src, int n);
-public static final native void memcpy(int dest, char[] src, int n);
-public static final native void memcpy(int dest, int src, int n);
-public static final native void memcpy(int dest, byte[] src, int n);
-public static final native void memcpy(int dest, float[] src, int n);
-public static final native void memcpy(int dest, FontSelectionQDStyle src, int n);
-public static final native void memcpy(int dest, RGBColor src, int n);
-public static final native void memcpy(Rect dest, int src, int n);
-public static final native void memcpy(int dest, Rect src, int n);
-public static final native void memcpy(char[] dest, byte[] src, int size);
-public static final native void memcpy(byte[] dest, char[] src, int size);
-public static final native void memcpy(int dest, EventRecord src, int size);
-public static final native void memcpy(int dest, ATSUTab src, int size);
-public static final native void memcpy(int[] dest, TXNTab src, int size);
-public static final native void memcpy(float[] dest, int src, int size);
-public static final native void memset(int dest, int value, int size);
-public static final native int strlen(int ptr);
-
-
-public static final native int AXUIElementCreateWithHIObjectAndIdentifier(int inHIObject, long inIdentifier);
-public static final native void AXNotificationHIObjectNotify(int inNotification, int inHIObject, long inIdentifier);
-public static final native void AXUIElementGetIdentifier(int inUIElement, long[] outIdentifier);
-public static final native int AXValueCreate (int theType, CFRange range);
-
-public static final int kEventClassAccessibility = ('a'<<24) + ('c'<<16) + ('c'<<8) + 'e';
-
-public static final int kEventAccessibleGetChildAtPoint = 1;
-public static final int kEventAccessibleGetFocusedChild = 2;
-public static final int kEventAccessibleGetAllAttributeNames = 21;
-public static final int kEventAccessibleGetAllParameterizedAttributeNames = 25;
-public static final int kEventAccessibleGetNamedAttribute = 22;
-public static final int kEventAccessibleSetNamedAttribute = 23;
-public static final int kEventAccessibleIsNamedAttributeSettable = 24;
-public static final int kEventAccessibleGetAllActionNames = 41;
-public static final int kEventAccessiblePerformNamedAction = 42;
-public static final int kEventAccessibleGetNamedActionDescription = 44;
-
-public static final int kEventParamAccessibleObject = ('a'<<24) + ('o'<<16) + ('b'<<8) + 'j';
-public static final int kEventParamAccessibleChild = ('a'<<24) + ('c'<<16) + ('h'<<8) + 'l';
-public static final int kEventParamAccessibleAttributeName = ('a'<<24) + ('t'<<16) + ('n'<<8) + 'm';
-public static final int kEventParamAccessibleAttributeNames = ('a'<<24) + ('t'<<16) + ('n'<<8) + 's';
-public static final int kEventParamAccessibleAttributeValue = ('a'<<24) + ('t'<<16) + ('v'<<8) + 'l';
-public static final int kEventParamAccessibleAttributeSettable = ('a'<<24) + ('t'<<16) + ('s'<<8) + 't';
-public static final int kEventParamAccessibleAttributeParameter = ('a'<<24) + ('t'<<16) + ('p'<<8) + 'a';
-public static final int kEventParamAccessibleActionName = ('a'<<24) + ('c'<<16) + ('n'<<8) + 'm';
-public static final int kEventParamAccessibleActionNames = ('a'<<24) + ('c'<<16) + ('n'<<8) + 's';
-public static final int kEventParamAccessibleActionDescription = ('a'<<24) + ('c'<<16) + ('d'<<8) + 's';
-public static final int kEventParamAccessibleEventQueued = ('a'<<24) + ('e'<<16) + ('q'<<8) + 'u';
-
-public static final String kAXApplicationRole  = "AXApplication";
-public static final String kAXSystemWideRole   = "AXSystemWide";
-public static final String kAXWindowRole       = "AXWindow";
-public static final String kAXSheetRole        = "AXSheet";
-public static final String kAXDrawerRole       = "AXDrawer";
-public static final String kAXGrowAreaRole     = "AXGrowArea";
-public static final String kAXImageRole        = "AXImage";
-public static final String kAXUnknownRole      = "AXUnknown";
-public static final String kAXButtonRole       = "AXButton";
-public static final String kAXRadioButtonRole  = "AXRadioButton";
-public static final String kAXCheckBoxRole     = "AXCheckBox";
-public static final String kAXPopUpButtonRole  = "AXPopUpButton";
-public static final String kAXMenuButtonRole   = "AXMenuButton";
-public static final String kAXTabGroupRole     = "AXTabGroup";
-public static final String kAXTableRole        = "AXTable";
-public static final String kAXColumnRole       = "AXColumn";
-public static final String kAXRowRole          = "AXRow";
-public static final String kAXOutlineRole      = "AXOutline";
-public static final String kAXBrowserRole      = "AXBrowser";
-public static final String kAXScrollAreaRole   = "AXScrollArea";
-public static final String kAXScrollBarRole    = "AXScrollBar";
-public static final String kAXRadioGroupRole   = "AXRadioGroup";
-public static final String kAXListRole         = "AXList";
-public static final String kAXGroupRole        = "AXGroup";
-public static final String kAXValueIndicatorRole = "AXValueIndicator";
-public static final String kAXComboBoxRole     = "AXComboBox";
-public static final String kAXSliderRole       = "AXSlider";
-public static final String kAXIncrementorRole  = "AXIncrementor";
-public static final String kAXBusyIndicatorRole = "AXBusyIndicator";
-public static final String kAXProgressIndicatorRole = "AXProgressIndicator";
-public static final String kAXRelevanceIndicatorRole = "AXRelevanceIndicator";
-public static final String kAXToolbarRole      = "AXToolbar";
-public static final String kAXDisclosureTriangleRole = "AXDisclosureTriangle";
-public static final String kAXTextFieldRole = "AXTextField";
-public static final String kAXTextAreaRole     = "AXTextArea";
-public static final String kAXStaticTextRole   = "AXStaticText";
-public static final String kAXMenuBarRole      = "AXMenuBar";
-public static final String kAXMenuBarItemRole  = "AXMenuBarItem";
-public static final String kAXMenuRole         = "AXMenu";
-public static final String kAXMenuItemRole     = "AXMenuItem";
-public static final String kAXSplitGroupRole   = "AXSplitGroup";
-public static final String kAXSplitterRole     = "AXSplitter";
-public static final String kAXColorWellRole    = "AXColorWell";
-public static final String kAXTimeFieldRole    = "AXTimeField";
-public static final String kAXDateFieldRole    = "AXDateField";
-public static final String kAXHelpTagRole      = "AXHelpTag";
-public static final String kAXMatteRole        = "AXMatteRole";
-public static final String kAXDockItemRole     = "AXDockItem";
-public static final String kAXLinkRole         = "AXLink";  // as seen in Safari
-
-public static final String kAXCloseButtonSubrole       = "AXCloseButton";
-public static final String kAXMinimizeButtonSubrole    = "AXMinimizeButton";
-public static final String kAXZoomButtonSubrole        = "AXZoomButton";
-public static final String kAXToolbarButtonSubrole     = "AXToolbarButton";
-public static final String kAXSecureTextFieldSubrole   = "AXSecureTextField";
-public static final String kAXTableRowSubrole          = "AXTableRow";
-public static final String kAXOutlineRowSubrole        = "AXOutlineRow";
-public static final String kAXUnknownSubrole           = "AXUnknown";
-public static final String kAXStandardWindowSubrole    = "AXStandardWindow";
-public static final String kAXDialogSubrole            = "AXDialog";
-public static final String kAXSystemDialogSubrole      = "AXSystemDialog";
-public static final String kAXFloatingWindowSubrole    = "AXFloatingWindow";
-public static final String kAXSystemFloatingWindowSubrole = "AXSystemFloatingWindow";
-public static final String kAXIncrementArrowSubrole    = "AXIncrementArrow";
-public static final String kAXDecrementArrowSubrole    = "AXDecrementArrow";
-public static final String kAXIncrementPageSubrole     = "AXIncrementPage";
-public static final String kAXDecrementPageSubrole     = "AXDecrementPage";
-public static final String kAXSortButtonSubrole        = "AXSortButton";
-public static final String kAXSearchFieldSubrole       = "AXSearchField";
-public static final String kAXApplicationDockItemSubrole = "AXApplicationDockItem";
-public static final String kAXDocumentDockItemSubrole  = "AXDocumentDockItem";
-public static final String kAXFolderDockItemSubrole    = "AXFolderDockItem";
-public static final String kAXMinimizedWindowDockItemSubrole= "AXMinimizedWindowDockItem";
-public static final String kAXURLDockItemSubrole       = "AXURLDockItem";
-public static final String kAXDockExtraDockItemSubrole = "AXDockExtraDockItem";
-public static final String kAXTrashDockItemSubrole     = "AXTrashDockItem";
-public static final String kAXProcessSwitcherListSubrole = "AXProcessSwitcherList";
-
-//General attributes
-public static final String kAXRoleAttribute                    = "AXRole";
-public static final String kAXSubroleAttribute                 = "AXSubrole";
-public static final String kAXRoleDescriptionAttribute         = "AXRoleDescription";
-public static final String kAXHelpAttribute                    = "AXHelp";
-public static final String kAXTitleAttribute                   = "AXTitle";
-public static final String kAXValueAttribute                   = "AXValue";
-public static final String kAXMinValueAttribute                = "AXMinValue";
-public static final String kAXMaxValueAttribute                = "AXMaxValue";
-public static final String kAXValueIncrementAttribute          = "AXValueIncrement";
-public static final String kAXAllowedValuesAttribute           = "AXAllowedValues";
-public static final String kAXEnabledAttribute                 = "AXEnabled";
-public static final String kAXFocusedAttribute                 = "AXFocused";
-public static final String kAXParentAttribute                  = "AXParent";
-public static final String kAXChildrenAttribute                = "AXChildren";
-public static final String kAXSelectedChildrenAttribute        = "AXSelectedChildren";
-public static final String kAXVisibleChildrenAttribute         = "AXVisibleChildren";
-public static final String kAXWindowAttribute                  = "AXWindow";
-public static final String kAXTopLevelUIElementAttribute       = "AXTopLevelUIElement";
-public static final String kAXPositionAttribute                = "AXPosition";
-public static final String kAXSizeAttribute                    = "AXSize";
-public static final String kAXOrientationAttribute             = "AXOrientation";
-public static final String kAXDescriptionAttribute             = "AXDescription";
-
-//   Text-specific attributes
-public static final String kAXSelectedTextAttribute            = "AXSelectedText";
-public static final String kAXVisibleCharacterRangeAttribute   = "AXVisibleCharacterRange";
-public static final String kAXSelectedTextRangeAttribute       = "AXSelectedTextRange";
-public static final String kAXNumberOfCharactersAttribute      = "AXNumberOfCharacters";
-public static final String kAXSharedTextUIElementsAttribute    = "AXSharedTextUIElements";
-public static final String kAXSharedCharacterRangeAttribute    = "AXSharedCharacterRange";
-     
-//   Window-specific attributes
-public static final String kAXMainAttribute                    = "AXMain";
-public static final String kAXMinimizedAttribute               = "AXMinimized";
-public static final String kAXCloseButtonAttribute             = "AXCloseButton";
-public static final String kAXZoomButtonAttribute              = "AXZoomButton";
-public static final String kAXMinimizeButtonAttribute          = "AXMinimizeButton";
-public static final String kAXToolbarButtonAttribute           = "AXToolbarButton";
-public static final String kAXGrowAreaAttribute                = "AXGrowArea";
-public static final String kAXProxyAttribute                   = "AXProxy";
-public static final String kAXModalAttribute                   = "AXModal";
-public static final String kAXDefaultButtonAttribute           = "AXDefaultButton";
-public static final String kAXCancelButtonAttribute            = "AXCancelButton";
-     
-//   Menu-specific attributes
-public static final String kAXMenuItemCmdCharAttribute         = "AXMenuItemCmdChar";
-public static final String kAXMenuItemCmdVirtualKeyAttribute   = "AXMenuItemCmdVirtualKey";
-public static final String kAXMenuItemCmdGlyphAttribute        = "AXMenuItemCmdGlyph";
-public static final String kAXMenuItemCmdModifiersAttribute    = "AXMenuItemCmdModifiers";
-public static final String kAXMenuItemMarkCharAttribute        = "AXMenuItemMarkChar";
-public static final String kAXMenuItemPrimaryUIElementAttribute = "AXMenuItemPrimaryUIElement";
-     
-//   Application-specific attributes
-public static final String kAXMenuBarAttribute                 = "AXMenuBar";
-public static final String kAXWindowsAttribute                 = "AXWindows";
-public static final String kAXFrontmostAttribute               = "AXFrontmost";
-public static final String kAXHiddenAttribute                  = "AXHidden";
-public static final String kAXMainWindowAttribute              = "AXMainWindow";
-public static final String kAXFocusedWindowAttribute           = "AXFocusedWindow";
-public static final String kAXFocusedUIElementAttribute        = "AXFocusedUIElement"; 
-     
-//   Miscellaneous attributes
-public static final String kAXHeaderAttribute                  = "AXHeader";
-public static final String kAXEditedAttribute                  = "AXEdited";
-public static final String kAXValueWrapsAttribute              = "AXValueWraps";
-public static final String kAXTabsAttribute                    = "AXTabs";
-public static final String kAXTitleUIElementAttribute          = "AXTitleUIElement";
-public static final String kAXHorizontalScrollBarAttribute     = "AXHorizontalScrollBar";
-public static final String kAXVerticalScrollBarAttribute       = "AXVerticalScrollBar";
-public static final String kAXOverflowButtonAttribute          = "AXOverflowButton";
-public static final String kAXFilenameAttribute                = "AXFilename";
-public static final String kAXExpandedAttribute                = "AXExpanded";
-public static final String kAXSelectedAttribute                = "AXSelected";
-public static final String kAXSplittersAttribute               = "AXSplitters";
-public static final String kAXNextContentsAttribute            = "AXNextContents";
-public static final String kAXDocumentAttribute                = "AXDocument";
-public static final String kAXDecrementButtonAttribute         = "AXDecrementButton";
-public static final String kAXIncrementButtonAttribute         = "AXIncrementButton";
-public static final String kAXPreviousContentsAttribute        = "AXPreviousContents";
-public static final String kAXContentsAttribute                = "AXContents";
-public static final String kAXIncrementorAttribute             = "AXIncrementor";
-public static final String kAXHourFieldAttribute               = "AXHourField";
-public static final String kAXMinuteFieldAttribute             = "AXMinuteField";
-public static final String kAXSecondFieldAttribute             = "AXSecondField";
-public static final String kAXAMPMFieldAttribute               = "AXAMPMField";
-public static final String kAXDayFieldAttribute                = "AXDayField";
-public static final String kAXMonthFieldAttribute              = "AXMonthField";
-public static final String kAXYearFieldAttribute               = "AXYearField";
-public static final String kAXColumnTitleAttribute             = "AXColumnTitles";
-public static final String kAXURLAttribute                     = "AXURL";
-public static final String kAXLabelUIElementsAttribute         = "AXLabelUIElements";
-public static final String kAXLabelValueAttribute              = "AXLabelValue";
-public static final String kAXShownMenuUIElementAttribute      = "AXShownMenuUIElement";
-public static final String kAXServesAsTitleForUIElementsAttribute = "AXServesAsTitleForUIElements";
-public static final String kAXLinkedUIElementsAttribute        = "AXLinkedUIElements";
-     
-//   Table and outline view attributes
-public static final String kAXRowsAttribute                    = "AXRows";
-public static final String kAXVisibleRowsAttribute             = "AXVisibleRows";
-public static final String kAXSelectedRowsAttribute            = "AXSelectedRows";
-public static final String kAXColumnsAttribute                 = "AXColumns";
-public static final String kAXVisibleColumnsAttribute          = "AXVisibleColumns";
-public static final String kAXSelectedColumnsAttribute         = "AXSelectedColumns";
-public static final String kAXSortDirectionAttribute           = "AXSortDirection";
-public static final String kAXColumnHeaderUIElementsAttribute  = "AXColumnHeaderUIElements";
-public static final String kAXIndexAttribute                   = "AXIndex";
-public static final String kAXDisclosingAttribute              = "AXDisclosing";
-public static final String kAXDisclosedRowsAttribute           = "AXDisclosedRows";
-public static final String kAXDisclosedByRowAttribute          = "AXDisclosedByRow";
-     
-//   Matte attributes
-public static final String kAXMatteHoleAttribute               = "AXMatteHole";
-public static final String kAXMatteContentUIElementAttribute   = "AXMatteContentUIElement";
-     
-//   Dock attributes
-public static final String kAXIsApplicationRunningAttribute    = "AXIsApplicationRunning";
-     
-//   System-wide attributes
-public static final String kAXFocusedApplicationAttribute      = "AXFocusedApplication";
-
-// Text-suite parameterized attributes
-public static final String kAXLineForIndexParameterizedAttribute = "AXLineForIndex";
-public static final String kAXRangeForLineParameterizedAttribute = "AXRangeForLine";
-public static final String kAXStringForRangeParameterizedAttribute = "AXStringForRange";
-public static final String kAXRangeForPositionParameterizedAttribute = "AXRangeForPosition";
-public static final String kAXRangeForIndexParameterizedAttribute = "AXRangeForIndex";
-public static final String kAXBoundsForRangeParameterizedAttribute = "AXBoundsForRange";
-public static final String kAXRTFForRangeParameterizedAttribute = "AXRTFForRange";
-public static final String kAXAttributedStringForRangeParameterizedAttribute = "AXAttributedStringForRange";
-public static final String kAXStyleRangeForIndexParameterizedAttribute = "AXStyleRangeForIndex";
-public static final String kAXInsertionPointLineNumberAttribute = "AXInsertionPointLineNumber";
-
-// Accessibility actions.
-public static final String kAXPressAction          = "AXPress";
-public static final String kAXIncrementAction      = "AXIncrement";
-public static final String kAXDecrementAction      = "AXDecrement";
-public static final String kAXConfirmAction        = "AXConfirm";
-public static final String kAXCancelAction         = "AXCancel";
-public static final String kAXRaiseAction          = "AXRaise";
-public static final String kAXShowMenuAction       = "AXShowMenu";
-
-// Focus notifications
-public static final String kAXMainWindowChangedNotification = "AXMainWindowChanged";
-public static final String kAXFocusedWindowChangedNotification = "AXFocusedWindowChanged";
-public static final String kAXFocusedUIElementChangedNotification = "AXFocusedUIElementChanged";
-     
-//   Application notifications
-public static final String kAXApplicationActivatedNotification = "AXApplicationActivated";
-public static final String kAXApplicationDeactivatedNotification = "AXApplicationDeactivated";
-public static final String kAXApplicationHiddenNotification = "AXApplicationHidden";
-public static final String kAXApplicationShownNotification = "AXApplicationShown";
-     
-//   Window notifications
-public static final String kAXWindowCreatedNotification    = "AXWindowCreated";
-public static final String kAXWindowMovedNotification      = "AXWindowMoved";
-public static final String kAXWindowResizedNotification    = "AXWindowResized";
-public static final String kAXWindowMiniaturizedNotification = "AXWindowMiniaturized";
-public static final String kAXWindowDeminiaturizedNotification = "AXWindowDeminiaturized";
-     
-//   New drawer, sheet, and help tag notifications
-public static final String kAXDrawerCreatedNotification    = "AXDrawerCreated";
-public static final String kAXSheetCreatedNotification     = "AXSheetCreated";
-public static final String kAXHelpTagCreatedNotification   = "AXHelpTagCreated";
-     
-//   Element notifications
-public static final String kAXValueChangedNotification     = "AXValueChanged";
-public static final String kAXUIElementDestroyedNotification = "AXUIElementDestroyed";
-     
-//   Menu notifications
-public static final String kAXMenuOpenedNotification       = "AXMenuOpened";
-public static final String kAXMenuClosedNotification       = "AXMenuClosed";
-public static final String kAXMenuItemSelectedNotification = "AXMenuItemSelected";
-     
-//   Table and outline view notifications
-public static final String kAXRowCountChangedNotification  = "AXRowCountChanged";
-     
-//   Miscellaneous notifications
-public static final String kAXSelectedChildrenChangedNotification = "AXSelectedChildrenChanged";
-public static final String kAXResizedNotification          = "AXResized";
-public static final String kAXMovedNotification            = "AXMoved";
-public static final String kAXCreatedNotification          = "AXCreated";
-
-// AXValue types
-public static final int kAXValueCFRangeType = 4;
-
-// Error codes
-public static final int kAXErrorIllegalArgument = -25201;
-public static final int kAXErrorInvalidUIElement = -25202;
-public static final int kAXErrorInvalidUIElementObserver = -25203;
-public static final int kAXErrorCannotComplete = -25204;
-public static final int kAXErrorAttributeUnsupported = -25205;
-public static final int kAXErrorActionUnsupported = -25206;
-public static final int kAXErrorAPIDisabled = -25211;
-public static final int kAXErrorParameterizedAttributeUnsupported = -25213;
-
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMRect.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMRect.java
deleted file mode 100644
index 15c9279..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMRect.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class PMRect {
-	public double top;
-	public double left;
-	public double bottom;
-	public double right;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMResolution.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMResolution.java
deleted file mode 100644
index 4470700..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PMResolution.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class PMResolution {
-	public double hRes;
-	public double vRes;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PixMap.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PixMap.java
deleted file mode 100644
index e0b3ccd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/PixMap.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class PixMap extends BitMap {
-	public short pmVersion;
-	public short packType;
-	public int packSize;
-	public int hRes;
-	public int vRes;
-	public short pixelType;
-	public short pixelSize;
-	public short cmpCount;
-	public short cmpSize;
-	public int pixelFormat;
-	public int pmTable;
-	public int pmExt;
-	public static final int sizeof = 50;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Point.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Point.java
deleted file mode 100644
index d9ec6c7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Point.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class Point {
-	public short v;
-	public short h;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ProgressTrackInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ProgressTrackInfo.java
deleted file mode 100644
index d4842f0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ProgressTrackInfo.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ProgressTrackInfo {
-	public byte phase;	
-	public static final int sizeof = 2;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/RGBColor.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/RGBColor.java
deleted file mode 100644
index 517ab62..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/RGBColor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
-
-public class RGBColor {
-	public short red;
-	public short green;
-	public short blue;
-	public static final int sizeof = 6;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Rect.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Rect.java
deleted file mode 100644
index da67bb6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/Rect.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class Rect {
-	public short top;
-	public short left;
-	public short bottom;
-	public short right;
-	public static final int sizeof = 8;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ScrollBarTrackInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ScrollBarTrackInfo.java
deleted file mode 100644
index 6ca54f2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ScrollBarTrackInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ScrollBarTrackInfo {
-	public int viewsize;	
-	public byte pressState;	
-	public static final int sizeof = 6;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/SliderTrackInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/SliderTrackInfo.java
deleted file mode 100644
index 988e647..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/SliderTrackInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class SliderTrackInfo {
-	public byte thumbDir;
-	public byte pressState;	
-	public static final int sizeof = 2;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNBackground.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNBackground.java
deleted file mode 100644
index 2743989..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNBackground.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class TXNBackground {
-	public int bgType;
-	public short bg_red;
-	public short bg_green;
-	public short bg_blue;
-	public static final int sizof = 10;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNLongRect.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNLongRect.java
deleted file mode 100644
index ed9f164..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNLongRect.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class TXNLongRect {
-	public int top;
-	public int left;
-	public int bottom;
-	public int right;
-	public static final int sizeof = 16;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNTab.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNTab.java
deleted file mode 100644
index 0393667..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/TXNTab.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class TXNTab {
-	public short value;
-	public byte tabType;
-	public byte filler;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ThemeButtonDrawInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ThemeButtonDrawInfo.java
deleted file mode 100644
index 93ce3a7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/ThemeButtonDrawInfo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003-2004 IBM Corp.
- * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
- *
- * All rights reserved.  This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.carbon;
-
- 
-public class ThemeButtonDrawInfo {
-	public int state;
-	public short value;
-	public short adornment;
-	public static final int sizof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Lock.java b/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Lock.java
deleted file mode 100644
index 0937877..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Lock.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.internal;
-
-/**
- * Instance of this represent a recursive monitor.
- */
-public class Lock {
-	int count, waitCount;
-	Thread owner;
-
-/**
- * Locks the monitor and returns the lock count. If
- * the lock is owned by another thread, wait until
- * the lock is released.
- * 
- * @return the lock count
- */
-public int lock() {
-	synchronized (this) {
-		Thread current = Thread.currentThread();
-		if (owner != current) {
-			waitCount++;
-			while (count > 0) {
-				try {
-					wait();
-				} catch (InterruptedException e) {
-					/* Wait forever, just like synchronized blocks */
-				}
-			}
-			--waitCount;
-			owner = current;
-		}
-		return ++count;
-	}
-}
-
-/**
- * Unlocks the monitor. If the current thread is not
- * the monitor owner, do nothing.
- */
-public void unlock() {
-	synchronized (this) {
-		Thread current = Thread.currentThread();
-		if (owner == current) {
-			if (--count == 0) {
-				owner = null;
-				if (waitCount > 0) notifyAll();
-			}
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2me/org/eclipse/swt/internal/Library.java b/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2me/org/eclipse/swt/internal/Library.java
deleted file mode 100644
index 3584d6f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2me/org/eclipse/swt/internal/Library.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.internal;
-
-public class Library {
-
-	/* SWT Version - Mmmm (M=major, mmm=minor) */
-	
-	/**
-	 * SWT Major version number (must be >= 0)
-	 */
-    static int MAJOR_VERSION = 3;
-	
-	/**
-	 * SWT Minor version number (must be in the range 0..999)
-	 */
-    static int MINOR_VERSION = 236;
-	
-	/**
-	 * SWT revision number (must be >= 0)
-	 */
-	static int REVISION = 0;
-	
-	/**
-	 * The JAVA and SWT versions
-	 */
-	public static final int JAVA_VERSION, SWT_VERSION;
-
-static {
-	JAVA_VERSION = parseVersion(System.getProperty("java.version"));
-	SWT_VERSION = SWT_VERSION(MAJOR_VERSION, MINOR_VERSION);
-}
-
-static int parseVersion(String version) {
-	if (version == null) return 0;
-	int major = 0, minor = 0, micro = 0;
-	int length = version.length(), index = 0, start = 0;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) major = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	start = ++index;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) minor = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	start = ++index;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) micro = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	return JAVA_VERSION(major, minor, micro);
-}
-
-/**
- * Returns the Java version number as an integer.
- * 
- * @param major
- * @param minor
- * @param micro
- * @return the version
- */
-public static int JAVA_VERSION (int major, int minor, int micro) {
-	return (major << 16) + (minor << 8) + micro;
-}
-
-/**
- * Returns the SWT version number as an integer.
- * 
- * @param major
- * @param minor
- * @return the version
- */
-public static int SWT_VERSION (int major, int minor) {
-	return major * 1000 + minor;
-}
-
-/**
- * Loads the shared library that matches the version of the
- * Java code which is currently running.  SWT shared libraries
- * follow an encoding scheme where the major, minor and revision
- * numbers are embedded in the library name and this along with
- * <code>name</code> is used to load the library.  If this fails,
- * <code>name</code> is used in another attempt to load the library,
- * this time ignoring the SWT version encoding scheme.
- *
- * @param name the name of the library to load
- */
-public static void loadLibrary (String name) {
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java b/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java
deleted file mode 100644
index aeaf041..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java
+++ /dev/null
@@ -1,136 +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.internal;
-
-public class Library {
-
-	/* SWT Version - Mmmm (M=major, mmm=minor) */
-	
-	/**
-	 * SWT Major version number (must be >= 0)
-	 */
-    static int MAJOR_VERSION = 3;
-	
-	/**
-	 * SWT Minor version number (must be in the range 0..999)
-	 */
-    static int MINOR_VERSION = 236;
-	
-	/**
-	 * SWT revision number (must be >= 0)
-	 */
-	static int REVISION = 0;
-	
-	/**
-	 * The JAVA and SWT versions
-	 */
-	public static final int JAVA_VERSION, SWT_VERSION;
-
-static {
-	JAVA_VERSION = parseVersion(System.getProperty("java.version"));
-	SWT_VERSION = SWT_VERSION(MAJOR_VERSION, MINOR_VERSION);
-}
-
-static int parseVersion(String version) {
-	if (version == null) return 0;
-	int major = 0, minor = 0, micro = 0;
-	int length = version.length(), index = 0, start = 0;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) major = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	start = ++index;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) minor = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	start = ++index;
-	while (index < length && Character.isDigit(version.charAt(index))) index++;
-	try {
-		if (start < length) micro = Integer.parseInt(version.substring(start, index));
-	} catch (NumberFormatException e) {}
-	return JAVA_VERSION(major, minor, micro);
-}
-
-/**
- * Returns the Java version number as an integer.
- * 
- * @param major
- * @param minor
- * @param micro
- * @return the version
- */
-public static int JAVA_VERSION (int major, int minor, int micro) {
-	return (major << 16) + (minor << 8) + micro;
-}
-
-/**
- * Returns the SWT version number as an integer.
- * 
- * @param major
- * @param minor
- * @return the version
- */
-public static int SWT_VERSION (int major, int minor) {
-	return major * 1000 + minor;
-}
-
-/**
- * Loads the shared library that matches the version of the
- * Java code which is currently running.  SWT shared libraries
- * follow an encoding scheme where the major, minor and revision
- * numbers are embedded in the library name and this along with
- * <code>name</code> is used to load the library.  If this fails,
- * <code>name</code> is used in another attempt to load the library,
- * this time ignoring the SWT version encoding scheme.
- *
- * @param name the name of the library to load
- */
-public static void loadLibrary (String name) {
-	/*
-     * Include platform name to support different windowing systems
-     * on same operating system.
-	 */
-	String platform = Platform.PLATFORM;
-	
-	/*
-	 * Get version qualifier.
-	 */
-	String version = System.getProperty ("swt.version"); //$NON-NLS-1$
-	if (version == null) {
-		version = "" + MAJOR_VERSION; //$NON-NLS-1$
-		/* Force 3 digits in minor version number */
-		if (MINOR_VERSION < 10) {
-			version += "00"; //$NON-NLS-1$
-		} else {
-			if (MINOR_VERSION < 100) version += "0"; //$NON-NLS-1$
-		}
-		version += MINOR_VERSION;		
-		/* No "r" until first revision */
-		if (REVISION > 0) version += "r" + REVISION; //$NON-NLS-1$
-	}
-
-	try {
-		String newName = name + "-" + platform + "-" + version; //$NON-NLS-1$ //$NON-NLS-2$
-		System.loadLibrary (newName);
-		return;
-	} catch (UnsatisfiedLinkError e1) {		
-		try {
-			String newName = name + "-" + platform; //$NON-NLS-1$
-			System.loadLibrary (newName);
-			return;
-		} catch (UnsatisfiedLinkError e2) {
-			throw e1;
-		}
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
deleted file mode 100644
index d285ae9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.c
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "atk_structs.h"
-#include "atk_stats.h"
-
-#define ATK_NATIVE(func) Java_org_eclipse_swt_internal_accessibility_gtk_ATK_##func
-
-#ifndef NO_AtkObjectFactoryClass_1sizeof
-JNIEXPORT jint JNICALL ATK_NATIVE(AtkObjectFactoryClass_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, AtkObjectFactoryClass_1sizeof_FUNC);
-	rc = (jint)AtkObjectFactoryClass_sizeof();
-	ATK_NATIVE_EXIT(env, that, AtkObjectFactoryClass_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AtkObjectFactory_1sizeof
-JNIEXPORT jint JNICALL ATK_NATIVE(AtkObjectFactory_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, AtkObjectFactory_1sizeof_FUNC);
-	rc = (jint)AtkObjectFactory_sizeof();
-	ATK_NATIVE_EXIT(env, that, AtkObjectFactory_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ATK_1ACTION_1GET_1IFACE
-JNIEXPORT jint JNICALL ATK_NATIVE(_1ATK_1ACTION_1GET_1IFACE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1ATK_1ACTION_1GET_1IFACE_FUNC);
-	rc = (jint)ATK_ACTION_GET_IFACE(arg0);
-	ATK_NATIVE_EXIT(env, that, _1ATK_1ACTION_1GET_1IFACE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ATK_1COMPONENT_1GET_1IFACE
-JNIEXPORT jint JNICALL ATK_NATIVE(_1ATK_1COMPONENT_1GET_1IFACE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1ATK_1COMPONENT_1GET_1IFACE_FUNC);
-	rc = (jint)ATK_COMPONENT_GET_IFACE(arg0);
-	ATK_NATIVE_EXIT(env, that, _1ATK_1COMPONENT_1GET_1IFACE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ATK_1OBJECT_1FACTORY_1CLASS
-JNIEXPORT jint JNICALL ATK_NATIVE(_1ATK_1OBJECT_1FACTORY_1CLASS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1ATK_1OBJECT_1FACTORY_1CLASS_FUNC);
-	rc = (jint)ATK_OBJECT_FACTORY_CLASS(arg0);
-	ATK_NATIVE_EXIT(env, that, _1ATK_1OBJECT_1FACTORY_1CLASS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ATK_1SELECTION_1GET_1IFACE
-JNIEXPORT jint JNICALL ATK_NATIVE(_1ATK_1SELECTION_1GET_1IFACE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1ATK_1SELECTION_1GET_1IFACE_FUNC);
-	rc = (jint)ATK_SELECTION_GET_IFACE(arg0);
-	ATK_NATIVE_EXIT(env, that, _1ATK_1SELECTION_1GET_1IFACE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ATK_1TEXT_1GET_1IFACE
-JNIEXPORT jint JNICALL ATK_NATIVE(_1ATK_1TEXT_1GET_1IFACE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1ATK_1TEXT_1GET_1IFACE_FUNC);
-	rc = (jint)ATK_TEXT_GET_IFACE(arg0);
-	ATK_NATIVE_EXIT(env, that, _1ATK_1TEXT_1GET_1IFACE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1ACCESSIBLE
-JNIEXPORT jint JNICALL ATK_NATIVE(_1GTK_1ACCESSIBLE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1GTK_1ACCESSIBLE_FUNC);
-	rc = (jint)GTK_ACCESSIBLE(arg0);
-	ATK_NATIVE_EXIT(env, that, _1GTK_1ACCESSIBLE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1focus_1tracker_1notify
-JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1focus_1tracker_1notify)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	ATK_NATIVE_ENTER(env, that, _1atk_1focus_1tracker_1notify_FUNC);
-	atk_focus_tracker_notify((AtkObject *)arg0);
-	ATK_NATIVE_EXIT(env, that, _1atk_1focus_1tracker_1notify_FUNC);
-}
-#endif
-
-#ifndef NO__1atk_1get_1default_1registry
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1get_1default_1registry)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1get_1default_1registry_FUNC);
-	rc = (jint)atk_get_default_registry();
-	ATK_NATIVE_EXIT(env, that, _1atk_1get_1default_1registry_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1object_1factory_1create_1accessible
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1object_1factory_1create_1accessible)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1object_1factory_1create_1accessible_FUNC);
-	rc = (jint)atk_object_factory_create_accessible((AtkObjectFactory *)arg0, (GObject *)arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1object_1factory_1create_1accessible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1object_1factory_1get_1accessible_1type
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1object_1factory_1get_1accessible_1type)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1object_1factory_1get_1accessible_1type_FUNC);
-	rc = (jint)atk_object_factory_get_accessible_type((AtkObjectFactory *)arg0);
-	ATK_NATIVE_EXIT(env, that, _1atk_1object_1factory_1get_1accessible_1type_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1object_1initialize
-JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1object_1initialize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, _1atk_1object_1initialize_FUNC);
-	atk_object_initialize((AtkObject *)arg0, (gpointer)arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1object_1initialize_FUNC);
-}
-#endif
-
-#ifndef NO__1atk_1object_1ref_1relation_1set
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1object_1ref_1relation_1set)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1object_1ref_1relation_1set_FUNC);
-	rc = (jint)atk_object_ref_relation_set((AtkObject *)arg0);
-	ATK_NATIVE_EXIT(env, that, _1atk_1object_1ref_1relation_1set_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1registry_1get_1factory
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1registry_1get_1factory)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1registry_1get_1factory_FUNC);
-	rc = (jint)atk_registry_get_factory((AtkRegistry *)arg0, (GType)arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1registry_1get_1factory_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1registry_1set_1factory_1type
-JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1registry_1set_1factory_1type)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	ATK_NATIVE_ENTER(env, that, _1atk_1registry_1set_1factory_1type_FUNC);
-	atk_registry_set_factory_type((AtkRegistry *)arg0, (GType)arg1, (GType)arg2);
-	ATK_NATIVE_EXIT(env, that, _1atk_1registry_1set_1factory_1type_FUNC);
-}
-#endif
-
-#ifndef NO__1atk_1relation_1set_1get_1n_1relations
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1relation_1set_1get_1n_1relations)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1relation_1set_1get_1n_1relations_FUNC);
-	rc = (jint)atk_relation_set_get_n_relations((AtkRelationSet *)arg0);
-	ATK_NATIVE_EXIT(env, that, _1atk_1relation_1set_1get_1n_1relations_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1relation_1set_1get_1relation
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1relation_1set_1get_1relation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1relation_1set_1get_1relation_FUNC);
-	rc = (jint)atk_relation_set_get_relation((AtkRelationSet *)arg0, arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1relation_1set_1get_1relation_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1relation_1set_1remove
-JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1relation_1set_1remove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, _1atk_1relation_1set_1remove_FUNC);
-	atk_relation_set_remove((AtkRelationSet *)arg0, (AtkRelation *)arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1relation_1set_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1atk_1state_1set_1add_1state
-JNIEXPORT jboolean JNICALL ATK_NATIVE(_1atk_1state_1set_1add_1state)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1state_1set_1add_1state_FUNC);
-	rc = (jboolean)atk_state_set_add_state((AtkStateSet *)arg0, (AtkStateType)arg1);
-	ATK_NATIVE_EXIT(env, that, _1atk_1state_1set_1add_1state_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1state_1set_1new
-JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1state_1set_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1atk_1state_1set_1new_FUNC);
-	rc = (jint)atk_state_set_new();
-	ATK_NATIVE_EXIT(env, that, _1atk_1state_1set_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__II
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__II_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1);
-	ATK_NATIVE_EXIT(env, that, _1call__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__III
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__III_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2);
-	ATK_NATIVE_EXIT(env, that, _1call__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__IIII
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__IIII_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3);
-	ATK_NATIVE_EXIT(env, that, _1call__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__IIIII
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__IIIII_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3, arg4);
-	ATK_NATIVE_EXIT(env, that, _1call__IIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__IIIIII
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__IIIIII_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3, arg4, arg5);
-	ATK_NATIVE_EXIT(env, that, _1call__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call__IIIIIII
-JNIEXPORT jint JNICALL ATK_NATIVE(_1call__IIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	ATK_NATIVE_ENTER(env, that, _1call__IIIIIII_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6);
-	ATK_NATIVE_EXIT(env, that, _1call__IIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_FUNC);
-	if (arg1) getAtkActionIfaceFields(env, arg1, (AtkActionIface *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC);
-	if (arg1) getAtkComponentIfaceFields(env, arg1, (AtkComponentIface *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2_FUNC);
-	if (arg1) getAtkHypertextIfaceFields(env, arg1, (AtkHypertextIface *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2_FUNC);
-	if (arg1) getAtkObjectClassFields(env, arg1, (AtkObjectClass *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2_FUNC);
-	if (arg1) getAtkObjectFactoryClassFields(env, arg1, (AtkObjectFactoryClass *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_FUNC);
-	if (arg1) getAtkSelectionIfaceFields(env, arg1, (AtkSelectionIface *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_FUNC);
-	if (arg1) getAtkTextIfaceFields(env, arg1, (AtkTextIface *)arg0);
-	ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_FUNC);
-	if (arg0) setAtkActionIfaceFields(env, arg0, (AtkActionIface *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_FUNC);
-	if (arg0) setAtkComponentIfaceFields(env, arg0, (AtkComponentIface *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I_FUNC);
-	if (arg0) setAtkHypertextIfaceFields(env, arg0, (AtkHypertextIface *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I_FUNC);
-	if (arg0) setAtkObjectClassFields(env, arg0, (AtkObjectClass *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I_FUNC);
-	if (arg0) setAtkObjectFactoryClassFields(env, arg0, (AtkObjectFactoryClass *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I_FUNC);
-	if (arg0) setAtkSelectionIfaceFields(env, arg0, (AtkSelectionIface *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_FUNC);
-	if (arg0) setAtkTextIfaceFields(env, arg0, (AtkTextIface *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I
-JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_FUNC);
-	if (arg0) setGtkAccessibleFields(env, arg0, (GtkAccessible *)arg1);
-	ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.h
deleted file mode 100644
index 1de6af0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-  
-#include "os.h"
-#include <atk/atk.h>
-#include "atk_custom.h"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.c
deleted file mode 100644
index 8a0f60c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "atk_structs.h"
-#include "atk_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_accessibility_gtk_ATK_##func
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.h
deleted file mode 100644
index 689fff9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_custom.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-/* Special sizeof's */
-#define AtkObjectFactory_sizeof() sizeof(AtkObjectFactory)
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
deleted file mode 100644
index ae44497..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "atk_stats.h"
-
-#ifdef NATIVE_STATS
-
-int ATK_nativeFunctionCount = 42;
-int ATK_nativeFunctionCallCount[42];
-char * ATK_nativeFunctionNames[] = {
-	"AtkObjectFactoryClass_1sizeof",
-	"AtkObjectFactory_1sizeof",
-	"_1ATK_1ACTION_1GET_1IFACE",
-	"_1ATK_1COMPONENT_1GET_1IFACE",
-	"_1ATK_1OBJECT_1FACTORY_1CLASS",
-	"_1ATK_1SELECTION_1GET_1IFACE",
-	"_1ATK_1TEXT_1GET_1IFACE",
-	"_1GTK_1ACCESSIBLE",
-	"_1atk_1focus_1tracker_1notify",
-	"_1atk_1get_1default_1registry",
-	"_1atk_1object_1factory_1create_1accessible",
-	"_1atk_1object_1factory_1get_1accessible_1type",
-	"_1atk_1object_1initialize",
-	"_1atk_1object_1ref_1relation_1set",
-	"_1atk_1registry_1get_1factory",
-	"_1atk_1registry_1set_1factory_1type",
-	"_1atk_1relation_1set_1get_1n_1relations",
-	"_1atk_1relation_1set_1get_1relation",
-	"_1atk_1relation_1set_1remove",
-	"_1atk_1state_1set_1add_1state",
-	"_1atk_1state_1set_1new",
-	"_1call__II",
-	"_1call__III",
-	"_1call__IIII",
-	"_1call__IIIII",
-	"_1call__IIIIII",
-	"_1call__IIIIIII",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2",
-	"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I",
-	"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(ATK_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return ATK_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(ATK_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, ATK_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(ATK_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return ATK_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
deleted file mode 100644
index b7b5fab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_stats.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int ATK_nativeFunctionCount;
-extern int ATK_nativeFunctionCallCount[];
-extern char* ATK_nativeFunctionNames[];
-#define ATK_NATIVE_ENTER(env, that, func) ATK_nativeFunctionCallCount[func]++;
-#define ATK_NATIVE_EXIT(env, that, func) 
-#else
-#define ATK_NATIVE_ENTER(env, that, func) 
-#define ATK_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	AtkObjectFactoryClass_1sizeof_FUNC,
-	AtkObjectFactory_1sizeof_FUNC,
-	_1ATK_1ACTION_1GET_1IFACE_FUNC,
-	_1ATK_1COMPONENT_1GET_1IFACE_FUNC,
-	_1ATK_1OBJECT_1FACTORY_1CLASS_FUNC,
-	_1ATK_1SELECTION_1GET_1IFACE_FUNC,
-	_1ATK_1TEXT_1GET_1IFACE_FUNC,
-	_1GTK_1ACCESSIBLE_FUNC,
-	_1atk_1focus_1tracker_1notify_FUNC,
-	_1atk_1get_1default_1registry_FUNC,
-	_1atk_1object_1factory_1create_1accessible_FUNC,
-	_1atk_1object_1factory_1get_1accessible_1type_FUNC,
-	_1atk_1object_1initialize_FUNC,
-	_1atk_1object_1ref_1relation_1set_FUNC,
-	_1atk_1registry_1get_1factory_FUNC,
-	_1atk_1registry_1set_1factory_1type_FUNC,
-	_1atk_1relation_1set_1get_1n_1relations_FUNC,
-	_1atk_1relation_1set_1get_1relation_FUNC,
-	_1atk_1relation_1set_1remove_FUNC,
-	_1atk_1state_1set_1add_1state_FUNC,
-	_1atk_1state_1set_1new_FUNC,
-	_1call__II_FUNC,
-	_1call__III_FUNC,
-	_1call__IIII_FUNC,
-	_1call__IIIII_FUNC,
-	_1call__IIIIII_FUNC,
-	_1call__IIIIIII_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_FUNC,
-} ATK_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
deleted file mode 100644
index 2977a0d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.c
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "atk_structs.h"
-
-#ifndef NO_AtkActionIface
-typedef struct AtkActionIface_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID do_action, get_n_actions, get_description, get_name, get_keybinding, set_description;
-} AtkActionIface_FID_CACHE;
-
-AtkActionIface_FID_CACHE AtkActionIfaceFc;
-
-void cacheAtkActionIfaceFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkActionIfaceFc.cached) return;
-	AtkActionIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkActionIfaceFc.do_action = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "do_action", "I");
-	AtkActionIfaceFc.get_n_actions = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_n_actions", "I");
-	AtkActionIfaceFc.get_description = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_description", "I");
-	AtkActionIfaceFc.get_name = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_name", "I");
-	AtkActionIfaceFc.get_keybinding = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_keybinding", "I");
-	AtkActionIfaceFc.set_description = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "set_description", "I");
-	AtkActionIfaceFc.cached = 1;
-}
-
-AtkActionIface *getAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct)
-{
-	if (!AtkActionIfaceFc.cached) cacheAtkActionIfaceFields(env, lpObject);
-	lpStruct->do_action = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.do_action);
-	lpStruct->get_n_actions = (gint (*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.get_n_actions);
-	lpStruct->get_description = (G_CONST_RETURN gchar *(*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.get_description);
-	lpStruct->get_name = (G_CONST_RETURN gchar *(*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.get_name);
-	lpStruct->get_keybinding = (G_CONST_RETURN gchar *(*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.get_keybinding);
-	lpStruct->set_description = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkActionIfaceFc.set_description);
-	return lpStruct;
-}
-
-void setAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct)
-{
-	if (!AtkActionIfaceFc.cached) cacheAtkActionIfaceFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.do_action, (jint)lpStruct->do_action);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.get_n_actions, (jint)lpStruct->get_n_actions);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.get_description, (jint)lpStruct->get_description);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.get_name, (jint)lpStruct->get_name);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.get_keybinding, (jint)lpStruct->get_keybinding);
-	(*env)->SetIntField(env, lpObject, AtkActionIfaceFc.set_description, (jint)lpStruct->set_description);
-}
-#endif
-
-#ifndef NO_AtkComponentIface
-typedef struct AtkComponentIface_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID add_focus_handler, contains, ref_accessible_at_point, get_extents, get_position, get_size, grab_focus, remove_focus_handler, set_extents, set_position, set_size, get_layer, get_mdi_zorder;
-} AtkComponentIface_FID_CACHE;
-
-AtkComponentIface_FID_CACHE AtkComponentIfaceFc;
-
-void cacheAtkComponentIfaceFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkComponentIfaceFc.cached) return;
-	AtkComponentIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkComponentIfaceFc.add_focus_handler = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "add_focus_handler", "I");
-	AtkComponentIfaceFc.contains = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "contains", "I");
-	AtkComponentIfaceFc.ref_accessible_at_point = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "ref_accessible_at_point", "I");
-	AtkComponentIfaceFc.get_extents = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_extents", "I");
-	AtkComponentIfaceFc.get_position = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_position", "I");
-	AtkComponentIfaceFc.get_size = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_size", "I");
-	AtkComponentIfaceFc.grab_focus = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "grab_focus", "I");
-	AtkComponentIfaceFc.remove_focus_handler = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "remove_focus_handler", "I");
-	AtkComponentIfaceFc.set_extents = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_extents", "I");
-	AtkComponentIfaceFc.set_position = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_position", "I");
-	AtkComponentIfaceFc.set_size = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_size", "I");
-	AtkComponentIfaceFc.get_layer = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_layer", "I");
-	AtkComponentIfaceFc.get_mdi_zorder = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_mdi_zorder", "I");
-	AtkComponentIfaceFc.cached = 1;
-}
-
-AtkComponentIface *getAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct)
-{
-	if (!AtkComponentIfaceFc.cached) cacheAtkComponentIfaceFields(env, lpObject);
-	lpStruct->add_focus_handler = (guint (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.add_focus_handler);
-	lpStruct->contains = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.contains);
-	lpStruct->ref_accessible_at_point = (AtkObject *(*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.ref_accessible_at_point);
-	lpStruct->get_extents = (void (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.get_extents);
-	lpStruct->get_position = (void (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.get_position);
-	lpStruct->get_size = (void (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.get_size);
-	lpStruct->grab_focus = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.grab_focus);
-	lpStruct->remove_focus_handler = (void (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.remove_focus_handler);
-	lpStruct->set_extents = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.set_extents);
-	lpStruct->set_position = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.set_position);
-	lpStruct->set_size = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.set_size);
-	lpStruct->get_layer = (AtkLayer (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.get_layer);
-	lpStruct->get_mdi_zorder = (gint (*)())(*env)->GetIntField(env, lpObject, AtkComponentIfaceFc.get_mdi_zorder);
-	return lpStruct;
-}
-
-void setAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct)
-{
-	if (!AtkComponentIfaceFc.cached) cacheAtkComponentIfaceFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.add_focus_handler, (jint)lpStruct->add_focus_handler);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.contains, (jint)lpStruct->contains);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.ref_accessible_at_point, (jint)lpStruct->ref_accessible_at_point);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.get_extents, (jint)lpStruct->get_extents);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.get_position, (jint)lpStruct->get_position);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.get_size, (jint)lpStruct->get_size);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.grab_focus, (jint)lpStruct->grab_focus);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.remove_focus_handler, (jint)lpStruct->remove_focus_handler);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.set_extents, (jint)lpStruct->set_extents);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.set_position, (jint)lpStruct->set_position);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.set_size, (jint)lpStruct->set_size);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.get_layer, (jint)lpStruct->get_layer);
-	(*env)->SetIntField(env, lpObject, AtkComponentIfaceFc.get_mdi_zorder, (jint)lpStruct->get_mdi_zorder);
-}
-#endif
-
-#ifndef NO_AtkHypertextIface
-typedef struct AtkHypertextIface_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID get_link, get_n_links, get_link_index;
-} AtkHypertextIface_FID_CACHE;
-
-AtkHypertextIface_FID_CACHE AtkHypertextIfaceFc;
-
-void cacheAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkHypertextIfaceFc.cached) return;
-	AtkHypertextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkHypertextIfaceFc.get_link = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_link", "I");
-	AtkHypertextIfaceFc.get_n_links = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_n_links", "I");
-	AtkHypertextIfaceFc.get_link_index = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_link_index", "I");
-	AtkHypertextIfaceFc.cached = 1;
-}
-
-AtkHypertextIface *getAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct)
-{
-	if (!AtkHypertextIfaceFc.cached) cacheAtkHypertextIfaceFields(env, lpObject);
-	lpStruct->get_link = (AtkHyperlink *(*)())(*env)->GetIntField(env, lpObject, AtkHypertextIfaceFc.get_link);
-	lpStruct->get_n_links = (gint (*)())(*env)->GetIntField(env, lpObject, AtkHypertextIfaceFc.get_n_links);
-	lpStruct->get_link_index = (gint (*)())(*env)->GetIntField(env, lpObject, AtkHypertextIfaceFc.get_link_index);
-	return lpStruct;
-}
-
-void setAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct)
-{
-	if (!AtkHypertextIfaceFc.cached) cacheAtkHypertextIfaceFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkHypertextIfaceFc.get_link, (jint)lpStruct->get_link);
-	(*env)->SetIntField(env, lpObject, AtkHypertextIfaceFc.get_n_links, (jint)lpStruct->get_n_links);
-	(*env)->SetIntField(env, lpObject, AtkHypertextIfaceFc.get_link_index, (jint)lpStruct->get_link_index);
-}
-#endif
-
-#ifndef NO_AtkObjectClass
-typedef struct AtkObjectClass_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID get_name, get_description, get_parent, get_n_children, ref_child, get_index_in_parent, ref_relation_set, get_role, get_layer, get_mdi_zorder, ref_state_set, set_name, set_description, set_parent, set_role, connect_property_change_handler, remove_property_change_handler, initialize, children_changed, focus_event, property_change, state_change, visible_data_changed;
-} AtkObjectClass_FID_CACHE;
-
-AtkObjectClass_FID_CACHE AtkObjectClassFc;
-
-void cacheAtkObjectClassFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkObjectClassFc.cached) return;
-	AtkObjectClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkObjectClassFc.get_name = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_name", "I");
-	AtkObjectClassFc.get_description = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_description", "I");
-	AtkObjectClassFc.get_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_parent", "I");
-	AtkObjectClassFc.get_n_children = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_n_children", "I");
-	AtkObjectClassFc.ref_child = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_child", "I");
-	AtkObjectClassFc.get_index_in_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_index_in_parent", "I");
-	AtkObjectClassFc.ref_relation_set = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_relation_set", "I");
-	AtkObjectClassFc.get_role = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_role", "I");
-	AtkObjectClassFc.get_layer = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_layer", "I");
-	AtkObjectClassFc.get_mdi_zorder = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_mdi_zorder", "I");
-	AtkObjectClassFc.ref_state_set = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_state_set", "I");
-	AtkObjectClassFc.set_name = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_name", "I");
-	AtkObjectClassFc.set_description = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_description", "I");
-	AtkObjectClassFc.set_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_parent", "I");
-	AtkObjectClassFc.set_role = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_role", "I");
-	AtkObjectClassFc.connect_property_change_handler = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "connect_property_change_handler", "I");
-	AtkObjectClassFc.remove_property_change_handler = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "remove_property_change_handler", "I");
-	AtkObjectClassFc.initialize = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "initialize", "I");
-	AtkObjectClassFc.children_changed = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "children_changed", "I");
-	AtkObjectClassFc.focus_event = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "focus_event", "I");
-	AtkObjectClassFc.property_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "property_change", "I");
-	AtkObjectClassFc.state_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "state_change", "I");
-	AtkObjectClassFc.visible_data_changed = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "visible_data_changed", "I");
-	AtkObjectClassFc.cached = 1;
-}
-
-AtkObjectClass *getAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct)
-{
-	if (!AtkObjectClassFc.cached) cacheAtkObjectClassFields(env, lpObject);
-	lpStruct->get_name = (G_CONST_RETURN gchar *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_name);
-	lpStruct->get_description = (G_CONST_RETURN gchar *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_description);
-	lpStruct->get_parent = (AtkObject *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_parent);
-	lpStruct->get_n_children = (gint (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_n_children);
-	lpStruct->ref_child = (AtkObject *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.ref_child);
-	lpStruct->get_index_in_parent = (gint (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_index_in_parent);
-	lpStruct->ref_relation_set = (AtkRelationSet *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.ref_relation_set);
-	lpStruct->get_role = (AtkRole (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_role);
-	lpStruct->get_layer = (AtkLayer (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_layer);
-	lpStruct->get_mdi_zorder = (gint (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.get_mdi_zorder);
-	lpStruct->ref_state_set = (AtkStateSet *(*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.ref_state_set);
-	lpStruct->set_name = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.set_name);
-	lpStruct->set_description = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.set_description);
-	lpStruct->set_parent = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.set_parent);
-	lpStruct->set_role = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.set_role);
-	lpStruct->connect_property_change_handler = (guint (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.connect_property_change_handler);
-	lpStruct->remove_property_change_handler = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.remove_property_change_handler);
-	lpStruct->initialize = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.initialize);
-	lpStruct->children_changed = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.children_changed);
-	lpStruct->focus_event = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.focus_event);
-	lpStruct->property_change = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.property_change);
-	lpStruct->state_change = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.state_change);
-	lpStruct->visible_data_changed = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectClassFc.visible_data_changed);
-	return lpStruct;
-}
-
-void setAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct)
-{
-	if (!AtkObjectClassFc.cached) cacheAtkObjectClassFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_name, (jint)lpStruct->get_name);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_description, (jint)lpStruct->get_description);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_parent, (jint)lpStruct->get_parent);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_n_children, (jint)lpStruct->get_n_children);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.ref_child, (jint)lpStruct->ref_child);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_index_in_parent, (jint)lpStruct->get_index_in_parent);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.ref_relation_set, (jint)lpStruct->ref_relation_set);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_role, (jint)lpStruct->get_role);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_layer, (jint)lpStruct->get_layer);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.get_mdi_zorder, (jint)lpStruct->get_mdi_zorder);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.ref_state_set, (jint)lpStruct->ref_state_set);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.set_name, (jint)lpStruct->set_name);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.set_description, (jint)lpStruct->set_description);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.set_parent, (jint)lpStruct->set_parent);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.set_role, (jint)lpStruct->set_role);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.connect_property_change_handler, (jint)lpStruct->connect_property_change_handler);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.remove_property_change_handler, (jint)lpStruct->remove_property_change_handler);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.initialize, (jint)lpStruct->initialize);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.children_changed, (jint)lpStruct->children_changed);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.focus_event, (jint)lpStruct->focus_event);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.property_change, (jint)lpStruct->property_change);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.state_change, (jint)lpStruct->state_change);
-	(*env)->SetIntField(env, lpObject, AtkObjectClassFc.visible_data_changed, (jint)lpStruct->visible_data_changed);
-}
-#endif
-
-#ifndef NO_AtkObjectFactoryClass
-typedef struct AtkObjectFactoryClass_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID create_accessible, invalidate, get_accessible_type;
-} AtkObjectFactoryClass_FID_CACHE;
-
-AtkObjectFactoryClass_FID_CACHE AtkObjectFactoryClassFc;
-
-void cacheAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkObjectFactoryClassFc.cached) return;
-	AtkObjectFactoryClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkObjectFactoryClassFc.create_accessible = (*env)->GetFieldID(env, AtkObjectFactoryClassFc.clazz, "create_accessible", "I");
-	AtkObjectFactoryClassFc.invalidate = (*env)->GetFieldID(env, AtkObjectFactoryClassFc.clazz, "invalidate", "I");
-	AtkObjectFactoryClassFc.get_accessible_type = (*env)->GetFieldID(env, AtkObjectFactoryClassFc.clazz, "get_accessible_type", "I");
-	AtkObjectFactoryClassFc.cached = 1;
-}
-
-AtkObjectFactoryClass *getAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject, AtkObjectFactoryClass *lpStruct)
-{
-	if (!AtkObjectFactoryClassFc.cached) cacheAtkObjectFactoryClassFields(env, lpObject);
-	lpStruct->create_accessible = (AtkObject *(*)())(*env)->GetIntField(env, lpObject, AtkObjectFactoryClassFc.create_accessible);
-	lpStruct->invalidate = (void (*)())(*env)->GetIntField(env, lpObject, AtkObjectFactoryClassFc.invalidate);
-	lpStruct->get_accessible_type = (GType (*)())(*env)->GetIntField(env, lpObject, AtkObjectFactoryClassFc.get_accessible_type);
-	return lpStruct;
-}
-
-void setAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject, AtkObjectFactoryClass *lpStruct)
-{
-	if (!AtkObjectFactoryClassFc.cached) cacheAtkObjectFactoryClassFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkObjectFactoryClassFc.create_accessible, (jint)lpStruct->create_accessible);
-	(*env)->SetIntField(env, lpObject, AtkObjectFactoryClassFc.invalidate, (jint)lpStruct->invalidate);
-	(*env)->SetIntField(env, lpObject, AtkObjectFactoryClassFc.get_accessible_type, (jint)lpStruct->get_accessible_type);
-}
-#endif
-
-#ifndef NO_AtkSelectionIface
-typedef struct AtkSelectionIface_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID add_selection, clear_selection, ref_selection, get_selection_count, is_child_selected, remove_selection, select_all_selection, selection_changed;
-} AtkSelectionIface_FID_CACHE;
-
-AtkSelectionIface_FID_CACHE AtkSelectionIfaceFc;
-
-void cacheAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkSelectionIfaceFc.cached) return;
-	AtkSelectionIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkSelectionIfaceFc.add_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "add_selection", "I");
-	AtkSelectionIfaceFc.clear_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "clear_selection", "I");
-	AtkSelectionIfaceFc.ref_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "ref_selection", "I");
-	AtkSelectionIfaceFc.get_selection_count = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "get_selection_count", "I");
-	AtkSelectionIfaceFc.is_child_selected = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "is_child_selected", "I");
-	AtkSelectionIfaceFc.remove_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "remove_selection", "I");
-	AtkSelectionIfaceFc.select_all_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "select_all_selection", "I");
-	AtkSelectionIfaceFc.selection_changed = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "selection_changed", "I");
-	AtkSelectionIfaceFc.cached = 1;
-}
-
-AtkSelectionIface *getAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct)
-{
-	if (!AtkSelectionIfaceFc.cached) cacheAtkSelectionIfaceFields(env, lpObject);
-	lpStruct->add_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.add_selection);
-	lpStruct->clear_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.clear_selection);
-	lpStruct->ref_selection = (AtkObject *(*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.ref_selection);
-	lpStruct->get_selection_count = (gint (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.get_selection_count);
-	lpStruct->is_child_selected = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.is_child_selected);
-	lpStruct->remove_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.remove_selection);
-	lpStruct->select_all_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.select_all_selection);
-	lpStruct->selection_changed = (void (*)())(*env)->GetIntField(env, lpObject, AtkSelectionIfaceFc.selection_changed);
-	return lpStruct;
-}
-
-void setAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct)
-{
-	if (!AtkSelectionIfaceFc.cached) cacheAtkSelectionIfaceFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.add_selection, (jint)lpStruct->add_selection);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.clear_selection, (jint)lpStruct->clear_selection);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.ref_selection, (jint)lpStruct->ref_selection);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.get_selection_count, (jint)lpStruct->get_selection_count);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.is_child_selected, (jint)lpStruct->is_child_selected);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.remove_selection, (jint)lpStruct->remove_selection);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.select_all_selection, (jint)lpStruct->select_all_selection);
-	(*env)->SetIntField(env, lpObject, AtkSelectionIfaceFc.selection_changed, (jint)lpStruct->selection_changed);
-}
-#endif
-
-#ifndef NO_AtkTextIface
-typedef struct AtkTextIface_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID get_text, get_text_after_offset, get_text_at_offset, get_character_at_offset, get_text_before_offset, get_caret_offset, get_run_attributes, get_default_attributes, get_character_extents, get_character_count, get_offset_at_point, get_n_selections, get_selection, add_selection, remove_selection, set_selection, set_caret_offset, text_changed, text_caret_moved, text_selection_changed;
-} AtkTextIface_FID_CACHE;
-
-AtkTextIface_FID_CACHE AtkTextIfaceFc;
-
-void cacheAtkTextIfaceFields(JNIEnv *env, jobject lpObject)
-{
-	if (AtkTextIfaceFc.cached) return;
-	AtkTextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	AtkTextIfaceFc.get_text = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text", "I");
-	AtkTextIfaceFc.get_text_after_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_after_offset", "I");
-	AtkTextIfaceFc.get_text_at_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_at_offset", "I");
-	AtkTextIfaceFc.get_character_at_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_at_offset", "I");
-	AtkTextIfaceFc.get_text_before_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_before_offset", "I");
-	AtkTextIfaceFc.get_caret_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_caret_offset", "I");
-	AtkTextIfaceFc.get_run_attributes = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_run_attributes", "I");
-	AtkTextIfaceFc.get_default_attributes = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_default_attributes", "I");
-	AtkTextIfaceFc.get_character_extents = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_extents", "I");
-	AtkTextIfaceFc.get_character_count = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_count", "I");
-	AtkTextIfaceFc.get_offset_at_point = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_offset_at_point", "I");
-	AtkTextIfaceFc.get_n_selections = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_n_selections", "I");
-	AtkTextIfaceFc.get_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_selection", "I");
-	AtkTextIfaceFc.add_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "add_selection", "I");
-	AtkTextIfaceFc.remove_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "remove_selection", "I");
-	AtkTextIfaceFc.set_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "set_selection", "I");
-	AtkTextIfaceFc.set_caret_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "set_caret_offset", "I");
-	AtkTextIfaceFc.text_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_changed", "I");
-	AtkTextIfaceFc.text_caret_moved = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_caret_moved", "I");
-	AtkTextIfaceFc.text_selection_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_selection_changed", "I");
-	AtkTextIfaceFc.cached = 1;
-}
-
-AtkTextIface *getAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct)
-{
-	if (!AtkTextIfaceFc.cached) cacheAtkTextIfaceFields(env, lpObject);
-	lpStruct->get_text = (gchar *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_text);
-	lpStruct->get_text_after_offset = (gchar *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_text_after_offset);
-	lpStruct->get_text_at_offset = (gchar *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_text_at_offset);
-	lpStruct->get_character_at_offset = (gunichar (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_character_at_offset);
-	lpStruct->get_text_before_offset = (gchar *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_text_before_offset);
-	lpStruct->get_caret_offset = (gint (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_caret_offset);
-	lpStruct->get_run_attributes = (AtkAttributeSet *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_run_attributes);
-	lpStruct->get_default_attributes = (AtkAttributeSet *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_default_attributes);
-	lpStruct->get_character_extents = (void (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_character_extents);
-	lpStruct->get_character_count = (gint (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_character_count);
-	lpStruct->get_offset_at_point = (gint (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_offset_at_point);
-	lpStruct->get_n_selections = (gint (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_n_selections);
-	lpStruct->get_selection = (gchar *(*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.get_selection);
-	lpStruct->add_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.add_selection);
-	lpStruct->remove_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.remove_selection);
-	lpStruct->set_selection = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.set_selection);
-	lpStruct->set_caret_offset = (gboolean (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.set_caret_offset);
-	lpStruct->text_changed = (void (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.text_changed);
-	lpStruct->text_caret_moved = (void (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.text_caret_moved);
-	lpStruct->text_selection_changed = (void (*)())(*env)->GetIntField(env, lpObject, AtkTextIfaceFc.text_selection_changed);
-	return lpStruct;
-}
-
-void setAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct)
-{
-	if (!AtkTextIfaceFc.cached) cacheAtkTextIfaceFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_text, (jint)lpStruct->get_text);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_text_after_offset, (jint)lpStruct->get_text_after_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_text_at_offset, (jint)lpStruct->get_text_at_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_character_at_offset, (jint)lpStruct->get_character_at_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_text_before_offset, (jint)lpStruct->get_text_before_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_caret_offset, (jint)lpStruct->get_caret_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_run_attributes, (jint)lpStruct->get_run_attributes);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_default_attributes, (jint)lpStruct->get_default_attributes);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_character_extents, (jint)lpStruct->get_character_extents);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_character_count, (jint)lpStruct->get_character_count);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_offset_at_point, (jint)lpStruct->get_offset_at_point);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_n_selections, (jint)lpStruct->get_n_selections);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.get_selection, (jint)lpStruct->get_selection);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.add_selection, (jint)lpStruct->add_selection);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.remove_selection, (jint)lpStruct->remove_selection);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.set_selection, (jint)lpStruct->set_selection);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.set_caret_offset, (jint)lpStruct->set_caret_offset);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.text_changed, (jint)lpStruct->text_changed);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.text_caret_moved, (jint)lpStruct->text_caret_moved);
-	(*env)->SetIntField(env, lpObject, AtkTextIfaceFc.text_selection_changed, (jint)lpStruct->text_selection_changed);
-}
-#endif
-
-#ifndef NO_GtkAccessible
-typedef struct GtkAccessible_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID widget;
-} GtkAccessible_FID_CACHE;
-
-GtkAccessible_FID_CACHE GtkAccessibleFc;
-
-void cacheGtkAccessibleFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkAccessibleFc.cached) return;
-	GtkAccessibleFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkAccessibleFc.widget = (*env)->GetFieldID(env, GtkAccessibleFc.clazz, "widget", "I");
-	GtkAccessibleFc.cached = 1;
-}
-
-GtkAccessible *getGtkAccessibleFields(JNIEnv *env, jobject lpObject, GtkAccessible *lpStruct)
-{
-	if (!GtkAccessibleFc.cached) cacheGtkAccessibleFields(env, lpObject);
-	lpStruct->widget = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkAccessibleFc.widget);
-	return lpStruct;
-}
-
-void setGtkAccessibleFields(JNIEnv *env, jobject lpObject, GtkAccessible *lpStruct)
-{
-	if (!GtkAccessibleFc.cached) cacheGtkAccessibleFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkAccessibleFc.widget, (jint)lpStruct->widget);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
deleted file mode 100644
index 031712c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/atk_structs.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "atk.h"
-
-#ifndef NO_AtkActionIface
-void cacheAtkActionIfaceFields(JNIEnv *env, jobject lpObject);
-AtkActionIface *getAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct);
-void setAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct);
-#define AtkActionIface_sizeof() sizeof(AtkActionIface)
-#else
-#define cacheAtkActionIfaceFields(a,b)
-#define getAtkActionIfaceFields(a,b,c) NULL
-#define setAtkActionIfaceFields(a,b,c)
-#define AtkActionIface_sizeof() 0
-#endif
-
-#ifndef NO_AtkComponentIface
-void cacheAtkComponentIfaceFields(JNIEnv *env, jobject lpObject);
-AtkComponentIface *getAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct);
-void setAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct);
-#define AtkComponentIface_sizeof() sizeof(AtkComponentIface)
-#else
-#define cacheAtkComponentIfaceFields(a,b)
-#define getAtkComponentIfaceFields(a,b,c) NULL
-#define setAtkComponentIfaceFields(a,b,c)
-#define AtkComponentIface_sizeof() 0
-#endif
-
-#ifndef NO_AtkHypertextIface
-void cacheAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject);
-AtkHypertextIface *getAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct);
-void setAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct);
-#define AtkHypertextIface_sizeof() sizeof(AtkHypertextIface)
-#else
-#define cacheAtkHypertextIfaceFields(a,b)
-#define getAtkHypertextIfaceFields(a,b,c) NULL
-#define setAtkHypertextIfaceFields(a,b,c)
-#define AtkHypertextIface_sizeof() 0
-#endif
-
-#ifndef NO_AtkObjectClass
-void cacheAtkObjectClassFields(JNIEnv *env, jobject lpObject);
-AtkObjectClass *getAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct);
-void setAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct);
-#define AtkObjectClass_sizeof() sizeof(AtkObjectClass)
-#else
-#define cacheAtkObjectClassFields(a,b)
-#define getAtkObjectClassFields(a,b,c) NULL
-#define setAtkObjectClassFields(a,b,c)
-#define AtkObjectClass_sizeof() 0
-#endif
-
-#ifndef NO_AtkObjectFactoryClass
-void cacheAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject);
-AtkObjectFactoryClass *getAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject, AtkObjectFactoryClass *lpStruct);
-void setAtkObjectFactoryClassFields(JNIEnv *env, jobject lpObject, AtkObjectFactoryClass *lpStruct);
-#define AtkObjectFactoryClass_sizeof() sizeof(AtkObjectFactoryClass)
-#else
-#define cacheAtkObjectFactoryClassFields(a,b)
-#define getAtkObjectFactoryClassFields(a,b,c) NULL
-#define setAtkObjectFactoryClassFields(a,b,c)
-#define AtkObjectFactoryClass_sizeof() 0
-#endif
-
-#ifndef NO_AtkSelectionIface
-void cacheAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject);
-AtkSelectionIface *getAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct);
-void setAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct);
-#define AtkSelectionIface_sizeof() sizeof(AtkSelectionIface)
-#else
-#define cacheAtkSelectionIfaceFields(a,b)
-#define getAtkSelectionIfaceFields(a,b,c) NULL
-#define setAtkSelectionIfaceFields(a,b,c)
-#define AtkSelectionIface_sizeof() 0
-#endif
-
-#ifndef NO_AtkTextIface
-void cacheAtkTextIfaceFields(JNIEnv *env, jobject lpObject);
-AtkTextIface *getAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct);
-void setAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct);
-#define AtkTextIface_sizeof() sizeof(AtkTextIface)
-#else
-#define cacheAtkTextIfaceFields(a,b)
-#define getAtkTextIfaceFields(a,b,c) NULL
-#define setAtkTextIfaceFields(a,b,c)
-#define AtkTextIface_sizeof() 0
-#endif
-
-#ifndef NO_GtkAccessible
-void cacheGtkAccessibleFields(JNIEnv *env, jobject lpObject);
-GtkAccessible *getGtkAccessibleFields(JNIEnv *env, jobject lpObject, GtkAccessible *lpStruct);
-void setGtkAccessibleFields(JNIEnv *env, jobject lpObject, GtkAccessible *lpStruct);
-#define GtkAccessible_sizeof() sizeof(GtkAccessible)
-#else
-#define cacheGtkAccessibleFields(a,b)
-#define getGtkAccessibleFields(a,b,c) NULL
-#define setGtkAccessibleFields(a,b,c)
-#define GtkAccessible_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
deleted file mode 100644
index 6d2ffaf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
+++ /dev/null
@@ -1,130 +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.)
-#*******************************************************************************
-
-cd `dirname $0`
-
-if [ "${JAVA_HOME}" = "" ]; then
-	echo "Please set JAVA_HOME to point at a JRE."
-fi
-if [ "${CC}" = "" ]; then
-	CC=gcc
-	export CC
-fi
-
-# Determine which OS we are on
-if [ "${OS}" = "" ]; then
-	OS=`uname -s`
-fi
-case $OS in
-	"SunOS")
-		SWT_OS=solaris
-		MAKEFILE=make_solaris.mak
-		;;
-	*)
-		SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'`
-		MAKEFILE=make_linux.mak
-		;;
-esac
-
-# Determine which CPU type we are building for
-if [ "${MODEL}" = "" ]; then
-	if uname -p > /dev/null 2>&1; then
-		MODEL=`uname -p`
-	else
-		MODEL=`uname -m`
-	fi
-fi
-case $MODEL in
-	"x86_64")
-		SWT_ARCH=x86_64
-		AWT_ARCH=amd64
-		;;
-	i?86)
-		SWT_ARCH=x86
-		AWT_ARCH=i386
-		;;
-	*)
-		SWT_ARCH=$MODEL
-		AWT_ARCH=$MODEL
-		;;
-esac
-
-# For 64-bit CPUs, we have a switch
-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' ]; then
-	SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64
-	export SWT_PTR_CFLAGS
-	if [ -d /lib64 ]; then
-		XLIB64=-L/usr/X11R6/lib64
-		export XLIB64
-	fi
-fi
-
-if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" ]; then
-	echo "libgnomeui-2.0 found, compiling SWT program support using GNOME"
-	MAKE_GNOME=make_gnome
-else
-	echo "libgnome-2.0 and libgnomeui-2.0 not found:"
-	echo "    *** SWT Program support for GNOME will not be compiled."
-fi
-
-if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then
-	echo "Cairo found, compiling SWT support for the cairo graphics library."
-	MAKE_CAIRO=make_cairo
-else
-	echo "Cairo not found:"
-	echo "    *** Advanced graphics support using cairo will not be compiled."
-fi
-
-if [ -z "${GECKO_INCLUDES}" -a -z "${GECKO_LIBS}" ]; then
-	if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then
-		GECKO_INCLUDES=`pkg-config --cflags mozilla-xpcom`
-		GECKO_LIBS=`pkg-config --libs mozilla-xpcom`
-		export GECKO_INCLUDES
-		export GECKO_LIBS
-		MAKE_MOZILLA=make_mozilla
-	else
-		echo "Mozilla/XPCOM libraries not found:"
-		echo "    *** Mozilla embedding support will not be compiled."
-	fi
-fi
-
-# Find AWT if available
-if [ -z "${AWT_LIB_PATH}" ]; then
-	if [ -d ${JAVA_HOME}/jre/lib/${AWT_ARCH} ]; then
-		AWT_LIB_PATH=${JAVA_HOME}/jre/lib/${AWT_ARCH}
-		export AWT_LIB_PATH
-	else
-		AWT_LIB_PATH=${JAVA_HOME}/jre/bin
-		export AWT_LIB_PATH
-	fi
-fi
-
-if [ -f ${AWT_LIB_PATH}/libjawt.so ]; then
-	MAKE_AWT=make_awt
-else
-	echo "libjawt.so not found, the SWT/AWT integration library will not be compiled."
-fi
-
-# Announce our target
-echo "Building SWT/GTK+ for $SWT_OS $SWT_ARCH"
-if [ "x${OUTPUT_DIR}" = "x" ]; then
-	OUTPUT_DIR=../../../org.eclipse.swt.gtk.${SWT_OS}.${SWT_ARCH}
-	export OUTPUT_DIR
-fi
-
-if [ "x${1}" = "xclean" ]; then
-	make -f $MAKEFILE clean
-else
-	make -f $MAKEFILE all $MAKE_GNOME $MAKE_CAIRO $MAKE_AWT $MAKE_MOZILLA ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9}
-fi
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.xml b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.xml
deleted file mode 100644
index d540cc1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_gtk_lib" basedir="../../..">
-
-<target name="init">
-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />	
-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-	
-<!-- Build swt.so for GTK -->
-<target name="build_gtk_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86" depth="infinite" />
-</target>
-
-<!-- Build swt.so for PowerPC 32 bit GTK (no Mozilla)-->
-<target name="build_ppc_gtk_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<env key="MODEL" value="ppc"/>
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.ppc" depth="infinite" />
-</target>
-
-<!-- Build swt.so for Solaris GTK (no Mozilla) -->
-<target name="build_solaris_gtk_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.solaris.sparc" depth="infinite" />
-</target>
-	
-<!-- Build swt.so for GTK 64 -->
-<target name="build_gtk64_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86_64" depth="infinite" />	
-</target>
-
-<target name="clean">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak
deleted file mode 100644
index 82d1dbd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak
+++ /dev/null
@@ -1,267 +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
-#*******************************************************************************
-
-# Makefile for creating SWT libraries for Linux GTK
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# Define the various shared libraries to be build.
-WS_PREFIX = gtk
-SWT_PREFIX = swt
-CDE_PREFIX = swt-cde
-AWT_PREFIX = swt-awt
-SWTPI_PREFIX = swt-pi
-CAIRO_PREFIX = swt-cairo
-ATK_PREFIX = swt-atk
-GNOME_PREFIX = swt-gnome
-MOZILLA_PREFIX = swt-mozilla$(GCC_VERSION)
-PROFILE14_PREFIX = swt-mozilla14-profile$(GCC_VERSION)
-PROFILE17_PREFIX = swt-mozilla17-profile$(GCC_VERSION)
-PROFILE18_PREFIX = swt-mozilla18-profile$(GCC_VERSION)
-GLX_PREFIX = swt-glx
-
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-SWTPI_LIB = lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-ATK_LIB = lib$(ATK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-MOZILLA_LIB = lib$(MOZILLA_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE14_LIB = lib$(PROFILE14_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE17_LIB = lib$(PROFILE17_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE18_LIB = lib$(PROFILE18_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-
-CAIROCFLAGS = `pkg-config --cflags cairo`
-CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo
-
-# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
-GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
-GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst
-
-CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -shared -s
-
-ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
-ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
-
-GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
-GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-
-GLXCFLAGS = 
-GLXLIBS = -shared -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-MOZILLACFLAGS = -O \
-	-DSWT_VERSION=$(SWT_VERSION) \
-	$(NATIVE_STATS) \
-	-DXPCOM_GLUE=1 \
-	-DMOZILLA_STRICT_API=1 \
-	-fno-rtti \
-	-fno-exceptions \
-	-Wall \
-	-Wno-non-virtual-dtor \
-	-fPIC \
-	-I. \
-	-I$(JAVA_HOME)/include \
-	-I$(JAVA_HOME)/include/linux \
-	${SWT_PTR_CFLAGS}
-MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic
-	
-SWT_OBJECTS = swt.o callback.o
-CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
-AWT_OBJECTS = swt_awt.o
-SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o
-CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
-ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
-GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
-MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
-PROFILE14_OBJECTS = xpcom14_profile.o
-PROFILE17_OBJECTS = xpcom17_profile.o
-PROFILE18_OBJECTS = xpcom18_profile.o
-GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-
-CFLAGS = -O -Wall \
-		-DSWT_VERSION=$(SWT_VERSION) \
-		$(NATIVE_STATS) \
-		-DLINUX -DGTK \
-		-I$(JAVA_HOME)/include \
-		-I$(JAVA_HOME)/include/linux \
-		-fPIC \
-		${SWT_PTR_CFLAGS}
-LIBS = -shared -fPIC -s
-
-
-all: make_swt make_atk make_gnome make_glx
-
-#
-# SWT libs
-#
-make_swt: $(SWT_LIB) $(SWTPI_LIB)
-
-$(SWT_LIB): $(SWT_OBJECTS)
-	$(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
-
-callback.o: callback.c callback.h
-	$(CC) $(CFLAGS) -c callback.c
-
-$(SWTPI_LIB): $(SWTPI_OBJECTS)
-	$(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
-
-swt.o: swt.c swt.h
-	$(CC) $(CFLAGS) -c swt.c
-os.o: os.c os.h swt.h os_custom.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os.c
-os_structs.o: os_structs.c os_structs.h os.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_structs.c 
-os_custom.o: os_custom.c os_structs.h os.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_custom.c
-os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_stats.c
-
-#
-# CAIRO libs
-#
-make_cairo: $(CAIRO_LIB)
-
-$(CAIRO_LIB): $(CAIRO_OBJECTS)
-	$(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
-
-cairo.o: cairo.c cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
-cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c
-cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c
-
-#
-# CDE lib
-#
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJECTS)
-	$(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
-
-#
-# AWT lib
-#
-make_awt:$(AWT_LIB)
-
-$(AWT_LIB): $(AWT_OBJECTS)
-	$(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
-
-#
-# Atk lib
-#
-make_atk: $(ATK_LIB)
-
-$(ATK_LIB): $(ATK_OBJECTS)
-	$(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
-
-atk.o: atk.c atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
-atk_structs.o: atk_structs.c atk_structs.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_structs.c
-atk_custom.o: atk_custom.c atk_structs.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_custom.c
-atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_stats.c
-
-#
-# Gnome lib
-#
-make_gnome: $(GNOME_LIB)
-
-$(GNOME_LIB): $(GNOME_OBJECTS)
-	$(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
-
-gnome.o: gnome.c 
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
-
-gnome_structs.o: gnome_structs.c 
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_structs.c
-	
-gnome_stats.o: gnome_stats.c gnome_stats.h
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_stats.c
-
-#
-# Mozilla lib
-#
-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB)
-
-$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
-	$(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS}
-
-xpcom.o: xpcom.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom.cpp
-
-xpcom_structs.o: xpcom_structs.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_structs.cpp
-	
-xpcom_custom.o: xpcom_custom.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_custom.cpp
-
-xpcom_stats.o: xpcom_stats.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp	
-
-$(PROFILE14_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE17_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE18_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE14_LIB): $(PROFILE14_OBJECTS)
-	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS}
-
-$(PROFILE17_LIB): $(PROFILE17_OBJECTS)
-	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS}
-
-$(PROFILE18_LIB): $(PROFILE18_OBJECTS)
-	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS}
-
-#
-# GLX lib
-#
-make_glx: $(GLX_LIB)
-
-$(GLX_LIB): $(GLX_OBJECTS)
-	$(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
-
-glx.o: glx.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
-
-glx_structs.o: glx_structs.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c
-	
-glx_stats.o: glx_stats.c glx_stats.h
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c
-
-#
-# Install
-#
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-#
-# Clean
-#
-clean:
-	rm -f *.o *.so
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_solaris.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_solaris.mak
deleted file mode 100644
index 6437d9a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_solaris.mak
+++ /dev/null
@@ -1,248 +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
-#*******************************************************************************
-
-# Makefile for creating SWT libraries for Solaris GTK
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# Define the various shared libraries to be build.
-WS_PREFIX = gtk
-SWT_PREFIX = swt
-CDE_PREFIX = swt-cde
-AWT_PREFIX = swt-awt
-SWTPI_PREFIX = swt-pi
-CAIRO_PREFIX = swt-cairo
-ATK_PREFIX = swt-atk
-GNOME_PREFIX = swt-gnome
-MOZILLA_PREFIX = swt-mozilla
-GLX_PREFIX = swt-glx
-
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-SWTPI_LIB = lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-ATK_LIB = lib$(ATK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-MOZILLA_LIB = lib$(MOZILLA_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-
-CAIROCFLAGS = `pkg-config --cflags cairo`
-CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo
-
-# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
-GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
-GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/openwin/lib -Wl,-R -Wl,/usr/openwin/lib -lXtst
-
-CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -G -s
-
-ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
-ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
-
-GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
-GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-
-GLXCFLAGS = 
-GLXLIBS = -G -K PIC -L/usr/X11R6/lib -lGL -lGLU -lm
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-MOZILLACFLAGS = -O \
-	-DXPCOM_GLUE=1 \
-	-DMOZILLA_STRICT_API=1 \
-	-fno-rtti \
-	-fno-exceptions \
-	-Wall \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-Wno-non-virtual-dtor \
-	-fPIC \
-	-I. \
-	-I$(GECKO_SDK)	\
-	-include $(GECKO_SDK)/mozilla-config.h \
-	-I$(GECKO_SDK)/nspr/include \
-	-I$(GECKO_SDK)/xpcom/include \
-	-I$(GECKO_SDK)/string/include \
-	-I$(GECKO_SDK)/embed_base/include \
-	-I$(GECKO_SDK)/embedstring/include
-MOZILLALIBS = -G -s -Wl,--version-script=mozilla_exports -Bsymbolic \
-	-L$(GECKO_SDK)/embedstring/bin -lembedstring \
-	-L$(GECKO_SDK)/embed_base/bin -lembed_base_s \
-	-L$(GECKO_SDK)/xpcom/bin -lxpcomglue_s -lxpcom \
-	-L$(GECKO_SDK)/nspr/bin -lnspr4 -lplds4 -lplc4
-
-SWT_OBJECTS = swt.o callback.o
-CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
-AWT_OBJECTS = swt_awt.o
-SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o
-CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
-ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
-GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
-MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
-GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-
-CFLAGS = -O \
-		-DSWT_VERSION=$(SWT_VERSION) \
-		$(NATIVE_STATS) \
-		-DSOLARIS -DGTK -DCDE \
-		-I$(JAVA_HOME)/include \
-		-I$(JAVA_HOME)/include/solaris \
-		-K PIC \
-		${SWT_PTR_CFLAGS} \
-		-I$(CDE_HOME)/include
-LIBS = -G -K PIC -s
-
-
-all: make_swt make_atk make_awt make_cde
-
-#
-# SWT libs
-#
-make_swt: $(SWT_LIB) $(SWTPI_LIB)
-
-$(SWT_LIB): $(SWT_OBJECTS)
-	$(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
-
-callback.o: callback.c callback.h
-	$(CC) $(CFLAGS) -c callback.c
-
-$(SWTPI_LIB): $(SWTPI_OBJECTS)
-	$(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
-
-swt.o: swt.c swt.h
-	$(CC) $(CFLAGS) -c swt.c
-os.o: os.c os.h swt.h os_custom.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os.c
-os_structs.o: os_structs.c os_structs.h os.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_structs.c 
-os_custom.o: os_custom.c os_structs.h os.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_custom.c
-os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
-	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_stats.c
-
-#
-# CAIRO libs
-#
-make_cairo: $(CAIRO_LIB)
-
-$(CAIRO_LIB): $(CAIRO_OBJECTS)
-	$(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
-
-cairo.o: cairo.c cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
-cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c
-cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c
-
-#
-# CDE lib
-#
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJECTS)
-	$(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
-
-#
-# AWT lib
-#
-make_awt:$(AWT_LIB)
-
-$(AWT_LIB): $(AWT_OBJECTS)
-	$(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
-
-#
-# Atk lib
-#
-make_atk: $(ATK_LIB)
-
-$(ATK_LIB): $(ATK_OBJECTS)
-	$(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
-
-atk.o: atk.c atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
-atk_structs.o: atk_structs.c atk_structs.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_structs.c
-atk_custom.o: atk_custom.c atk_structs.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_custom.c
-atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
-	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_stats.c
-
-#
-# Gnome lib
-#
-make_gnome: $(GNOME_LIB)
-
-$(GNOME_LIB): $(GNOME_OBJECTS)
-	$(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
-
-gnome.o: gnome.c 
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
-
-gnome_structs.o: gnome_structs.c 
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_structs.c
-	
-gnome_stats.o: gnome_stats.c gnome_stats.h
-	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_stats.c
-
-#
-# Mozilla lib
-#
-make_mozilla:$(MOZILLA_LIB)
-
-$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
-	$(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS)
-
-xpcom.o: xpcom.cpp
-	$(CXX) $(MOZILLACFLAGS) -c xpcom.cpp
-
-xpcom_structs.o: xpcom_structs.cpp
-	$(CXX) $(MOZILLACFLAGS) -c xpcom_structs.cpp
-	
-xpcom_custom.o: xpcom_custom.cpp
-	$(CXX) $(MOZILLACFLAGS) -c xpcom_custom.cpp
-
-xpcom_stats.o: xpcom_stats.cpp
-	$(CXX) $(MOZILLACFLAGS) -c xpcom_stats.cpp	
-
-#
-# GLX lib
-#
-make_glx: $(GLX_LIB)
-
-$(GLX_LIB): $(GLX_OBJECTS)
-	$(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
-
-glx.o: glx.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
-
-glx_structs.o: glx_structs.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c
-	
-glx_stats.o: glx_stats.c glx_stats.h
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c
-
-#
-# Install
-#
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-#
-# Clean
-#
-clean:
-	rm -f *.o *.so
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/mozilla_exports b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/mozilla_exports
deleted file mode 100644
index 3db4f5c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/mozilla_exports
+++ /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
-#*******************************************************************************
-EXPORTED {
-  global:
-    JNI_OnLoad;
-    Java_org_eclipse_swt*;
-  local: *;
-};
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
deleted file mode 100644
index b5c3625..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
+++ /dev/null
@@ -1,14930 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_gtk_OS_##func
-
-#ifndef NO_Call
-JNIEXPORT jint JNICALL OS_NATIVE(Call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, Call_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, Call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GDK_1EVENT_1TYPE
-JNIEXPORT jint JNICALL OS_NATIVE(GDK_1EVENT_1TYPE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GDK_1EVENT_1TYPE_FUNC);
-	rc = (jint)GDK_EVENT_TYPE((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, GDK_1EVENT_1TYPE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GDK_1EVENT_1WINDOW
-JNIEXPORT jint JNICALL OS_NATIVE(GDK_1EVENT_1WINDOW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GDK_1EVENT_1WINDOW_FUNC);
-	rc = (jint)GDK_EVENT_WINDOW((GdkEventAny *)arg0);
-	OS_NATIVE_EXIT(env, that, GDK_1EVENT_1WINDOW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GInterfaceInfo_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GInterfaceInfo_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GInterfaceInfo_1sizeof_FUNC);
-	rc = (jint)GInterfaceInfo_sizeof();
-	OS_NATIVE_EXIT(env, that, GInterfaceInfo_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GPollFD_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GPollFD_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GPollFD_1sizeof_FUNC);
-	rc = (jint)GPollFD_sizeof();
-	OS_NATIVE_EXIT(env, that, GPollFD_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING_FUNC);
-	rc = (jint)GTK_ACCEL_LABEL_GET_ACCEL_STRING((GtkAccelLabel *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING_FUNC);
-	GTK_ACCEL_LABEL_SET_ACCEL_STRING((GtkAccelLabel *)arg0, (gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1ENTRY_1IM_1CONTEXT
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1ENTRY_1IM_1CONTEXT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1ENTRY_1IM_1CONTEXT_FUNC);
-	rc = (jint)GTK_ENTRY_IM_CONTEXT((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1ENTRY_1IM_1CONTEXT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1SCROLLED_1WINDOW_1HSCROLLBAR)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1SCROLLED_1WINDOW_1HSCROLLBAR_FUNC);
-	rc = (jint)GTK_SCROLLED_WINDOW_HSCROLLBAR((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1SCROLLED_1WINDOW_1HSCROLLBAR_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING_FUNC);
-	rc = (jint)GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1SCROLLED_1WINDOW_1VSCROLLBAR
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1SCROLLED_1WINDOW_1VSCROLLBAR)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1SCROLLED_1WINDOW_1VSCROLLBAR_FUNC);
-	rc = (jint)GTK_SCROLLED_WINDOW_VSCROLLBAR((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1SCROLLED_1WINDOW_1VSCROLLBAR_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1TEXTVIEW_1IM_1CONTEXT
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1TEXTVIEW_1IM_1CONTEXT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1TEXTVIEW_1IM_1CONTEXT_FUNC);
-	rc = (jint)GTK_TEXTVIEW_IM_CONTEXT((GtkTextView *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1TEXTVIEW_1IM_1CONTEXT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1TOOLTIPS_1SET_1ACTIVE
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1TOOLTIPS_1SET_1ACTIVE)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1TOOLTIPS_1SET_1ACTIVE_FUNC);
-	GTK_TOOLTIPS_SET_ACTIVE((GtkTooltips *)arg0, (GtkTooltipsData *)arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1TOOLTIPS_1SET_1ACTIVE_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1TOOLTIPS_1TIP_1WINDOW
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1TOOLTIPS_1TIP_1WINDOW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1TOOLTIPS_1TIP_1WINDOW_FUNC);
-	rc = (jint)GTK_TOOLTIPS_TIP_WINDOW((GtkTooltips *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1TOOLTIPS_1TIP_1WINDOW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1HEIGHT
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1HEIGHT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1HEIGHT_FUNC);
-	rc = (jint)GTK_WIDGET_HEIGHT((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1HEIGHT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1REQUISITION_1HEIGHT
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1REQUISITION_1HEIGHT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1REQUISITION_1HEIGHT_FUNC);
-	rc = (jint)GTK_WIDGET_REQUISITION_HEIGHT((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1REQUISITION_1HEIGHT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1REQUISITION_1WIDTH
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1REQUISITION_1WIDTH)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1REQUISITION_1WIDTH_FUNC);
-	rc = (jint)GTK_WIDGET_REQUISITION_WIDTH((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1REQUISITION_1WIDTH_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1SET_1HEIGHT
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1WIDGET_1SET_1HEIGHT)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1SET_1HEIGHT_FUNC);
-	GTK_WIDGET_SET_HEIGHT((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1SET_1HEIGHT_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1SET_1WIDTH
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1WIDGET_1SET_1WIDTH)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1SET_1WIDTH_FUNC);
-	GTK_WIDGET_SET_WIDTH((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1SET_1WIDTH_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1SET_1X
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1WIDGET_1SET_1X)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1SET_1X_FUNC);
-	GTK_WIDGET_SET_X((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1SET_1X_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1SET_1Y
-JNIEXPORT void JNICALL OS_NATIVE(GTK_1WIDGET_1SET_1Y)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1SET_1Y_FUNC);
-	GTK_WIDGET_SET_Y((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1SET_1Y_FUNC);
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1WIDTH
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1WIDTH)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1WIDTH_FUNC);
-	rc = (jint)GTK_WIDGET_WIDTH((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1WIDTH_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1WINDOW
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1WINDOW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1WINDOW_FUNC);
-	rc = (jint)GTK_WIDGET_WINDOW((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1WINDOW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1X
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1X)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1X_FUNC);
-	rc = (jint)GTK_WIDGET_X((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1X_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTK_1WIDGET_1Y
-JNIEXPORT jint JNICALL OS_NATIVE(GTK_1WIDGET_1Y)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTK_1WIDGET_1Y_FUNC);
-	rc = (jint)GTK_WIDGET_Y((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, GTK_1WIDGET_1Y_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTypeInfo_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GTypeInfo_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTypeInfo_1sizeof_FUNC);
-	rc = (jint)GTypeInfo_sizeof();
-	OS_NATIVE_EXIT(env, that, GTypeInfo_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GTypeQuery_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GTypeQuery_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GTypeQuery_1sizeof_FUNC);
-	rc = (jint)GTypeQuery_sizeof();
-	OS_NATIVE_EXIT(env, that, GTypeQuery_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkColor_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkColor_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkColor_1sizeof_FUNC);
-	rc = (jint)GdkColor_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkColor_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkDragContext_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkDragContext_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkDragContext_1sizeof_FUNC);
-	rc = (jint)GdkDragContext_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkDragContext_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventAny_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventAny_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventAny_1sizeof_FUNC);
-	rc = (jint)GdkEventAny_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventAny_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventButton_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventButton_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventButton_1sizeof_FUNC);
-	rc = (jint)GdkEventButton_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventButton_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventCrossing_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventCrossing_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventCrossing_1sizeof_FUNC);
-	rc = (jint)GdkEventCrossing_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventCrossing_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventExpose_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventExpose_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventExpose_1sizeof_FUNC);
-	rc = (jint)GdkEventExpose_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventExpose_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventFocus_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventFocus_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventFocus_1sizeof_FUNC);
-	rc = (jint)GdkEventFocus_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventFocus_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventKey_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventKey_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventKey_1sizeof_FUNC);
-	rc = (jint)GdkEventKey_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventKey_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventMotion_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventMotion_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventMotion_1sizeof_FUNC);
-	rc = (jint)GdkEventMotion_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventMotion_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventScroll_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventScroll_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventScroll_1sizeof_FUNC);
-	rc = (jint)GdkEventScroll_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventScroll_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventVisibility_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventVisibility_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventVisibility_1sizeof_FUNC);
-	rc = (jint)GdkEventVisibility_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventVisibility_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEventWindowState_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEventWindowState_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEventWindowState_1sizeof_FUNC);
-	rc = (jint)GdkEventWindowState_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEventWindowState_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkEvent_1sizeof_FUNC);
-	rc = (jint)GdkEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkGCValues_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkGCValues_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkGCValues_1sizeof_FUNC);
-	rc = (jint)GdkGCValues_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkGCValues_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkGeometry_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkGeometry_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkGeometry_1sizeof_FUNC);
-	rc = (jint)GdkGeometry_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkGeometry_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkImage_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkImage_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkImage_1sizeof_FUNC);
-	rc = (jint)GdkImage_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkImage_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkRectangle_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkRectangle_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkRectangle_1sizeof_FUNC);
-	rc = (jint)GdkRectangle_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkRectangle_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkVisual_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkVisual_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkVisual_1sizeof_FUNC);
-	rc = (jint)GdkVisual_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkVisual_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdkWindowAttr_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GdkWindowAttr_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdkWindowAttr_1sizeof_FUNC);
-	rc = (jint)GdkWindowAttr_sizeof();
-	OS_NATIVE_EXIT(env, that, GdkWindowAttr_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkAdjustment_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkAdjustment_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkAdjustment_1sizeof_FUNC);
-	rc = (jint)GtkAdjustment_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkAdjustment_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkAllocation_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkAllocation_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkAllocation_1sizeof_FUNC);
-	rc = (jint)GtkAllocation_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkAllocation_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkBorder_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkBorder_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkBorder_1sizeof_FUNC);
-	rc = (jint)GtkBorder_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkBorder_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererPixbufClass_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererPixbufClass_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererPixbufClass_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererPixbufClass_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererPixbufClass_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererPixbuf_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererPixbuf_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererPixbuf_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererPixbuf_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererPixbuf_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererTextClass_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererTextClass_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererTextClass_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererTextClass_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererTextClass_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererText_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererText_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererText_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererText_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererText_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererToggleClass_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererToggleClass_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererToggleClass_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererToggleClass_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererToggleClass_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCellRendererToggle_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCellRendererToggle_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCellRendererToggle_1sizeof_FUNC);
-	rc = (jint)GtkCellRendererToggle_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCellRendererToggle_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkColorSelectionDialog_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkColorSelectionDialog_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkColorSelectionDialog_1sizeof_FUNC);
-	rc = (jint)GtkColorSelectionDialog_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkColorSelectionDialog_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkCombo_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkCombo_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkCombo_1sizeof_FUNC);
-	rc = (jint)GtkCombo_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkCombo_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkFileSelection_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkFileSelection_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkFileSelection_1sizeof_FUNC);
-	rc = (jint)GtkFileSelection_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkFileSelection_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkFixedClass_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkFixedClass_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkFixedClass_1sizeof_FUNC);
-	rc = (jint)GtkFixedClass_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkFixedClass_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkFixed_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkFixed_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkFixed_1sizeof_FUNC);
-	rc = (jint)GtkFixed_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkFixed_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkRequisition_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkRequisition_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkRequisition_1sizeof_FUNC);
-	rc = (jint)GtkRequisition_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkRequisition_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkSelectionData_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkSelectionData_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkSelectionData_1sizeof_FUNC);
-	rc = (jint)GtkSelectionData_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkSelectionData_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkTargetEntry_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkTargetEntry_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkTargetEntry_1sizeof_FUNC);
-	rc = (jint)GtkTargetEntry_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkTargetEntry_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkTargetPair_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkTargetPair_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkTargetPair_1sizeof_FUNC);
-	rc = (jint)GtkTargetPair_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkTargetPair_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkTextIter_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkTextIter_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkTextIter_1sizeof_FUNC);
-	rc = (jint)GtkTextIter_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkTextIter_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GtkTreeIter_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(GtkTreeIter_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GtkTreeIter_1sizeof_FUNC);
-	rc = (jint)GtkTreeIter_sizeof();
-	OS_NATIVE_EXIT(env, that, GtkTreeIter_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PTR_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PTR_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PTR_1sizeof_FUNC);
-	rc = (jint)PTR_sizeof();
-	OS_NATIVE_EXIT(env, that, PTR_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoAttribute_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoAttribute_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoAttribute_1sizeof_FUNC);
-	rc = (jint)PangoAttribute_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoAttribute_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoItem_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoItem_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoItem_1sizeof_FUNC);
-	rc = (jint)PangoItem_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoItem_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoLayoutLine_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoLayoutLine_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoLayoutLine_1sizeof_FUNC);
-	rc = (jint)PangoLayoutLine_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoLayoutLine_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoLayoutRun_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoLayoutRun_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoLayoutRun_1sizeof_FUNC);
-	rc = (jint)PangoLayoutRun_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoLayoutRun_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoLogAttr_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoLogAttr_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoLogAttr_1sizeof_FUNC);
-	rc = (jint)PangoLogAttr_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoLogAttr_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PangoRectangle_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(PangoRectangle_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PangoRectangle_1sizeof_FUNC);
-	rc = (jint)PangoRectangle_sizeof();
-	OS_NATIVE_EXIT(env, that, PangoRectangle_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XAnyEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XAnyEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XAnyEvent_1sizeof_FUNC);
-	rc = (jint)XAnyEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XAnyEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XButtonEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XButtonEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XButtonEvent_1sizeof_FUNC);
-	rc = (jint)XButtonEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XButtonEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XClientMessageEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XClientMessageEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XClientMessageEvent_1sizeof_FUNC);
-	rc = (jint)XClientMessageEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XClientMessageEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XCrossingEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XCrossingEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XCrossingEvent_1sizeof_FUNC);
-	rc = (jint)XCrossingEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XCrossingEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XEvent_1sizeof_FUNC);
-	rc = (jint)XEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XExposeEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XExposeEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XExposeEvent_1sizeof_FUNC);
-	rc = (jint)XExposeEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XExposeEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XFocusChangeEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XFocusChangeEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XFocusChangeEvent_1sizeof_FUNC);
-	rc = (jint)XFocusChangeEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XFocusChangeEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XRenderPictureAttributes_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XRenderPictureAttributes_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XRenderPictureAttributes_1sizeof_FUNC);
-	rc = (jint)XRenderPictureAttributes_sizeof();
-	OS_NATIVE_EXIT(env, that, XRenderPictureAttributes_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XVisibilityEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XVisibilityEvent_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XVisibilityEvent_1sizeof_FUNC);
-	rc = (jint)XVisibilityEvent_sizeof();
-	OS_NATIVE_EXIT(env, that, XVisibilityEvent_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XWindowChanges_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XWindowChanges_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XWindowChanges_1sizeof_FUNC);
-	rc = (jint)XWindowChanges_sizeof();
-	OS_NATIVE_EXIT(env, that, XWindowChanges_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_X_1EVENT_1TYPE
-JNIEXPORT jint JNICALL OS_NATIVE(X_1EVENT_1TYPE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, X_1EVENT_1TYPE_FUNC);
-	rc = (jint)X_EVENT_TYPE((XEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, X_1EVENT_1TYPE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_X_1EVENT_1WINDOW
-JNIEXPORT jint JNICALL OS_NATIVE(X_1EVENT_1WINDOW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, X_1EVENT_1WINDOW_FUNC);
-	rc = (jint)X_EVENT_WINDOW((XAnyEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, X_1EVENT_1WINDOW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1Call
-JNIEXPORT jint JNICALL OS_NATIVE(_1Call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1Call_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1Call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GDK_1DISPLAY
-JNIEXPORT jint JNICALL OS_NATIVE(_1GDK_1DISPLAY)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GDK_1DISPLAY_FUNC);
-	rc = (jint)GDK_DISPLAY();
-	OS_NATIVE_EXIT(env, that, _1GDK_1DISPLAY_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GDK_1PIXMAP_1XID
-JNIEXPORT jint JNICALL OS_NATIVE(_1GDK_1PIXMAP_1XID)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GDK_1PIXMAP_1XID_FUNC);
-	rc = (jint)GDK_PIXMAP_XID((GdkPixmap *)arg0);
-	OS_NATIVE_EXIT(env, that, _1GDK_1PIXMAP_1XID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GDK_1ROOT_1PARENT
-JNIEXPORT jint JNICALL OS_NATIVE(_1GDK_1ROOT_1PARENT)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GDK_1ROOT_1PARENT_FUNC);
-	rc = (jint)GDK_ROOT_PARENT();
-	OS_NATIVE_EXIT(env, that, _1GDK_1ROOT_1PARENT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GDK_1TYPE_1COLOR
-JNIEXPORT jint JNICALL OS_NATIVE(_1GDK_1TYPE_1COLOR)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GDK_1TYPE_1COLOR_FUNC);
-	rc = (jint)GDK_TYPE_COLOR;
-	OS_NATIVE_EXIT(env, that, _1GDK_1TYPE_1COLOR_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GDK_1TYPE_1PIXBUF
-JNIEXPORT jint JNICALL OS_NATIVE(_1GDK_1TYPE_1PIXBUF)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GDK_1TYPE_1PIXBUF_FUNC);
-	rc = (jint)GDK_TYPE_PIXBUF;
-	OS_NATIVE_EXIT(env, that, _1GDK_1TYPE_1PIXBUF_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1BUTTON
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1BUTTON)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1BUTTON_FUNC);
-	rc = (jboolean)GTK_IS_BUTTON(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1BUTTON_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1CELL_1RENDERER_1PIXBUF
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1CELL_1RENDERER_1PIXBUF)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1CELL_1RENDERER_1PIXBUF_FUNC);
-	rc = (jboolean)GTK_IS_CELL_RENDERER_PIXBUF(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1CELL_1RENDERER_1PIXBUF_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1CELL_1RENDERER_1TEXT
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1CELL_1RENDERER_1TEXT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1CELL_1RENDERER_1TEXT_FUNC);
-	rc = (jboolean)GTK_IS_CELL_RENDERER_TEXT(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1CELL_1RENDERER_1TEXT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1CELL_1RENDERER_1TOGGLE
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1CELL_1RENDERER_1TOGGLE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1CELL_1RENDERER_1TOGGLE_FUNC);
-	rc = (jboolean)GTK_IS_CELL_RENDERER_TOGGLE(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1CELL_1RENDERER_1TOGGLE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1CONTAINER
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1CONTAINER)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1CONTAINER_FUNC);
-	rc = (jboolean)GTK_IS_CONTAINER(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1CONTAINER_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1IMAGE_1MENU_1ITEM
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1IMAGE_1MENU_1ITEM)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1IMAGE_1MENU_1ITEM_FUNC);
-	rc = (jboolean)GTK_IS_IMAGE_MENU_ITEM(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1IMAGE_1MENU_1ITEM_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1PLUG
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1PLUG)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1PLUG_FUNC);
-	rc = (jboolean)GTK_IS_PLUG(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1PLUG_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1IS_1WINDOW
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1WINDOW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1IS_1WINDOW_FUNC);
-	rc = (jboolean)GTK_IS_WINDOW(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1IS_1WINDOW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1STOCK_1CANCEL
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1STOCK_1CANCEL)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1STOCK_1CANCEL_FUNC);
-	rc = (jint)GTK_STOCK_CANCEL;
-	OS_NATIVE_EXIT(env, that, _1GTK_1STOCK_1CANCEL_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1STOCK_1OK
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1STOCK_1OK)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1STOCK_1OK_FUNC);
-	rc = (jint)GTK_STOCK_OK;
-	OS_NATIVE_EXIT(env, that, _1GTK_1STOCK_1OK_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF_FUNC);
-	rc = (jint)GTK_TYPE_CELL_RENDERER_PIXBUF;
-	OS_NATIVE_EXIT(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1TYPE_1CELL_1RENDERER_1TEXT
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1TYPE_1CELL_1RENDERER_1TEXT)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1TEXT_FUNC);
-	rc = (jint)GTK_TYPE_CELL_RENDERER_TEXT;
-	OS_NATIVE_EXIT(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1TEXT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE_FUNC);
-	rc = (jint)GTK_TYPE_CELL_RENDERER_TOGGLE;
-	OS_NATIVE_EXIT(env, that, _1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1TYPE_1FIXED
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1TYPE_1FIXED)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1TYPE_1FIXED_FUNC);
-	rc = (jint)GTK_TYPE_FIXED;
-	OS_NATIVE_EXIT(env, that, _1GTK_1TYPE_1FIXED_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1TYPE_1WIDGET
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1TYPE_1WIDGET)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1TYPE_1WIDGET_FUNC);
-	rc = (jint)GTK_TYPE_WIDGET;
-	OS_NATIVE_EXIT(env, that, _1GTK_1TYPE_1WIDGET_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1FLAGS
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1WIDGET_1FLAGS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1FLAGS_FUNC);
-	rc = (jint)GTK_WIDGET_FLAGS(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1FLAGS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1HAS_1DEFAULT
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1HAS_1DEFAULT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1HAS_1DEFAULT_FUNC);
-	rc = (jboolean)GTK_WIDGET_HAS_DEFAULT(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1HAS_1DEFAULT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1HAS_1FOCUS
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1HAS_1FOCUS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1HAS_1FOCUS_FUNC);
-	rc = (jboolean)GTK_WIDGET_HAS_FOCUS(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1HAS_1FOCUS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1IS_1SENSITIVE
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1IS_1SENSITIVE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1IS_1SENSITIVE_FUNC);
-	rc = (jboolean)GTK_WIDGET_IS_SENSITIVE(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1IS_1SENSITIVE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1MAPPED
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1MAPPED)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1MAPPED_FUNC);
-	rc = (jboolean)GTK_WIDGET_MAPPED(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1MAPPED_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1SENSITIVE
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1SENSITIVE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1SENSITIVE_FUNC);
-	rc = (jboolean)GTK_WIDGET_SENSITIVE(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1SENSITIVE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1SET_1FLAGS
-JNIEXPORT void JNICALL OS_NATIVE(_1GTK_1WIDGET_1SET_1FLAGS)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1SET_1FLAGS_FUNC);
-	GTK_WIDGET_SET_FLAGS(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1SET_1FLAGS_FUNC);
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1STATE
-JNIEXPORT jint JNICALL OS_NATIVE(_1GTK_1WIDGET_1STATE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1STATE_FUNC);
-	rc = (jint)GTK_WIDGET_STATE(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1STATE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1UNSET_1FLAGS
-JNIEXPORT void JNICALL OS_NATIVE(_1GTK_1WIDGET_1UNSET_1FLAGS)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1UNSET_1FLAGS_FUNC);
-	GTK_WIDGET_UNSET_FLAGS(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1UNSET_1FLAGS_FUNC);
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1VISIBLE
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1WIDGET_1VISIBLE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1VISIBLE_FUNC);
-	rc = (jboolean)GTK_WIDGET_VISIBLE(arg0);
-	OS_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1VISIBLE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1OBJECT_1CLASS
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1OBJECT_1CLASS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1OBJECT_1CLASS_FUNC);
-	rc = (jint)G_OBJECT_CLASS(arg0);
-	OS_NATIVE_EXIT(env, that, _1G_1OBJECT_1CLASS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1OBJECT_1GET_1CLASS
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1OBJECT_1GET_1CLASS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1OBJECT_1GET_1CLASS_FUNC);
-	rc = (jint)G_OBJECT_GET_CLASS(arg0);
-	OS_NATIVE_EXIT(env, that, _1G_1OBJECT_1GET_1CLASS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1OBJECT_1TYPE
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1OBJECT_1TYPE)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1OBJECT_1TYPE_FUNC);
-	rc = (jint)G_OBJECT_TYPE(arg0);
-	OS_NATIVE_EXIT(env, that, _1G_1OBJECT_1TYPE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1TYPE_1BOOLEAN
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1TYPE_1BOOLEAN)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1TYPE_1BOOLEAN_FUNC);
-	rc = (jint)G_TYPE_BOOLEAN;
-	OS_NATIVE_EXIT(env, that, _1G_1TYPE_1BOOLEAN_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1TYPE_1INT
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1TYPE_1INT)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1TYPE_1INT_FUNC);
-	rc = (jint)G_TYPE_INT;
-	OS_NATIVE_EXIT(env, that, _1G_1TYPE_1INT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1G_1TYPE_1STRING
-JNIEXPORT jint JNICALL OS_NATIVE(_1G_1TYPE_1STRING)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1G_1TYPE_1STRING_FUNC);
-	rc = (jint)G_TYPE_STRING;
-	OS_NATIVE_EXIT(env, that, _1G_1TYPE_1STRING_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1PANGO_1PIXELS
-JNIEXPORT jint JNICALL OS_NATIVE(_1PANGO_1PIXELS)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1PANGO_1PIXELS_FUNC);
-	rc = (jint)PANGO_PIXELS(arg0);
-	OS_NATIVE_EXIT(env, that, _1PANGO_1PIXELS_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1PANGO_1TYPE_1FONT_1DESCRIPTION
-JNIEXPORT jint JNICALL OS_NATIVE(_1PANGO_1TYPE_1FONT_1DESCRIPTION)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1PANGO_1TYPE_1FONT_1DESCRIPTION_FUNC);
-	rc = (jint)PANGO_TYPE_FONT_DESCRIPTION;
-	OS_NATIVE_EXIT(env, that, _1PANGO_1TYPE_1FONT_1DESCRIPTION_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCheckIfEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XCheckIfEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckIfEvent_FUNC);
-	rc = (jboolean)XCheckIfEvent((Display *)arg0, (XEvent *)arg1, (Bool (*)())arg2, (XPointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1XCheckIfEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCheckMaskEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XCheckMaskEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckMaskEvent_FUNC);
-	rc = (jboolean)XCheckMaskEvent((Display *)arg0, (long)arg1, (XEvent *)arg2);
-	OS_NATIVE_EXIT(env, that, _1XCheckMaskEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCheckWindowEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XCheckWindowEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckWindowEvent_FUNC);
-	rc = (jboolean)XCheckWindowEvent((Display *)arg0, (Window)arg1, (long)arg2, (XEvent *)arg3);
-	OS_NATIVE_EXIT(env, that, _1XCheckWindowEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultRootWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultRootWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultRootWindow_FUNC);
-	rc = (jint)XDefaultRootWindow((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultRootWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultScreen_FUNC);
-	rc = (jint)XDefaultScreen((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFlush
-JNIEXPORT void JNICALL OS_NATIVE(_1XFlush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFlush_FUNC);
-	XFlush((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFlush_FUNC);
-}
-#endif
-
-#ifndef NO__1XFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFree_FUNC);
-	XFree((void *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XGetSelectionOwner
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetSelectionOwner)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetSelectionOwner_FUNC);
-	rc = (jint)XGetSelectionOwner((Display *)arg0, (Atom)arg1);
-	OS_NATIVE_EXIT(env, that, _1XGetSelectionOwner_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XInternAtom
-JNIEXPORT jint JNICALL OS_NATIVE(_1XInternAtom)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jboolean arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XInternAtom_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XInternAtom((Display *)arg0, (char *)lparg1, (Bool)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XInternAtom_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XKeysymToKeycode
-JNIEXPORT jint JNICALL OS_NATIVE(_1XKeysymToKeycode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XKeysymToKeycode_FUNC);
-	rc = (jint)XKeysymToKeycode((Display *)arg0, (KeySym)arg1);
-	OS_NATIVE_EXIT(env, that, _1XKeysymToKeycode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XListProperties
-JNIEXPORT jint JNICALL OS_NATIVE(_1XListProperties)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XListProperties_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XListProperties((Display *)arg0, (Window)arg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XListProperties_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XQueryTree
-JNIEXPORT jint JNICALL OS_NATIVE(_1XQueryTree)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XQueryTree_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)XQueryTree((Display *)arg0, (Window)arg1, (Window *)lparg2, (Window *)lparg3, (Window **)lparg4, (unsigned int *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XQueryTree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XReconfigureWMWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XReconfigureWMWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	XWindowChanges _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XReconfigureWMWindow_FUNC);
-	if (arg4) if ((lparg4 = getXWindowChangesFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)XReconfigureWMWindow((Display *)arg0, (Window)arg1, arg2, arg3, lparg4);
-fail:
-	OS_NATIVE_EXIT(env, that, _1XReconfigureWMWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderComposite
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderComposite)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
-{
-	OS_NATIVE_ENTER(env, that, _1XRenderComposite_FUNC);
-/*
-	XRenderComposite(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderComposite_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderComposite");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderComposite_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderCreatePicture
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderCreatePicture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	XRenderPictureAttributes _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderCreatePicture_FUNC);
-	if (arg4) if ((lparg4 = getXRenderPictureAttributesFields(env, arg4, &_arg4)) == NULL) goto fail;
-/*
-	rc = (jint)XRenderCreatePicture(arg0, arg1, arg2, arg3, lparg4);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint, jint, jint, XRenderPictureAttributes *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderCreatePicture_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderCreatePicture");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, arg2, arg3, lparg4);
-		}
-	}
-fail:
-	OS_NATIVE_EXIT(env, that, _1XRenderCreatePicture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFindStandardFormat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderFindStandardFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderFindStandardFormat_FUNC);
-/*
-	rc = (jint)XRenderFindStandardFormat(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFindStandardFormat_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFindStandardFormat");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFindStandardFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFindVisualFormat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderFindVisualFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderFindVisualFormat_FUNC);
-/*
-	rc = (jint)XRenderFindVisualFormat(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFindVisualFormat_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFindVisualFormat");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFindVisualFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFreePicture
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderFreePicture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XRenderFreePicture_FUNC);
-/*
-	XRenderFreePicture(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFreePicture_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFreePicture");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFreePicture_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderQueryExtension
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XRenderQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderQueryExtension_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)XRenderQueryExtension(arg0, lparg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jboolean (*FPTR)(jint, jint *, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderQueryExtension_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderQueryExtension");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jboolean)(*fptr)(arg0, lparg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderQueryExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderQueryVersion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderQueryVersion_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 = (jint)XRenderQueryVersion(arg0, lparg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint *, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderQueryVersion_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderQueryVersion");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, lparg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderQueryVersion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderSetPictureClipRectangles
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderSetPictureClipRectangles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jshortArray arg4, jint arg5)
-{
-	jshort *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1XRenderSetPictureClipRectangles_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-/*
-	XRenderSetPictureClipRectangles(arg0, arg1, arg2, arg3, lparg4, arg5);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint, jint, jshort *, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderSetPictureClipRectangles_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderSetPictureClipRectangles");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, arg2, arg3, lparg4, arg5);
-		}
-	}
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderSetPictureClipRectangles_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderSetPictureTransform
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderSetPictureTransform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1XRenderSetPictureTransform_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-/*
-	XRenderSetPictureTransform(arg0, arg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderSetPictureTransform_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderSetPictureTransform");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderSetPictureTransform_FUNC);
-}
-#endif
-
-#ifndef NO__1XSendEvent
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSendEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSendEvent_FUNC);
-	rc = (jint)XSendEvent((Display *)arg0, (Window)arg1, arg2, arg3, (XEvent *)arg4);
-	OS_NATIVE_EXIT(env, that, _1XSendEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetErrorHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetErrorHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetErrorHandler_FUNC);
-	rc = (jint)XSetErrorHandler((XErrorHandler)arg0);
-	OS_NATIVE_EXIT(env, that, _1XSetErrorHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetIOErrorHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetIOErrorHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetIOErrorHandler_FUNC);
-	rc = (jint)XSetIOErrorHandler((XIOErrorHandler)arg0);
-	OS_NATIVE_EXIT(env, that, _1XSetIOErrorHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetInputFocus
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetInputFocus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetInputFocus_FUNC);
-	rc = (jint)XSetInputFocus((Display *)arg0, (Window)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XSetInputFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSynchronize
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSynchronize)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSynchronize_FUNC);
-	rc = (jint)XSynchronize((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XSynchronize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XTestFakeButtonEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeButtonEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeButtonEvent_FUNC);
-	XTestFakeButtonEvent((Display *)arg0, arg1, (Bool)arg2, (unsigned long)arg3);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeButtonEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XTestFakeKeyEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeKeyEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeKeyEvent_FUNC);
-	XTestFakeKeyEvent((Display *)arg0, arg1, (Bool)arg2, (unsigned long)arg3);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeKeyEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XTestFakeMotionEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeMotionEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeMotionEvent_FUNC);
-	XTestFakeMotionEvent((Display *)arg0, arg1, arg2, arg3, (unsigned long)arg4);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeMotionEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XWarpPointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1XWarpPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XWarpPointer_FUNC);
-	rc = (jint)XWarpPointer((Display *)arg0, (Window)arg1, (Window)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1XWarpPointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1atk_1object_1add_1relationship
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1atk_1object_1add_1relationship)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1atk_1object_1add_1relationship_FUNC);
-/*
-	rc = (jboolean)atk_object_add_relationship((AtkObject *)arg0, (AtkRelationType)arg1, (AtkObject *)arg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jboolean (*FPTR)(AtkObject *, AtkRelationType, AtkObject *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(atk_object_add_relationship_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "atk_object_add_relationship");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jboolean)(*fptr)((AtkObject *)arg0, (AtkRelationType)arg1, (AtkObject *)arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1atk_1object_1add_1relationship_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1call
-JNIEXPORT jint JNICALL OS_NATIVE(_1call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1call_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	OS_NATIVE_EXIT(env, that, _1call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlclose
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlclose)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlclose_FUNC);
-	rc = (jint)dlclose((void *)arg0);
-	OS_NATIVE_EXIT(env, that, _1dlclose_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlopen
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlopen)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlopen_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)dlopen((const char *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1dlopen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlsym
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlsym)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlsym_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)dlsym((void *)arg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1dlsym_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1cclosure_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1cclosure_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1cclosure_1new_FUNC);
-	rc = (jint)g_cclosure_new((GCallback)arg0, (gpointer)arg1, (GClosureNotify)arg2);
-	OS_NATIVE_EXIT(env, that, _1g_1cclosure_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1closure_1ref
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1closure_1ref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1closure_1ref_FUNC);
-	rc = (jint)g_closure_ref((GClosure *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1closure_1ref_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1closure_1unref
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1closure_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1closure_1unref_FUNC);
-	g_closure_unref((GClosure *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1closure_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1filename_1from_1uri
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1filename_1from_1uri)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1filename_1from_1uri_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 = (jint)g_filename_from_uri((const char *)arg0, (char **)lparg1, (GError **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1filename_1from_1uri_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1filename_1from_1utf8
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1filename_1from_1utf8)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1filename_1from_1utf8_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)g_filename_from_utf8((const gchar *)arg0, (gssize)arg1, (gsize *)lparg2, (gsize *)lparg3, (GError **)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1filename_1from_1utf8_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1filename_1to_1uri
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1filename_1to_1uri)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1filename_1to_1uri_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)g_filename_to_uri((const char *)arg0, (const char *)arg1, (GError **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1filename_1to_1uri_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1filename_1to_1utf8
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1filename_1to_1utf8)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1filename_1to_1utf8_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)g_filename_to_utf8((const gchar *)arg0, (gssize)arg1, (gsize *)lparg2, (gsize *)lparg3, (GError **)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1filename_1to_1utf8_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1free_FUNC);
-	g_free((gpointer)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1append
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1append)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1append_FUNC);
-	rc = (jint)g_list_append((GList *)arg0, (gpointer)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1append_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1data
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1data)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1data_FUNC);
-	rc = (jint)g_list_data((GList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1list_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1list_1free_FUNC);
-	g_list_free((GList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1free_11
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1list_1free_11)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1list_1free_11_FUNC);
-	g_list_free_1((GList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1free_11_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1length
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1length)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1length_FUNC);
-	rc = (jint)g_list_length((GList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1length_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1next
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1next)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1next_FUNC);
-	rc = (jint)g_list_next(arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1next_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1nth
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1nth)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1nth_FUNC);
-	rc = (jint)g_list_nth((GList *)arg0, (guint)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1nth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1nth_1data
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1nth_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1nth_1data_FUNC);
-	rc = (jint)g_list_nth_data((GList *)arg0, (guint)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1nth_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1prepend
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1prepend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1prepend_FUNC);
-	rc = (jint)g_list_prepend((GList *)arg0, (gpointer)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1prepend_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1previous
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1previous)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1previous_FUNC);
-	rc = (jint)g_list_previous(arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1previous_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1remove_1link
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1remove_1link)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1remove_1link_FUNC);
-	rc = (jint)g_list_remove_link((GList *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1remove_1link_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1reverse
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1list_1reverse)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1list_1reverse_FUNC);
-	rc = (jint)g_list_reverse((GList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1reverse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1set_1next
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1list_1set_1next)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1list_1set_1next_FUNC);
-	g_list_set_next((GList *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1set_1next_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1set_1previous
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1list_1set_1previous)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1list_1set_1previous_FUNC);
-	g_list_set_previous((GList *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1list_1set_1previous_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1locale_1from_1utf8
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1locale_1from_1utf8)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1locale_1from_1utf8_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)g_locale_from_utf8((const gchar *)arg0, (gssize)arg1, (gsize *)lparg2, (gsize *)lparg3, (GError **)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1locale_1from_1utf8_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1locale_1to_1utf8
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1locale_1to_1utf8)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1locale_1to_1utf8_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)g_locale_to_utf8((const gchar *)arg0, (gssize)arg1, (gsize *)lparg2, (gsize *)lparg3, (GError **)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1locale_1to_1utf8_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1log_1default_1handler
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1log_1default_1handler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1log_1default_1handler_FUNC);
-	g_log_default_handler((gchar *)arg0, (GLogLevelFlags)arg1, (gchar *)arg2, (gpointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1g_1log_1default_1handler_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1log_1remove_1handler
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1log_1remove_1handler)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1log_1remove_1handler_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	g_log_remove_handler((gchar *)lparg0, (gint)arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1log_1remove_1handler_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1log_1set_1handler
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1log_1set_1handler)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1log_1set_1handler_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)g_log_set_handler((gchar *)lparg0, (GLogLevelFlags)arg1, (GLogFunc)arg2, (gpointer)arg3);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1log_1set_1handler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1acquire
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1main_1context_1acquire)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1acquire_FUNC);
-	rc = (jboolean)g_main_context_acquire((GMainContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1acquire_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1check
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1main_1context_1check)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1check_FUNC);
-	rc = (jint)g_main_context_check((GMainContext *)arg0, arg1, (GPollFD *)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1check_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1main_1context_1default)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1default_FUNC);
-	rc = (jint)g_main_context_default();
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1get_1poll_1func
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1main_1context_1get_1poll_1func)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1get_1poll_1func_FUNC);
-	rc = (jint)g_main_context_get_poll_func((GMainContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1get_1poll_1func_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1iteration
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1main_1context_1iteration)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1iteration_FUNC);
-	rc = (jboolean)g_main_context_iteration((GMainContext *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1iteration_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1pending
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1main_1context_1pending)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1pending_FUNC);
-	rc = (jboolean)g_main_context_pending((GMainContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1pending_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1prepare
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1main_1context_1prepare)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1prepare_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)g_main_context_prepare((GMainContext *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1prepare_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1query
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1main_1context_1query)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jint arg4)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1query_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)g_main_context_query((GMainContext *)arg0, arg1, lparg2, (GPollFD *)arg3, arg4);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1query_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1main_1context_1release
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1main_1context_1release)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1main_1context_1release_FUNC);
-	g_main_context_release((GMainContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1main_1context_1release_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1malloc
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1malloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1malloc_FUNC);
-	rc = (jint)g_malloc((gulong)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1malloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1object_1get
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1get)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1get_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	g_object_get((GObject *)arg0, (const gchar *)lparg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1get_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1get_1qdata
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1object_1get_1qdata)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1get_1qdata_FUNC);
-	rc = (jint)g_object_get_qdata((GObject *)arg0, (GQuark)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1get_1qdata_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1object_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1object_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1new_FUNC);
-	rc = (jint)g_object_new((GType)arg0, (const gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1object_1ref
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1object_1ref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1ref_FUNC);
-	rc = (jint)g_object_ref((gpointer)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1ref_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1object_1set__I_3BFI
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__I_3BFI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jfloat arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BFI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BFI_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1set__I_3BII
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__I_3BII)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BII_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BII_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1set__I_3BJI
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__I_3BJI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jlong arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BJI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BJI_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1set__I_3BZI
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__I_3BZI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jboolean arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BZI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BZI_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1set_1qdata
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set_1qdata)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1object_1set_1qdata_FUNC);
-	g_object_set_qdata((GObject *)arg0, (GQuark)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1set_1qdata_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1object_1unref
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1object_1unref_FUNC);
-	g_object_unref((gpointer)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1object_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1quark_1from_1string
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1quark_1from_1string)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1quark_1from_1string_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)g_quark_from_string((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1quark_1from_1string_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1set_1prgname
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1set_1prgname)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1set_1prgname_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	g_set_prgname((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1set_1prgname_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1connect
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1connect)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1connect_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)g_signal_connect((gpointer)arg0, (const gchar *)lparg1, (GCallback)arg2, (gpointer)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1connect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1connect_1after
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1connect_1after)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1connect_1after_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)g_signal_connect_after((gpointer)arg0, (const gchar *)lparg1, (GCallback)arg2, (gpointer)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1connect_1after_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1connect_1closure
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1connect_1closure)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jboolean arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1connect_1closure_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)g_signal_connect_closure((gpointer)arg0, (const gchar *)lparg1, (GClosure *)arg2, (gboolean)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1connect_1closure_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1connect_1closure_1by_1id
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1connect_1closure_1by_1id)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jboolean arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1connect_1closure_1by_1id_FUNC);
-	rc = (jint)g_signal_connect_closure_by_id((gpointer)arg0, (guint)arg1, (GQuark)arg2, (GClosure *)arg3, (gboolean)arg4);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1connect_1closure_1by_1id_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1emit_1by_1name__I_3B
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3B)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__I_3B_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_signal_emit_by_name((gpointer)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__I_3B_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1emit_1by_1name__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__I_3BI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_signal_emit_by_name((gpointer)arg0, (const gchar *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1emit_1by_1name__I_3BII
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3BII)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__I_3BII_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_signal_emit_by_name((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__I_3BII_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1emit_1by_1name__I_3B_3B
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3B_3B)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__I_3B_3B_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	g_signal_emit_by_name((gpointer)arg0, (const gchar *)lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__I_3B_3B_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1handler_1disconnect
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1handler_1disconnect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1handler_1disconnect_FUNC);
-	g_signal_handler_disconnect((gpointer)arg0, (gulong)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1handler_1disconnect_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1signal_1handlers_1block_1matched
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1handlers_1block_1matched)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1handlers_1block_1matched_FUNC);
-	rc = (jint)g_signal_handlers_block_matched((gpointer)arg0, (GSignalMatchType)arg1, (guint)arg2, (GQuark)arg3, (GClosure *)arg4, (gpointer)arg5, (gpointer)arg6);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1handlers_1block_1matched_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1handlers_1disconnect_1matched
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1handlers_1disconnect_1matched)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1handlers_1disconnect_1matched_FUNC);
-	rc = (jint)g_signal_handlers_disconnect_matched((gpointer)arg0, (GSignalMatchType)arg1, (guint)arg2, (GQuark)arg3, (GClosure *)arg4, (gpointer)arg5, (gpointer)arg6);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1handlers_1disconnect_1matched_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1handlers_1unblock_1matched
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1handlers_1unblock_1matched)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1handlers_1unblock_1matched_FUNC);
-	rc = (jint)g_signal_handlers_unblock_matched((gpointer)arg0, (GSignalMatchType)arg1, (guint)arg2, (GQuark)arg3, (GClosure *)arg4, (gpointer)arg5, (gpointer)arg6);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1handlers_1unblock_1matched_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1lookup
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1lookup)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1lookup_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)g_signal_lookup((const gchar *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1lookup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1stop_1emission_1by_1name
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1stop_1emission_1by_1name)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1g_1signal_1stop_1emission_1by_1name_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	g_signal_stop_emission_by_name((gpointer)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1g_1signal_1stop_1emission_1by_1name_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1slist_1data
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1slist_1data)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1slist_1data_FUNC);
-	rc = (jint)g_slist_data((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1slist_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1slist_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1slist_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1slist_1free_FUNC);
-	g_slist_free((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1slist_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1slist_1length
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1slist_1length)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1slist_1length_FUNC);
-	rc = (jint)g_slist_length((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1slist_1length_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1slist_1next
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1slist_1next)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1slist_1next_FUNC);
-	rc = (jint)g_slist_next((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1slist_1next_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1strfreev
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1strfreev)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1strfreev_FUNC);
-	g_strfreev((gchar **)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1strfreev_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1thread_1init
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1thread_1init)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1thread_1init_FUNC);
-	g_thread_init((GThreadFunctions *)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1thread_1init_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1thread_1supported
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1thread_1supported)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1thread_1supported_FUNC);
-	rc = (jboolean)g_thread_supported();
-	OS_NATIVE_EXIT(env, that, _1g_1thread_1supported_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1add_1interface_1static
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1type_1add_1interface_1static)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1type_1add_1interface_1static_FUNC);
-	g_type_add_interface_static((GType)arg0, (GType)arg1, (const GInterfaceInfo *)arg2);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1add_1interface_1static_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1type_1class_1peek
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1class_1peek)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1class_1peek_FUNC);
-	rc = (jint)g_type_class_peek((GType)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1class_1peek_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1class_1peek_1parent
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1class_1peek_1parent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1class_1peek_1parent_FUNC);
-	rc = (jint)g_type_class_peek_parent((gpointer)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1class_1peek_1parent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1from_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1from_1name)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1from_1name_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)g_type_from_name((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1from_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1interface_1peek_1parent
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1interface_1peek_1parent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1interface_1peek_1parent_FUNC);
-	rc = (jint)g_type_interface_peek_parent((gpointer)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1interface_1peek_1parent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1is_1a
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1type_1is_1a)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1is_1a_FUNC);
-	rc = (jboolean)g_type_is_a((GType)arg0, (GType)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1is_1a_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1name)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1name_FUNC);
-	rc = (jint)g_type_name((GType)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1parent
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1parent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1parent_FUNC);
-	rc = (jint)g_type_parent((GType)arg0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1parent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1type_1query
-JNIEXPORT void JNICALL OS_NATIVE(_1g_1type_1query)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1g_1type_1query_FUNC);
-	g_type_query((GType)arg0, (GTypeQuery *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1query_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1type_1register_1static
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1type_1register_1static)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1type_1register_1static_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)g_type_register_static((GType)arg0, (const gchar *)lparg1, (const GTypeInfo *)arg2, (GTypeFlags)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1g_1type_1register_1static_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf16_1to_1utf8
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf16_1to_1utf8)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jchar *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf16_1to_1utf8_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)g_utf16_to_utf8((const gunichar2 *)lparg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-		if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1g_1utf16_1to_1utf8_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf8_1offset_1to_1pointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf8_1offset_1to_1pointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf8_1offset_1to_1pointer_FUNC);
-	rc = (jint)g_utf8_offset_to_pointer((const gchar *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1utf8_1offset_1to_1pointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf8_1pointer_1to_1offset
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf8_1pointer_1to_1offset)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf8_1pointer_1to_1offset_FUNC);
-	rc = (jint)g_utf8_pointer_to_offset((const gchar *)arg0, (const gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1utf8_1pointer_1to_1offset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf8_1strlen
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf8_1strlen)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf8_1strlen_FUNC);
-	rc = (jint)g_utf8_strlen((const gchar *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1g_1utf8_1strlen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf8_1to_1utf16__II_3I_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf8_1to_1utf16__II_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf8_1to_1utf16__II_3I_3I_3I_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)g_utf8_to_utf16((const gchar *)arg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	OS_NATIVE_EXIT(env, that, _1g_1utf8_1to_1utf16__II_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1utf8_1to_1utf16___3BI_3I_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(_1g_1utf8_1to_1utf16___3BI_3I_3I_3I)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1g_1utf8_1to_1utf16___3BI_3I_3I_3I_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)g_utf8_to_utf16((const gchar *)lparg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1g_1utf8_1to_1utf16___3BI_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1atom_1intern
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1atom_1intern)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jboolean arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1atom_1intern_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)gdk_atom_intern((const gchar *)lparg0, arg1);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1atom_1intern_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1atom_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1atom_1name)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1atom_1name_FUNC);
-	rc = (jint)gdk_atom_name((GdkAtom)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1atom_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1beep
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1beep)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1beep_FUNC);
-	gdk_beep();
-	OS_NATIVE_EXIT(env, that, _1gdk_1beep_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1bitmap_1create_1from_1data
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1bitmap_1create_1from_1data)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1bitmap_1create_1from_1data_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)gdk_bitmap_create_from_data((GdkWindow *)arg0, (const gchar *)lparg1, (gint)arg2, (gint)arg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1bitmap_1create_1from_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1cairo_1region
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1cairo_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1cairo_1region_FUNC);
-/*
-	gdk_cairo_region(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_cairo_region_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_cairo_region");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1cairo_1region_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1cairo_1set_1source_1color
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1cairo_1set_1source_1color)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1cairo_1set_1source_1color_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	gdk_cairo_set_source_color(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, GdkColor *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_cairo_set_source_color_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_cairo_set_source_color");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setGdkColorFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1cairo_1set_1source_1color_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1color_1white
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1color_1white)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1color_1white_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	rc = (jboolean)gdk_color_white((GdkColormap *)arg0, (GdkColor *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkColorFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1color_1white_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1colormap_1alloc_1color
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1colormap_1alloc_1color)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2, jboolean arg3)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1colormap_1alloc_1color_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)gdk_colormap_alloc_color((GdkColormap *)arg0, (GdkColor *)lparg1, (gboolean)arg2, (gboolean)arg3);
-fail:
-	if (arg1 && lparg1) setGdkColorFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1colormap_1alloc_1color_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1colormap_1free_1colors
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1colormap_1free_1colors)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1colormap_1free_1colors_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_colormap_free_colors((GdkColormap *)arg0, (GdkColor *)lparg1, (gint)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1colormap_1free_1colors_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1colormap_1get_1system
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1colormap_1get_1system)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1colormap_1get_1system_FUNC);
-	rc = (jint)gdk_colormap_get_system();
-	OS_NATIVE_EXIT(env, that, _1gdk_1colormap_1get_1system_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1colormap_1query_1color
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1colormap_1query_1color)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1colormap_1query_1color_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gdk_colormap_query_color((GdkColormap *)arg0, (gulong)arg1, (GdkColor *)lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1colormap_1query_1color_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1cursor_1destroy
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1cursor_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1cursor_1destroy_FUNC);
-	gdk_cursor_destroy((GdkCursor *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1cursor_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1cursor_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1cursor_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1cursor_1new_FUNC);
-	rc = (jint)gdk_cursor_new((GdkCursorType)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1cursor_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1cursor_1new_1from_1pixmap
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1cursor_1new_1from_1pixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jint arg5)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	GdkColor _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1cursor_1new_1from_1pixmap_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getGdkColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)gdk_cursor_new_from_pixmap((GdkPixmap *)arg0, (GdkPixmap *)arg1, (GdkColor *)lparg2, (GdkColor *)lparg3, (gint)arg4, (gint)arg5);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1cursor_1new_1from_1pixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1drag_1status
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1drag_1status)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1drag_1status_FUNC);
-	gdk_drag_status((GdkDragContext *)arg0, (GdkDragAction)arg1, (guint32)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1drag_1status_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1arc
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1arc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1arc_FUNC);
-	gdk_draw_arc((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (gint)arg3, (gint)arg4, (gint)arg5, (gint)arg6, (gint)arg7, (gint)arg8);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1arc_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1drawable
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1drawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1drawable_FUNC);
-	gdk_draw_drawable((GdkDrawable *)arg0, (GdkGC *)arg1, (GdkDrawable *)arg2, (gint)arg3, (gint)arg4, (gint)arg5, (gint)arg6, (gint)arg7, (gint)arg8);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1drawable_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1image
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1image)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1image_FUNC);
-	gdk_draw_image((GdkDrawable *)arg0, (GdkGC *)arg1, (GdkImage *)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1image_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1layout
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1layout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1layout_FUNC);
-	gdk_draw_layout((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (gint)arg3, (PangoLayout *)arg4);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1layout_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1layout_1with_1colors
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1layout_1with_1colors)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jobject arg6)
-{
-	GdkColor _arg5, *lparg5=NULL;
-	GdkColor _arg6, *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1layout_1with_1colors_FUNC);
-	if (arg5) if ((lparg5 = getGdkColorFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getGdkColorFields(env, arg6, &_arg6)) == NULL) goto fail;
-	gdk_draw_layout_with_colors((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (gint)arg3, (PangoLayout *)arg4, lparg5, lparg6);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1layout_1with_1colors_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1line
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1line)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1line_FUNC);
-	gdk_draw_line((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (gint)arg3, (gint)arg4, (gint)arg5);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1line_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1lines
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1lines)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1lines_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	}
-	gdk_draw_lines((GdkDrawable *)arg0, (GdkGC *)arg1, (GdkPoint *)lparg2, (gint)arg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1lines_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1pixbuf
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1pixbuf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1pixbuf_FUNC);
-/*
-	gdk_draw_pixbuf((GdkDrawable *)arg0, (GdkGC *)arg1, (GdkPixbuf *)arg2, (gint)arg3, (gint)arg4, (gint)arg5, (gint)arg6, (gint)arg7, (gint)arg8, (GdkRgbDither)arg9, (gint)arg10, (gint)arg11);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(GdkDrawable *, GdkGC *, GdkPixbuf *, gint, gint, gint, gint, gint, gint, GdkRgbDither, gint, gint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_draw_pixbuf_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_draw_pixbuf");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)((GdkDrawable *)arg0, (GdkGC *)arg1, (GdkPixbuf *)arg2, (gint)arg3, (gint)arg4, (gint)arg5, (gint)arg6, (gint)arg7, (gint)arg8, (GdkRgbDither)arg9, (gint)arg10, (gint)arg11);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1pixbuf_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1point
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1point)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1point_FUNC);
-	gdk_draw_point((GdkDrawable *)arg0, (GdkGC *)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1point_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1polygon
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1polygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1polygon_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	gdk_draw_polygon((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (GdkPoint *)lparg3, (gint)arg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1polygon_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1draw_1rectangle
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1draw_1rectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1draw_1rectangle_FUNC);
-	gdk_draw_rectangle((GdkDrawable *)arg0, (GdkGC *)arg1, (gint)arg2, (gint)arg3, (gint)arg4, (gint)arg5, (gint)arg6);
-	OS_NATIVE_EXIT(env, that, _1gdk_1draw_1rectangle_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1drawable_1get_1depth
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1drawable_1get_1depth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1drawable_1get_1depth_FUNC);
-	rc = (jint)gdk_drawable_get_depth((GdkDrawable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1drawable_1get_1depth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1drawable_1get_1image
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1drawable_1get_1image)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1drawable_1get_1image_FUNC);
-	rc = (jint)gdk_drawable_get_image((GdkDrawable *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
-	OS_NATIVE_EXIT(env, that, _1gdk_1drawable_1get_1image_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1drawable_1get_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1drawable_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1drawable_1get_1size_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	}
-	gdk_drawable_get_size((GdkDrawable *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, 0);
-	} else
-#endif
-	{
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1drawable_1get_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1drawable_1get_1visible_1region
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1drawable_1get_1visible_1region)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1drawable_1get_1visible_1region_FUNC);
-	rc = (jint)gdk_drawable_get_visible_region((GdkDrawable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1drawable_1get_1visible_1region_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1error_1trap_1pop
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1error_1trap_1pop)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1error_1trap_1pop_FUNC);
-	rc = (jint)gdk_error_trap_pop();
-	OS_NATIVE_EXIT(env, that, _1gdk_1error_1trap_1pop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1error_1trap_1push
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1error_1trap_1push)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1error_1trap_1push_FUNC);
-	gdk_error_trap_push();
-	OS_NATIVE_EXIT(env, that, _1gdk_1error_1trap_1push_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1event_1copy
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1event_1copy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1copy_FUNC);
-	rc = (jint)gdk_event_copy((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1copy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1event_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1free_FUNC);
-	gdk_event_free((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1event_1get)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_FUNC);
-	rc = (jint)gdk_event_get();
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get_1coords
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1event_1get_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_1coords_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_event_get_coords((GdkEvent *)arg0, (gdouble *)lparg1, (gdouble *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_1coords_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get_1graphics_1expose
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1event_1get_1graphics_1expose)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_1graphics_1expose_FUNC);
-	rc = (jint)gdk_event_get_graphics_expose((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_1graphics_1expose_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get_1root_1coords
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1event_1get_1root_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
-{
-	jdouble *lparg1=NULL;
-	jdouble *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_1root_1coords_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_event_get_root_coords((GdkEvent *)arg0, (gdouble *)lparg1, (gdouble *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_1root_1coords_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get_1state
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1event_1get_1state)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_1state_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_event_get_state((GdkEvent *)arg0, (GdkModifierType *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_1state_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1get_1time
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1event_1get_1time)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1get_1time_FUNC);
-	rc = (jint)gdk_event_get_time((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1get_1time_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1event_1handler_1set
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1event_1handler_1set)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1handler_1set_FUNC);
-	gdk_event_handler_set((GdkEventFunc)arg0, (gpointer)arg1, (GDestroyNotify)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1handler_1set_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1event_1put
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1event_1put)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1event_1put_FUNC);
-	gdk_event_put((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1event_1put_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1flush
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1flush)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1flush_FUNC);
-	gdk_flush();
-	OS_NATIVE_EXIT(env, that, _1gdk_1flush_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1free_1text_1list
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1free_1text_1list)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1free_1text_1list_FUNC);
-	gdk_free_text_list((gchar **)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1free_1text_1list_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1get_1values
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1get_1values)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkGCValues _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1get_1values_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gdk_gc_get_values((GdkGC *)arg0, (GdkGCValues *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkGCValuesFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1get_1values_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1gc_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1new_FUNC);
-	rc = (jint)gdk_gc_new((GdkDrawable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1background
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1background)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1background_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_gc_set_background((GdkGC *)arg0, (GdkColor *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1background_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1clip_1mask
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1clip_1mask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1clip_1mask_FUNC);
-	gdk_gc_set_clip_mask((GdkGC *)arg0, (GdkBitmap *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1clip_1mask_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1clip_1origin
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1clip_1origin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1clip_1origin_FUNC);
-	gdk_gc_set_clip_origin((GdkGC *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1clip_1origin_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1clip_1rectangle
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1clip_1rectangle)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1clip_1rectangle_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_gc_set_clip_rectangle((GdkGC *)arg0, (GdkRectangle *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1clip_1rectangle_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1clip_1region
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1clip_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1clip_1region_FUNC);
-	gdk_gc_set_clip_region((GdkGC *)arg0, (GdkRegion *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1clip_1region_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1dashes
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1dashes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1dashes_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	}
-	gdk_gc_set_dashes((GdkGC *)arg0, (gint)arg1, (gint8 *)lparg2, (gint)arg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1dashes_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1exposures
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1exposures)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1exposures_FUNC);
-	gdk_gc_set_exposures((GdkGC *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1exposures_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1fill
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1fill)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1fill_FUNC);
-	gdk_gc_set_fill((GdkGC *)arg0, (GdkFill)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1fill_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1foreground
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1foreground)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1foreground_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_gc_set_foreground((GdkGC *)arg0, (GdkColor *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1foreground_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1function
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1function)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1function_FUNC);
-	gdk_gc_set_function((GdkGC *)arg0, (GdkFunction)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1function_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1line_1attributes
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1line_1attributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1line_1attributes_FUNC);
-	gdk_gc_set_line_attributes((GdkGC *)arg0, (gint)arg1, (GdkLineStyle)arg2, (GdkCapStyle)arg3, (GdkJoinStyle)arg4);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1line_1attributes_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1stipple
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1stipple)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1stipple_FUNC);
-	gdk_gc_set_stipple((GdkGC *)arg0, (GdkPixmap *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1stipple_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1subwindow
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1subwindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1subwindow_FUNC);
-	gdk_gc_set_subwindow((GdkGC *)arg0, (GdkSubwindowMode)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1subwindow_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1tile
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1tile)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1tile_FUNC);
-	gdk_gc_set_tile((GdkGC *)arg0, (GdkPixmap *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1tile_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1ts_1origin
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1ts_1origin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1ts_1origin_FUNC);
-	gdk_gc_set_ts_origin((GdkGC *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1ts_1origin_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1gc_1set_1values
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1gc_1set_1values)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GdkGCValues _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1gc_1set_1values_FUNC);
-	if (arg1) if ((lparg1 = getGdkGCValuesFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_gc_set_values((GdkGC *)arg0, (GdkGCValues *)lparg1, (GdkGCValuesMask)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1gc_1set_1values_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1keyboard_1ungrab
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1keyboard_1ungrab)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1keyboard_1ungrab_FUNC);
-	gdk_keyboard_ungrab(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1keyboard_1ungrab_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1keymap_1get_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1keymap_1get_1default)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1keymap_1get_1default_FUNC);
-	rc = (jint)gdk_keymap_get_default();
-	OS_NATIVE_EXIT(env, that, _1gdk_1keymap_1get_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1keymap_1translate_1keyboard_1state
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1keymap_1translate_1keyboard_1state)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5, jintArray arg6, jintArray arg7)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1keymap_1translate_1keyboard_1state_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_keymap_translate_keyboard_state((GdkKeymap*)arg0, arg1, (GdkModifierType)arg2, arg3, (guint*)lparg4, (gint*)lparg5, (gint*)lparg6, (GdkModifierType *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1keymap_1translate_1keyboard_1state_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1keyval_1to_1lower
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1keyval_1to_1lower)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1keyval_1to_1lower_FUNC);
-	rc = (jint)gdk_keyval_to_lower(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1keyval_1to_1lower_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1keyval_1to_1unicode
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1keyval_1to_1unicode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1keyval_1to_1unicode_FUNC);
-	rc = (jint)gdk_keyval_to_unicode(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1keyval_1to_1unicode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pango_1context_1get
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pango_1context_1get)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pango_1context_1get_FUNC);
-	rc = (jint)gdk_pango_context_get();
-	OS_NATIVE_EXIT(env, that, _1gdk_1pango_1context_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pango_1context_1set_1colormap
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pango_1context_1set_1colormap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pango_1context_1set_1colormap_FUNC);
-	gdk_pango_context_set_colormap((PangoContext *)arg0, (GdkColormap *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pango_1context_1set_1colormap_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pango_1layout_1get_1clip_1region
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pango_1layout_1get_1clip_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pango_1layout_1get_1clip_1region_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_pango_layout_get_clip_region((PangoLayout *)arg0, arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pango_1layout_1get_1clip_1region_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1copy_1area
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pixbuf_1copy_1area)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1copy_1area_FUNC);
-	gdk_pixbuf_copy_area((GdkPixbuf *)arg0, arg1, arg2, arg3, arg4, (GdkPixbuf *)arg5, arg6, arg7);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1copy_1area_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1from_1drawable
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1from_1drawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1from_1drawable_FUNC);
-	rc = (jint)gdk_pixbuf_get_from_drawable((GdkPixbuf *)arg0, (GdkDrawable *)arg1, (GdkColormap *)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1from_1drawable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1has_1alpha
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1has_1alpha)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1has_1alpha_FUNC);
-	rc = (jboolean)gdk_pixbuf_get_has_alpha((const GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1has_1alpha_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1height
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1height)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1height_FUNC);
-	rc = (jint)gdk_pixbuf_get_height((const GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1height_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1pixels
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1pixels)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1pixels_FUNC);
-	rc = (jint)gdk_pixbuf_get_pixels((const GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1pixels_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1rowstride
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1rowstride)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1rowstride_FUNC);
-	rc = (jint)gdk_pixbuf_get_rowstride((const GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1rowstride_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1get_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1get_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1get_1width_FUNC);
-	rc = (jint)gdk_pixbuf_get_width((const GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1get_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1new)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1new_FUNC);
-	rc = (jint)gdk_pixbuf_new((GdkColorspace)arg0, (gboolean)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1new_1from_1file
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1new_1from_1file)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jintArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1new_1from_1file_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_pixbuf_new_from_file((const char *)lparg0, (GError**)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1new_1from_1file_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1render_1pixmap_1and_1mask
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pixbuf_1render_1pixmap_1and_1mask)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1render_1pixmap_1and_1mask_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;
-	gdk_pixbuf_render_pixmap_and_mask((GdkPixbuf *)arg0, (GdkDrawable **)lparg1, (GdkBitmap **)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1render_1pixmap_1and_1mask_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1render_1to_1drawable
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pixbuf_1render_1to_1drawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1render_1to_1drawable_FUNC);
-	gdk_pixbuf_render_to_drawable((GdkPixbuf *)arg0, (GdkDrawable *)arg1, (GdkGC *)arg2, arg3, arg4, arg5, arg6, arg7, arg8, (GdkRgbDither)arg9, arg10, arg11);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1render_1to_1drawable_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1render_1to_1drawable_1alpha
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pixbuf_1render_1to_1drawable_1alpha)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1render_1to_1drawable_1alpha_FUNC);
-	gdk_pixbuf_render_to_drawable_alpha((GdkPixbuf *)arg0, (GdkDrawable *)arg1, arg2, arg3, arg4, arg5, arg6, arg7, (GdkPixbufAlphaMode)arg8, arg9, (GdkRgbDither)arg10, arg11, arg12);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1render_1to_1drawable_1alpha_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1scale
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pixbuf_1scale)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jdouble arg6, jdouble arg7, jdouble arg8, jdouble arg9, jint arg10)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1scale_FUNC);
-	gdk_pixbuf_scale((const GdkPixbuf *)arg0, (GdkPixbuf *)arg1, arg2, arg3, arg4, arg5, (double)arg6, (double)arg7, (double)arg8, (double)arg9, arg10);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1scale_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1pixbuf_1scale_1simple
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixbuf_1scale_1simple)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixbuf_1scale_1simple_FUNC);
-	rc = (jint)gdk_pixbuf_scale_simple((const GdkPixbuf *)arg0, arg1, arg2, (GdkInterpType)arg3);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixbuf_1scale_1simple_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixmap_1foreign_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixmap_1foreign_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixmap_1foreign_1new_FUNC);
-	rc = (jint)gdk_pixmap_foreign_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixmap_1foreign_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pixmap_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pixmap_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pixmap_1new_FUNC);
-	rc = (jint)gdk_pixmap_new((GdkWindow *)arg0, (gint)arg1, (gint)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pixmap_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pointer_1grab
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1pointer_1grab)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pointer_1grab_FUNC);
-	rc = (jint)gdk_pointer_grab((GdkWindow *)arg0, (gboolean)arg1, (GdkEventMask)arg2, (GdkWindow *)arg3, (GdkCursor *)arg4, (guint32)arg5);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pointer_1grab_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pointer_1is_1grabbed
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1pointer_1is_1grabbed)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1pointer_1is_1grabbed_FUNC);
-	rc = (jboolean)gdk_pointer_is_grabbed();
-	OS_NATIVE_EXIT(env, that, _1gdk_1pointer_1is_1grabbed_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1pointer_1ungrab
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1pointer_1ungrab)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1pointer_1ungrab_FUNC);
-	gdk_pointer_ungrab((guint32)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1pointer_1ungrab_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1property_1get
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1property_1get)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6, jintArray arg7, jintArray arg8, jintArray arg9)
-{
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint *lparg9=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1property_1get_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_property_get((GdkWindow *)arg0, (GdkAtom)arg1, (GdkAtom)arg2, arg3, arg4, arg5, (GdkAtom *)lparg6, (gint *)lparg7, (gint *)lparg8, (guchar **)lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1property_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1destroy
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1destroy_FUNC);
-	gdk_region_destroy((GdkRegion *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1empty
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1region_1empty)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1empty_FUNC);
-	rc = (jboolean)gdk_region_empty((GdkRegion *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1empty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1get_1clipbox
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1get_1clipbox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1get_1clipbox_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gdk_region_get_clipbox((GdkRegion *)arg0, (GdkRectangle *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1get_1clipbox_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1get_1rectangles
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1get_1rectangles)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1get_1rectangles_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;
-	gdk_region_get_rectangles((GdkRegion *)arg0, (GdkRectangle **)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1get_1rectangles_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1intersect
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1intersect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1intersect_FUNC);
-	gdk_region_intersect((GdkRegion *)arg0, (GdkRegion *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1intersect_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1region_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1new_FUNC);
-	rc = (jint)gdk_region_new();
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1offset
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1offset)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1offset_FUNC);
-	gdk_region_offset((GdkRegion *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1offset_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1point_1in
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1region_1point_1in)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1point_1in_FUNC);
-	rc = (jboolean)gdk_region_point_in((GdkRegion *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1point_1in_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1polygon
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1region_1polygon)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1polygon_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_region_polygon((GdkPoint *)lparg0, arg1, (GdkFillRule)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1polygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1rect_1in
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1region_1rect_1in)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1rect_1in_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)gdk_region_rect_in((GdkRegion *)arg0, (GdkRectangle *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1rect_1in_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1rectangle
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1region_1rectangle)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	GdkRectangle _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1rectangle_FUNC);
-	if (arg0) if ((lparg0 = getGdkRectangleFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)gdk_region_rectangle(lparg0);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1rectangle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1region_1subtract
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1subtract)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1subtract_FUNC);
-	gdk_region_subtract((GdkRegion *)arg0, (GdkRegion *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1subtract_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1union
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1union)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1union_FUNC);
-	gdk_region_union((GdkRegion *)arg0, (GdkRegion *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1union_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1region_1union_1with_1rect
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1region_1union_1with_1rect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1region_1union_1with_1rect_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_region_union_with_rect((GdkRegion *)arg0, (GdkRectangle *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1region_1union_1with_1rect_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1rgb_1init
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1rgb_1init)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1rgb_1init_FUNC);
-	gdk_rgb_init();
-	OS_NATIVE_EXIT(env, that, _1gdk_1rgb_1init_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1get_1default)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1default_FUNC);
-/*
-	rc = (jint)gdk_screen_get_default();
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)();
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_default_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_default");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1monitor_1at_1point
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1get_1monitor_1at_1point)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1monitor_1at_1point_FUNC);
-/*
-	rc = (jint)gdk_screen_get_monitor_at_point((GdkScreen *)arg0, (gint)arg1, (gint)arg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *, gint, gint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_monitor_at_point_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_monitor_at_point");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0, (gint)arg1, (gint)arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1monitor_1at_1point_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1monitor_1at_1window
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1get_1monitor_1at_1window)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1monitor_1at_1window_FUNC);
-/*
-	rc = (jint)gdk_screen_get_monitor_at_window((GdkScreen *)arg0, (GdkWindow *)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *, GdkWindow *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_monitor_at_window_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_monitor_at_window");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0, (GdkWindow *)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1monitor_1at_1window_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1monitor_1geometry
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1screen_1get_1monitor_1geometry)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkRectangle _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1monitor_1geometry_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-/*
-	gdk_screen_get_monitor_geometry((GdkScreen *)arg0, arg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(GdkScreen *, jint, GdkRectangle *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_monitor_geometry_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_monitor_geometry");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)((GdkScreen *)arg0, arg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) setGdkRectangleFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1monitor_1geometry_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1n_1monitors
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1get_1n_1monitors)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1n_1monitors_FUNC);
-/*
-	rc = (jint)gdk_screen_get_n_monitors((GdkScreen *)arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_n_monitors_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_n_monitors");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1n_1monitors_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1get_1number
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1get_1number)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1get_1number_FUNC);
-/*
-	rc = (jint)gdk_screen_get_number((GdkScreen *)arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_screen_get_number_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_screen_get_number");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1get_1number_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1height
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1height)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1height_FUNC);
-	rc = (jint)gdk_screen_height();
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1height_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1width)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1width_FUNC);
-	rc = (jint)gdk_screen_width();
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1screen_1width_1mm
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1screen_1width_1mm)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1screen_1width_1mm_FUNC);
-	rc = (jint)gdk_screen_width_mm();
-	OS_NATIVE_EXIT(env, that, _1gdk_1screen_1width_1mm_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1set_1program_1class
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1set_1program_1class)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1set_1program_1class_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	gdk_set_program_class((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1set_1program_1class_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1text_1property_1to_1utf8_1list
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1text_1property_1to_1utf8_1list)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1text_1property_1to_1utf8_1list_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_text_property_to_utf8_list((GdkAtom)arg0, arg1, (guchar *)arg2, arg3, (gchar ***)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1text_1property_1to_1utf8_1list_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1unicode_1to_1keyval
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1unicode_1to_1keyval)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1unicode_1to_1keyval_FUNC);
-	rc = (jint)gdk_unicode_to_keyval(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1unicode_1to_1keyval_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1utf8_1to_1compound_1text
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gdk_1utf8_1to_1compound_1text)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jintArray arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1utf8_1to_1compound_1text_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jboolean)gdk_utf8_to_compound_text((const gchar *)lparg0, (GdkAtom *)lparg1, (gint *)lparg2, (guchar **)lparg3, (gint *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1utf8_1to_1compound_1text_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1utf8_1to_1string_1target
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1utf8_1to_1string_1target)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1utf8_1to_1string_1target_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_utf8_to_string_target((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1utf8_1to_1string_1target_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1visual_1get_1system
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1visual_1get_1system)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1visual_1get_1system_FUNC);
-	rc = (jint)gdk_visual_get_system();
-	OS_NATIVE_EXIT(env, that, _1gdk_1visual_1get_1system_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1add_1filter
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1add_1filter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1add_1filter_FUNC);
-	gdk_window_add_filter((GdkWindow *)arg0, (GdkFilterFunc)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1add_1filter_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1at_1pointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1at_1pointer)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1at_1pointer_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_window_at_pointer((gint *)lparg0, (gint *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1at_1pointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1begin_1paint_1rect
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1begin_1paint_1rect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1begin_1paint_1rect_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_window_begin_paint_rect((GdkWindow *)arg0, (GdkRectangle *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1begin_1paint_1rect_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1clear_1area
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1clear_1area)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1clear_1area_FUNC);
-	gdk_window_clear_area((GdkWindow *)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1clear_1area_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1destroy
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1destroy_FUNC);
-	gdk_window_destroy((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1end_1paint
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1end_1paint)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1end_1paint_FUNC);
-	gdk_window_end_paint((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1end_1paint_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1focus
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1focus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1focus_FUNC);
-	gdk_window_focus((GdkWindow *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1focus_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1freeze_1updates
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1freeze_1updates)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1freeze_1updates_FUNC);
-	gdk_window_freeze_updates((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1freeze_1updates_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1children
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1get_1children)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1children_FUNC);
-	rc = (jint)gdk_window_get_children((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1children_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1events
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1get_1events)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1events_FUNC);
-	rc = (jint)gdk_window_get_events((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1events_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1frame_1extents
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1get_1frame_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1frame_1extents_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gdk_window_get_frame_extents((GdkWindow *)arg0, (GdkRectangle *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1frame_1extents_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1internal_1paint_1info
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1get_1internal_1paint_1info)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1internal_1paint_1info_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;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gdk_window_get_internal_paint_info((GdkWindow *)arg0, (GdkDrawable **)lparg1, (gint *)lparg2, (gint *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1internal_1paint_1info_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1origin
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1get_1origin)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1origin_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 = (jint)gdk_window_get_origin((GdkWindow *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1origin_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1parent
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1get_1parent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1parent_FUNC);
-	rc = (jint)gdk_window_get_parent((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1parent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1pointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1get_1pointer)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1pointer_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;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)gdk_window_get_pointer((GdkWindow *)arg0, (gint *)lparg1, (gint *)lparg2, (GdkModifierType *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1pointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1get_1user_1data
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1get_1user_1data)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1get_1user_1data_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gdk_window_get_user_data((GdkWindow *)arg0, (gpointer *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1get_1user_1data_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1hide
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1hide)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1hide_FUNC);
-	gdk_window_hide((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1hide_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1invalidate_1rect
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1invalidate_1rect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1invalidate_1rect_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gdk_window_invalidate_rect((GdkWindow *)arg0, (GdkRectangle *)lparg1, (gboolean)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1invalidate_1rect_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1invalidate_1region
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1invalidate_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1invalidate_1region_FUNC);
-	gdk_window_invalidate_region((GdkWindow *)arg0, (GdkRegion *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1invalidate_1region_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1lookup
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1lookup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1lookup_FUNC);
-	rc = (jint)gdk_window_lookup(arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1lookup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1lower
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1lower)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1lower_FUNC);
-	gdk_window_lower((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1lower_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1move
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1move)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1move_FUNC);
-	gdk_window_move((GdkWindow *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1move_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1window_1new)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GdkWindowAttr _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1new_FUNC);
-	if (arg1) if ((lparg1 = getGdkWindowAttrFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)gdk_window_new((GdkWindow *)arg0, lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1window_1process_1all_1updates
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1process_1all_1updates)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1process_1all_1updates_FUNC);
-	gdk_window_process_all_updates();
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1process_1all_1updates_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1process_1updates
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1process_1updates)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1process_1updates_FUNC);
-	gdk_window_process_updates((GdkWindow *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1process_1updates_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1raise
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1raise)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1raise_FUNC);
-	gdk_window_raise((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1raise_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1remove_1filter
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1remove_1filter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1remove_1filter_FUNC);
-	gdk_window_remove_filter((GdkWindow *)arg0, (GdkFilterFunc)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1remove_1filter_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1resize
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1resize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1resize_FUNC);
-	gdk_window_resize((GdkWindow *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1resize_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1scroll
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1scroll)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1scroll_FUNC);
-	gdk_window_scroll((GdkWindow *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1scroll_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1accept_1focus
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1accept_1focus)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1accept_1focus_FUNC);
-/*
-	gdk_window_set_accept_focus((GdkWindow *)arg0, (gboolean)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(GdkWindow *, gboolean);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_window_set_accept_focus_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_window_set_accept_focus");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)((GdkWindow *)arg0, (gboolean)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1accept_1focus_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1back_1pixmap
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1back_1pixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1back_1pixmap_FUNC);
-	gdk_window_set_back_pixmap((GdkWindow *)arg0, (GdkPixmap *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1back_1pixmap_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1cursor
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1cursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1cursor_FUNC);
-	gdk_window_set_cursor((GdkWindow *)arg0, (GdkCursor *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1cursor_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1debug_1updates
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1debug_1updates)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1debug_1updates_FUNC);
-	gdk_window_set_debug_updates((gboolean)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1debug_1updates_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1decorations
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1decorations)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1decorations_FUNC);
-	gdk_window_set_decorations((GdkWindow *)arg0, (GdkWMDecoration)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1decorations_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1events
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1events)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1events_FUNC);
-	gdk_window_set_events((GdkWindow *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1events_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1icon
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1icon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1icon_FUNC);
-	gdk_window_set_icon((GdkWindow *)arg0, (GdkWindow *)arg1, (GdkPixmap *)arg2, (GdkBitmap *)arg3);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1icon_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1icon_1list
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1icon_1list)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1icon_1list_FUNC);
-	gdk_window_set_icon_list((GdkWindow *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1icon_1list_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1keep_1above
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1keep_1above)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1keep_1above_FUNC);
-/*
-	gdk_window_set_keep_above((GdkWindow *)arg0, (gboolean)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(GdkWindow *, gboolean);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_window_set_keep_above_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_window_set_keep_above");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)((GdkWindow *)arg0, (gboolean)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1keep_1above_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1override_1redirect
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1override_1redirect)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1override_1redirect_FUNC);
-	gdk_window_set_override_redirect((GdkWindow *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1override_1redirect_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1set_1user_1data
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1set_1user_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1set_1user_1data_FUNC);
-	gdk_window_set_user_data((GdkWindow *)arg0, (gpointer)arg1);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1set_1user_1data_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1shape_1combine_1region
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1shape_1combine_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1shape_1combine_1region_FUNC);
-	gdk_window_shape_combine_region((GdkWindow *)arg0, (GdkRegion *)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1shape_1combine_1region_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1show
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1show)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1show_FUNC);
-	gdk_window_show((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1show_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1show_1unraised
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1show_1unraised)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1show_1unraised_FUNC);
-	gdk_window_show_unraised((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1show_1unraised_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1window_1thaw_1updates
-JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1thaw_1updates)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gdk_1window_1thaw_1updates_FUNC);
-	gdk_window_thaw_updates((GdkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1window_1thaw_1updates_FUNC);
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1atom_1to_1xatom
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1atom_1to_1xatom)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1atom_1to_1xatom_FUNC);
-	rc = (jint)gdk_x11_atom_to_xatom((GdkAtom)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1atom_1to_1xatom_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1colormap_1get_1xcolormap
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1colormap_1get_1xcolormap)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1colormap_1get_1xcolormap_FUNC);
-	rc = (jint)gdk_x11_colormap_get_xcolormap((GdkColormap *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1colormap_1get_1xcolormap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1drawable_1get_1xdisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1drawable_1get_1xdisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1drawable_1get_1xdisplay_FUNC);
-	rc = (jint)gdk_x11_drawable_get_xdisplay((GdkDrawable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1drawable_1get_1xdisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1drawable_1get_1xid
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1drawable_1get_1xid)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1drawable_1get_1xid_FUNC);
-	rc = (jint)gdk_x11_drawable_get_xid((GdkDrawable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1drawable_1get_1xid_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1screen_1get_1window_1manager_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1screen_1get_1window_1manager_1name)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1screen_1get_1window_1manager_1name_FUNC);
-/*
-	rc = (jint)gdk_x11_screen_get_window_manager_name((GdkScreen *)arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_x11_screen_get_window_manager_name_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_x11_screen_get_window_manager_name");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1screen_1get_1window_1manager_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1screen_1lookup_1visual
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1screen_1lookup_1visual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1screen_1lookup_1visual_FUNC);
-/*
-	rc = (jint)gdk_x11_screen_lookup_visual((GdkScreen *)arg0, (VisualID)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GdkScreen *, VisualID);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gdk_x11_screen_lookup_visual_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gdk_x11_screen_lookup_visual");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GdkScreen *)arg0, (VisualID)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1screen_1lookup_1visual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gdk_1x11_1visual_1get_1xvisual
-JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1x11_1visual_1get_1xvisual)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gdk_1x11_1visual_1get_1xvisual_FUNC);
-	rc = (jint)gdk_x11_visual_get_xvisual((GdkVisual *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gdk_1x11_1visual_1get_1xvisual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1accel_1group_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1accel_1group_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1accel_1group_1new_FUNC);
-	rc = (jint)gtk_accel_group_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1accel_1group_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1accel_1groups_1activate
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1accel_1groups_1activate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1accel_1groups_1activate_FUNC);
-	rc = (jboolean)gtk_accel_groups_activate((GObject *)arg0, (guint)arg1, (GdkModifierType)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1accel_1groups_1activate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1accel_1label_1set_1accel_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1accel_1label_1set_1accel_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1accel_1label_1set_1accel_1widget_FUNC);
-	gtk_accel_label_set_accel_widget((GtkAccelLabel *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1accel_1label_1set_1accel_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1adjustment_1changed
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1adjustment_1changed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1adjustment_1changed_FUNC);
-	gtk_adjustment_changed((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1adjustment_1changed_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1adjustment_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1adjustment_1new)
-	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1adjustment_1new_FUNC);
-	rc = (jint)gtk_adjustment_new((gdouble)arg0, (gdouble)arg1, (gdouble)arg2, (gdouble)arg3, (gdouble)arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1gtk_1adjustment_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1adjustment_1set_1value
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1adjustment_1set_1value)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1adjustment_1set_1value_FUNC);
-	gtk_adjustment_set_value((GtkAdjustment *)arg0, (gdouble)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1adjustment_1set_1value_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1adjustment_1value_1changed
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1adjustment_1value_1changed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1adjustment_1value_1changed_FUNC);
-	gtk_adjustment_value_changed((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1adjustment_1value_1changed_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1arrow_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1arrow_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1arrow_1new_FUNC);
-	rc = (jint)gtk_arrow_new((GtkArrowType)arg0, (GtkShadowType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1arrow_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1arrow_1set
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1arrow_1set)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1arrow_1set_FUNC);
-	gtk_arrow_set((GtkArrow *)arg0, (GtkArrowType)arg1, (GtkShadowType)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1arrow_1set_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1bin_1get_1child
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1bin_1get_1child)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1bin_1get_1child_FUNC);
-	rc = (jint)gtk_bin_get_child((GtkBin *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1bin_1get_1child_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1box_1set_1child_1packing
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1box_1set_1child_1packing)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jboolean arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1box_1set_1child_1packing_FUNC);
-	gtk_box_set_child_packing((GtkBox *)arg0, (GtkWidget *)arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1gtk_1box_1set_1child_1packing_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1box_1set_1spacing
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1box_1set_1spacing)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1box_1set_1spacing_FUNC);
-	gtk_box_set_spacing((GtkBox *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1box_1set_1spacing_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1button_1clicked
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1button_1clicked)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1button_1clicked_FUNC);
-	gtk_button_clicked((GtkButton *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1button_1clicked_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1button_1get_1relief
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1button_1get_1relief)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1button_1get_1relief_FUNC);
-	rc = (jint)gtk_button_get_relief((GtkButton *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1button_1get_1relief_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1button_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1button_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1button_1new_FUNC);
-	rc = (jint)gtk_button_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1button_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1button_1set_1relief
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1button_1set_1relief)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1button_1set_1relief_FUNC);
-	gtk_button_set_relief((GtkButton *)arg0, (GtkReliefStyle)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1button_1set_1relief_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1cell_1renderer_1get_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1cell_1renderer_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
-{
-	GdkRectangle _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1cell_1renderer_1get_1size_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_cell_renderer_get_size((GtkCellRenderer *)arg0, (GtkWidget *)arg1, (GdkRectangle *)lparg2, (gint *)lparg3, (gint *)lparg4, (gint *)lparg5, (gint *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setGdkRectangleFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1cell_1renderer_1get_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1cell_1renderer_1pixbuf_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1cell_1renderer_1pixbuf_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1cell_1renderer_1pixbuf_1new_FUNC);
-	rc = (jint)gtk_cell_renderer_pixbuf_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1cell_1renderer_1pixbuf_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1cell_1renderer_1text_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1cell_1renderer_1text_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1cell_1renderer_1text_1new_FUNC);
-	rc = (jint)gtk_cell_renderer_text_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1cell_1renderer_1text_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1cell_1renderer_1toggle_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1cell_1renderer_1toggle_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1cell_1renderer_1toggle_1new_FUNC);
-	rc = (jint)gtk_cell_renderer_toggle_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1cell_1renderer_1toggle_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1check_1button_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1check_1button_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1check_1button_1new_FUNC);
-	rc = (jint)gtk_check_button_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1check_1button_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1check_1menu_1item_1get_1active
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1check_1menu_1item_1get_1active)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1check_1menu_1item_1get_1active_FUNC);
-	rc = (jboolean)gtk_check_menu_item_get_active((GtkCheckMenuItem *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1check_1menu_1item_1get_1active_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1check_1menu_1item_1new_1with_1label
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1check_1menu_1item_1new_1with_1label)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1check_1menu_1item_1new_1with_1label_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_check_menu_item_new_with_label((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1check_1menu_1item_1new_1with_1label_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1check_1menu_1item_1set_1active
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1check_1menu_1item_1set_1active)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1check_1menu_1item_1set_1active_FUNC);
-	gtk_check_menu_item_set_active((GtkCheckMenuItem *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1check_1menu_1item_1set_1active_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1check_1version
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1check_1version)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1check_1version_FUNC);
-	rc = (jint)gtk_check_version(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1check_1version_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1clipboard_1clear
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1clipboard_1clear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1clipboard_1clear_FUNC);
-	gtk_clipboard_clear((GtkClipboard *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1clipboard_1clear_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1clipboard_1get
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1clipboard_1get)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1clipboard_1get_FUNC);
-	rc = (jint)gtk_clipboard_get((GdkAtom)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1clipboard_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1clipboard_1set_1with_1data
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1clipboard_1set_1with_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1clipboard_1set_1with_1data_FUNC);
-	rc = (jboolean)gtk_clipboard_set_with_data((GtkClipboard *)arg0, (const GtkTargetEntry *)arg1, (guint)arg2, (GtkClipboardGetFunc)arg3, (GtkClipboardClearFunc)arg4, (GObject *)arg5);
-	OS_NATIVE_EXIT(env, that, _1gtk_1clipboard_1set_1with_1data_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1clipboard_1wait_1for_1contents
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1clipboard_1wait_1for_1contents)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1clipboard_1wait_1for_1contents_FUNC);
-	rc = (jint)gtk_clipboard_wait_for_contents((GtkClipboard *)arg0, (GdkAtom)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1clipboard_1wait_1for_1contents_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1color_1selection_1dialog_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1color_1selection_1dialog_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1color_1selection_1dialog_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_color_selection_dialog_new((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1color_1selection_1dialog_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1color_1selection_1get_1current_1color
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1color_1selection_1get_1current_1color)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1color_1selection_1get_1current_1color_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gtk_color_selection_get_current_color((GtkColorSelection *)arg0, (GdkColor *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkColorFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1color_1selection_1get_1current_1color_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1color_1selection_1set_1current_1color
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1color_1selection_1set_1current_1color)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1color_1selection_1set_1current_1color_FUNC);
-	if (arg1) if ((lparg1 = getGdkColorFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gtk_color_selection_set_current_color((GtkColorSelection *)arg0, (GdkColor *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1color_1selection_1set_1current_1color_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1color_1selection_1set_1has_1palette
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1color_1selection_1set_1has_1palette)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1color_1selection_1set_1has_1palette_FUNC);
-	gtk_color_selection_set_has_palette((GtkColorSelection *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1color_1selection_1set_1has_1palette_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1combo_1disable_1activate
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1combo_1disable_1activate)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1combo_1disable_1activate_FUNC);
-	gtk_combo_disable_activate((GtkCombo *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1combo_1disable_1activate_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1combo_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1combo_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1combo_1new_FUNC);
-	rc = (jint)gtk_combo_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1combo_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1combo_1set_1case_1sensitive
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1combo_1set_1case_1sensitive)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1combo_1set_1case_1sensitive_FUNC);
-	gtk_combo_set_case_sensitive((GtkCombo *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1combo_1set_1case_1sensitive_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1combo_1set_1popdown_1strings
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1combo_1set_1popdown_1strings)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1combo_1set_1popdown_1strings_FUNC);
-	gtk_combo_set_popdown_strings((GtkCombo *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1combo_1set_1popdown_1strings_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1container_1add
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1add)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1add_FUNC);
-	gtk_container_add((GtkContainer *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1add_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1container_1forall
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1forall)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1forall_FUNC);
-	gtk_container_forall((GtkContainer *)arg0, (GtkCallback)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1forall_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1container_1get_1border_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1container_1get_1border_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1get_1border_1width_FUNC);
-	rc = (jint)gtk_container_get_border_width((GtkContainer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1get_1border_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1container_1get_1children
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1container_1get_1children)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1get_1children_FUNC);
-	rc = (jint)gtk_container_get_children((GtkContainer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1get_1children_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1container_1remove
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1remove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1remove_FUNC);
-	gtk_container_remove((GtkContainer *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1container_1resize_1children
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1resize_1children)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1resize_1children_FUNC);
-	gtk_container_resize_children((GtkContainer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1resize_1children_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1container_1set_1border_1width
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1container_1set_1border_1width)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1container_1set_1border_1width_FUNC);
-	gtk_container_set_border_width((GtkContainer *)arg0, (guint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1container_1set_1border_1width_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1dialog_1add_1button
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1dialog_1add_1button)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1dialog_1add_1button_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_dialog_add_button((GtkDialog *)arg0, (const gchar *)lparg1, (gint)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1dialog_1add_1button_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1dialog_1run
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1dialog_1run)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1dialog_1run_FUNC);
-	rc = (jint)gtk_dialog_run((GtkDialog *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1dialog_1run_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1begin
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1drag_1begin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1begin_FUNC);
-	rc = (jint)gtk_drag_begin((GtkWidget *)arg0, (GtkTargetList *)arg1, (GdkDragAction)arg2, (gint)arg3, (GdkEvent *)arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1begin_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1check_1threshold
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1drag_1check_1threshold)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1check_1threshold_FUNC);
-	rc = (jboolean)gtk_drag_check_threshold((GtkWidget *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1check_1threshold_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1dest_1find_1target
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1drag_1dest_1find_1target)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1dest_1find_1target_FUNC);
-	rc = (jint)gtk_drag_dest_find_target((GtkWidget *)arg0, (GdkDragContext *)arg1, (GtkTargetList *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1dest_1find_1target_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1dest_1set
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1drag_1dest_1set)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1dest_1set_FUNC);
-	gtk_drag_dest_set((GtkWidget *)arg0, (GtkDestDefaults)arg1, (const GtkTargetEntry *)arg2, (gint)arg3, (GdkDragAction)arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1dest_1set_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1dest_1unset
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1drag_1dest_1unset)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1dest_1unset_FUNC);
-	gtk_drag_dest_unset((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1dest_1unset_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1finish
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1drag_1finish)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jboolean arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1finish_FUNC);
-	gtk_drag_finish((GdkDragContext *)arg0, (gboolean)arg1, (gboolean)arg2, (guint32)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1finish_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1get_1data
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1drag_1get_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1get_1data_FUNC);
-	gtk_drag_get_data((GtkWidget *)arg0, (GdkDragContext *)arg1, (GdkAtom)arg2, (guint32)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1get_1data_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1drag_1set_1icon_1pixbuf
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1drag_1set_1icon_1pixbuf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1drag_1set_1icon_1pixbuf_FUNC);
-	gtk_drag_set_icon_pixbuf((GdkDragContext *)arg0, (GdkPixbuf *)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1drag_1set_1icon_1pixbuf_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1drawing_1area_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1drawing_1area_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1drawing_1area_1new_FUNC);
-	rc = (jint)gtk_drawing_area_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1drawing_1area_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1copy_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1copy_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1copy_1clipboard_FUNC);
-	gtk_editable_copy_clipboard((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1copy_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1cut_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1cut_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1cut_1clipboard_FUNC);
-	gtk_editable_cut_clipboard((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1cut_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1delete_1selection
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1delete_1selection)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1delete_1selection_FUNC);
-	gtk_editable_delete_selection((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1delete_1selection_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1delete_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1delete_1text)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1delete_1text_FUNC);
-	gtk_editable_delete_text((GtkEditable *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1delete_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1get_1chars
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1editable_1get_1chars)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1get_1chars_FUNC);
-	rc = (jint)gtk_editable_get_chars((GtkEditable *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1get_1chars_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1get_1editable
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1editable_1get_1editable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1get_1editable_FUNC);
-	rc = (jboolean)gtk_editable_get_editable((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1get_1editable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1get_1position
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1editable_1get_1position)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1get_1position_FUNC);
-	rc = (jint)gtk_editable_get_position((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1get_1position_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1get_1selection_1bounds
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1editable_1get_1selection_1bounds)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1get_1selection_1bounds_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)gtk_editable_get_selection_bounds((GtkEditable *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1get_1selection_1bounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1insert_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1insert_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1insert_1text_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_editable_insert_text((GtkEditable *)arg0, (gchar *)lparg1, (gint)arg2, (gint *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1insert_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1paste_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1paste_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1paste_1clipboard_FUNC);
-	gtk_editable_paste_clipboard((GtkEditable *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1paste_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1select_1region
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1select_1region)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1select_1region_FUNC);
-	gtk_editable_select_region((GtkEditable *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1select_1region_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1set_1editable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1set_1editable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1set_1editable_FUNC);
-	gtk_editable_set_editable((GtkEditable *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1set_1editable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1editable_1set_1position
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1editable_1set_1position)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1editable_1set_1position_FUNC);
-	gtk_editable_set_position((GtkEditable *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1editable_1set_1position_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1invisible_1char
-JNIEXPORT jchar JNICALL OS_NATIVE(_1gtk_1entry_1get_1invisible_1char)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jchar rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1invisible_1char_FUNC);
-	rc = (jchar)gtk_entry_get_invisible_char((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1invisible_1char_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1layout
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1entry_1get_1layout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1layout_FUNC);
-	rc = (jint)gtk_entry_get_layout((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1layout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1layout_1offsets
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1get_1layout_1offsets)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1layout_1offsets_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;
-	gtk_entry_get_layout_offsets((GtkEntry *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1layout_1offsets_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1max_1length
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1entry_1get_1max_1length)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1max_1length_FUNC);
-	rc = (jint)gtk_entry_get_max_length((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1max_1length_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1text
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1entry_1get_1text)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1text_FUNC);
-	rc = (jint)gtk_entry_get_text((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1text_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1get_1visibility
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1entry_1get_1visibility)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1get_1visibility_FUNC);
-	rc = (jboolean)gtk_entry_get_visibility((GtkEntry *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1get_1visibility_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1entry_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1new_FUNC);
-	rc = (jint)gtk_entry_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1activates_1default
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1activates_1default)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1activates_1default_FUNC);
-	gtk_entry_set_activates_default((GtkEntry *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1activates_1default_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1alignment
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1alignment)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1alignment_FUNC);
-/*
-	gtk_entry_set_alignment((GtkEntry *)arg0, (gfloat)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(GtkEntry *, gfloat);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_entry_set_alignment_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_entry_set_alignment");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)((GtkEntry *)arg0, (gfloat)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1alignment_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1has_1frame
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1has_1frame)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1has_1frame_FUNC);
-	gtk_entry_set_has_frame((GtkEntry *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1has_1frame_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1invisible_1char
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1invisible_1char)
-	(JNIEnv *env, jclass that, jint arg0, jchar arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1invisible_1char_FUNC);
-	gtk_entry_set_invisible_char((GtkEntry *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1invisible_1char_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1max_1length
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1max_1length)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1max_1length_FUNC);
-	gtk_entry_set_max_length((GtkEntry *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1max_1length_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1text_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_entry_set_text((GtkEntry *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1set_1visibility
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1visibility)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1visibility_FUNC);
-	gtk_entry_set_visibility((GtkEntry *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1visibility_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1entry_1text_1index_1to_1layout_1index
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1entry_1text_1index_1to_1layout_1index)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1entry_1text_1index_1to_1layout_1index_FUNC);
-/*
-	rc = (jint)gtk_entry_text_index_to_layout_index(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_entry_text_index_to_layout_index_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_entry_text_index_to_layout_index");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1entry_1text_1index_1to_1layout_1index_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1events_1pending
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1events_1pending)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1events_1pending_FUNC);
-	rc = (jint)gtk_events_pending();
-	OS_NATIVE_EXIT(env, that, _1gtk_1events_1pending_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1get_1expanded
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1expander_1get_1expanded)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1get_1expanded_FUNC);
-/*
-	rc = (jboolean)gtk_expander_get_expanded(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jboolean (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_get_expanded_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_get_expanded");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jboolean)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1get_1expanded_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1get_1label_1widget
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1expander_1get_1label_1widget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1get_1label_1widget_FUNC);
-/*
-	rc = (jint)gtk_expander_get_label_widget(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_get_label_widget_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_get_label_widget");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1get_1label_1widget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1expander_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)gtk_expander_new((const gchar *)lparg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(const gchar *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_new_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_new");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((const gchar *)lparg0);
-		}
-	}
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1set_1expanded
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1expander_1set_1expanded)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1set_1expanded_FUNC);
-/*
-	gtk_expander_set_expanded(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jboolean);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_set_expanded_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_set_expanded");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1set_1expanded_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1set_1label
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1expander_1set_1label)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1set_1label_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_expander_set_label(arg0, (const gchar *)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, const gchar *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_set_label_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_set_label");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, (const gchar *)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1set_1label_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1expander_1set_1label_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1expander_1set_1label_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1expander_1set_1label_1widget_FUNC);
-/*
-	gtk_expander_set_label_widget(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_expander_set_label_widget_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_expander_set_label_widget");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1expander_1set_1label_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1add_1filter
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1add_1filter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1add_1filter_FUNC);
-/*
-	gtk_file_chooser_add_filter(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_add_filter_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_add_filter");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1add_1filter_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1get_1current_1folder
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1chooser_1get_1current_1folder)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1get_1current_1folder_FUNC);
-/*
-	rc = (jint)gtk_file_chooser_get_current_folder(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_get_current_folder_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_get_current_folder");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1get_1current_1folder_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1get_1filename
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1chooser_1get_1filename)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1get_1filename_FUNC);
-/*
-	rc = (jint)gtk_file_chooser_get_filename(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_get_filename_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_get_filename");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1get_1filename_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1get_1filenames
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1chooser_1get_1filenames)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1get_1filenames_FUNC);
-/*
-	rc = (jint)gtk_file_chooser_get_filenames(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_get_filenames_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_get_filenames");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1get_1filenames_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1set_1current_1folder
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1set_1current_1folder)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1set_1current_1folder_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_file_chooser_set_current_folder(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jbyte *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_set_current_folder_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_set_current_folder");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1set_1current_1folder_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1set_1current_1name
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1set_1current_1name)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1set_1current_1name_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_file_chooser_set_current_name(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jbyte *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_set_current_name_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_set_current_name");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1set_1current_1name_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1set_1extra_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1set_1extra_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1set_1extra_1widget_FUNC);
-/*
-	gtk_file_chooser_set_extra_widget(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_set_extra_widget_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_set_extra_widget");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1set_1extra_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1set_1filename
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1set_1filename)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1set_1filename_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_file_chooser_set_filename(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jbyte *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_set_filename_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_set_filename");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1set_1filename_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1set_1select_1multiple
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1chooser_1set_1select_1multiple)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1set_1select_1multiple_FUNC);
-/*
-	gtk_file_chooser_set_select_multiple(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jboolean);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_set_select_multiple_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_set_select_multiple");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1set_1select_1multiple_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1filter_1add_1pattern
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1filter_1add_1pattern)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1filter_1add_1pattern_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_file_filter_add_pattern(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jbyte *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_filter_add_pattern_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_filter_add_pattern");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1filter_1add_1pattern_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1filter_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1filter_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1filter_1new_FUNC);
-/*
-	rc = (jint)gtk_file_filter_new();
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)();
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_filter_new_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_filter_new");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1filter_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1filter_1set_1name
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1filter_1set_1name)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1filter_1set_1name_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	gtk_file_filter_set_name(arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jbyte *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_filter_set_name_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_filter_set_name");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1filter_1set_1name_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1get_1filename
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1selection_1get_1filename)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1get_1filename_FUNC);
-	rc = (jint)gtk_file_selection_get_filename((GtkFileSelection *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1get_1filename_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1get_1selections
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1selection_1get_1selections)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1get_1selections_FUNC);
-	rc = (jint)gtk_file_selection_get_selections((GtkFileSelection *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1get_1selections_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1hide_1fileop_1buttons
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1selection_1hide_1fileop_1buttons)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1hide_1fileop_1buttons_FUNC);
-	gtk_file_selection_hide_fileop_buttons((GtkFileSelection *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1hide_1fileop_1buttons_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1file_1selection_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_file_selection_new((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1set_1filename
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1selection_1set_1filename)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1set_1filename_FUNC);
-	gtk_file_selection_set_filename((GtkFileSelection *)arg0, (const gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1set_1filename_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1file_1selection_1set_1select_1multiple
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1file_1selection_1set_1select_1multiple)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1selection_1set_1select_1multiple_FUNC);
-	gtk_file_selection_set_select_multiple((GtkFileSelection *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1selection_1set_1select_1multiple_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1fixed_1move
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1fixed_1move)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1fixed_1move_FUNC);
-	gtk_fixed_move((GtkFixed *)arg0, (GtkWidget *)arg1, (gint)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1fixed_1move_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1fixed_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1fixed_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1fixed_1new_FUNC);
-	rc = (jint)gtk_fixed_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1fixed_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1fixed_1set_1has_1window
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1fixed_1set_1has_1window)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1fixed_1set_1has_1window_FUNC);
-	gtk_fixed_set_has_window((GtkFixed *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1fixed_1set_1has_1window_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1font_1selection_1dialog_1get_1font_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1font_1selection_1dialog_1get_1font_1name)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1font_1selection_1dialog_1get_1font_1name_FUNC);
-	rc = (jint)gtk_font_selection_dialog_get_font_name((GtkFontSelectionDialog *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1font_1selection_1dialog_1get_1font_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1font_1selection_1dialog_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1font_1selection_1dialog_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1font_1selection_1dialog_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_font_selection_dialog_new((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1font_1selection_1dialog_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1font_1selection_1dialog_1set_1font_1name
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1font_1selection_1dialog_1set_1font_1name)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1font_1selection_1dialog_1set_1font_1name_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1font_1selection_1dialog_1set_1font_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1frame_1get_1label_1widget
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1frame_1get_1label_1widget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1frame_1get_1label_1widget_FUNC);
-	rc = (jint)gtk_frame_get_label_widget((GtkFrame *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1frame_1get_1label_1widget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1frame_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1frame_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1frame_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_frame_new((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1frame_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1frame_1set_1label
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1frame_1set_1label)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1frame_1set_1label_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_frame_set_label((GtkFrame *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1frame_1set_1label_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1frame_1set_1label_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1frame_1set_1label_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1frame_1set_1label_1widget_FUNC);
-	gtk_frame_set_label_widget((GtkFrame *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1frame_1set_1label_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1frame_1set_1shadow_1type
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1frame_1set_1shadow_1type)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1frame_1set_1shadow_1type_FUNC);
-	gtk_frame_set_shadow_type((GtkFrame *)arg0, (GtkShadowType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1frame_1set_1shadow_1type_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1get_1current_1event
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1get_1current_1event)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1get_1current_1event_FUNC);
-	rc = (jint)gtk_get_current_event();
-	OS_NATIVE_EXIT(env, that, _1gtk_1get_1current_1event_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1get_1current_1event_1state
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1get_1current_1event_1state)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1get_1current_1event_1state_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_get_current_event_state((GdkModifierType*)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1get_1current_1event_1state_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1get_1current_1event_1time
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1get_1current_1event_1time)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1get_1current_1event_1time_FUNC);
-	rc = (jint)gtk_get_current_event_time();
-	OS_NATIVE_EXIT(env, that, _1gtk_1get_1current_1event_1time_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1get_1default_1language
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1get_1default_1language)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1get_1default_1language_FUNC);
-	rc = (jint)gtk_get_default_language();
-	OS_NATIVE_EXIT(env, that, _1gtk_1get_1default_1language_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1get_1event_1widget
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1get_1event_1widget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1get_1event_1widget_FUNC);
-	rc = (jint)gtk_get_event_widget((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1get_1event_1widget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1grab_1add
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1grab_1add)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1grab_1add_FUNC);
-	gtk_grab_add((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1grab_1add_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1grab_1get_1current
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1grab_1get_1current)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1grab_1get_1current_FUNC);
-	rc = (jint)gtk_grab_get_current();
-	OS_NATIVE_EXIT(env, that, _1gtk_1grab_1get_1current_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1grab_1remove
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1grab_1remove)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1grab_1remove_FUNC);
-	gtk_grab_remove((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1grab_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1hbox_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1hbox_1new)
-	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1hbox_1new_FUNC);
-	rc = (jint)gtk_hbox_new((gboolean)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1hbox_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1hscale_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1hscale_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1hscale_1new_FUNC);
-	rc = (jint)gtk_hscale_new((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1hscale_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1hscrollbar_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1hscrollbar_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1hscrollbar_1new_FUNC);
-	rc = (jint)gtk_hscrollbar_new((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1hscrollbar_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1hseparator_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1hseparator_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1hseparator_1new_FUNC);
-	rc = (jint)gtk_hseparator_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1hseparator_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1icon_1factory_1lookup_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1icon_1factory_1lookup_1default)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1icon_1factory_1lookup_1default_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_icon_factory_lookup_default((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1icon_1factory_1lookup_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1icon_1set_1render_1icon
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1icon_1set_1render_1icon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1icon_1set_1render_1icon_FUNC);
-	rc = (jint)gtk_icon_set_render_icon((GtkIconSet *)arg0, (GtkStyle *)arg1, (GtkTextDirection)arg2, (GtkStateType)arg3, (GtkIconSize)arg4, (GtkWidget *)arg5, (const char *)arg6);
-	OS_NATIVE_EXIT(env, that, _1gtk_1icon_1set_1render_1icon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1icon_1source_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1icon_1source_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1icon_1source_1free_FUNC);
-	gtk_icon_source_free((GtkIconSource *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1icon_1source_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1icon_1source_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1icon_1source_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1icon_1source_1new_FUNC);
-	rc = (jint)gtk_icon_source_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1icon_1source_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1icon_1source_1set_1pixbuf
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1icon_1source_1set_1pixbuf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1icon_1source_1set_1pixbuf_FUNC);
-	gtk_icon_source_set_pixbuf((GtkIconSource *)arg0, (GdkPixbuf *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1icon_1source_1set_1pixbuf_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1filter_1keypress
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1im_1context_1filter_1keypress)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1filter_1keypress_FUNC);
-	rc = (jboolean)gtk_im_context_filter_keypress((GtkIMContext *)arg0, (GdkEventKey *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1filter_1keypress_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1focus_1in
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1focus_1in)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1focus_1in_FUNC);
-	gtk_im_context_focus_in((GtkIMContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1focus_1in_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1focus_1out
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1focus_1out)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1focus_1out_FUNC);
-	gtk_im_context_focus_out((GtkIMContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1focus_1out_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1get_1preedit_1string
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1get_1preedit_1string)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1get_1preedit_1string_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;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_im_context_get_preedit_string((GtkIMContext *)arg0, (gchar **)lparg1, (PangoAttrList **)lparg2, (gint *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1get_1preedit_1string_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1get_1type
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1im_1context_1get_1type)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1get_1type_FUNC);
-	rc = (jint)gtk_im_context_get_type();
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1get_1type_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1reset
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1reset)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1reset_FUNC);
-	gtk_im_context_reset((GtkIMContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1reset_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1set_1client_1window
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1set_1client_1window)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1set_1client_1window_FUNC);
-	gtk_im_context_set_client_window((GtkIMContext *)arg0, (GdkWindow *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1set_1client_1window_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1context_1set_1cursor_1location
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1context_1set_1cursor_1location)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1context_1set_1cursor_1location_FUNC);
-	if (arg1) if ((lparg1 = getGdkRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gtk_im_context_set_cursor_location((GtkIMContext *)arg0, (GdkRectangle *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1context_1set_1cursor_1location_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1multicontext_1append_1menuitems
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1im_1multicontext_1append_1menuitems)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1multicontext_1append_1menuitems_FUNC);
-	gtk_im_multicontext_append_menuitems((GtkIMMulticontext *)arg0, (GtkMenuShell *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1multicontext_1append_1menuitems_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1im_1multicontext_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1im_1multicontext_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1im_1multicontext_1new_FUNC);
-	rc = (jint)gtk_im_multicontext_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1im_1multicontext_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1image_1menu_1item_1new_1with_1label
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1image_1menu_1item_1new_1with_1label)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1menu_1item_1new_1with_1label_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_image_menu_item_new_with_label((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1menu_1item_1new_1with_1label_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1image_1menu_1item_1set_1image
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1image_1menu_1item_1set_1image)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1menu_1item_1set_1image_FUNC);
-	gtk_image_menu_item_set_image((GtkImageMenuItem *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1menu_1item_1set_1image_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1image_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1image_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1new_FUNC);
-	rc = (jint)gtk_image_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1image_1new_1from_1pixbuf
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1image_1new_1from_1pixbuf)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1new_1from_1pixbuf_FUNC);
-	rc = (jint)gtk_image_new_from_pixbuf((GdkPixbuf *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1new_1from_1pixbuf_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1image_1new_1from_1pixmap
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1image_1new_1from_1pixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1new_1from_1pixmap_FUNC);
-	rc = (jint)gtk_image_new_from_pixmap((GdkPixmap *)arg0, (GdkBitmap *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1new_1from_1pixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1image_1set_1from_1pixbuf
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1image_1set_1from_1pixbuf)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1set_1from_1pixbuf_FUNC);
-	gtk_image_set_from_pixbuf((GtkImage *)arg0, (GdkPixbuf *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1set_1from_1pixbuf_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1image_1set_1from_1pixmap
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1image_1set_1from_1pixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1image_1set_1from_1pixmap_FUNC);
-	gtk_image_set_from_pixmap((GtkImage *)arg0, (GdkBitmap *)arg1, (GdkBitmap *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1image_1set_1from_1pixmap_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1init_1check
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1init_1check)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1init_1check_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_init_check((int *)lparg0, (char ***)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1init_1check_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1label_1get_1layout
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1label_1get_1layout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1get_1layout_FUNC);
-	rc = (jint)gtk_label_get_layout((GtkLabel *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1get_1layout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1label_1get_1mnemonic_1keyval
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1label_1get_1mnemonic_1keyval)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1get_1mnemonic_1keyval_FUNC);
-	rc = (jint)gtk_label_get_mnemonic_keyval((GtkLabel *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1get_1mnemonic_1keyval_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1label_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1label_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_label_new((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1label_1new_1with_1mnemonic
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1label_1new_1with_1mnemonic)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1new_1with_1mnemonic_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_label_new_with_mnemonic((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1new_1with_1mnemonic_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1attributes
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1attributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1attributes_FUNC);
-	gtk_label_set_attributes((GtkLabel *)arg0, (PangoAttrList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1attributes_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1justify
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1justify)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1justify_FUNC);
-	gtk_label_set_justify((GtkLabel *)arg0, (GtkJustification)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1justify_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1line_1wrap
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1line_1wrap)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1line_1wrap_FUNC);
-	gtk_label_set_line_wrap((GtkLabel *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1line_1wrap_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1text__II
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1text__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1text__II_FUNC);
-	gtk_label_set_text((GtkLabel *)arg0, (const gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1text__II_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1text__I_3B
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1text__I_3B)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1text__I_3B_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_label_set_text((GtkLabel *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1text__I_3B_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1label_1set_1text_1with_1mnemonic
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1label_1set_1text_1with_1mnemonic)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1label_1set_1text_1with_1mnemonic_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_label_set_text_with_mnemonic((GtkLabel *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1label_1set_1text_1with_1mnemonic_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1append_1items
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1append_1items)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1append_1items_FUNC);
-	gtk_list_append_items((GtkList *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1append_1items_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1clear_1items
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1clear_1items)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1clear_1items_FUNC);
-	gtk_list_clear_items((GtkList *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1clear_1items_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1insert_1items
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1insert_1items)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1insert_1items_FUNC);
-	gtk_list_insert_items((GtkList *)arg0, (GList *)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1insert_1items_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1item_1new_1with_1label
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1list_1item_1new_1with_1label)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1item_1new_1with_1label_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_list_item_new_with_label((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1item_1new_1with_1label_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1list_1remove_1items
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1remove_1items)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1remove_1items_FUNC);
-	gtk_list_remove_items((GtkList *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1remove_1items_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1select_1item
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1select_1item)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1select_1item_FUNC);
-	gtk_list_select_item((GtkList *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1select_1item_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1append
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1append)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1append_FUNC);
-	gtk_list_store_append((GtkListStore *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1append_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1clear
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1clear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1clear_FUNC);
-	gtk_list_store_clear((GtkListStore *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1clear_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1insert
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1insert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1insert_FUNC);
-	gtk_list_store_insert((GtkListStore *)arg0, (GtkTreeIter *)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1insert_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1newv
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1list_1store_1newv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1newv_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_list_store_newv((gint)arg0, (GType *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1newv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1remove
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1remove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1remove_FUNC);
-	gtk_list_store_remove((GtkListStore *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1set__IIIII
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1set__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1set__IIIII_FUNC);
-	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1set__IIIII_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1set__IIIJI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1set__IIIJI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jlong arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1set__IIIJI_FUNC);
-	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1set__IIIJI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4)
-{
-	GdkColor _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC);
-	if (arg3) if ((lparg3 = getGdkColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1set__IIIZI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1set__IIIZI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1set__IIIZI_FUNC);
-	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1set__IIIZI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1store_1set__III_3BI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1store_1set__III_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1store_1set__III_3BI_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1store_1set__III_3BI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1unselect_1all
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1unselect_1all)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1unselect_1all_FUNC);
-	gtk_list_unselect_all((GtkList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1unselect_1all_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1list_1unselect_1item
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1list_1unselect_1item)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1list_1unselect_1item_FUNC);
-	gtk_list_unselect_item((GtkList *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1list_1unselect_1item_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1main
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1main)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1main_FUNC);
-	gtk_main();
-	OS_NATIVE_EXIT(env, that, _1gtk_1main_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1main_1do_1event
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1main_1do_1event)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1main_1do_1event_FUNC);
-	gtk_main_do_event((GdkEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1main_1do_1event_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1main_1iteration
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1main_1iteration)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1main_1iteration_FUNC);
-	rc = (jint)gtk_main_iteration();
-	OS_NATIVE_EXIT(env, that, _1gtk_1main_1iteration_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1major_1version
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1major_1version)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1major_1version_FUNC);
-	rc = (jint)gtk_major_version;
-	OS_NATIVE_EXIT(env, that, _1gtk_1major_1version_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1bar_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1menu_1bar_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1bar_1new_FUNC);
-	rc = (jint)gtk_menu_bar_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1bar_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1item_1remove_1submenu
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1item_1remove_1submenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1item_1remove_1submenu_FUNC);
-	gtk_menu_item_remove_submenu((GtkMenuItem *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1item_1remove_1submenu_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1item_1set_1submenu
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1item_1set_1submenu)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1item_1set_1submenu_FUNC);
-	gtk_menu_item_set_submenu((GtkMenuItem *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1item_1set_1submenu_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1menu_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1new_FUNC);
-	rc = (jint)gtk_menu_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1popdown
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1popdown)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1popdown_FUNC);
-	gtk_menu_popdown((GtkMenu *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1popdown_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1popup
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1popup)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1popup_FUNC);
-	gtk_menu_popup((GtkMenu *)arg0, (GtkWidget *)arg1, (GtkWidget *)arg2, (GtkMenuPositionFunc)arg3, (gpointer)arg4, (guint)arg5, (guint32)arg6);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1popup_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1shell_1deactivate
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1shell_1deactivate)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1shell_1deactivate_FUNC);
-	gtk_menu_shell_deactivate((GtkMenuShell *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1shell_1deactivate_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1shell_1insert
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1shell_1insert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1shell_1insert_FUNC);
-	gtk_menu_shell_insert((GtkMenuShell *)arg0, (GtkWidget *)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1shell_1insert_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1menu_1shell_1select_1item
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1menu_1shell_1select_1item)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1menu_1shell_1select_1item_FUNC);
-	gtk_menu_shell_select_item((GtkMenuShell *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1menu_1shell_1select_1item_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1message_1dialog_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1message_1dialog_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1message_1dialog_1new_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_message_dialog_new((GtkWindow *)arg0, (GtkDialogFlags)arg1, (GtkMessageType)arg2, (GtkButtonsType)arg3, (const gchar *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1message_1dialog_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1micro_1version
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1micro_1version)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1micro_1version_FUNC);
-	rc = (jint)gtk_micro_version;
-	OS_NATIVE_EXIT(env, that, _1gtk_1micro_1version_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1minor_1version
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1minor_1version)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1minor_1version_FUNC);
-	rc = (jint)gtk_minor_version;
-	OS_NATIVE_EXIT(env, that, _1gtk_1minor_1version_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1misc_1set_1alignment
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1misc_1set_1alignment)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1misc_1set_1alignment_FUNC);
-	gtk_misc_set_alignment((GtkMisc *)arg0, (gfloat)arg1, (gfloat)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1misc_1set_1alignment_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1get_1current_1page
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1notebook_1get_1current_1page)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1get_1current_1page_FUNC);
-	rc = (jint)gtk_notebook_get_current_page((GtkNotebook *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1get_1current_1page_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1get_1scrollable
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1notebook_1get_1scrollable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1get_1scrollable_FUNC);
-	rc = (jboolean)gtk_notebook_get_scrollable((GtkNotebook *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1get_1scrollable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1insert_1page
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1insert_1page)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1insert_1page_FUNC);
-	gtk_notebook_insert_page((GtkNotebook *)arg0, (GtkWidget *)arg1, (GtkWidget *)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1insert_1page_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1notebook_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1new_FUNC);
-	rc = (jint)gtk_notebook_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1remove_1page
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1remove_1page)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1remove_1page_FUNC);
-	gtk_notebook_remove_page((GtkNotebook *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1remove_1page_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1set_1current_1page
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1set_1current_1page)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1set_1current_1page_FUNC);
-	gtk_notebook_set_current_page((GtkNotebook *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1set_1current_1page_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1set_1scrollable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1set_1scrollable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1set_1scrollable_FUNC);
-	gtk_notebook_set_scrollable((GtkNotebook *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1set_1scrollable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1set_1show_1tabs
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1set_1show_1tabs)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1set_1show_1tabs_FUNC);
-	gtk_notebook_set_show_tabs((GtkNotebook *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1set_1show_1tabs_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1notebook_1set_1tab_1pos
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1notebook_1set_1tab_1pos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1notebook_1set_1tab_1pos_FUNC);
-	gtk_notebook_set_tab_pos((GtkNotebook *)arg0, (GtkPositionType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1notebook_1set_1tab_1pos_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1object_1sink
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1object_1sink)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1object_1sink_FUNC);
-	gtk_object_sink((GtkObject *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1object_1sink_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1arrow
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1arrow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jboolean arg8, jint arg9, jint arg10, jint arg11, jint arg12)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1arrow_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_arrow((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10, arg11, arg12);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1arrow_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1box
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1box)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1box_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_box((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1box_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1box_1gap
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1box_1gap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12, jint arg13)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1box_1gap_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_box_gap((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (gchar *)lparg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1box_1gap_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1check
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1check)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1check_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_check((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1check_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1expander
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1expander)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jbyteArray arg5, jint arg6, jint arg7, jint arg8)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	jbyte *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1expander_FUNC);
-	if (arg3) if ((lparg3 = getGdkRectangleFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_paint_expander((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, lparg3, (GtkWidget *)arg4, (const gchar *)lparg5, arg6, arg7, arg8);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) setGdkRectangleFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1expander_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1extension
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1extension)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1extension_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_extension((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (gchar *)lparg6, arg7, arg8, arg9, arg10, arg11);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1extension_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1flat_1box
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1flat_1box)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1flat_1box_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_flat_box((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1flat_1box_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1focus
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1focus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jbyteArray arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	jbyte *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1focus_FUNC);
-	if (arg3) if ((lparg3 = getGdkRectangleFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_paint_focus((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, lparg3, (GtkWidget *)arg4, (const gchar *)lparg5, arg6, arg7, arg8, arg9);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1focus_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1handle
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1handle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1handle_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_handle((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10, arg11);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1handle_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1hline
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1hline)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jbyteArray arg5, jint arg6, jint arg7, jint arg8)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	jbyte *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1hline_FUNC);
-	if (arg3) if ((lparg3 = getGdkRectangleFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_paint_hline((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, lparg3, (GtkWidget *)arg4, (const gchar *)lparg5, arg6, arg7, arg8);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) setGdkRectangleFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1hline_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1layout
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1layout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1layout_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_layout((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, (PangoLayout *)arg9);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1layout_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1option
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1option)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1option_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_option((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1option_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1shadow
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1shadow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1shadow_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_shadow((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1shadow_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1shadow_1gap
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1shadow_1gap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12, jint arg13)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1shadow_1gap_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_shadow_gap((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (gchar *)lparg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1shadow_1gap_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1slider
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1slider)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1slider_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_slider((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10, arg11);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1slider_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1tab
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1tab)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	GdkRectangle _arg4, *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1tab_FUNC);
-	if (arg4) if ((lparg4 = getGdkRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	gtk_paint_tab((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, arg3, lparg4, (GtkWidget *)arg5, (const gchar *)lparg6, arg7, arg8, arg9, arg10);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGdkRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1tab_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1paint_1vline
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1paint_1vline)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jbyteArray arg5, jint arg6, jint arg7, jint arg8)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	jbyte *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1paint_1vline_FUNC);
-	if (arg3) if ((lparg3 = getGdkRectangleFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_paint_vline((GtkStyle *)arg0, (GdkWindow *)arg1, arg2, lparg3, (GtkWidget *)arg4, (const gchar *)lparg5, arg6, arg7, arg8);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) setGdkRectangleFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1paint_1vline_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1plug_1get_1id
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1plug_1get_1id)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1plug_1get_1id_FUNC);
-	rc = (jint)gtk_plug_get_id((GtkPlug *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1plug_1get_1id_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1plug_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1plug_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1plug_1new_FUNC);
-	rc = (jint)gtk_plug_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1plug_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1progress_1bar_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1progress_1bar_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1progress_1bar_1new_FUNC);
-	rc = (jint)gtk_progress_bar_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1progress_1bar_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1progress_1bar_1pulse
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1progress_1bar_1pulse)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1progress_1bar_1pulse_FUNC);
-	gtk_progress_bar_pulse((GtkProgressBar *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1progress_1bar_1pulse_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1progress_1bar_1set_1fraction
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1progress_1bar_1set_1fraction)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1progress_1bar_1set_1fraction_FUNC);
-	gtk_progress_bar_set_fraction((GtkProgressBar *)arg0, (gdouble)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1progress_1bar_1set_1fraction_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1progress_1bar_1set_1orientation
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1progress_1bar_1set_1orientation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1progress_1bar_1set_1orientation_FUNC);
-	gtk_progress_bar_set_orientation((GtkProgressBar *)arg0, (GtkProgressBarOrientation)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1progress_1bar_1set_1orientation_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1radio_1button_1get_1group
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1radio_1button_1get_1group)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1radio_1button_1get_1group_FUNC);
-	rc = (jint)gtk_radio_button_get_group((GtkRadioButton *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1radio_1button_1get_1group_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1radio_1button_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1radio_1button_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1radio_1button_1new_FUNC);
-	rc = (jint)gtk_radio_button_new((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1radio_1button_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1radio_1menu_1item_1get_1group
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1radio_1menu_1item_1get_1group)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1radio_1menu_1item_1get_1group_FUNC);
-	rc = (jint)gtk_radio_menu_item_get_group((GtkRadioMenuItem *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1radio_1menu_1item_1get_1group_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1radio_1menu_1item_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1radio_1menu_1item_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1radio_1menu_1item_1new_FUNC);
-	rc = (jint)gtk_radio_menu_item_new((GSList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1radio_1menu_1item_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1radio_1menu_1item_1new_1with_1label
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1radio_1menu_1item_1new_1with_1label)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1radio_1menu_1item_1new_1with_1label_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_radio_menu_item_new_with_label((GSList *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1radio_1menu_1item_1new_1with_1label_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1range_1get_1adjustment
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1range_1get_1adjustment)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1range_1get_1adjustment_FUNC);
-	rc = (jint)gtk_range_get_adjustment((GtkRange *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1range_1get_1adjustment_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1range_1set_1increments
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1range_1set_1increments)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1range_1set_1increments_FUNC);
-	gtk_range_set_increments((GtkRange *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1range_1set_1increments_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1range_1set_1inverted
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1range_1set_1inverted)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1range_1set_1inverted_FUNC);
-	gtk_range_set_inverted((GtkRange *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1range_1set_1inverted_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1range_1set_1range
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1range_1set_1range)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1range_1set_1range_FUNC);
-	gtk_range_set_range((GtkRange *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1range_1set_1range_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1range_1set_1value
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1range_1set_1value)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1range_1set_1value_FUNC);
-	gtk_range_set_value((GtkRange *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1range_1set_1value_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1parse_1string
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1rc_1parse_1string)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1parse_1string_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	gtk_rc_parse_string((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1parse_1string_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1style_1get_1bg_1pixmap_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1rc_1style_1get_1bg_1pixmap_1name)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1style_1get_1bg_1pixmap_1name_FUNC);
-	rc = (jint)gtk_rc_style_get_bg_pixmap_name((GtkRcStyle *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1style_1get_1bg_1pixmap_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1style_1get_1color_1flags
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1rc_1style_1get_1color_1flags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1style_1get_1color_1flags_FUNC);
-	rc = (jint)gtk_rc_style_get_color_flags((GtkRcStyle *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1style_1get_1color_1flags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1style_1set_1bg
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1rc_1style_1set_1bg)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1style_1set_1bg_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_rc_style_set_bg((GtkRcStyle *)arg0, arg1, lparg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1style_1set_1bg_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1style_1set_1bg_1pixmap_1name
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1rc_1style_1set_1bg_1pixmap_1name)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1style_1set_1bg_1pixmap_1name_FUNC);
-	gtk_rc_style_set_bg_pixmap_name((GtkRcStyle *)arg0, arg1, (char *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1style_1set_1bg_1pixmap_1name_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1rc_1style_1set_1color_1flags
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1rc_1style_1set_1color_1flags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1rc_1style_1set_1color_1flags_FUNC);
-	gtk_rc_style_set_color_flags((GtkRcStyle *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1rc_1style_1set_1color_1flags_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scale_1set_1digits
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scale_1set_1digits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scale_1set_1digits_FUNC);
-	gtk_scale_set_digits((GtkScale *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scale_1set_1digits_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scale_1set_1draw_1value
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scale_1set_1draw_1value)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scale_1set_1draw_1value_FUNC);
-	gtk_scale_set_draw_value((GtkScale *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scale_1set_1draw_1value_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1add_1with_1viewport
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1add_1with_1viewport)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1add_1with_1viewport_FUNC);
-	gtk_scrolled_window_add_with_viewport((GtkScrolledWindow *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1add_1with_1viewport_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1get_1hadjustment
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1get_1hadjustment)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1get_1hadjustment_FUNC);
-	rc = (jint)gtk_scrolled_window_get_hadjustment((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1get_1hadjustment_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1get_1policy
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1get_1policy)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1get_1policy_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;
-	gtk_scrolled_window_get_policy((GtkScrolledWindow *)arg0, (GtkPolicyType *)lparg1, (GtkPolicyType *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1get_1policy_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1get_1shadow_1type
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1get_1shadow_1type)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1get_1shadow_1type_FUNC);
-	rc = (jint)gtk_scrolled_window_get_shadow_type((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1get_1shadow_1type_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1get_1vadjustment
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1get_1vadjustment)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1get_1vadjustment_FUNC);
-	rc = (jint)gtk_scrolled_window_get_vadjustment((GtkScrolledWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1get_1vadjustment_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1new_FUNC);
-	rc = (jint)gtk_scrolled_window_new((GtkAdjustment *)arg0, (GtkAdjustment *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1set_1placement
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1set_1placement)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1set_1placement_FUNC);
-	gtk_scrolled_window_set_placement((GtkScrolledWindow *)arg0, (GtkCornerType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1set_1placement_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1set_1policy
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1set_1policy)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1set_1policy_FUNC);
-	gtk_scrolled_window_set_policy((GtkScrolledWindow *)arg0, (GtkPolicyType)arg1, (GtkPolicyType)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1set_1policy_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1scrolled_1window_1set_1shadow_1type
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1scrolled_1window_1set_1shadow_1type)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1scrolled_1window_1set_1shadow_1type_FUNC);
-	gtk_scrolled_window_set_shadow_type((GtkScrolledWindow *)arg0, (GtkShadowType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1scrolled_1window_1set_1shadow_1type_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1selection_1data_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1selection_1data_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1selection_1data_1free_FUNC);
-	gtk_selection_data_free((GtkSelectionData *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1selection_1data_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1selection_1data_1set
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1selection_1data_1set)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1selection_1data_1set_FUNC);
-	gtk_selection_data_set((GtkSelectionData *)arg0, (GdkAtom)arg1, (gint)arg2, (const guchar *)arg3, (gint)arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1selection_1data_1set_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1separator_1menu_1item_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1separator_1menu_1item_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1separator_1menu_1item_1new_FUNC);
-	rc = (jint)gtk_separator_menu_item_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1separator_1menu_1item_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1set_1locale
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1set_1locale)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1set_1locale_FUNC);
-	rc = (jint)gtk_set_locale();
-	OS_NATIVE_EXIT(env, that, _1gtk_1set_1locale_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1settings_1get_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1settings_1get_1default)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1settings_1get_1default_FUNC);
-	rc = (jint)gtk_settings_get_default();
-	OS_NATIVE_EXIT(env, that, _1gtk_1settings_1get_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1socket_1get_1id
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1socket_1get_1id)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1socket_1get_1id_FUNC);
-	rc = (jint)gtk_socket_get_id((GtkSocket *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1socket_1get_1id_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1socket_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1socket_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1socket_1new_FUNC);
-	rc = (jint)gtk_socket_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1socket_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1get_1adjustment
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1spin_1button_1get_1adjustment)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1get_1adjustment_FUNC);
-	rc = (jint)gtk_spin_button_get_adjustment((GtkSpinButton*)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1get_1adjustment_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1get_1digits
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1spin_1button_1get_1digits)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1get_1digits_FUNC);
-	rc = (jint)gtk_spin_button_get_digits((GtkSpinButton*)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1get_1digits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1spin_1button_1new)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1new_FUNC);
-	rc = (jint)gtk_spin_button_new((GtkAdjustment *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1set_1digits
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1set_1digits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1set_1digits_FUNC);
-	gtk_spin_button_set_digits((GtkSpinButton*)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1set_1digits_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1set_1increments
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1set_1increments)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1set_1increments_FUNC);
-	gtk_spin_button_set_increments((GtkSpinButton*)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1set_1increments_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1set_1range
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1set_1range)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1set_1range_FUNC);
-	gtk_spin_button_set_range((GtkSpinButton*)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1set_1range_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1set_1value
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1set_1value)
-	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1set_1value_FUNC);
-	gtk_spin_button_set_value((GtkSpinButton*)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1set_1value_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1spin_1button_1set_1wrap
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1set_1wrap)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1set_1wrap_FUNC);
-	gtk_spin_button_set_wrap((GtkSpinButton*)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1set_1wrap_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1base
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1base)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1base_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_base((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1base_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1bg
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1bg)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1bg_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_bg((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1bg_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1bg_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1bg_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1bg_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_bg_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1bg_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1black
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1black)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkColor _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1black_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gtk_style_get_black((GtkStyle *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGdkColorFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1black_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1black_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1black_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1black_1gc_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_style_get_black_gc((GtkStyle *)arg0, (GdkGC **)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1black_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1dark
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1dark)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1dark_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_dark((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1dark_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1dark_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1dark_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1dark_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_dark_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1dark_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1fg
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1fg)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1fg_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_fg((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1fg_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1fg_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1fg_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1fg_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_fg_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1fg_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1font_1desc
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1style_1get_1font_1desc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1font_1desc_FUNC);
-	rc = (jint)gtk_style_get_font_desc((GtkStyle *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1font_1desc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1light
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1light)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1light_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_light((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1light_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1light_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1light_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1light_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_light_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1light_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1mid_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1mid_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1mid_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_mid_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1mid_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1text)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1text_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_style_get_text((GtkStyle *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGdkColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1text_1aa_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1text_1aa_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1text_1aa_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_text_aa_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1text_1aa_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1text_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1text_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1text_1gc_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_style_get_text_gc((GtkStyle *)arg0, arg1, (GdkGC **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1text_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1white_1gc
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1style_1get_1white_1gc)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1white_1gc_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_style_get_white_gc((GtkStyle *)arg0, (GdkGC **)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1white_1gc_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1xthickness
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1style_1get_1xthickness)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1xthickness_FUNC);
-	rc = (jint)gtk_style_get_xthickness((GtkStyle *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1xthickness_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1style_1get_1ythickness
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1style_1get_1ythickness)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1get_1ythickness_FUNC);
-	rc = (jint)gtk_style_get_ythickness((GtkStyle *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1get_1ythickness_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1style_1render_1icon
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1style_1render_1icon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jbyteArray arg6)
-{
-	jbyte *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1style_1render_1icon_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_style_render_icon((GtkStyle *)arg0, (GtkIconSource *)arg1, arg2, arg3, arg4, (GtkWidget *)arg5, (const gchar *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1style_1render_1icon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1target_1list_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1target_1list_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1target_1list_1new_FUNC);
-	rc = (jint)gtk_target_list_new((const GtkTargetEntry *)arg0, (guint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1target_1list_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1target_1list_1unref
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1target_1list_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1target_1list_1unref_FUNC);
-	gtk_target_list_unref((GtkTargetList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1target_1list_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1copy_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1copy_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1copy_1clipboard_FUNC);
-	gtk_text_buffer_copy_clipboard((GtkTextBuffer *)arg0, (GtkClipboard *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1copy_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1cut_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1cut_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1cut_1clipboard_FUNC);
-	gtk_text_buffer_cut_clipboard((GtkTextBuffer *)arg0, (GtkClipboard *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1cut_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1delete
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1delete)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1delete_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_delete((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1delete_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1bounds
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1bounds)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1bounds_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_get_bounds((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1bounds_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1char_1count
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1char_1count)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1char_1count_FUNC);
-	rc = (jint)gtk_text_buffer_get_char_count((GtkTextBuffer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1char_1count_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1end_1iter
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1end_1iter)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1end_1iter_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_get_end_iter((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1end_1iter_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1insert
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1insert)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1insert_FUNC);
-	rc = (jint)gtk_text_buffer_get_insert((GtkTextBuffer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1insert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1iter_1at_1line
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1iter_1at_1line)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1line_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_get_iter_at_line((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (gint)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1line_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1iter_1at_1mark
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1iter_1at_1mark)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1mark_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_get_iter_at_mark((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextMark *)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1mark_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1iter_1at_1offset
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1iter_1at_1offset)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1offset_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_get_iter_at_offset((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (gint)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1iter_1at_1offset_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1line_1count
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1line_1count)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1line_1count_FUNC);
-	rc = (jint)gtk_text_buffer_get_line_count((GtkTextBuffer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1line_1count_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1selection_1bound
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1selection_1bound)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1selection_1bound_FUNC);
-	rc = (jint)gtk_text_buffer_get_selection_bound((GtkTextBuffer *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1selection_1bound_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1selection_1bounds
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1selection_1bounds)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1selection_1bounds_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_text_buffer_get_selection_bounds((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1selection_1bounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1get_1text
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1buffer_1get_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jboolean arg3)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1get_1text_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_text_buffer_get_text((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2, (gboolean)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1get_1text_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1insert__II_3BI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1insert__II_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1insert__II_3BI_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_insert((GtkTextBuffer *)arg0, (GtkTextIter *)arg1, (const gchar *)lparg2, (gint)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1insert__II_3BI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1insert__I_3B_3BI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1insert__I_3B_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1insert__I_3B_3BI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_insert((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (const gchar *)lparg2, (gint)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1insert__I_3B_3BI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1move_1mark
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1move_1mark)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1move_1mark_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_move_mark((GtkTextBuffer *)arg0, (GtkTextMark *)arg1, (const GtkTextIter *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1move_1mark_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1paste_1clipboard
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1paste_1clipboard)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jboolean arg3)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1paste_1clipboard_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_text_buffer_paste_clipboard((GtkTextBuffer *)arg0, (GtkClipboard *)arg1, (GtkTextIter *)lparg2, (gboolean)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1paste_1clipboard_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1place_1cursor
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1place_1cursor)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1place_1cursor_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_place_cursor((GtkTextBuffer *)arg0, (const GtkTextIter *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1place_1cursor_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1buffer_1set_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1buffer_1set_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1buffer_1set_1text_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_buffer_set_text((GtkTextBuffer *)arg0, (const gchar *)lparg1, (gint)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1buffer_1set_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1iter_1get_1line
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1iter_1get_1line)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1iter_1get_1line_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_text_iter_get_line((const GtkTextIter *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1iter_1get_1line_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1iter_1get_1offset
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1iter_1get_1offset)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1iter_1get_1offset_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_text_iter_get_offset((const GtkTextIter *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1iter_1get_1offset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1buffer_1to_1window_1coords
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1buffer_1to_1window_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1buffer_1to_1window_1coords_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_text_view_buffer_to_window_coords((GtkTextView *)arg0, (GtkTextWindowType)arg1, (gint)arg2, (gint)arg3, (gint *)lparg4, (gint *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1buffer_1to_1window_1coords_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1buffer
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1buffer)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1buffer_FUNC);
-	rc = (jint)gtk_text_view_get_buffer((GtkTextView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1buffer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1editable
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1editable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1editable_FUNC);
-	rc = (jboolean)gtk_text_view_get_editable((GtkTextView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1editable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1iter_1at_1location
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1iter_1at_1location)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1iter_1at_1location_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_text_view_get_iter_at_location((GtkTextView *)arg0, (GtkTextIter *)lparg1, (gint)arg2, (gint)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1iter_1at_1location_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1iter_1location
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1iter_1location)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2)
-{
-	jbyte *lparg1=NULL;
-	GdkRectangle _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1iter_1location_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	gtk_text_view_get_iter_location((GtkTextView *)arg0, (const GtkTextIter *)lparg1, (GdkRectangle *)lparg2);
-fail:
-	if (arg2 && lparg2) setGdkRectangleFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1iter_1location_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1line_1at_1y
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1line_1at_1y)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1line_1at_1y_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_text_view_get_line_at_y((GtkTextView *)arg0, (GtkTextIter *)lparg1, (gint)arg2, (gint *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1line_1at_1y_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1visible_1rect
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1visible_1rect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1visible_1rect_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gtk_text_view_get_visible_rect((GtkTextView *)arg0, (GdkRectangle *)lparg1);
-fail:
-	if (arg1 && lparg1) setGdkRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1visible_1rect_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1get_1window
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1view_1get_1window)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1get_1window_FUNC);
-	rc = (jint)gtk_text_view_get_window((GtkTextView *)arg0, (GtkTextWindowType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1get_1window_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1text_1view_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1new_FUNC);
-	rc = (jint)gtk_text_view_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1scroll_1mark_1onscreen
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1scroll_1mark_1onscreen)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1scroll_1mark_1onscreen_FUNC);
-	gtk_text_view_scroll_mark_onscreen((GtkTextView *)arg0, (GtkTextMark *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1scroll_1mark_1onscreen_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1scroll_1to_1iter
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1text_1view_1scroll_1to_1iter)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jdouble arg2, jboolean arg3, jdouble arg4, jdouble arg5)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1scroll_1to_1iter_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_text_view_scroll_to_iter((GtkTextView *)arg0, (GtkTextIter *)lparg1, (gdouble)arg2, (gboolean)arg3, (gdouble)arg4, (gdouble)arg5);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1scroll_1to_1iter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1set_1editable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1set_1editable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1set_1editable_FUNC);
-	gtk_text_view_set_editable((GtkTextView *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1set_1editable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1set_1justification
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1set_1justification)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1set_1justification_FUNC);
-	gtk_text_view_set_justification((GtkTextView *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1set_1justification_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1set_1tabs
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1set_1tabs)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1set_1tabs_FUNC);
-	gtk_text_view_set_tabs((GtkTextView *)arg0, (PangoTabArray *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1set_1tabs_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1set_1wrap_1mode
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1set_1wrap_1mode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1set_1wrap_1mode_FUNC);
-	gtk_text_view_set_wrap_mode((GtkTextView *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1set_1wrap_1mode_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1text_1view_1window_1to_1buffer_1coords
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1text_1view_1window_1to_1buffer_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1text_1view_1window_1to_1buffer_1coords_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_text_view_window_to_buffer_coords((GtkTextView *)arg0, (GtkTextWindowType)arg1, (gint)arg2, (gint)arg3, (gint *)lparg4, (gint *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1text_1view_1window_1to_1buffer_1coords_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1timeout_1add
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1timeout_1add)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1timeout_1add_FUNC);
-	rc = (jint)gtk_timeout_add((guint32)arg0, (GtkFunction)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1timeout_1add_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1timeout_1remove
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1timeout_1remove)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1timeout_1remove_FUNC);
-	gtk_timeout_remove((guint)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1timeout_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1toggle_1button_1get_1active
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1toggle_1button_1get_1active)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1toggle_1button_1get_1active_FUNC);
-	rc = (jboolean)gtk_toggle_button_get_active((GtkToggleButton *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1toggle_1button_1get_1active_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1toggle_1button_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1toggle_1button_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1toggle_1button_1new_FUNC);
-	rc = (jint)gtk_toggle_button_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1toggle_1button_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1toggle_1button_1set_1active
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1toggle_1button_1set_1active)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1toggle_1button_1set_1active_FUNC);
-	gtk_toggle_button_set_active((GtkToggleButton *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1toggle_1button_1set_1active_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1toggle_1button_1set_1mode
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1toggle_1button_1set_1mode)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1toggle_1button_1set_1mode_FUNC);
-	gtk_toggle_button_set_mode((GtkToggleButton *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1toggle_1button_1set_1mode_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1toolbar_1insert_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1toolbar_1insert_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1toolbar_1insert_1widget_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_toolbar_insert_widget((GtkToolbar *)arg0, (GtkWidget *)arg1, (const char *)lparg2, (const char *)lparg3, (gint)arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1toolbar_1insert_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1toolbar_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1toolbar_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1toolbar_1new_FUNC);
-	rc = (jint)gtk_toolbar_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1toolbar_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1toolbar_1set_1orientation
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1toolbar_1set_1orientation)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1toolbar_1set_1orientation_FUNC);
-	gtk_toolbar_set_orientation((GtkToolbar *)arg0, (GtkOrientation)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1toolbar_1set_1orientation_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1data_1get
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tooltips_1data_1get)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1data_1get_FUNC);
-	rc = (jint)gtk_tooltips_data_get((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1data_1get_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1disable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tooltips_1disable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1disable_FUNC);
-	gtk_tooltips_disable((GtkTooltips *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1disable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1enable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tooltips_1enable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1enable_FUNC);
-	gtk_tooltips_enable((GtkTooltips *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1enable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1force_1window
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tooltips_1force_1window)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1force_1window_FUNC);
-	gtk_tooltips_force_window((GtkTooltips *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1force_1window_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tooltips_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1new_FUNC);
-	rc = (jint)gtk_tooltips_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tooltips_1set_1tip
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tooltips_1set_1tip)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tooltips_1set_1tip_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_tooltips_set_tip((GtkTooltips *)arg0, (GtkWidget *)arg1, (const gchar *)lparg2, (const gchar *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tooltips_1set_1tip_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get__III_3II
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1model_1get__III_3II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get__III_3II_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_tree_model_get((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get__III_3II_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get__III_3JI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1model_1get__III_3JI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jlongArray arg3, jint arg4)
-{
-	jlong *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get__III_3JI_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_tree_model_get((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get__III_3JI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get_1iter
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1model_1get_1iter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get_1iter_FUNC);
-	rc = (jboolean)gtk_tree_model_get_iter((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, (GtkTreePath *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get_1iter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get_1iter_1first
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1model_1get_1iter_1first)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get_1iter_1first_FUNC);
-	rc = (jboolean)gtk_tree_model_get_iter_first((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get_1iter_1first_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get_1n_1columns
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1model_1get_1n_1columns)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get_1n_1columns_FUNC);
-	rc = (jint)gtk_tree_model_get_n_columns((GtkTreeModel *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get_1n_1columns_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get_1path
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1model_1get_1path)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get_1path_FUNC);
-	rc = (jint)gtk_tree_model_get_path((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get_1path_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1get_1type
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1model_1get_1type)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1get_1type_FUNC);
-	rc = (jint)gtk_tree_model_get_type();
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1get_1type_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1iter_1children
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1model_1iter_1children)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1iter_1children_FUNC);
-	rc = (jboolean)gtk_tree_model_iter_children((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, (GtkTreeIter *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1iter_1children_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1iter_1n_1children
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1model_1iter_1n_1children)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1iter_1n_1children_FUNC);
-	rc = (jint)gtk_tree_model_iter_n_children((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1iter_1n_1children_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1iter_1next
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1model_1iter_1next)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1iter_1next_FUNC);
-	rc = (jboolean)gtk_tree_model_iter_next((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1iter_1next_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1model_1iter_1nth_1child
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1model_1iter_1nth_1child)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1model_1iter_1nth_1child_FUNC);
-	rc = (jboolean)gtk_tree_model_iter_nth_child((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, (GtkTreeIter *)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1model_1iter_1nth_1child_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1append_1index
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1path_1append_1index)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1append_1index_FUNC);
-	gtk_tree_path_append_index((GtkTreePath *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1append_1index_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1compare
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1compare)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1compare_FUNC);
-	rc = (jint)gtk_tree_path_compare((const GtkTreePath *)arg0, (const GtkTreePath *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1compare_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1down
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1path_1down)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1down_FUNC);
-	gtk_tree_path_down((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1down_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1path_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1free_FUNC);
-	gtk_tree_path_free((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1get_1depth
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1get_1depth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1get_1depth_FUNC);
-	rc = (jint)gtk_tree_path_get_depth((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1get_1depth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1get_1indices
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1get_1indices)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1get_1indices_FUNC);
-	rc = (jint)gtk_tree_path_get_indices((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1get_1indices_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1new_FUNC);
-	rc = (jint)gtk_tree_path_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1new_1first
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1new_1first)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1new_1first_FUNC);
-	rc = (jint)gtk_tree_path_new_first();
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1new_1first_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1new_1from_1string__I
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1new_1from_1string__I)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1new_1from_1string__I_FUNC);
-	rc = (jint)gtk_tree_path_new_from_string((const gchar *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1new_1from_1string__I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1new_1from_1string___3B
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1path_1new_1from_1string___3B)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1new_1from_1string___3B_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_tree_path_new_from_string((const gchar *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1new_1from_1string___3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1next
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1path_1next)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1next_FUNC);
-	gtk_tree_path_next((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1next_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1prev
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1path_1prev)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1prev_FUNC);
-	rc = (jboolean)gtk_tree_path_prev((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1prev_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1path_1up
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1path_1up)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1path_1up_FUNC);
-	rc = (jboolean)gtk_tree_path_up((GtkTreePath *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1path_1up_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1count_1selected_1rows
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1selection_1count_1selected_1rows)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1count_1selected_1rows_FUNC);
-/*
-	rc = (jint)gtk_tree_selection_count_selected_rows((GtkTreeSelection *)arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GtkTreeSelection *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_tree_selection_count_selected_rows_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_tree_selection_count_selected_rows");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GtkTreeSelection *)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1count_1selected_1rows_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1get_1selected
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1selection_1get_1selected)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1get_1selected_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_tree_selection_get_selected((GtkTreeSelection *)arg0, (GtkTreeModel **)lparg1, (GtkTreeIter *)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1get_1selected_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1get_1selected_1rows
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1selection_1get_1selected_1rows)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1get_1selected_1rows_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)gtk_tree_selection_get_selected_rows((GtkTreeSelection *)arg0, (GtkTreeModel **)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GtkTreeSelection *, GtkTreeModel **);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_tree_selection_get_selected_rows_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_tree_selection_get_selected_rows");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GtkTreeSelection *)arg0, (GtkTreeModel **)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1get_1selected_1rows_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1path_1is_1selected
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1selection_1path_1is_1selected)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1path_1is_1selected_FUNC);
-	rc = (jboolean)gtk_tree_selection_path_is_selected((GtkTreeSelection *)arg0, (GtkTreePath *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1path_1is_1selected_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1select_1all
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1select_1all)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1select_1all_FUNC);
-	gtk_tree_selection_select_all((GtkTreeSelection *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1select_1all_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1select_1iter
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1select_1iter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1select_1iter_FUNC);
-	gtk_tree_selection_select_iter((GtkTreeSelection *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1select_1iter_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1selected_1foreach
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1selected_1foreach)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1selected_1foreach_FUNC);
-	gtk_tree_selection_selected_foreach((GtkTreeSelection *)arg0, (GtkTreeSelectionForeachFunc)arg1, (gpointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1selected_1foreach_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1set_1mode
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1set_1mode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1set_1mode_FUNC);
-	gtk_tree_selection_set_mode((GtkTreeSelection *)arg0, (GtkSelectionMode)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1set_1mode_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1unselect_1all
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1unselect_1all)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1unselect_1all_FUNC);
-	gtk_tree_selection_unselect_all((GtkTreeSelection *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1unselect_1all_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1selection_1unselect_1iter
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1selection_1unselect_1iter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1selection_1unselect_1iter_FUNC);
-	gtk_tree_selection_unselect_iter((GtkTreeSelection *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1selection_1unselect_1iter_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1append
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1append)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1append_FUNC);
-	gtk_tree_store_append((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, (GtkTreeIter *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1append_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1clear
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1clear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1clear_FUNC);
-	gtk_tree_store_clear((GtkTreeStore *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1clear_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1insert
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1insert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1insert_FUNC);
-	gtk_tree_store_insert((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, (GtkTreeIter *)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1insert_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1newv
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1store_1newv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1newv_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_tree_store_newv(arg0, (GType *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1newv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1remove
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1remove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1remove_FUNC);
-	gtk_tree_store_remove((GtkTreeStore *)arg0, (GtkTreeIter *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1remove_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1set__IIIII
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1set__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1set__IIIII_FUNC);
-	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1set__IIIII_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1set__IIIJI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1set__IIIJI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jlong arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1set__IIIJI_FUNC);
-	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1set__IIIJI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4)
-{
-	GdkColor _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC);
-	if (arg3) if ((lparg3 = getGdkColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1set__IIIZI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1set__IIIZI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1set__IIIZI_FUNC);
-	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1set__IIIZI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1store_1set__III_3BI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1store_1set__III_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1store_1set__III_3BI_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1store_1set__III_3BI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1collapse_1row
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1collapse_1row)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1collapse_1row_FUNC);
-	rc = (jboolean)gtk_tree_view_collapse_row((GtkTreeView *)arg0, (GtkTreePath *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1collapse_1row_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1add_1attribute
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1add_1attribute)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1add_1attribute_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_tree_view_column_add_attribute((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (const gchar *)lparg2, (gint)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1add_1attribute_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1cell_1get_1position
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1cell_1get_1position)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1cell_1get_1position_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-/*
-	rc = (jboolean)gtk_tree_view_column_cell_get_position((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (gint *)lparg2, (gint *)lparg3);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jboolean (*FPTR)(GtkTreeViewColumn *, GtkCellRenderer *, gint *, gint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_tree_view_column_cell_get_position_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_tree_view_column_cell_get_position");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jboolean)(*fptr)((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (gint *)lparg2, (gint *)lparg3);
-		}
-	}
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1cell_1get_1position_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1cell_1get_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1cell_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1cell_1get_1size_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	gtk_tree_view_column_cell_get_size((GtkTreeViewColumn *)arg0, (GdkRectangle *)lparg1, (gint *)lparg2, (gint *)lparg3, (gint *)lparg4, (gint *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setGdkRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1cell_1get_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1cell_1set_1cell_1data
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1cell_1set_1cell_1data)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jboolean arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1cell_1set_1cell_1data_FUNC);
-	gtk_tree_view_column_cell_set_cell_data((GtkTreeViewColumn *)arg0, (GtkTreeModel *)arg1, (GtkTreeIter *)arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1cell_1set_1cell_1data_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1clear
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1clear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1clear_FUNC);
-	gtk_tree_view_column_clear((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1clear_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1cell_1renderers
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1cell_1renderers)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1cell_1renderers_FUNC);
-	rc = (jint)gtk_tree_view_column_get_cell_renderers((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1cell_1renderers_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1fixed_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1fixed_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1fixed_1width_FUNC);
-	rc = (jint)gtk_tree_view_column_get_fixed_width((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1fixed_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1reorderable
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1reorderable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1reorderable_FUNC);
-	rc = (jboolean)gtk_tree_view_column_get_reorderable((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1reorderable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1resizable
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1resizable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1resizable_FUNC);
-	rc = (jboolean)gtk_tree_view_column_get_resizable((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1resizable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1sizing
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1sizing)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1sizing_FUNC);
-	rc = (jint)gtk_tree_view_column_get_sizing((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1sizing_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1sort_1indicator
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1sort_1indicator)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1sort_1indicator_FUNC);
-	rc = (jboolean)gtk_tree_view_column_get_sort_indicator((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1sort_1indicator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1sort_1order
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1sort_1order)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1sort_1order_FUNC);
-	rc = (jint)gtk_tree_view_column_get_sort_order((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1sort_1order_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1spacing
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1spacing)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1spacing_FUNC);
-	rc = (jint)gtk_tree_view_column_get_spacing((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1spacing_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1visible
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1visible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1visible_FUNC);
-	rc = (jboolean)gtk_tree_view_column_get_visible((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1visible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1get_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1get_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1get_1width_FUNC);
-	rc = (jint)gtk_tree_view_column_get_width((GtkTreeViewColumn *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1get_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1new_FUNC);
-	rc = (jint)gtk_tree_view_column_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1pack_1end
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1pack_1end)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1pack_1end_FUNC);
-	gtk_tree_view_column_pack_end((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1pack_1end_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1pack_1start
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1pack_1start)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1pack_1start_FUNC);
-	gtk_tree_view_column_pack_start((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1pack_1start_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1alignment
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1alignment)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1alignment_FUNC);
-	gtk_tree_view_column_set_alignment((GtkTreeViewColumn *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1alignment_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1cell_1data_1func
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1cell_1data_1func)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1cell_1data_1func_FUNC);
-	gtk_tree_view_column_set_cell_data_func((GtkTreeViewColumn *)arg0, (GtkCellRenderer *)arg1, (GtkTreeCellDataFunc)arg2, (gpointer)arg3, (GtkDestroyNotify)arg4);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1cell_1data_1func_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1clickable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1clickable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1clickable_FUNC);
-	gtk_tree_view_column_set_clickable((GtkTreeViewColumn *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1clickable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1fixed_1width
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1fixed_1width)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1fixed_1width_FUNC);
-	gtk_tree_view_column_set_fixed_width((GtkTreeViewColumn *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1fixed_1width_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1min_1width
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1min_1width)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1min_1width_FUNC);
-	gtk_tree_view_column_set_min_width((GtkTreeViewColumn *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1min_1width_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1reorderable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1reorderable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1reorderable_FUNC);
-	gtk_tree_view_column_set_reorderable((GtkTreeViewColumn *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1reorderable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1resizable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1resizable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1resizable_FUNC);
-	gtk_tree_view_column_set_resizable((GtkTreeViewColumn *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1resizable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1sizing
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1sizing)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1sizing_FUNC);
-	gtk_tree_view_column_set_sizing((GtkTreeViewColumn *)arg0, (GtkTreeViewColumnSizing)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1sizing_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1sort_1indicator
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1sort_1indicator)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1sort_1indicator_FUNC);
-	gtk_tree_view_column_set_sort_indicator((GtkTreeViewColumn *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1sort_1indicator_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1sort_1order
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1sort_1order)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1sort_1order_FUNC);
-	gtk_tree_view_column_set_sort_order((GtkTreeViewColumn *)arg0, (GtkSortType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1sort_1order_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1title
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1title)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1title_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_tree_view_column_set_title((GtkTreeViewColumn *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1title_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1visible
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1visible)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1visible_FUNC);
-	gtk_tree_view_column_set_visible((GtkTreeViewColumn *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1visible_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1column_1set_1widget
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1column_1set_1widget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1column_1set_1widget_FUNC);
-	gtk_tree_view_column_set_widget((GtkTreeViewColumn *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1column_1set_1widget_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1create_1row_1drag_1icon
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1create_1row_1drag_1icon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1create_1row_1drag_1icon_FUNC);
-	rc = (jint)gtk_tree_view_create_row_drag_icon((GtkTreeView *)arg0, (GtkTreePath *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1create_1row_1drag_1icon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1expand_1row
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1expand_1row)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1expand_1row_FUNC);
-	rc = (jboolean)gtk_tree_view_expand_row((GtkTreeView *)arg0, (GtkTreePath *)arg1, (gboolean)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1expand_1row_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1background_1area
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1background_1area)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1background_1area_FUNC);
-	if (arg3) if ((lparg3 = getGdkRectangleFields(env, arg3, &_arg3)) == NULL) goto fail;
-	gtk_tree_view_get_background_area((GtkTreeView *)arg0, (GtkTreePath *)arg1, (GtkTreeViewColumn *)arg2, (GdkRectangle *)lparg3);
-fail:
-	if (arg3 && lparg3) setGdkRectangleFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1background_1area_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1bin_1window
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1bin_1window)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1bin_1window_FUNC);
-	rc = (jint)gtk_tree_view_get_bin_window((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1bin_1window_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1cell_1area
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1cell_1area)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	GdkRectangle _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1cell_1area_FUNC);
-	if (arg3) if ((lparg3 = &_arg3) == NULL) goto fail;
-	gtk_tree_view_get_cell_area((GtkTreeView *)arg0, (GtkTreePath *)arg1, (GtkTreeViewColumn *)arg2, (GdkRectangle *)lparg3);
-fail:
-	if (arg3 && lparg3) setGdkRectangleFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1cell_1area_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1column
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1column)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1column_FUNC);
-	rc = (jint)gtk_tree_view_get_column((GtkTreeView *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1column_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1columns
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1columns)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1columns_FUNC);
-	rc = (jint)gtk_tree_view_get_columns((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1columns_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1cursor
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1cursor)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1cursor_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;
-	gtk_tree_view_get_cursor((GtkTreeView *)arg0, (GtkTreePath **)lparg1, (GtkTreeViewColumn **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1cursor_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1expander_1column
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1expander_1column)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1expander_1column_FUNC);
-	rc = (jint)gtk_tree_view_get_expander_column((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1expander_1column_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1headers_1visible
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1headers_1visible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1headers_1visible_FUNC);
-	rc = (jboolean)gtk_tree_view_get_headers_visible((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1headers_1visible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1path_1at_1pos
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1path_1at_1pos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1path_1at_1pos_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_tree_view_get_path_at_pos((GtkTreeView *)arg0, (gint)arg1, (gint)arg2, (GtkTreePath **)lparg3, (GtkTreeViewColumn **)lparg4, (gint *)lparg5, (gint *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1path_1at_1pos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1rules_1hint
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1rules_1hint)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1rules_1hint_FUNC);
-	rc = (jboolean)gtk_tree_view_get_rules_hint((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1rules_1hint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1selection
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1selection)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1selection_FUNC);
-	rc = (jint)gtk_tree_view_get_selection((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1selection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1get_1visible_1rect
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1get_1visible_1rect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GdkRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1get_1visible_1rect_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gtk_tree_view_get_visible_rect((GtkTreeView *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGdkRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1get_1visible_1rect_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1insert_1column
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1insert_1column)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1insert_1column_FUNC);
-	rc = (jint)gtk_tree_view_insert_column((GtkTreeView *)arg0, (GtkTreeViewColumn *)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1insert_1column_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1move_1column_1after
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1move_1column_1after)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1move_1column_1after_FUNC);
-	gtk_tree_view_move_column_after((GtkTreeView *)arg0, (GtkTreeViewColumn *)arg1, (GtkTreeViewColumn *)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1move_1column_1after_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1new_1with_1model
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1tree_1view_1new_1with_1model)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1new_1with_1model_FUNC);
-	rc = (jint)gtk_tree_view_new_with_model((GtkTreeModel *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1new_1with_1model_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1remove_1column
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1remove_1column)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1remove_1column_FUNC);
-	gtk_tree_view_remove_column((GtkTreeView *)arg0, (GtkTreeViewColumn *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1remove_1column_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1row_1expanded
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1tree_1view_1row_1expanded)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1row_1expanded_FUNC);
-	rc = (jboolean)gtk_tree_view_row_expanded((GtkTreeView *)arg0, (GtkTreePath *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1row_1expanded_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1scroll_1to_1cell
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1scroll_1to_1cell)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jfloat arg4, jfloat arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1scroll_1to_1cell_FUNC);
-	gtk_tree_view_scroll_to_cell((GtkTreeView *)arg0, (GtkTreePath *)arg1, (GtkTreeViewColumn *)arg2, (gboolean)arg3, (gfloat)arg4, (gfloat)arg5);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1scroll_1to_1cell_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1scroll_1to_1point
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1scroll_1to_1point)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1scroll_1to_1point_FUNC);
-	gtk_tree_view_scroll_to_point((GtkTreeView *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1scroll_1to_1point_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1cursor
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1cursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1cursor_FUNC);
-	gtk_tree_view_set_cursor((GtkTreeView *)arg0, (GtkTreePath *)arg1, (GtkTreeViewColumn *)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1cursor_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1drag_1dest_1row
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1drag_1dest_1row)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1drag_1dest_1row_FUNC);
-	gtk_tree_view_set_drag_dest_row((GtkTreeView *)arg0, (GtkTreePath *)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1drag_1dest_1row_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1enable_1search
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1enable_1search)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1enable_1search_FUNC);
-	gtk_tree_view_set_enable_search((GtkTreeView *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1enable_1search_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1headers_1visible
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1headers_1visible)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1headers_1visible_FUNC);
-	gtk_tree_view_set_headers_visible((GtkTreeView *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1headers_1visible_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1model
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1model)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1model_FUNC);
-	gtk_tree_view_set_model((GtkTreeView *)arg0, (GtkTreeModel *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1model_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1rules_1hint
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1rules_1hint)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1rules_1hint_FUNC);
-	gtk_tree_view_set_rules_hint((GtkTreeView *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1rules_1hint_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1set_1search_1column
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1set_1search_1column)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1set_1search_1column_FUNC);
-	gtk_tree_view_set_search_column((GtkTreeView *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1set_1search_1column_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1tree_1to_1widget_1coords
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1tree_1to_1widget_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1tree_1to_1widget_1coords_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	gtk_tree_view_tree_to_widget_coords((GtkTreeView *)arg0, (gint)arg1, (gint)arg2, (gint *)lparg3, (gint *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1tree_1to_1widget_1coords_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1unset_1rows_1drag_1dest
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1unset_1rows_1drag_1dest)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1unset_1rows_1drag_1dest_FUNC);
-	gtk_tree_view_unset_rows_drag_dest((GtkTreeView *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1unset_1rows_1drag_1dest_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1tree_1view_1widget_1to_1tree_1coords
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1tree_1view_1widget_1to_1tree_1coords)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1tree_1view_1widget_1to_1tree_1coords_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	gtk_tree_view_widget_to_tree_coords((GtkTreeView *)arg0, arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1tree_1view_1widget_1to_1tree_1coords_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1vbox_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1vbox_1new)
-	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1vbox_1new_FUNC);
-	rc = (jint)gtk_vbox_new((gboolean)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1vbox_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1vscale_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1vscale_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1vscale_1new_FUNC);
-	rc = (jint)gtk_vscale_new((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1vscale_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1vscrollbar_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1vscrollbar_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1vscrollbar_1new_FUNC);
-	rc = (jint)gtk_vscrollbar_new((GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1vscrollbar_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1vseparator_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1vseparator_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1vseparator_1new_FUNC);
-	rc = (jint)gtk_vseparator_new();
-	OS_NATIVE_EXIT(env, that, _1gtk_1vseparator_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1add_1accelerator
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1add_1accelerator)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1add_1accelerator_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_widget_add_accelerator((GtkWidget *)arg0, (const gchar *)lparg1, (GtkAccelGroup *)arg2, (guint)arg3, (GdkModifierType)arg4, arg5);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1add_1accelerator_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1add_1events
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1add_1events)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1add_1events_FUNC);
-	gtk_widget_add_events((GtkWidget *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1add_1events_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1child_1focus
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1child_1focus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1child_1focus_FUNC);
-	rc = (jboolean)gtk_widget_child_focus((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1child_1focus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1create_1pango_1layout__II
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1create_1pango_1layout__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1create_1pango_1layout__II_FUNC);
-	rc = (jint)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1create_1pango_1layout__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1create_1pango_1layout__I_3B
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1create_1pango_1layout__I_3B)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1create_1pango_1layout__I_3B_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1create_1pango_1layout__I_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1destroy
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1destroy_FUNC);
-	gtk_widget_destroy((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1event
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1event)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1event_FUNC);
-	rc = (jboolean)gtk_widget_event((GtkWidget *)arg0, (GdkEvent *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1event_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1accessible
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1accessible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1accessible_FUNC);
-	rc = (jint)gtk_widget_get_accessible((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1accessible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1child_1visible
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1get_1child_1visible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1child_1visible_FUNC);
-	rc = (jboolean)gtk_widget_get_child_visible((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1child_1visible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1default_1direction
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1default_1direction)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1default_1direction_FUNC);
-	rc = (jint)gtk_widget_get_default_direction();
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1default_1direction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1default_1style
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1default_1style)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1default_1style_FUNC);
-	rc = (jint)gtk_widget_get_default_style();
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1default_1style_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1direction
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1direction)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1direction_FUNC);
-	rc = (jint)gtk_widget_get_direction((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1direction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1events
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1events)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1events_FUNC);
-	rc = (jint)gtk_widget_get_events((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1events_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1modifier_1style
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1modifier_1style)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1modifier_1style_FUNC);
-	rc = (jint)gtk_widget_get_modifier_style((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1modifier_1style_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1pango_1context
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1pango_1context)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1pango_1context_FUNC);
-	rc = (jint)gtk_widget_get_pango_context((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1pango_1context_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1parent
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1parent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1parent_FUNC);
-	rc = (jint)gtk_widget_get_parent((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1parent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1size_1request
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1get_1size_1request)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1size_1request_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;
-	gtk_widget_get_size_request((GtkWidget *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1size_1request_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1style
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1style)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1style_FUNC);
-	rc = (jint)gtk_widget_get_style((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1style_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1get_1toplevel
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1widget_1get_1toplevel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1toplevel_FUNC);
-	rc = (jint)gtk_widget_get_toplevel((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1toplevel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1grab_1focus
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1grab_1focus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1grab_1focus_FUNC);
-	gtk_widget_grab_focus((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1grab_1focus_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1hide
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1hide)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1hide_FUNC);
-	gtk_widget_hide((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1hide_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1is_1focus
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1is_1focus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1is_1focus_FUNC);
-	rc = (jboolean)gtk_widget_is_focus((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1is_1focus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1map
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1map)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1map_FUNC);
-	gtk_widget_map((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1map_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1mnemonic_1activate
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1mnemonic_1activate)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1mnemonic_1activate_FUNC);
-	rc = (jboolean)gtk_widget_mnemonic_activate((GtkWidget *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1mnemonic_1activate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1base
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1base)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1base_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_widget_modify_base((GtkWidget *)arg0, (GtkStateType)arg1, (GdkColor *)lparg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1base_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1bg
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1bg)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1bg_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_widget_modify_bg((GtkWidget *)arg0, (GtkStateType)arg1, (GdkColor *)lparg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1bg_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1fg
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1fg)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1fg_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_widget_modify_fg((GtkWidget *)arg0, (GtkStateType)arg1, (GdkColor *)lparg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1fg_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1font
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1font)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1font_FUNC);
-	gtk_widget_modify_font((GtkWidget *)arg0, (PangoFontDescription *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1font_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1style
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1style)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1style_FUNC);
-	gtk_widget_modify_style((GtkWidget *)arg0, (GtkRcStyle *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1style_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1modify_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1modify_1text)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GdkColor _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1modify_1text_FUNC);
-	if (arg2) if ((lparg2 = getGdkColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_widget_modify_text((GtkWidget *)arg0, (GtkStateType)arg1, (GdkColor *)lparg2);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1modify_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1queue_1resize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1queue_1resize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1queue_1resize_FUNC);
-	gtk_widget_queue_resize((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1queue_1resize_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1realize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1realize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1realize_FUNC);
-	gtk_widget_realize((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1realize_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1remove_1accelerator
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1remove_1accelerator)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1remove_1accelerator_FUNC);
-	gtk_widget_remove_accelerator((GtkWidget *)arg0, (GtkAccelGroup *)arg1, (guint)arg2, (GdkModifierType)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1remove_1accelerator_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1reparent
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1reparent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1reparent_FUNC);
-	gtk_widget_reparent((GtkWidget *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1reparent_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1app_1paintable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1app_1paintable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1app_1paintable_FUNC);
-	gtk_widget_set_app_paintable((GtkWidget *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1app_1paintable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1default_1direction
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1default_1direction)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1default_1direction_FUNC);
-	gtk_widget_set_default_direction((GtkTextDirection)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1default_1direction_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1direction
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1direction)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1direction_FUNC);
-	gtk_widget_set_direction((GtkWidget *)arg0, (GtkTextDirection)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1direction_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1double_1buffered
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1double_1buffered)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1double_1buffered_FUNC);
-	gtk_widget_set_double_buffered((GtkWidget *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1double_1buffered_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1name
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1name)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1name_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_widget_set_name((GtkWidget *)arg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1name_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1parent_1window
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1parent_1window)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1parent_1window_FUNC);
-	gtk_widget_set_parent_window((GtkWidget *)arg0, (GdkWindow *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1parent_1window_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1redraw_1on_1allocate
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1redraw_1on_1allocate)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1redraw_1on_1allocate_FUNC);
-	gtk_widget_set_redraw_on_allocate((GtkWidget *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1redraw_1on_1allocate_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1sensitive
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1sensitive)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1sensitive_FUNC);
-	gtk_widget_set_sensitive((GtkWidget *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1sensitive_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1size_1request
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1size_1request)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1size_1request_FUNC);
-	gtk_widget_set_size_request((GtkWidget *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1size_1request_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1state
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1state)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1state_FUNC);
-	gtk_widget_set_state((GtkWidget *)arg0, (GtkStateType)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1state_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1set_1style
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1set_1style)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1set_1style_FUNC);
-	gtk_widget_set_style((GtkWidget *)arg0, (GtkStyle *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1set_1style_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1shape_1combine_1mask
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1shape_1combine_1mask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1shape_1combine_1mask_FUNC);
-	gtk_widget_shape_combine_mask((GtkWidget *)arg0, (GdkBitmap *)arg1, (gint)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1shape_1combine_1mask_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1show
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1show)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1show_FUNC);
-	gtk_widget_show((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1show_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1show_1now
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1show_1now)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1show_1now_FUNC);
-	gtk_widget_show_now((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1show_1now_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1size_1allocate
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1size_1allocate)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GtkAllocation _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1size_1allocate_FUNC);
-	if (arg1) if ((lparg1 = getGtkAllocationFields(env, arg1, &_arg1)) == NULL) goto fail;
-	gtk_widget_size_allocate((GtkWidget *)arg0, (GtkAllocation *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1size_1allocate_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1size_1request
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1size_1request)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GtkRequisition _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1size_1request_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	gtk_widget_size_request((GtkWidget *)arg0, (GtkRequisition *)lparg1);
-fail:
-	if (arg1 && lparg1) setGtkRequisitionFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1size_1request_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1style_1get__I_3B_3II
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1style_1get__I_3B_3II)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1style_1get__I_3B_3II_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1style_1get__I_3B_3II_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1style_1get__I_3B_3JI
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1style_1get__I_3B_3JI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jlongArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jlong *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1style_1get__I_3B_3JI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1style_1get__I_3B_3JI_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1translate_1coordinates
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1widget_1translate_1coordinates)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1translate_1coordinates_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_widget_translate_coordinates((GtkWidget *)arg0, (GtkWidget *)arg1, arg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1translate_1coordinates_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1unrealize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1unrealize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1widget_1unrealize_FUNC);
-	gtk_widget_unrealize((GtkWidget *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1widget_1unrealize_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1activate_1default
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1window_1activate_1default)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1activate_1default_FUNC);
-	rc = (jboolean)gtk_window_activate_default((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1activate_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1add_1accel_1group
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1add_1accel_1group)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1add_1accel_1group_FUNC);
-	gtk_window_add_accel_group((GtkWindow *)arg0, (GtkAccelGroup *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1add_1accel_1group_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1deiconify
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1deiconify)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1deiconify_FUNC);
-	gtk_window_deiconify((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1deiconify_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1focus
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1window_1get_1focus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1focus_FUNC);
-	rc = (jint)gtk_window_get_focus((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1focus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1icon_1list
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1window_1get_1icon_1list)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1icon_1list_FUNC);
-	rc = (jint)gtk_window_get_icon_list((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1icon_1list_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1mnemonic_1modifier
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1window_1get_1mnemonic_1modifier)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1mnemonic_1modifier_FUNC);
-	rc = (jint)gtk_window_get_mnemonic_modifier((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1mnemonic_1modifier_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1modal
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1window_1get_1modal)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1modal_FUNC);
-	rc = (jboolean)gtk_window_get_modal((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1modal_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1position
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1get_1position)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1position_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;
-	gtk_window_get_position((GtkWindow *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1position_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1get_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1get_1size_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;
-	gtk_window_get_size((GtkWindow *)arg0, (gint *)lparg1, (gint *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1get_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1iconify
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1iconify)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1iconify_FUNC);
-	gtk_window_iconify((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1iconify_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1maximize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1maximize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1maximize_FUNC);
-	gtk_window_maximize((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1maximize_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1move
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1move)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1move_FUNC);
-	gtk_window_move((GtkWindow *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1move_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1gtk_1window_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1new_FUNC);
-	rc = (jint)gtk_window_new((GtkWindowType)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1window_1present
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1present)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1present_FUNC);
-	gtk_window_present((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1present_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1remove_1accel_1group
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1remove_1accel_1group)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1remove_1accel_1group_FUNC);
-	gtk_window_remove_accel_group((GtkWindow *)arg0, (GtkAccelGroup *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1remove_1accel_1group_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1resize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1resize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1resize_FUNC);
-	gtk_window_resize((GtkWindow *)arg0, (gint)arg1, (gint)arg2);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1resize_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1default
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1default)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1default_FUNC);
-	gtk_window_set_default((GtkWindow *)arg0, (GtkWidget *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1default_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1destroy_1with_1parent
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1destroy_1with_1parent)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1destroy_1with_1parent_FUNC);
-	gtk_window_set_destroy_with_parent((GtkWindow *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1destroy_1with_1parent_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1geometry_1hints
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1geometry_1hints)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	GdkGeometry _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1geometry_1hints_FUNC);
-	if (arg2) if ((lparg2 = getGdkGeometryFields(env, arg2, &_arg2)) == NULL) goto fail;
-	gtk_window_set_geometry_hints((GtkWindow *)arg0, (GtkWidget *)arg1, lparg2, arg3);
-fail:
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1geometry_1hints_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1icon_1list
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1icon_1list)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1icon_1list_FUNC);
-	gtk_window_set_icon_list((GtkWindow *)arg0, (GList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1icon_1list_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1modal
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1modal)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1modal_FUNC);
-	gtk_window_set_modal((GtkWindow *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1modal_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1resizable
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1resizable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1resizable_FUNC);
-	gtk_window_set_resizable((GtkWindow *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1resizable_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1title
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1title)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1title_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	gtk_window_set_title((GtkWindow *)arg0, (const gchar *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1title_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1transient_1for
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1transient_1for)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1transient_1for_FUNC);
-	gtk_window_set_transient_for((GtkWindow *)arg0, (GtkWindow *)arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1transient_1for_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1set_1type_1hint
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1set_1type_1hint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1set_1type_1hint_FUNC);
-	gtk_window_set_type_hint((GtkWindow *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1set_1type_1hint_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1unmaximize
-JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1unmaximize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1gtk_1window_1unmaximize_FUNC);
-	gtk_window_unmaximize((GtkWindow *)arg0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1window_1unmaximize_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1attr_1background_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1background_1new)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1background_1new_FUNC);
-	rc = (jint)pango_attr_background_new(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1background_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1font_1desc_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1font_1desc_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1font_1desc_1new_FUNC);
-	rc = (jint)pango_attr_font_desc_new((const PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1font_1desc_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1foreground_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1foreground_1new)
-	(JNIEnv *env, jclass that, jshort arg0, jshort arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1foreground_1new_FUNC);
-	rc = (jint)pango_attr_foreground_new(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1foreground_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1list_1change
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1attr_1list_1change)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1list_1change_FUNC);
-	pango_attr_list_change((PangoAttrList *)arg0, (PangoAttribute *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1list_1change_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1attr_1list_1insert
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1attr_1list_1insert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1list_1insert_FUNC);
-	pango_attr_list_insert((PangoAttrList *)arg0, (PangoAttribute *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1list_1insert_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1attr_1list_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1list_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1list_1new_FUNC);
-	rc = (jint)pango_attr_list_new();
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1list_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1list_1unref
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1attr_1list_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1list_1unref_FUNC);
-	pango_attr_list_unref((PangoAttrList *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1list_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1attr_1rise_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1rise_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1rise_1new_FUNC);
-	rc = (jint)pango_attr_rise_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1rise_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1shape_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1shape_1new)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	PangoRectangle _arg0, *lparg0=NULL;
-	PangoRectangle _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1shape_1new_FUNC);
-	if (arg0) if ((lparg0 = getPangoRectangleFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPangoRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)pango_attr_shape_new(lparg0, lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1shape_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1strikethrough_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1strikethrough_1new)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1strikethrough_1new_FUNC);
-	rc = (jint)pango_attr_strikethrough_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1strikethrough_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1underline_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1underline_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1underline_1new_FUNC);
-	rc = (jint)pango_attr_underline_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1underline_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1attr_1weight_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1attr_1weight_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1attr_1weight_1new_FUNC);
-	rc = (jint)pango_attr_weight_new(arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1attr_1weight_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1create_1layout
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1cairo_1create_1layout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1create_1layout_FUNC);
-/*
-	rc = (jint)pango_cairo_create_layout(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_create_layout_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_create_layout");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1create_1layout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1font_1map_1create_1context
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1cairo_1font_1map_1create_1context)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1font_1map_1create_1context_FUNC);
-/*
-	rc = (jint)pango_cairo_font_map_create_context(arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_font_map_create_context_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_font_map_create_context");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1font_1map_1create_1context_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1font_1map_1get_1default
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1cairo_1font_1map_1get_1default)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1font_1map_1get_1default_FUNC);
-/*
-	rc = (jint)pango_cairo_font_map_get_default();
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)();
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_font_map_get_default_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_font_map_get_default");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1font_1map_1get_1default_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1font_1map_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1cairo_1font_1map_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1font_1map_1new_FUNC);
-/*
-	rc = (jint)pango_cairo_font_map_new();
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)();
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_font_map_new_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_font_map_new");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1font_1map_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1layout_1path
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1cairo_1layout_1path)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1layout_1path_FUNC);
-/*
-	pango_cairo_layout_path(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_layout_path_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_layout_path");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1layout_1path_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1cairo_1show_1layout
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1cairo_1show_1layout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1cairo_1show_1layout_FUNC);
-/*
-	pango_cairo_show_layout(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_cairo_show_layout_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_cairo_show_layout");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1cairo_1show_1layout_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1context_1get_1base_1dir
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1context_1get_1base_1dir)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1get_1base_1dir_FUNC);
-	rc = (jint)pango_context_get_base_dir((PangoContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1get_1base_1dir_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1context_1get_1language
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1context_1get_1language)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1get_1language_FUNC);
-	rc = (jint)pango_context_get_language((PangoContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1get_1language_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1context_1get_1metrics
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1context_1get_1metrics)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1get_1metrics_FUNC);
-	rc = (jint)pango_context_get_metrics((PangoContext *)arg0, (const PangoFontDescription *)arg1, (PangoLanguage *)arg2);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1get_1metrics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1context_1list_1families
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1context_1list_1families)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1list_1families_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;
-	pango_context_list_families((PangoContext *)arg0, (PangoFontFamily ***)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1list_1families_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1context_1set_1base_1dir
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1context_1set_1base_1dir)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1set_1base_1dir_FUNC);
-	pango_context_set_base_dir((PangoContext *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1set_1base_1dir_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1context_1set_1language
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1context_1set_1language)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1context_1set_1language_FUNC);
-	pango_context_set_language((PangoContext *)arg0, (PangoLanguage *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1context_1set_1language_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1copy
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1copy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1copy_FUNC);
-	rc = (jint)pango_font_description_copy((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1copy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1free_FUNC);
-	pango_font_description_free((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1from_1string
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1from_1string)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1from_1string_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)pango_font_description_from_string((const char *)lparg0);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1from_1string_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1get_1family
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1family)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1family_FUNC);
-	rc = (jint)pango_font_description_get_family((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1family_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1get_1size
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1size_FUNC);
-	rc = (jint)pango_font_description_get_size((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1size_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1get_1style
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1style)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1style_FUNC);
-	rc = (jint)pango_font_description_get_style((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1style_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1get_1weight
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1weight)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1weight_FUNC);
-	rc = (jint)pango_font_description_get_weight((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1weight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1new_FUNC);
-	rc = (jint)pango_font_description_new();
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1set_1family
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1set_1family)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1set_1family_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	pango_font_description_set_family((PangoFontDescription *)arg0, (const char *)lparg1);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1set_1family_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1set_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1set_1size)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1set_1size_FUNC);
-	pango_font_description_set_size((PangoFontDescription *)arg0, (gint)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1set_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1set_1stretch
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1set_1stretch)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1set_1stretch_FUNC);
-	pango_font_description_set_stretch((PangoFontDescription *)arg0, (PangoStretch)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1set_1stretch_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1set_1style
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1set_1style)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1set_1style_FUNC);
-	pango_font_description_set_style((PangoFontDescription *)arg0, (PangoStyle)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1set_1style_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1set_1weight
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1description_1set_1weight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1set_1weight_FUNC);
-	pango_font_description_set_weight((PangoFontDescription *)arg0, (PangoWeight)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1set_1weight_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1description_1to_1string
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1to_1string)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1to_1string_FUNC);
-	rc = (jint)pango_font_description_to_string((PangoFontDescription *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1to_1string_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1face_1describe
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1face_1describe)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1face_1describe_FUNC);
-	rc = (jint)pango_font_face_describe((PangoFontFace *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1face_1describe_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1family_1get_1name
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1family_1get_1name)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1family_1get_1name_FUNC);
-	rc = (jint)pango_font_family_get_name((PangoFontFamily *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1family_1get_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1family_1list_1faces
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1family_1list_1faces)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1family_1list_1faces_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;
-	pango_font_family_list_faces((PangoFontFamily *)arg0, (PangoFontFace ***)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1family_1list_1faces_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1font_1get_1metrics
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1get_1metrics)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1get_1metrics_FUNC);
-	rc = (jint)pango_font_get_metrics((PangoFont *)arg0, (PangoLanguage *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1get_1metrics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1metrics_1get_1approximate_1char_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1metrics_1get_1approximate_1char_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1metrics_1get_1approximate_1char_1width_FUNC);
-	rc = (jint)pango_font_metrics_get_approximate_char_width((PangoFontMetrics *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1metrics_1get_1approximate_1char_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1metrics_1get_1ascent
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1metrics_1get_1ascent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1metrics_1get_1ascent_FUNC);
-	rc = (jint)pango_font_metrics_get_ascent((PangoFontMetrics *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1metrics_1get_1ascent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1metrics_1get_1descent
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1metrics_1get_1descent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1metrics_1get_1descent_FUNC);
-	rc = (jint)pango_font_metrics_get_descent((PangoFontMetrics *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1metrics_1get_1descent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1font_1metrics_1unref
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1font_1metrics_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1font_1metrics_1unref_FUNC);
-	pango_font_metrics_unref((PangoFontMetrics *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1font_1metrics_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1language_1from_1string
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1language_1from_1string)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1language_1from_1string_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)pango_language_from_string((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, _1pango_1language_1from_1string_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1context_1changed
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1context_1changed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1context_1changed_FUNC);
-	pango_layout_context_changed((PangoLayout *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1context_1changed_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1alignment
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1alignment)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1alignment_FUNC);
-	rc = (jint)pango_layout_get_alignment((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1alignment_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1attributes
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1attributes)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1attributes_FUNC);
-	rc = (jint)pango_layout_get_attributes((PangoLayout *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1attributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1context
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1context)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1context_FUNC);
-	rc = (jint)pango_layout_get_context((PangoLayout *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1context_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1indent
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1indent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1indent_FUNC);
-	rc = (jint)pango_layout_get_indent((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1indent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1iter
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1iter)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1iter_FUNC);
-	rc = (jint)pango_layout_get_iter((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1iter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1justify
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1pango_1layout_1get_1justify)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1justify_FUNC);
-	rc = (jboolean)pango_layout_get_justify((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1justify_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1line
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1line)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1line_FUNC);
-	rc = (jint)pango_layout_get_line((PangoLayout *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1line_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1line_1count
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1line_1count)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1line_1count_FUNC);
-	rc = (jint)pango_layout_get_line_count((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1line_1count_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1log_1attrs
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1get_1log_1attrs)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1log_1attrs_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;
-	pango_layout_get_log_attrs((PangoLayout*)arg0, (PangoLogAttr **)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1log_1attrs_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1size
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1size_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;
-	pango_layout_get_size((PangoLayout *)arg0, (int *)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1size_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1spacing
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1spacing)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1spacing_FUNC);
-	rc = (jint)pango_layout_get_spacing((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1spacing_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1tabs
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1tabs)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1tabs_FUNC);
-	rc = (jint)pango_layout_get_tabs((PangoLayout*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1tabs_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1text
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1text)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1text_FUNC);
-	rc = (jint)pango_layout_get_text((PangoLayout *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1text_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1get_1width
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1get_1width)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1get_1width_FUNC);
-	rc = (jint)pango_layout_get_width((PangoLayout *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1get_1width_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1index_1to_1pos
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1index_1to_1pos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PangoRectangle _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1index_1to_1pos_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	pango_layout_index_to_pos((PangoLayout*)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setPangoRectangleFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1index_1to_1pos_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1iter_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1free_FUNC);
-	pango_layout_iter_free((PangoLayoutIter*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1get_1index
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1iter_1get_1index)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1get_1index_FUNC);
-	rc = (jint)pango_layout_iter_get_index((PangoLayoutIter*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1get_1index_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1get_1line_1extents
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1iter_1get_1line_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PangoRectangle _arg1, *lparg1=NULL;
-	PangoRectangle _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1get_1line_1extents_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	pango_layout_iter_get_line_extents((PangoLayoutIter*)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setPangoRectangleFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPangoRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1get_1line_1extents_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1get_1run
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1iter_1get_1run)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1get_1run_FUNC);
-	rc = (jint)pango_layout_iter_get_run((PangoLayoutIter*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1get_1run_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1next_1line
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1pango_1layout_1iter_1next_1line)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1next_1line_FUNC);
-	rc = (jboolean)pango_layout_iter_next_line((PangoLayoutIter*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1next_1line_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1iter_1next_1run
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1pango_1layout_1iter_1next_1run)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1iter_1next_1run_FUNC);
-	rc = (jboolean)pango_layout_iter_next_run((PangoLayoutIter*)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1iter_1next_1run_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1line_1get_1extents
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1line_1get_1extents)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PangoRectangle _arg1, *lparg1=NULL;
-	PangoRectangle _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1line_1get_1extents_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	pango_layout_line_get_extents((PangoLayoutLine*)arg0, (PangoRectangle *)lparg1, (PangoRectangle *)lparg2);
-fail:
-	if (arg2 && lparg2) setPangoRectangleFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPangoRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1line_1get_1extents_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1line_1x_1to_1index
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1pango_1layout_1line_1x_1to_1index)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1line_1x_1to_1index_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jboolean)pango_layout_line_x_to_index((PangoLayoutLine*)arg0, arg1, (int *)lparg2, (int *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1line_1x_1to_1index_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1layout_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1new_FUNC);
-	rc = (jint)pango_layout_new((PangoContext *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1alignment
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1alignment)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1alignment_FUNC);
-	pango_layout_set_alignment((PangoLayout *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1alignment_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1attributes
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1attributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1attributes_FUNC);
-	pango_layout_set_attributes((PangoLayout *)arg0, (PangoAttrList *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1attributes_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1auto_1dir
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1auto_1dir)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1auto_1dir_FUNC);
-/*
-	pango_layout_set_auto_dir(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jboolean);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(pango_layout_set_auto_dir_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "pango_layout_set_auto_dir");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1auto_1dir_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1font_1description
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1font_1description)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1font_1description_FUNC);
-	pango_layout_set_font_description((PangoLayout *)arg0, (PangoFontDescription *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1font_1description_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1indent
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1indent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1indent_FUNC);
-	pango_layout_set_indent((PangoLayout*)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1indent_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1justify
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1justify)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1justify_FUNC);
-	pango_layout_set_justify((PangoLayout*)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1justify_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1single_1paragraph_1mode
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1single_1paragraph_1mode)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1single_1paragraph_1mode_FUNC);
-	pango_layout_set_single_paragraph_mode((PangoLayout *)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1single_1paragraph_1mode_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1spacing
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1spacing)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1spacing_FUNC);
-	pango_layout_set_spacing((PangoLayout *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1spacing_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1tabs
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1tabs)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1tabs_FUNC);
-	pango_layout_set_tabs((PangoLayout *)arg0, (PangoTabArray *)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1tabs_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1text
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1text)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1text_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	pango_layout_set_text((PangoLayout *)arg0, (const char *)lparg1, (int)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1text_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1width
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1width)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1width_FUNC);
-	pango_layout_set_width((PangoLayout *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1width_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1set_1wrap
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1layout_1set_1wrap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1set_1wrap_FUNC);
-	pango_layout_set_wrap((PangoLayout *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1set_1wrap_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1layout_1xy_1to_1index
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1pango_1layout_1xy_1to_1index)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1layout_1xy_1to_1index_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jboolean)pango_layout_xy_to_index((PangoLayout *)arg0, arg1, arg2, (int *)lparg3, (int *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1layout_1xy_1to_1index_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1tab_1array_1free
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1tab_1array_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1tab_1array_1free_FUNC);
-	pango_tab_array_free((PangoTabArray *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1tab_1array_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1tab_1array_1get_1size
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1tab_1array_1get_1size)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1tab_1array_1get_1size_FUNC);
-	rc = (jint)pango_tab_array_get_size((PangoTabArray *)arg0);
-	OS_NATIVE_EXIT(env, that, _1pango_1tab_1array_1get_1size_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1tab_1array_1get_1tabs
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1tab_1array_1get_1tabs)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1pango_1tab_1array_1get_1tabs_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;
-	pango_tab_array_get_tabs((PangoTabArray *)arg0, (PangoTabAlign **)lparg1, (int **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1pango_1tab_1array_1get_1tabs_FUNC);
-}
-#endif
-
-#ifndef NO__1pango_1tab_1array_1new
-JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1tab_1array_1new)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1pango_1tab_1array_1new_FUNC);
-	rc = (jint)pango_tab_array_new((gint)arg0, (gboolean)arg1);
-	OS_NATIVE_EXIT(env, that, _1pango_1tab_1array_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1pango_1tab_1array_1set_1tab
-JNIEXPORT void JNICALL OS_NATIVE(_1pango_1tab_1array_1set_1tab)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1pango_1tab_1array_1set_1tab_FUNC);
-	pango_tab_array_set_tab((PangoTabArray *)arg0, (gint)arg1, (PangoTabAlign)arg2, (gint)arg3);
-	OS_NATIVE_EXIT(env, that, _1pango_1tab_1array_1set_1tab_FUNC);
-}
-#endif
-
-#ifndef NO_g_1main_1context_1wakeup
-JNIEXPORT void JNICALL OS_NATIVE(g_1main_1context_1wakeup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, g_1main_1context_1wakeup_FUNC);
-	g_main_context_wakeup((GMainContext *)arg0);
-	OS_NATIVE_EXIT(env, that, g_1main_1context_1wakeup_FUNC);
-}
-#endif
-
-#ifndef NO_getenv
-JNIEXPORT jint JNICALL OS_NATIVE(getenv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, getenv_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)getenv((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, getenv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_localeconv_1decimal_1point
-JNIEXPORT jint JNICALL OS_NATIVE(localeconv_1decimal_1point)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, localeconv_1decimal_1point_FUNC);
-	rc = (jint)localeconv_decimal_point();
-	OS_NATIVE_EXIT(env, that, localeconv_1decimal_1point_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove__III
-JNIEXPORT void JNICALL OS_NATIVE(memmove__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memmove__III_FUNC);
-	memmove((void *)arg0, (const void *)arg1, (size_t)arg2);
-	OS_NATIVE_EXIT(env, that, memmove__III_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GInterfaceInfo _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I_FUNC);
-	if (arg1) if ((lparg1 = getGInterfaceInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2_FUNC);
-	if (arg1) getGObjectClassFields(env, arg1, (GObjectClass *)arg0);
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GTypeInfo _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I_FUNC);
-	if (arg1) if ((lparg1 = getGTypeInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GdkEventButton _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I_FUNC);
-	if (arg1) if ((lparg1 = getGdkEventButtonFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2_FUNC);
-	if (arg1) getGtkAdjustmentFields(env, arg1, (GtkAdjustment *)arg0);
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2_FUNC);
-	if (arg1) getGtkCellRendererClassFields(env, arg1, (GtkCellRendererClass *)arg0);
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2_FUNC);
-	if (arg1) getGtkFixedFields(env, arg1, (GtkFixed *)arg0);
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GtkTargetEntry _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I_FUNC);
-	if (arg1) if ((lparg1 = getGtkTargetEntryFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2_FUNC);
-	if (arg1) getGtkWidgetClassFields(env, arg1, (GtkWidgetClass *)arg0);
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PangoAttribute _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I_FUNC);
-	if (arg1) if ((lparg1 = getPangoAttributeFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XButtonEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXButtonEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XClientMessageEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXClientMessageEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XCrossingEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXCrossingEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XExposeEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXExposeEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XFocusChangeEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXFocusChangeEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3BI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memmove__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3CI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memmove__I_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3DI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3DI)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2)
-{
-	jdouble *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3DI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memmove__I_3DI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3II_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memmove__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3JI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3JI)
-	(JNIEnv *env, jclass that, jint arg0, jlongArray arg1, jint arg2)
-{
-	jlong *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3JI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseLongArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, memmove__I_3JI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I_FUNC);
-	if (arg0) setGObjectClassFields(env, arg0, (GObjectClass *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GTypeQuery _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGTypeQueryFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkColor _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkColorFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkDragContext _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkDragContextFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventAny _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventAnyFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventButton _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventButtonFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventCrossing _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventCrossingFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventExpose _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventExposeFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventFocus _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventFocusFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventKey _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventKeyFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventMotion _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventMotionFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventScroll _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventScrollFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventVisibility _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventVisibilityFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEventWindowState _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventWindowStateFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I_FUNC);
-	if (arg0) setGdkImageFields(env, arg0, (GdkImage *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GdkRectangle _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGdkRectangleFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I_FUNC);
-	if (arg0) setGdkVisualFields(env, arg0, (GdkVisual *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I_FUNC);
-	if (arg0) setGtkAdjustmentFields(env, arg0, (GtkAdjustment *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GtkBorder _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGtkBorderFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I_FUNC);
-	if (arg0) setGtkCellRendererClassFields(env, arg0, (GtkCellRendererClass *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I_FUNC);
-	if (arg0) setGtkColorSelectionDialogFields(env, arg0, (GtkColorSelectionDialog *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I_FUNC);
-	if (arg0) setGtkComboFields(env, arg0, (GtkCombo *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I_FUNC);
-	if (arg0) setGtkFileSelectionFields(env, arg0, (GtkFileSelection *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I_FUNC);
-	if (arg0) setGtkFixedFields(env, arg0, (GtkFixed *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GtkSelectionData _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGtkSelectionDataFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GtkTargetPair _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGtkTargetPairFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I_FUNC);
-	if (arg0) setGtkWidgetClassFields(env, arg0, (GtkWidgetClass *)arg1);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PangoAttribute _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPangoAttributeFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PangoItem _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPangoItemFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PangoLayoutLine _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPangoLayoutLineFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PangoLayoutRun _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPangoLayoutRunFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PangoLogAttr _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setPangoLogAttrFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XButtonEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXButtonEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XCrossingEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXCrossingEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XExposeEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXExposeEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XFocusChangeEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXFocusChangeEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XVisibilityEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXVisibilityEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3BII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3BII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memmove___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3CII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3CII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3CII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memmove___3CII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3III
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3III_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memmove___3III_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3I_3BI)
-	(JNIEnv *env, jclass that, jintArray arg0, jbyteArray arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3I_3BI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)lparg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3JII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3JII)
-	(JNIEnv *env, jclass that, jlongArray arg0, jint arg1, jint arg2)
-{
-	jlong *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3JII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetLongArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseLongArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, memmove___3JII_FUNC);
-}
-#endif
-
-#ifndef NO_memset
-JNIEXPORT void JNICALL OS_NATIVE(memset)
-	(JNIEnv *env, jclass that, jint arg0, jchar arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memset_FUNC);
-	memset((void *)arg0, (char)arg1, (size_t)arg2);
-	OS_NATIVE_EXIT(env, that, memset_FUNC);
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL OS_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((const char *)arg0);
-	OS_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
deleted file mode 100644
index d2ef472..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-  
-#ifndef INC_os_H
-#define INC_os_H
-
-#define NDEBUG
-
-/*
-#define G_DISABLE_DEPRECATED
-#define GTK_DISABLE_DEPRECATED
-*/
-
-#include <stdlib.h>
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-#include <pango/pango.h>
-#include <pango/pango-font.h>
-#include <string.h>
-#include <dlfcn.h>
-#include <locale.h>
-
-#ifndef GDK_WINDOWING_X11
-
-/* X Structures */
-#define NO_XClientMessageEvent
-#define NO_XCrossingEvent
-#define NO_XExposeEvent
-#define NO_XFocusChangeEvent
-#define NO_XVisibilityEvent
-#define NO_XWindowChanges
-
-/* X functions */
-#define NO__1XCheckMaskEvent
-#define NO__1XCheckWindowEvent
-#define NO__1XCheckIfEvent
-#define NO__1XDefaultScreen
-#define NO__1XDefaultRootWindow
-#define NO__1XFlush
-#define NO__1XGetSelectionOwner
-#define NO__1XQueryTree
-#define NO__1XKeysymToKeycode
-#define NO__1XReconfigureWMWindow
-#define NO__1XSendEvent
-#define NO__1XSetInputFocus
-#define NO__1XSynchronize
-#define NO__1XSetErrorHandler
-#define NO__1XSetIOErrorHandler
-#define NO__1XTestFakeButtonEvent
-#define NO__1XTestFakeKeyEvent
-#define NO__1XTestFakeMotionEvent
-#define NO__1XWarpPointer
-#define NO__1gdk_x11_atom_to_xatom
-#define NO__1gdk_1x11_1drawable_1get_1xdisplay
-#define NO__1gdk_1x11_1drawable_1get_1xid
-#define NO__1gdk_window_lookup
-#define NO__1gdk_window_add_filter
-#define NO_memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I
-#define NO_memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I
-#define NO_memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I
-#define NO_memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I
-#define NO_memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II
-#define NO_memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II
-#define NO_memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II
-#define NO_memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II
-
-#else
-#include <gdk/gdkx.h>
-#include <X11/extensions/XTest.h>
-#include <X11/extensions/Xrender.h>
-#endif
-
-#include "os_custom.h"
-
-#endif /* INC_os_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
deleted file mode 100644
index 9b0ff02..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_gtk_OS_##func
-
-#ifndef NO_GDK_1WINDOWING_1X11
-JNIEXPORT jboolean JNICALL OS_NATIVE(GDK_1WINDOWING_1X11)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc;
-	OS_NATIVE_ENTER(env, that, GDK_1WINDOWING_1X11_FUNC)
-#ifdef GDK_WINDOWING_X11
-	rc = (jboolean)1;
-#else
-	rc = (jboolean)0;
-#endif	
-	OS_NATIVE_EXIT(env, that, GDK_1WINDOWING_1X11_FUNC)
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1file_1chooser_1dialog_1new
-JNIEXPORT SWT_PTR JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
-	(JNIEnv *env, jclass that, jbyteArray arg0, SWT_PTR arg1, jint arg2, SWT_PTR arg3, jint arg4, SWT_PTR arg5, jint arg6, SWT_PTR arg7)
-{
-	jbyte *lparg0=NULL;
-	SWT_PTR rc = 0;
-	OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-/*
-	rc = (SWT_PTR)gtk_file_chooser_dialog_new(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		/*
-		* On AMD64, it is critical that functions which have a variable number of
-		* arguments, indicated by '...', include the '...' in their prototype.  This
-		* changes the calling convention, and leaving it out will cause crashes.
-		*
-		* For some reason, we must also explicitly declare all of the arguments we
-		* are passing in, otherwise it crashes.
-		*/
-/*		typedef SWT_PTR (*FPTR)(jbyte *, SWT_PTR, jint, SWT_PTR, ...); */
-		typedef SWT_PTR (*FPTR)(jbyte *, SWT_PTR, jint, SWT_PTR, jint, SWT_PTR, jint, SWT_PTR, ...);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_dialog_new_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_dialog_new");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (SWT_PTR)(*fptr)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-		}
-	}
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC);
-	return rc;
-}
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
deleted file mode 100644
index fed7da0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-/* Special sizeof's */
-#define GPollFD_sizeof() sizeof(GPollFD)
-#define GtkFixedClass_sizeof() sizeof(GtkFixedClass)
-#define GtkCellRendererText_sizeof() sizeof(GtkCellRendererText)
-#define GtkCellRendererTextClass_sizeof() sizeof(GtkCellRendererTextClass)
-#define GtkCellRendererPixbuf_sizeof() sizeof(GtkCellRendererPixbuf)
-#define GtkCellRendererPixbufClass_sizeof() sizeof(GtkCellRendererPixbufClass)
-#define GtkCellRendererToggle_sizeof() sizeof(GtkCellRendererToggle)
-#define GtkCellRendererToggleClass_sizeof() sizeof(GtkCellRendererToggleClass)
-#define GtkTextIter_sizeof() sizeof(GtkTextIter)
-#define GtkTreeIter_sizeof() sizeof(GtkTreeIter)
-#define PTR_sizeof() sizeof(void *)
-
-/* Libraries for dynamic loaded functions */
-#define XRenderQueryExtension_LIB "libXrender.so"
-#define XRenderQueryVersion_LIB "libXrender.so"
-#define XRenderFindStandardFormat_LIB "libXrender.so"
-#define XRenderFindVisualFormat_LIB "libXrender.so"
-#define XRenderComposite_LIB "libXrender.so"
-#define XRenderCreatePicture_LIB "libXrender.so"
-#define XRenderFreePicture_LIB "libXrender.so"
-#define XRenderSetPictureClipRectangles_LIB "libXrender.so"
-#define XRenderSetPictureTransform_LIB "libXrender.so"
-#define gtk_entry_text_index_to_layout_index_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_add_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_dialog_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filenames_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_extra_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_select_multiple_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_add_pattern_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_set_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_expanded_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_label_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_expanded_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_label_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_label_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_selection_count_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_selection_get_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_view_column_cell_get_position_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_set_alignment_LIB "libgtk-x11-2.0.so.0"
-#define gdk_draw_pixbuf_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_default_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_point_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_window_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_geometry_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_n_monitors_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_number_LIB "libgdk-x11-2.0.so.0"
-#define gdk_window_set_keep_above_LIB "libgdk-x11-2.0.so.0"
-#define gdk_window_set_accept_focus_LIB "libgdk-x11-2.0.so.0"
-#define gdk_x11_screen_get_window_manager_name_LIB "libgdk-x11-2.0.so.0"
-#define gdk_x11_screen_lookup_visual_LIB "libgdk-x11-2.0.so.0"
-#define atk_object_add_relationship_LIB "libatk-1.0.so.0"
-#define pango_layout_set_auto_dir_LIB "libpango-1.0.so.0"
-#define pango_cairo_create_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_layout_path_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_show_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_create_context_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_new_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_get_default_LIB "libpangocairo-1.0.so.0"
-#define gdk_cairo_set_source_color_LIB "libgdk-x11-2.0.so.0"
-#define gdk_cairo_region_LIB "libgdk-x11-2.0.so.0"
-
-/* Field accessors */
-#define GTK_ACCEL_LABEL_SET_ACCEL_STRING(arg0, arg1) (arg0)->accel_string = arg1
-#define GTK_ACCEL_LABEL_GET_ACCEL_STRING(arg0) (arg0)->accel_string
-#define GTK_SCROLLED_WINDOW_HSCROLLBAR(arg0) (arg0)->hscrollbar
-#define GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(arg0) (GTK_SCROLLED_WINDOW_GET_CLASS (arg0)->scrollbar_spacing >= 0 ? GTK_SCROLLED_WINDOW_GET_CLASS (arg0)->scrollbar_spacing : 3)		
-#define GTK_SCROLLED_WINDOW_VSCROLLBAR(arg0) (arg0)->vscrollbar
-#define GTK_WIDGET_HEIGHT(arg0) (arg0)->allocation.height
-#define GTK_WIDGET_SET_HEIGHT(arg0, arg1) (arg0)->allocation.height = arg1
-#define GTK_WIDGET_WIDTH(arg0) (arg0)->allocation.width
-#define GTK_WIDGET_SET_WIDTH(arg0, arg1) (arg0)->allocation.width = arg1
-#define GTK_WIDGET_WINDOW(arg0) (arg0)->window
-#define GTK_WIDGET_X(arg0) (arg0)->allocation.x
-#define GTK_WIDGET_SET_X(arg0, arg1) (arg0)->allocation.x = arg1
-#define GTK_ENTRY_IM_CONTEXT(arg0) (arg0)->im_context
-#define GTK_TEXTVIEW_IM_CONTEXT(arg0) (arg0)->im_context
-#define GTK_TOOLTIPS_TIP_WINDOW(arg0) (arg0)->tip_window
-#define GTK_TOOLTIPS_SET_ACTIVE(arg0, arg1) (arg0)->active_tips_data = arg1
-#define GTK_WIDGET_Y(arg0) ((GtkWidget *)arg0)->allocation.y
-#define GTK_WIDGET_SET_Y(arg0, arg1) (arg0)->allocation.y = arg1
-#define GTK_WIDGET_REQUISITION_WIDTH(arg0) (arg0)->requisition.width
-#define GTK_WIDGET_REQUISITION_HEIGHT(arg0) (arg0)->requisition.height
-#define GDK_EVENT_TYPE(arg0) (arg0)->type
-#define GDK_EVENT_WINDOW(arg0) (arg0)->window
-#define X_EVENT_TYPE(arg0) (arg0)->type
-#define X_EVENT_WINDOW(arg0) (arg0)->window
-#define g_list_data(arg0) (arg0)->data
-#define g_slist_data(arg0) (arg0)->data
-#define g_list_set_next(arg0, arg1) (arg0)->next = arg1
-#define g_list_set_previous(arg0, arg1) (arg0)->prev = arg1
-#define gtk_rc_style_get_bg_pixmap_name(arg0, arg1) (arg0)->bg_pixmap_name[arg1]
-#define gtk_rc_style_get_color_flags(arg0, arg1) (arg0)->color_flags[arg1]
-#define gtk_rc_style_set_bg(arg0, arg1, arg2) if (arg2) (arg0)->bg[arg1] = *arg2
-#define gtk_rc_style_set_bg_pixmap_name(arg0, arg1, arg2) (arg0)->bg_pixmap_name[arg1] = (char *)arg2
-#define gtk_rc_style_set_color_flags(arg0, arg1, arg2) (arg0)->color_flags[arg1] = arg2
-#define gtk_style_get_font_desc(arg0) (arg0)->font_desc
-#define gtk_style_get_base(arg0, arg1, arg2) *arg2 = (arg0)->base[arg1]
-#define gtk_style_get_bg(arg0, arg1, arg2) *arg2 = (arg0)->bg[arg1]
-#define gtk_style_get_black(arg0, arg1) *arg1 = (arg0)->black
-#define gtk_style_get_dark(arg0, arg1, arg2) *arg2 = (arg0)->dark[arg1]
-#define gtk_style_get_fg(arg0, arg1, arg2) *arg2 = (arg0)->fg[arg1]
-#define gtk_style_get_light(arg0, arg1, arg2) *arg2 = (arg0)->light[arg1]
-#define gtk_style_get_text(arg0, arg1, arg2) *arg2 = (arg0)->text[arg1]
-#define gtk_style_get_xthickness(arg0) (arg0)->xthickness
-#define gtk_style_get_ythickness(arg0) (arg0)->ythickness
-#define gtk_style_get_fg_gc(arg0, arg1, arg2) *arg2 = (arg0)->fg_gc[arg1]
-#define gtk_style_get_bg_gc(arg0, arg1, arg2) *arg2 = (arg0)->bg_gc[arg1]
-#define gtk_style_get_light_gc(arg0, arg1, arg2) *arg2 = (arg0)->light_gc[arg1]
-#define gtk_style_get_dark_gc(arg0, arg1, arg2) *arg2 = (arg0)->dark_gc[arg1]
-#define gtk_style_get_mid_gc(arg0, arg1, arg2) *arg2 = (arg0)->mid_gc[arg1]
-#define gtk_style_get_text_gc(arg0, arg1, arg2) *arg2 = (arg0)->text_gc[arg1]
-#define gtk_style_get_text_aa_gc(arg0, arg1, arg2) *arg2 = (arg0)->text_aa_gc[arg1]
-#define gtk_style_get_black_gc(arg0, arg1) *arg1 = (arg0)->black_gc
-#define gtk_style_get_white_gc(arg0, arg1) *arg1 = (arg0)->white_gc
-#define localeconv_decimal_point() localeconv()->decimal_point
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
deleted file mode 100644
index 313796c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_stats.h"
-
-#ifdef NATIVE_STATS
-
-int OS_nativeFunctionCount = 1118;
-int OS_nativeFunctionCallCount[1118];
-char * OS_nativeFunctionNames[] = {
-	"Call",
-	"GDK_1EVENT_1TYPE",
-	"GDK_1EVENT_1WINDOW",
-	"GDK_1WINDOWING_1X11",
-	"GInterfaceInfo_1sizeof",
-	"GPollFD_1sizeof",
-	"GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING",
-	"GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING",
-	"GTK_1ENTRY_1IM_1CONTEXT",
-	"GTK_1SCROLLED_1WINDOW_1HSCROLLBAR",
-	"GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING",
-	"GTK_1SCROLLED_1WINDOW_1VSCROLLBAR",
-	"GTK_1TEXTVIEW_1IM_1CONTEXT",
-	"GTK_1TOOLTIPS_1SET_1ACTIVE",
-	"GTK_1TOOLTIPS_1TIP_1WINDOW",
-	"GTK_1WIDGET_1HEIGHT",
-	"GTK_1WIDGET_1REQUISITION_1HEIGHT",
-	"GTK_1WIDGET_1REQUISITION_1WIDTH",
-	"GTK_1WIDGET_1SET_1HEIGHT",
-	"GTK_1WIDGET_1SET_1WIDTH",
-	"GTK_1WIDGET_1SET_1X",
-	"GTK_1WIDGET_1SET_1Y",
-	"GTK_1WIDGET_1WIDTH",
-	"GTK_1WIDGET_1WINDOW",
-	"GTK_1WIDGET_1X",
-	"GTK_1WIDGET_1Y",
-	"GTypeInfo_1sizeof",
-	"GTypeQuery_1sizeof",
-	"GdkColor_1sizeof",
-	"GdkDragContext_1sizeof",
-	"GdkEventAny_1sizeof",
-	"GdkEventButton_1sizeof",
-	"GdkEventCrossing_1sizeof",
-	"GdkEventExpose_1sizeof",
-	"GdkEventFocus_1sizeof",
-	"GdkEventKey_1sizeof",
-	"GdkEventMotion_1sizeof",
-	"GdkEventScroll_1sizeof",
-	"GdkEventVisibility_1sizeof",
-	"GdkEventWindowState_1sizeof",
-	"GdkEvent_1sizeof",
-	"GdkGCValues_1sizeof",
-	"GdkGeometry_1sizeof",
-	"GdkImage_1sizeof",
-	"GdkRectangle_1sizeof",
-	"GdkVisual_1sizeof",
-	"GdkWindowAttr_1sizeof",
-	"GtkAdjustment_1sizeof",
-	"GtkAllocation_1sizeof",
-	"GtkBorder_1sizeof",
-	"GtkCellRendererPixbufClass_1sizeof",
-	"GtkCellRendererPixbuf_1sizeof",
-	"GtkCellRendererTextClass_1sizeof",
-	"GtkCellRendererText_1sizeof",
-	"GtkCellRendererToggleClass_1sizeof",
-	"GtkCellRendererToggle_1sizeof",
-	"GtkColorSelectionDialog_1sizeof",
-	"GtkCombo_1sizeof",
-	"GtkFileSelection_1sizeof",
-	"GtkFixedClass_1sizeof",
-	"GtkFixed_1sizeof",
-	"GtkRequisition_1sizeof",
-	"GtkSelectionData_1sizeof",
-	"GtkTargetEntry_1sizeof",
-	"GtkTargetPair_1sizeof",
-	"GtkTextIter_1sizeof",
-	"GtkTreeIter_1sizeof",
-	"PTR_1sizeof",
-	"PangoAttribute_1sizeof",
-	"PangoItem_1sizeof",
-	"PangoLayoutLine_1sizeof",
-	"PangoLayoutRun_1sizeof",
-	"PangoLogAttr_1sizeof",
-	"PangoRectangle_1sizeof",
-	"XAnyEvent_1sizeof",
-	"XButtonEvent_1sizeof",
-	"XClientMessageEvent_1sizeof",
-	"XCrossingEvent_1sizeof",
-	"XEvent_1sizeof",
-	"XExposeEvent_1sizeof",
-	"XFocusChangeEvent_1sizeof",
-	"XRenderPictureAttributes_1sizeof",
-	"XVisibilityEvent_1sizeof",
-	"XWindowChanges_1sizeof",
-	"X_1EVENT_1TYPE",
-	"X_1EVENT_1WINDOW",
-	"_1Call",
-	"_1GDK_1DISPLAY",
-	"_1GDK_1PIXMAP_1XID",
-	"_1GDK_1ROOT_1PARENT",
-	"_1GDK_1TYPE_1COLOR",
-	"_1GDK_1TYPE_1PIXBUF",
-	"_1GTK_1IS_1BUTTON",
-	"_1GTK_1IS_1CELL_1RENDERER_1PIXBUF",
-	"_1GTK_1IS_1CELL_1RENDERER_1TEXT",
-	"_1GTK_1IS_1CELL_1RENDERER_1TOGGLE",
-	"_1GTK_1IS_1CONTAINER",
-	"_1GTK_1IS_1IMAGE_1MENU_1ITEM",
-	"_1GTK_1IS_1PLUG",
-	"_1GTK_1IS_1WINDOW",
-	"_1GTK_1STOCK_1CANCEL",
-	"_1GTK_1STOCK_1OK",
-	"_1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF",
-	"_1GTK_1TYPE_1CELL_1RENDERER_1TEXT",
-	"_1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE",
-	"_1GTK_1TYPE_1FIXED",
-	"_1GTK_1TYPE_1WIDGET",
-	"_1GTK_1WIDGET_1FLAGS",
-	"_1GTK_1WIDGET_1HAS_1DEFAULT",
-	"_1GTK_1WIDGET_1HAS_1FOCUS",
-	"_1GTK_1WIDGET_1IS_1SENSITIVE",
-	"_1GTK_1WIDGET_1MAPPED",
-	"_1GTK_1WIDGET_1SENSITIVE",
-	"_1GTK_1WIDGET_1SET_1FLAGS",
-	"_1GTK_1WIDGET_1STATE",
-	"_1GTK_1WIDGET_1UNSET_1FLAGS",
-	"_1GTK_1WIDGET_1VISIBLE",
-	"_1G_1OBJECT_1CLASS",
-	"_1G_1OBJECT_1GET_1CLASS",
-	"_1G_1OBJECT_1TYPE",
-	"_1G_1TYPE_1BOOLEAN",
-	"_1G_1TYPE_1INT",
-	"_1G_1TYPE_1STRING",
-	"_1PANGO_1PIXELS",
-	"_1PANGO_1TYPE_1FONT_1DESCRIPTION",
-	"_1XCheckIfEvent",
-	"_1XCheckMaskEvent",
-	"_1XCheckWindowEvent",
-	"_1XDefaultRootWindow",
-	"_1XDefaultScreen",
-	"_1XFlush",
-	"_1XFree",
-	"_1XGetSelectionOwner",
-	"_1XInternAtom",
-	"_1XKeysymToKeycode",
-	"_1XListProperties",
-	"_1XQueryTree",
-	"_1XReconfigureWMWindow",
-	"_1XRenderComposite",
-	"_1XRenderCreatePicture",
-	"_1XRenderFindStandardFormat",
-	"_1XRenderFindVisualFormat",
-	"_1XRenderFreePicture",
-	"_1XRenderQueryExtension",
-	"_1XRenderQueryVersion",
-	"_1XRenderSetPictureClipRectangles",
-	"_1XRenderSetPictureTransform",
-	"_1XSendEvent",
-	"_1XSetErrorHandler",
-	"_1XSetIOErrorHandler",
-	"_1XSetInputFocus",
-	"_1XSynchronize",
-	"_1XTestFakeButtonEvent",
-	"_1XTestFakeKeyEvent",
-	"_1XTestFakeMotionEvent",
-	"_1XWarpPointer",
-	"_1atk_1object_1add_1relationship",
-	"_1call",
-	"_1dlclose",
-	"_1dlopen",
-	"_1dlsym",
-	"_1g_1cclosure_1new",
-	"_1g_1closure_1ref",
-	"_1g_1closure_1unref",
-	"_1g_1filename_1from_1uri",
-	"_1g_1filename_1from_1utf8",
-	"_1g_1filename_1to_1uri",
-	"_1g_1filename_1to_1utf8",
-	"_1g_1free",
-	"_1g_1list_1append",
-	"_1g_1list_1data",
-	"_1g_1list_1free",
-	"_1g_1list_1free_11",
-	"_1g_1list_1length",
-	"_1g_1list_1next",
-	"_1g_1list_1nth",
-	"_1g_1list_1nth_1data",
-	"_1g_1list_1prepend",
-	"_1g_1list_1previous",
-	"_1g_1list_1remove_1link",
-	"_1g_1list_1reverse",
-	"_1g_1list_1set_1next",
-	"_1g_1list_1set_1previous",
-	"_1g_1locale_1from_1utf8",
-	"_1g_1locale_1to_1utf8",
-	"_1g_1log_1default_1handler",
-	"_1g_1log_1remove_1handler",
-	"_1g_1log_1set_1handler",
-	"_1g_1main_1context_1acquire",
-	"_1g_1main_1context_1check",
-	"_1g_1main_1context_1default",
-	"_1g_1main_1context_1get_1poll_1func",
-	"_1g_1main_1context_1iteration",
-	"_1g_1main_1context_1pending",
-	"_1g_1main_1context_1prepare",
-	"_1g_1main_1context_1query",
-	"_1g_1main_1context_1release",
-	"_1g_1malloc",
-	"_1g_1object_1get",
-	"_1g_1object_1get_1qdata",
-	"_1g_1object_1new",
-	"_1g_1object_1ref",
-	"_1g_1object_1set__I_3BFI",
-	"_1g_1object_1set__I_3BII",
-	"_1g_1object_1set__I_3BJI",
-	"_1g_1object_1set__I_3BZI",
-	"_1g_1object_1set_1qdata",
-	"_1g_1object_1unref",
-	"_1g_1quark_1from_1string",
-	"_1g_1set_1prgname",
-	"_1g_1signal_1connect",
-	"_1g_1signal_1connect_1after",
-	"_1g_1signal_1connect_1closure",
-	"_1g_1signal_1connect_1closure_1by_1id",
-	"_1g_1signal_1emit_1by_1name__I_3B",
-	"_1g_1signal_1emit_1by_1name__I_3BI",
-	"_1g_1signal_1emit_1by_1name__I_3BII",
-	"_1g_1signal_1emit_1by_1name__I_3B_3B",
-	"_1g_1signal_1handler_1disconnect",
-	"_1g_1signal_1handlers_1block_1matched",
-	"_1g_1signal_1handlers_1disconnect_1matched",
-	"_1g_1signal_1handlers_1unblock_1matched",
-	"_1g_1signal_1lookup",
-	"_1g_1signal_1stop_1emission_1by_1name",
-	"_1g_1slist_1data",
-	"_1g_1slist_1free",
-	"_1g_1slist_1length",
-	"_1g_1slist_1next",
-	"_1g_1strfreev",
-	"_1g_1thread_1init",
-	"_1g_1thread_1supported",
-	"_1g_1type_1add_1interface_1static",
-	"_1g_1type_1class_1peek",
-	"_1g_1type_1class_1peek_1parent",
-	"_1g_1type_1from_1name",
-	"_1g_1type_1interface_1peek_1parent",
-	"_1g_1type_1is_1a",
-	"_1g_1type_1name",
-	"_1g_1type_1parent",
-	"_1g_1type_1query",
-	"_1g_1type_1register_1static",
-	"_1g_1utf16_1to_1utf8",
-	"_1g_1utf8_1offset_1to_1pointer",
-	"_1g_1utf8_1pointer_1to_1offset",
-	"_1g_1utf8_1strlen",
-	"_1g_1utf8_1to_1utf16__II_3I_3I_3I",
-	"_1g_1utf8_1to_1utf16___3BI_3I_3I_3I",
-	"_1gdk_1atom_1intern",
-	"_1gdk_1atom_1name",
-	"_1gdk_1beep",
-	"_1gdk_1bitmap_1create_1from_1data",
-	"_1gdk_1cairo_1region",
-	"_1gdk_1cairo_1set_1source_1color",
-	"_1gdk_1color_1white",
-	"_1gdk_1colormap_1alloc_1color",
-	"_1gdk_1colormap_1free_1colors",
-	"_1gdk_1colormap_1get_1system",
-	"_1gdk_1colormap_1query_1color",
-	"_1gdk_1cursor_1destroy",
-	"_1gdk_1cursor_1new",
-	"_1gdk_1cursor_1new_1from_1pixmap",
-	"_1gdk_1drag_1status",
-	"_1gdk_1draw_1arc",
-	"_1gdk_1draw_1drawable",
-	"_1gdk_1draw_1image",
-	"_1gdk_1draw_1layout",
-	"_1gdk_1draw_1layout_1with_1colors",
-	"_1gdk_1draw_1line",
-	"_1gdk_1draw_1lines",
-	"_1gdk_1draw_1pixbuf",
-	"_1gdk_1draw_1point",
-	"_1gdk_1draw_1polygon",
-	"_1gdk_1draw_1rectangle",
-	"_1gdk_1drawable_1get_1depth",
-	"_1gdk_1drawable_1get_1image",
-	"_1gdk_1drawable_1get_1size",
-	"_1gdk_1drawable_1get_1visible_1region",
-	"_1gdk_1error_1trap_1pop",
-	"_1gdk_1error_1trap_1push",
-	"_1gdk_1event_1copy",
-	"_1gdk_1event_1free",
-	"_1gdk_1event_1get",
-	"_1gdk_1event_1get_1coords",
-	"_1gdk_1event_1get_1graphics_1expose",
-	"_1gdk_1event_1get_1root_1coords",
-	"_1gdk_1event_1get_1state",
-	"_1gdk_1event_1get_1time",
-	"_1gdk_1event_1handler_1set",
-	"_1gdk_1event_1put",
-	"_1gdk_1flush",
-	"_1gdk_1free_1text_1list",
-	"_1gdk_1gc_1get_1values",
-	"_1gdk_1gc_1new",
-	"_1gdk_1gc_1set_1background",
-	"_1gdk_1gc_1set_1clip_1mask",
-	"_1gdk_1gc_1set_1clip_1origin",
-	"_1gdk_1gc_1set_1clip_1rectangle",
-	"_1gdk_1gc_1set_1clip_1region",
-	"_1gdk_1gc_1set_1dashes",
-	"_1gdk_1gc_1set_1exposures",
-	"_1gdk_1gc_1set_1fill",
-	"_1gdk_1gc_1set_1foreground",
-	"_1gdk_1gc_1set_1function",
-	"_1gdk_1gc_1set_1line_1attributes",
-	"_1gdk_1gc_1set_1stipple",
-	"_1gdk_1gc_1set_1subwindow",
-	"_1gdk_1gc_1set_1tile",
-	"_1gdk_1gc_1set_1ts_1origin",
-	"_1gdk_1gc_1set_1values",
-	"_1gdk_1keyboard_1ungrab",
-	"_1gdk_1keymap_1get_1default",
-	"_1gdk_1keymap_1translate_1keyboard_1state",
-	"_1gdk_1keyval_1to_1lower",
-	"_1gdk_1keyval_1to_1unicode",
-	"_1gdk_1pango_1context_1get",
-	"_1gdk_1pango_1context_1set_1colormap",
-	"_1gdk_1pango_1layout_1get_1clip_1region",
-	"_1gdk_1pixbuf_1copy_1area",
-	"_1gdk_1pixbuf_1get_1from_1drawable",
-	"_1gdk_1pixbuf_1get_1has_1alpha",
-	"_1gdk_1pixbuf_1get_1height",
-	"_1gdk_1pixbuf_1get_1pixels",
-	"_1gdk_1pixbuf_1get_1rowstride",
-	"_1gdk_1pixbuf_1get_1width",
-	"_1gdk_1pixbuf_1new",
-	"_1gdk_1pixbuf_1new_1from_1file",
-	"_1gdk_1pixbuf_1render_1pixmap_1and_1mask",
-	"_1gdk_1pixbuf_1render_1to_1drawable",
-	"_1gdk_1pixbuf_1render_1to_1drawable_1alpha",
-	"_1gdk_1pixbuf_1scale",
-	"_1gdk_1pixbuf_1scale_1simple",
-	"_1gdk_1pixmap_1foreign_1new",
-	"_1gdk_1pixmap_1new",
-	"_1gdk_1pointer_1grab",
-	"_1gdk_1pointer_1is_1grabbed",
-	"_1gdk_1pointer_1ungrab",
-	"_1gdk_1property_1get",
-	"_1gdk_1region_1destroy",
-	"_1gdk_1region_1empty",
-	"_1gdk_1region_1get_1clipbox",
-	"_1gdk_1region_1get_1rectangles",
-	"_1gdk_1region_1intersect",
-	"_1gdk_1region_1new",
-	"_1gdk_1region_1offset",
-	"_1gdk_1region_1point_1in",
-	"_1gdk_1region_1polygon",
-	"_1gdk_1region_1rect_1in",
-	"_1gdk_1region_1rectangle",
-	"_1gdk_1region_1subtract",
-	"_1gdk_1region_1union",
-	"_1gdk_1region_1union_1with_1rect",
-	"_1gdk_1rgb_1init",
-	"_1gdk_1screen_1get_1default",
-	"_1gdk_1screen_1get_1monitor_1at_1point",
-	"_1gdk_1screen_1get_1monitor_1at_1window",
-	"_1gdk_1screen_1get_1monitor_1geometry",
-	"_1gdk_1screen_1get_1n_1monitors",
-	"_1gdk_1screen_1get_1number",
-	"_1gdk_1screen_1height",
-	"_1gdk_1screen_1width",
-	"_1gdk_1screen_1width_1mm",
-	"_1gdk_1set_1program_1class",
-	"_1gdk_1text_1property_1to_1utf8_1list",
-	"_1gdk_1unicode_1to_1keyval",
-	"_1gdk_1utf8_1to_1compound_1text",
-	"_1gdk_1utf8_1to_1string_1target",
-	"_1gdk_1visual_1get_1system",
-	"_1gdk_1window_1add_1filter",
-	"_1gdk_1window_1at_1pointer",
-	"_1gdk_1window_1begin_1paint_1rect",
-	"_1gdk_1window_1clear_1area",
-	"_1gdk_1window_1destroy",
-	"_1gdk_1window_1end_1paint",
-	"_1gdk_1window_1focus",
-	"_1gdk_1window_1freeze_1updates",
-	"_1gdk_1window_1get_1children",
-	"_1gdk_1window_1get_1events",
-	"_1gdk_1window_1get_1frame_1extents",
-	"_1gdk_1window_1get_1internal_1paint_1info",
-	"_1gdk_1window_1get_1origin",
-	"_1gdk_1window_1get_1parent",
-	"_1gdk_1window_1get_1pointer",
-	"_1gdk_1window_1get_1user_1data",
-	"_1gdk_1window_1hide",
-	"_1gdk_1window_1invalidate_1rect",
-	"_1gdk_1window_1invalidate_1region",
-	"_1gdk_1window_1lookup",
-	"_1gdk_1window_1lower",
-	"_1gdk_1window_1move",
-	"_1gdk_1window_1new",
-	"_1gdk_1window_1process_1all_1updates",
-	"_1gdk_1window_1process_1updates",
-	"_1gdk_1window_1raise",
-	"_1gdk_1window_1remove_1filter",
-	"_1gdk_1window_1resize",
-	"_1gdk_1window_1scroll",
-	"_1gdk_1window_1set_1accept_1focus",
-	"_1gdk_1window_1set_1back_1pixmap",
-	"_1gdk_1window_1set_1cursor",
-	"_1gdk_1window_1set_1debug_1updates",
-	"_1gdk_1window_1set_1decorations",
-	"_1gdk_1window_1set_1events",
-	"_1gdk_1window_1set_1icon",
-	"_1gdk_1window_1set_1icon_1list",
-	"_1gdk_1window_1set_1keep_1above",
-	"_1gdk_1window_1set_1override_1redirect",
-	"_1gdk_1window_1set_1user_1data",
-	"_1gdk_1window_1shape_1combine_1region",
-	"_1gdk_1window_1show",
-	"_1gdk_1window_1show_1unraised",
-	"_1gdk_1window_1thaw_1updates",
-	"_1gdk_1x11_1atom_1to_1xatom",
-	"_1gdk_1x11_1colormap_1get_1xcolormap",
-	"_1gdk_1x11_1drawable_1get_1xdisplay",
-	"_1gdk_1x11_1drawable_1get_1xid",
-	"_1gdk_1x11_1screen_1get_1window_1manager_1name",
-	"_1gdk_1x11_1screen_1lookup_1visual",
-	"_1gdk_1x11_1visual_1get_1xvisual",
-	"_1gtk_1accel_1group_1new",
-	"_1gtk_1accel_1groups_1activate",
-	"_1gtk_1accel_1label_1set_1accel_1widget",
-	"_1gtk_1adjustment_1changed",
-	"_1gtk_1adjustment_1new",
-	"_1gtk_1adjustment_1set_1value",
-	"_1gtk_1adjustment_1value_1changed",
-	"_1gtk_1arrow_1new",
-	"_1gtk_1arrow_1set",
-	"_1gtk_1bin_1get_1child",
-	"_1gtk_1box_1set_1child_1packing",
-	"_1gtk_1box_1set_1spacing",
-	"_1gtk_1button_1clicked",
-	"_1gtk_1button_1get_1relief",
-	"_1gtk_1button_1new",
-	"_1gtk_1button_1set_1relief",
-	"_1gtk_1cell_1renderer_1get_1size",
-	"_1gtk_1cell_1renderer_1pixbuf_1new",
-	"_1gtk_1cell_1renderer_1text_1new",
-	"_1gtk_1cell_1renderer_1toggle_1new",
-	"_1gtk_1check_1button_1new",
-	"_1gtk_1check_1menu_1item_1get_1active",
-	"_1gtk_1check_1menu_1item_1new_1with_1label",
-	"_1gtk_1check_1menu_1item_1set_1active",
-	"_1gtk_1check_1version",
-	"_1gtk_1clipboard_1clear",
-	"_1gtk_1clipboard_1get",
-	"_1gtk_1clipboard_1set_1with_1data",
-	"_1gtk_1clipboard_1wait_1for_1contents",
-	"_1gtk_1color_1selection_1dialog_1new",
-	"_1gtk_1color_1selection_1get_1current_1color",
-	"_1gtk_1color_1selection_1set_1current_1color",
-	"_1gtk_1color_1selection_1set_1has_1palette",
-	"_1gtk_1combo_1disable_1activate",
-	"_1gtk_1combo_1new",
-	"_1gtk_1combo_1set_1case_1sensitive",
-	"_1gtk_1combo_1set_1popdown_1strings",
-	"_1gtk_1container_1add",
-	"_1gtk_1container_1forall",
-	"_1gtk_1container_1get_1border_1width",
-	"_1gtk_1container_1get_1children",
-	"_1gtk_1container_1remove",
-	"_1gtk_1container_1resize_1children",
-	"_1gtk_1container_1set_1border_1width",
-	"_1gtk_1dialog_1add_1button",
-	"_1gtk_1dialog_1run",
-	"_1gtk_1drag_1begin",
-	"_1gtk_1drag_1check_1threshold",
-	"_1gtk_1drag_1dest_1find_1target",
-	"_1gtk_1drag_1dest_1set",
-	"_1gtk_1drag_1dest_1unset",
-	"_1gtk_1drag_1finish",
-	"_1gtk_1drag_1get_1data",
-	"_1gtk_1drag_1set_1icon_1pixbuf",
-	"_1gtk_1drawing_1area_1new",
-	"_1gtk_1editable_1copy_1clipboard",
-	"_1gtk_1editable_1cut_1clipboard",
-	"_1gtk_1editable_1delete_1selection",
-	"_1gtk_1editable_1delete_1text",
-	"_1gtk_1editable_1get_1chars",
-	"_1gtk_1editable_1get_1editable",
-	"_1gtk_1editable_1get_1position",
-	"_1gtk_1editable_1get_1selection_1bounds",
-	"_1gtk_1editable_1insert_1text",
-	"_1gtk_1editable_1paste_1clipboard",
-	"_1gtk_1editable_1select_1region",
-	"_1gtk_1editable_1set_1editable",
-	"_1gtk_1editable_1set_1position",
-	"_1gtk_1entry_1get_1invisible_1char",
-	"_1gtk_1entry_1get_1layout",
-	"_1gtk_1entry_1get_1layout_1offsets",
-	"_1gtk_1entry_1get_1max_1length",
-	"_1gtk_1entry_1get_1text",
-	"_1gtk_1entry_1get_1visibility",
-	"_1gtk_1entry_1new",
-	"_1gtk_1entry_1set_1activates_1default",
-	"_1gtk_1entry_1set_1alignment",
-	"_1gtk_1entry_1set_1has_1frame",
-	"_1gtk_1entry_1set_1invisible_1char",
-	"_1gtk_1entry_1set_1max_1length",
-	"_1gtk_1entry_1set_1text",
-	"_1gtk_1entry_1set_1visibility",
-	"_1gtk_1entry_1text_1index_1to_1layout_1index",
-	"_1gtk_1events_1pending",
-	"_1gtk_1expander_1get_1expanded",
-	"_1gtk_1expander_1get_1label_1widget",
-	"_1gtk_1expander_1new",
-	"_1gtk_1expander_1set_1expanded",
-	"_1gtk_1expander_1set_1label",
-	"_1gtk_1expander_1set_1label_1widget",
-	"_1gtk_1file_1chooser_1add_1filter",
-	"_1gtk_1file_1chooser_1dialog_1new",
-	"_1gtk_1file_1chooser_1get_1current_1folder",
-	"_1gtk_1file_1chooser_1get_1filename",
-	"_1gtk_1file_1chooser_1get_1filenames",
-	"_1gtk_1file_1chooser_1set_1current_1folder",
-	"_1gtk_1file_1chooser_1set_1current_1name",
-	"_1gtk_1file_1chooser_1set_1extra_1widget",
-	"_1gtk_1file_1chooser_1set_1filename",
-	"_1gtk_1file_1chooser_1set_1select_1multiple",
-	"_1gtk_1file_1filter_1add_1pattern",
-	"_1gtk_1file_1filter_1new",
-	"_1gtk_1file_1filter_1set_1name",
-	"_1gtk_1file_1selection_1get_1filename",
-	"_1gtk_1file_1selection_1get_1selections",
-	"_1gtk_1file_1selection_1hide_1fileop_1buttons",
-	"_1gtk_1file_1selection_1new",
-	"_1gtk_1file_1selection_1set_1filename",
-	"_1gtk_1file_1selection_1set_1select_1multiple",
-	"_1gtk_1fixed_1move",
-	"_1gtk_1fixed_1new",
-	"_1gtk_1fixed_1set_1has_1window",
-	"_1gtk_1font_1selection_1dialog_1get_1font_1name",
-	"_1gtk_1font_1selection_1dialog_1new",
-	"_1gtk_1font_1selection_1dialog_1set_1font_1name",
-	"_1gtk_1frame_1get_1label_1widget",
-	"_1gtk_1frame_1new",
-	"_1gtk_1frame_1set_1label",
-	"_1gtk_1frame_1set_1label_1widget",
-	"_1gtk_1frame_1set_1shadow_1type",
-	"_1gtk_1get_1current_1event",
-	"_1gtk_1get_1current_1event_1state",
-	"_1gtk_1get_1current_1event_1time",
-	"_1gtk_1get_1default_1language",
-	"_1gtk_1get_1event_1widget",
-	"_1gtk_1grab_1add",
-	"_1gtk_1grab_1get_1current",
-	"_1gtk_1grab_1remove",
-	"_1gtk_1hbox_1new",
-	"_1gtk_1hscale_1new",
-	"_1gtk_1hscrollbar_1new",
-	"_1gtk_1hseparator_1new",
-	"_1gtk_1icon_1factory_1lookup_1default",
-	"_1gtk_1icon_1set_1render_1icon",
-	"_1gtk_1icon_1source_1free",
-	"_1gtk_1icon_1source_1new",
-	"_1gtk_1icon_1source_1set_1pixbuf",
-	"_1gtk_1im_1context_1filter_1keypress",
-	"_1gtk_1im_1context_1focus_1in",
-	"_1gtk_1im_1context_1focus_1out",
-	"_1gtk_1im_1context_1get_1preedit_1string",
-	"_1gtk_1im_1context_1get_1type",
-	"_1gtk_1im_1context_1reset",
-	"_1gtk_1im_1context_1set_1client_1window",
-	"_1gtk_1im_1context_1set_1cursor_1location",
-	"_1gtk_1im_1multicontext_1append_1menuitems",
-	"_1gtk_1im_1multicontext_1new",
-	"_1gtk_1image_1menu_1item_1new_1with_1label",
-	"_1gtk_1image_1menu_1item_1set_1image",
-	"_1gtk_1image_1new",
-	"_1gtk_1image_1new_1from_1pixbuf",
-	"_1gtk_1image_1new_1from_1pixmap",
-	"_1gtk_1image_1set_1from_1pixbuf",
-	"_1gtk_1image_1set_1from_1pixmap",
-	"_1gtk_1init_1check",
-	"_1gtk_1label_1get_1layout",
-	"_1gtk_1label_1get_1mnemonic_1keyval",
-	"_1gtk_1label_1new",
-	"_1gtk_1label_1new_1with_1mnemonic",
-	"_1gtk_1label_1set_1attributes",
-	"_1gtk_1label_1set_1justify",
-	"_1gtk_1label_1set_1line_1wrap",
-	"_1gtk_1label_1set_1text__II",
-	"_1gtk_1label_1set_1text__I_3B",
-	"_1gtk_1label_1set_1text_1with_1mnemonic",
-	"_1gtk_1list_1append_1items",
-	"_1gtk_1list_1clear_1items",
-	"_1gtk_1list_1insert_1items",
-	"_1gtk_1list_1item_1new_1with_1label",
-	"_1gtk_1list_1remove_1items",
-	"_1gtk_1list_1select_1item",
-	"_1gtk_1list_1store_1append",
-	"_1gtk_1list_1store_1clear",
-	"_1gtk_1list_1store_1insert",
-	"_1gtk_1list_1store_1newv",
-	"_1gtk_1list_1store_1remove",
-	"_1gtk_1list_1store_1set__IIIII",
-	"_1gtk_1list_1store_1set__IIIJI",
-	"_1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I",
-	"_1gtk_1list_1store_1set__IIIZI",
-	"_1gtk_1list_1store_1set__III_3BI",
-	"_1gtk_1list_1unselect_1all",
-	"_1gtk_1list_1unselect_1item",
-	"_1gtk_1main",
-	"_1gtk_1main_1do_1event",
-	"_1gtk_1main_1iteration",
-	"_1gtk_1major_1version",
-	"_1gtk_1menu_1bar_1new",
-	"_1gtk_1menu_1item_1remove_1submenu",
-	"_1gtk_1menu_1item_1set_1submenu",
-	"_1gtk_1menu_1new",
-	"_1gtk_1menu_1popdown",
-	"_1gtk_1menu_1popup",
-	"_1gtk_1menu_1shell_1deactivate",
-	"_1gtk_1menu_1shell_1insert",
-	"_1gtk_1menu_1shell_1select_1item",
-	"_1gtk_1message_1dialog_1new",
-	"_1gtk_1micro_1version",
-	"_1gtk_1minor_1version",
-	"_1gtk_1misc_1set_1alignment",
-	"_1gtk_1notebook_1get_1current_1page",
-	"_1gtk_1notebook_1get_1scrollable",
-	"_1gtk_1notebook_1insert_1page",
-	"_1gtk_1notebook_1new",
-	"_1gtk_1notebook_1remove_1page",
-	"_1gtk_1notebook_1set_1current_1page",
-	"_1gtk_1notebook_1set_1scrollable",
-	"_1gtk_1notebook_1set_1show_1tabs",
-	"_1gtk_1notebook_1set_1tab_1pos",
-	"_1gtk_1object_1sink",
-	"_1gtk_1paint_1arrow",
-	"_1gtk_1paint_1box",
-	"_1gtk_1paint_1box_1gap",
-	"_1gtk_1paint_1check",
-	"_1gtk_1paint_1expander",
-	"_1gtk_1paint_1extension",
-	"_1gtk_1paint_1flat_1box",
-	"_1gtk_1paint_1focus",
-	"_1gtk_1paint_1handle",
-	"_1gtk_1paint_1hline",
-	"_1gtk_1paint_1layout",
-	"_1gtk_1paint_1option",
-	"_1gtk_1paint_1shadow",
-	"_1gtk_1paint_1shadow_1gap",
-	"_1gtk_1paint_1slider",
-	"_1gtk_1paint_1tab",
-	"_1gtk_1paint_1vline",
-	"_1gtk_1plug_1get_1id",
-	"_1gtk_1plug_1new",
-	"_1gtk_1progress_1bar_1new",
-	"_1gtk_1progress_1bar_1pulse",
-	"_1gtk_1progress_1bar_1set_1fraction",
-	"_1gtk_1progress_1bar_1set_1orientation",
-	"_1gtk_1radio_1button_1get_1group",
-	"_1gtk_1radio_1button_1new",
-	"_1gtk_1radio_1menu_1item_1get_1group",
-	"_1gtk_1radio_1menu_1item_1new",
-	"_1gtk_1radio_1menu_1item_1new_1with_1label",
-	"_1gtk_1range_1get_1adjustment",
-	"_1gtk_1range_1set_1increments",
-	"_1gtk_1range_1set_1inverted",
-	"_1gtk_1range_1set_1range",
-	"_1gtk_1range_1set_1value",
-	"_1gtk_1rc_1parse_1string",
-	"_1gtk_1rc_1style_1get_1bg_1pixmap_1name",
-	"_1gtk_1rc_1style_1get_1color_1flags",
-	"_1gtk_1rc_1style_1set_1bg",
-	"_1gtk_1rc_1style_1set_1bg_1pixmap_1name",
-	"_1gtk_1rc_1style_1set_1color_1flags",
-	"_1gtk_1scale_1set_1digits",
-	"_1gtk_1scale_1set_1draw_1value",
-	"_1gtk_1scrolled_1window_1add_1with_1viewport",
-	"_1gtk_1scrolled_1window_1get_1hadjustment",
-	"_1gtk_1scrolled_1window_1get_1policy",
-	"_1gtk_1scrolled_1window_1get_1shadow_1type",
-	"_1gtk_1scrolled_1window_1get_1vadjustment",
-	"_1gtk_1scrolled_1window_1new",
-	"_1gtk_1scrolled_1window_1set_1placement",
-	"_1gtk_1scrolled_1window_1set_1policy",
-	"_1gtk_1scrolled_1window_1set_1shadow_1type",
-	"_1gtk_1selection_1data_1free",
-	"_1gtk_1selection_1data_1set",
-	"_1gtk_1separator_1menu_1item_1new",
-	"_1gtk_1set_1locale",
-	"_1gtk_1settings_1get_1default",
-	"_1gtk_1socket_1get_1id",
-	"_1gtk_1socket_1new",
-	"_1gtk_1spin_1button_1get_1adjustment",
-	"_1gtk_1spin_1button_1get_1digits",
-	"_1gtk_1spin_1button_1new",
-	"_1gtk_1spin_1button_1set_1digits",
-	"_1gtk_1spin_1button_1set_1increments",
-	"_1gtk_1spin_1button_1set_1range",
-	"_1gtk_1spin_1button_1set_1value",
-	"_1gtk_1spin_1button_1set_1wrap",
-	"_1gtk_1style_1get_1base",
-	"_1gtk_1style_1get_1bg",
-	"_1gtk_1style_1get_1bg_1gc",
-	"_1gtk_1style_1get_1black",
-	"_1gtk_1style_1get_1black_1gc",
-	"_1gtk_1style_1get_1dark",
-	"_1gtk_1style_1get_1dark_1gc",
-	"_1gtk_1style_1get_1fg",
-	"_1gtk_1style_1get_1fg_1gc",
-	"_1gtk_1style_1get_1font_1desc",
-	"_1gtk_1style_1get_1light",
-	"_1gtk_1style_1get_1light_1gc",
-	"_1gtk_1style_1get_1mid_1gc",
-	"_1gtk_1style_1get_1text",
-	"_1gtk_1style_1get_1text_1aa_1gc",
-	"_1gtk_1style_1get_1text_1gc",
-	"_1gtk_1style_1get_1white_1gc",
-	"_1gtk_1style_1get_1xthickness",
-	"_1gtk_1style_1get_1ythickness",
-	"_1gtk_1style_1render_1icon",
-	"_1gtk_1target_1list_1new",
-	"_1gtk_1target_1list_1unref",
-	"_1gtk_1text_1buffer_1copy_1clipboard",
-	"_1gtk_1text_1buffer_1cut_1clipboard",
-	"_1gtk_1text_1buffer_1delete",
-	"_1gtk_1text_1buffer_1get_1bounds",
-	"_1gtk_1text_1buffer_1get_1char_1count",
-	"_1gtk_1text_1buffer_1get_1end_1iter",
-	"_1gtk_1text_1buffer_1get_1insert",
-	"_1gtk_1text_1buffer_1get_1iter_1at_1line",
-	"_1gtk_1text_1buffer_1get_1iter_1at_1mark",
-	"_1gtk_1text_1buffer_1get_1iter_1at_1offset",
-	"_1gtk_1text_1buffer_1get_1line_1count",
-	"_1gtk_1text_1buffer_1get_1selection_1bound",
-	"_1gtk_1text_1buffer_1get_1selection_1bounds",
-	"_1gtk_1text_1buffer_1get_1text",
-	"_1gtk_1text_1buffer_1insert__II_3BI",
-	"_1gtk_1text_1buffer_1insert__I_3B_3BI",
-	"_1gtk_1text_1buffer_1move_1mark",
-	"_1gtk_1text_1buffer_1paste_1clipboard",
-	"_1gtk_1text_1buffer_1place_1cursor",
-	"_1gtk_1text_1buffer_1set_1text",
-	"_1gtk_1text_1iter_1get_1line",
-	"_1gtk_1text_1iter_1get_1offset",
-	"_1gtk_1text_1view_1buffer_1to_1window_1coords",
-	"_1gtk_1text_1view_1get_1buffer",
-	"_1gtk_1text_1view_1get_1editable",
-	"_1gtk_1text_1view_1get_1iter_1at_1location",
-	"_1gtk_1text_1view_1get_1iter_1location",
-	"_1gtk_1text_1view_1get_1line_1at_1y",
-	"_1gtk_1text_1view_1get_1visible_1rect",
-	"_1gtk_1text_1view_1get_1window",
-	"_1gtk_1text_1view_1new",
-	"_1gtk_1text_1view_1scroll_1mark_1onscreen",
-	"_1gtk_1text_1view_1scroll_1to_1iter",
-	"_1gtk_1text_1view_1set_1editable",
-	"_1gtk_1text_1view_1set_1justification",
-	"_1gtk_1text_1view_1set_1tabs",
-	"_1gtk_1text_1view_1set_1wrap_1mode",
-	"_1gtk_1text_1view_1window_1to_1buffer_1coords",
-	"_1gtk_1timeout_1add",
-	"_1gtk_1timeout_1remove",
-	"_1gtk_1toggle_1button_1get_1active",
-	"_1gtk_1toggle_1button_1new",
-	"_1gtk_1toggle_1button_1set_1active",
-	"_1gtk_1toggle_1button_1set_1mode",
-	"_1gtk_1toolbar_1insert_1widget",
-	"_1gtk_1toolbar_1new",
-	"_1gtk_1toolbar_1set_1orientation",
-	"_1gtk_1tooltips_1data_1get",
-	"_1gtk_1tooltips_1disable",
-	"_1gtk_1tooltips_1enable",
-	"_1gtk_1tooltips_1force_1window",
-	"_1gtk_1tooltips_1new",
-	"_1gtk_1tooltips_1set_1tip",
-	"_1gtk_1tree_1model_1get__III_3II",
-	"_1gtk_1tree_1model_1get__III_3JI",
-	"_1gtk_1tree_1model_1get_1iter",
-	"_1gtk_1tree_1model_1get_1iter_1first",
-	"_1gtk_1tree_1model_1get_1n_1columns",
-	"_1gtk_1tree_1model_1get_1path",
-	"_1gtk_1tree_1model_1get_1type",
-	"_1gtk_1tree_1model_1iter_1children",
-	"_1gtk_1tree_1model_1iter_1n_1children",
-	"_1gtk_1tree_1model_1iter_1next",
-	"_1gtk_1tree_1model_1iter_1nth_1child",
-	"_1gtk_1tree_1path_1append_1index",
-	"_1gtk_1tree_1path_1compare",
-	"_1gtk_1tree_1path_1down",
-	"_1gtk_1tree_1path_1free",
-	"_1gtk_1tree_1path_1get_1depth",
-	"_1gtk_1tree_1path_1get_1indices",
-	"_1gtk_1tree_1path_1new",
-	"_1gtk_1tree_1path_1new_1first",
-	"_1gtk_1tree_1path_1new_1from_1string__I",
-	"_1gtk_1tree_1path_1new_1from_1string___3B",
-	"_1gtk_1tree_1path_1next",
-	"_1gtk_1tree_1path_1prev",
-	"_1gtk_1tree_1path_1up",
-	"_1gtk_1tree_1selection_1count_1selected_1rows",
-	"_1gtk_1tree_1selection_1get_1selected",
-	"_1gtk_1tree_1selection_1get_1selected_1rows",
-	"_1gtk_1tree_1selection_1path_1is_1selected",
-	"_1gtk_1tree_1selection_1select_1all",
-	"_1gtk_1tree_1selection_1select_1iter",
-	"_1gtk_1tree_1selection_1selected_1foreach",
-	"_1gtk_1tree_1selection_1set_1mode",
-	"_1gtk_1tree_1selection_1unselect_1all",
-	"_1gtk_1tree_1selection_1unselect_1iter",
-	"_1gtk_1tree_1store_1append",
-	"_1gtk_1tree_1store_1clear",
-	"_1gtk_1tree_1store_1insert",
-	"_1gtk_1tree_1store_1newv",
-	"_1gtk_1tree_1store_1remove",
-	"_1gtk_1tree_1store_1set__IIIII",
-	"_1gtk_1tree_1store_1set__IIIJI",
-	"_1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I",
-	"_1gtk_1tree_1store_1set__IIIZI",
-	"_1gtk_1tree_1store_1set__III_3BI",
-	"_1gtk_1tree_1view_1collapse_1row",
-	"_1gtk_1tree_1view_1column_1add_1attribute",
-	"_1gtk_1tree_1view_1column_1cell_1get_1position",
-	"_1gtk_1tree_1view_1column_1cell_1get_1size",
-	"_1gtk_1tree_1view_1column_1cell_1set_1cell_1data",
-	"_1gtk_1tree_1view_1column_1clear",
-	"_1gtk_1tree_1view_1column_1get_1cell_1renderers",
-	"_1gtk_1tree_1view_1column_1get_1fixed_1width",
-	"_1gtk_1tree_1view_1column_1get_1reorderable",
-	"_1gtk_1tree_1view_1column_1get_1resizable",
-	"_1gtk_1tree_1view_1column_1get_1sizing",
-	"_1gtk_1tree_1view_1column_1get_1sort_1indicator",
-	"_1gtk_1tree_1view_1column_1get_1sort_1order",
-	"_1gtk_1tree_1view_1column_1get_1spacing",
-	"_1gtk_1tree_1view_1column_1get_1visible",
-	"_1gtk_1tree_1view_1column_1get_1width",
-	"_1gtk_1tree_1view_1column_1new",
-	"_1gtk_1tree_1view_1column_1pack_1end",
-	"_1gtk_1tree_1view_1column_1pack_1start",
-	"_1gtk_1tree_1view_1column_1set_1alignment",
-	"_1gtk_1tree_1view_1column_1set_1cell_1data_1func",
-	"_1gtk_1tree_1view_1column_1set_1clickable",
-	"_1gtk_1tree_1view_1column_1set_1fixed_1width",
-	"_1gtk_1tree_1view_1column_1set_1min_1width",
-	"_1gtk_1tree_1view_1column_1set_1reorderable",
-	"_1gtk_1tree_1view_1column_1set_1resizable",
-	"_1gtk_1tree_1view_1column_1set_1sizing",
-	"_1gtk_1tree_1view_1column_1set_1sort_1indicator",
-	"_1gtk_1tree_1view_1column_1set_1sort_1order",
-	"_1gtk_1tree_1view_1column_1set_1title",
-	"_1gtk_1tree_1view_1column_1set_1visible",
-	"_1gtk_1tree_1view_1column_1set_1widget",
-	"_1gtk_1tree_1view_1create_1row_1drag_1icon",
-	"_1gtk_1tree_1view_1expand_1row",
-	"_1gtk_1tree_1view_1get_1background_1area",
-	"_1gtk_1tree_1view_1get_1bin_1window",
-	"_1gtk_1tree_1view_1get_1cell_1area",
-	"_1gtk_1tree_1view_1get_1column",
-	"_1gtk_1tree_1view_1get_1columns",
-	"_1gtk_1tree_1view_1get_1cursor",
-	"_1gtk_1tree_1view_1get_1expander_1column",
-	"_1gtk_1tree_1view_1get_1headers_1visible",
-	"_1gtk_1tree_1view_1get_1path_1at_1pos",
-	"_1gtk_1tree_1view_1get_1rules_1hint",
-	"_1gtk_1tree_1view_1get_1selection",
-	"_1gtk_1tree_1view_1get_1visible_1rect",
-	"_1gtk_1tree_1view_1insert_1column",
-	"_1gtk_1tree_1view_1move_1column_1after",
-	"_1gtk_1tree_1view_1new_1with_1model",
-	"_1gtk_1tree_1view_1remove_1column",
-	"_1gtk_1tree_1view_1row_1expanded",
-	"_1gtk_1tree_1view_1scroll_1to_1cell",
-	"_1gtk_1tree_1view_1scroll_1to_1point",
-	"_1gtk_1tree_1view_1set_1cursor",
-	"_1gtk_1tree_1view_1set_1drag_1dest_1row",
-	"_1gtk_1tree_1view_1set_1enable_1search",
-	"_1gtk_1tree_1view_1set_1headers_1visible",
-	"_1gtk_1tree_1view_1set_1model",
-	"_1gtk_1tree_1view_1set_1rules_1hint",
-	"_1gtk_1tree_1view_1set_1search_1column",
-	"_1gtk_1tree_1view_1tree_1to_1widget_1coords",
-	"_1gtk_1tree_1view_1unset_1rows_1drag_1dest",
-	"_1gtk_1tree_1view_1widget_1to_1tree_1coords",
-	"_1gtk_1vbox_1new",
-	"_1gtk_1vscale_1new",
-	"_1gtk_1vscrollbar_1new",
-	"_1gtk_1vseparator_1new",
-	"_1gtk_1widget_1add_1accelerator",
-	"_1gtk_1widget_1add_1events",
-	"_1gtk_1widget_1child_1focus",
-	"_1gtk_1widget_1create_1pango_1layout__II",
-	"_1gtk_1widget_1create_1pango_1layout__I_3B",
-	"_1gtk_1widget_1destroy",
-	"_1gtk_1widget_1event",
-	"_1gtk_1widget_1get_1accessible",
-	"_1gtk_1widget_1get_1child_1visible",
-	"_1gtk_1widget_1get_1default_1direction",
-	"_1gtk_1widget_1get_1default_1style",
-	"_1gtk_1widget_1get_1direction",
-	"_1gtk_1widget_1get_1events",
-	"_1gtk_1widget_1get_1modifier_1style",
-	"_1gtk_1widget_1get_1pango_1context",
-	"_1gtk_1widget_1get_1parent",
-	"_1gtk_1widget_1get_1size_1request",
-	"_1gtk_1widget_1get_1style",
-	"_1gtk_1widget_1get_1toplevel",
-	"_1gtk_1widget_1grab_1focus",
-	"_1gtk_1widget_1hide",
-	"_1gtk_1widget_1is_1focus",
-	"_1gtk_1widget_1map",
-	"_1gtk_1widget_1mnemonic_1activate",
-	"_1gtk_1widget_1modify_1base",
-	"_1gtk_1widget_1modify_1bg",
-	"_1gtk_1widget_1modify_1fg",
-	"_1gtk_1widget_1modify_1font",
-	"_1gtk_1widget_1modify_1style",
-	"_1gtk_1widget_1modify_1text",
-	"_1gtk_1widget_1queue_1resize",
-	"_1gtk_1widget_1realize",
-	"_1gtk_1widget_1remove_1accelerator",
-	"_1gtk_1widget_1reparent",
-	"_1gtk_1widget_1set_1app_1paintable",
-	"_1gtk_1widget_1set_1default_1direction",
-	"_1gtk_1widget_1set_1direction",
-	"_1gtk_1widget_1set_1double_1buffered",
-	"_1gtk_1widget_1set_1name",
-	"_1gtk_1widget_1set_1parent_1window",
-	"_1gtk_1widget_1set_1redraw_1on_1allocate",
-	"_1gtk_1widget_1set_1sensitive",
-	"_1gtk_1widget_1set_1size_1request",
-	"_1gtk_1widget_1set_1state",
-	"_1gtk_1widget_1set_1style",
-	"_1gtk_1widget_1shape_1combine_1mask",
-	"_1gtk_1widget_1show",
-	"_1gtk_1widget_1show_1now",
-	"_1gtk_1widget_1size_1allocate",
-	"_1gtk_1widget_1size_1request",
-	"_1gtk_1widget_1style_1get__I_3B_3II",
-	"_1gtk_1widget_1style_1get__I_3B_3JI",
-	"_1gtk_1widget_1translate_1coordinates",
-	"_1gtk_1widget_1unrealize",
-	"_1gtk_1window_1activate_1default",
-	"_1gtk_1window_1add_1accel_1group",
-	"_1gtk_1window_1deiconify",
-	"_1gtk_1window_1get_1focus",
-	"_1gtk_1window_1get_1icon_1list",
-	"_1gtk_1window_1get_1mnemonic_1modifier",
-	"_1gtk_1window_1get_1modal",
-	"_1gtk_1window_1get_1position",
-	"_1gtk_1window_1get_1size",
-	"_1gtk_1window_1iconify",
-	"_1gtk_1window_1maximize",
-	"_1gtk_1window_1move",
-	"_1gtk_1window_1new",
-	"_1gtk_1window_1present",
-	"_1gtk_1window_1remove_1accel_1group",
-	"_1gtk_1window_1resize",
-	"_1gtk_1window_1set_1default",
-	"_1gtk_1window_1set_1destroy_1with_1parent",
-	"_1gtk_1window_1set_1geometry_1hints",
-	"_1gtk_1window_1set_1icon_1list",
-	"_1gtk_1window_1set_1modal",
-	"_1gtk_1window_1set_1resizable",
-	"_1gtk_1window_1set_1title",
-	"_1gtk_1window_1set_1transient_1for",
-	"_1gtk_1window_1set_1type_1hint",
-	"_1gtk_1window_1unmaximize",
-	"_1pango_1attr_1background_1new",
-	"_1pango_1attr_1font_1desc_1new",
-	"_1pango_1attr_1foreground_1new",
-	"_1pango_1attr_1list_1change",
-	"_1pango_1attr_1list_1insert",
-	"_1pango_1attr_1list_1new",
-	"_1pango_1attr_1list_1unref",
-	"_1pango_1attr_1rise_1new",
-	"_1pango_1attr_1shape_1new",
-	"_1pango_1attr_1strikethrough_1new",
-	"_1pango_1attr_1underline_1new",
-	"_1pango_1attr_1weight_1new",
-	"_1pango_1cairo_1create_1layout",
-	"_1pango_1cairo_1font_1map_1create_1context",
-	"_1pango_1cairo_1font_1map_1get_1default",
-	"_1pango_1cairo_1font_1map_1new",
-	"_1pango_1cairo_1layout_1path",
-	"_1pango_1cairo_1show_1layout",
-	"_1pango_1context_1get_1base_1dir",
-	"_1pango_1context_1get_1language",
-	"_1pango_1context_1get_1metrics",
-	"_1pango_1context_1list_1families",
-	"_1pango_1context_1set_1base_1dir",
-	"_1pango_1context_1set_1language",
-	"_1pango_1font_1description_1copy",
-	"_1pango_1font_1description_1free",
-	"_1pango_1font_1description_1from_1string",
-	"_1pango_1font_1description_1get_1family",
-	"_1pango_1font_1description_1get_1size",
-	"_1pango_1font_1description_1get_1style",
-	"_1pango_1font_1description_1get_1weight",
-	"_1pango_1font_1description_1new",
-	"_1pango_1font_1description_1set_1family",
-	"_1pango_1font_1description_1set_1size",
-	"_1pango_1font_1description_1set_1stretch",
-	"_1pango_1font_1description_1set_1style",
-	"_1pango_1font_1description_1set_1weight",
-	"_1pango_1font_1description_1to_1string",
-	"_1pango_1font_1face_1describe",
-	"_1pango_1font_1family_1get_1name",
-	"_1pango_1font_1family_1list_1faces",
-	"_1pango_1font_1get_1metrics",
-	"_1pango_1font_1metrics_1get_1approximate_1char_1width",
-	"_1pango_1font_1metrics_1get_1ascent",
-	"_1pango_1font_1metrics_1get_1descent",
-	"_1pango_1font_1metrics_1unref",
-	"_1pango_1language_1from_1string",
-	"_1pango_1layout_1context_1changed",
-	"_1pango_1layout_1get_1alignment",
-	"_1pango_1layout_1get_1attributes",
-	"_1pango_1layout_1get_1context",
-	"_1pango_1layout_1get_1indent",
-	"_1pango_1layout_1get_1iter",
-	"_1pango_1layout_1get_1justify",
-	"_1pango_1layout_1get_1line",
-	"_1pango_1layout_1get_1line_1count",
-	"_1pango_1layout_1get_1log_1attrs",
-	"_1pango_1layout_1get_1size",
-	"_1pango_1layout_1get_1spacing",
-	"_1pango_1layout_1get_1tabs",
-	"_1pango_1layout_1get_1text",
-	"_1pango_1layout_1get_1width",
-	"_1pango_1layout_1index_1to_1pos",
-	"_1pango_1layout_1iter_1free",
-	"_1pango_1layout_1iter_1get_1index",
-	"_1pango_1layout_1iter_1get_1line_1extents",
-	"_1pango_1layout_1iter_1get_1run",
-	"_1pango_1layout_1iter_1next_1line",
-	"_1pango_1layout_1iter_1next_1run",
-	"_1pango_1layout_1line_1get_1extents",
-	"_1pango_1layout_1line_1x_1to_1index",
-	"_1pango_1layout_1new",
-	"_1pango_1layout_1set_1alignment",
-	"_1pango_1layout_1set_1attributes",
-	"_1pango_1layout_1set_1auto_1dir",
-	"_1pango_1layout_1set_1font_1description",
-	"_1pango_1layout_1set_1indent",
-	"_1pango_1layout_1set_1justify",
-	"_1pango_1layout_1set_1single_1paragraph_1mode",
-	"_1pango_1layout_1set_1spacing",
-	"_1pango_1layout_1set_1tabs",
-	"_1pango_1layout_1set_1text",
-	"_1pango_1layout_1set_1width",
-	"_1pango_1layout_1set_1wrap",
-	"_1pango_1layout_1xy_1to_1index",
-	"_1pango_1tab_1array_1free",
-	"_1pango_1tab_1array_1get_1size",
-	"_1pango_1tab_1array_1get_1tabs",
-	"_1pango_1tab_1array_1new",
-	"_1pango_1tab_1array_1set_1tab",
-	"g_1main_1context_1wakeup",
-	"getenv",
-	"localeconv_1decimal_1point",
-	"memmove__III",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2",
-	"memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I",
-	"memmove__I_3BI",
-	"memmove__I_3CI",
-	"memmove__I_3DI",
-	"memmove__I_3II",
-	"memmove__I_3JI",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I",
-	"memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II",
-	"memmove___3BII",
-	"memmove___3CII",
-	"memmove___3III",
-	"memmove___3I_3BI",
-	"memmove___3JII",
-	"memset",
-	"strlen",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return OS_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return OS_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
deleted file mode 100644
index b3784af..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
+++ /dev/null
@@ -1,1146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int OS_nativeFunctionCount;
-extern int OS_nativeFunctionCallCount[];
-extern char* OS_nativeFunctionNames[];
-#define OS_NATIVE_ENTER(env, that, func) OS_nativeFunctionCallCount[func]++;
-#define OS_NATIVE_EXIT(env, that, func) 
-#else
-#define OS_NATIVE_ENTER(env, that, func) 
-#define OS_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	Call_FUNC,
-	GDK_1EVENT_1TYPE_FUNC,
-	GDK_1EVENT_1WINDOW_FUNC,
-	GDK_1WINDOWING_1X11_FUNC,
-	GInterfaceInfo_1sizeof_FUNC,
-	GPollFD_1sizeof_FUNC,
-	GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING_FUNC,
-	GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING_FUNC,
-	GTK_1ENTRY_1IM_1CONTEXT_FUNC,
-	GTK_1SCROLLED_1WINDOW_1HSCROLLBAR_FUNC,
-	GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING_FUNC,
-	GTK_1SCROLLED_1WINDOW_1VSCROLLBAR_FUNC,
-	GTK_1TEXTVIEW_1IM_1CONTEXT_FUNC,
-	GTK_1TOOLTIPS_1SET_1ACTIVE_FUNC,
-	GTK_1TOOLTIPS_1TIP_1WINDOW_FUNC,
-	GTK_1WIDGET_1HEIGHT_FUNC,
-	GTK_1WIDGET_1REQUISITION_1HEIGHT_FUNC,
-	GTK_1WIDGET_1REQUISITION_1WIDTH_FUNC,
-	GTK_1WIDGET_1SET_1HEIGHT_FUNC,
-	GTK_1WIDGET_1SET_1WIDTH_FUNC,
-	GTK_1WIDGET_1SET_1X_FUNC,
-	GTK_1WIDGET_1SET_1Y_FUNC,
-	GTK_1WIDGET_1WIDTH_FUNC,
-	GTK_1WIDGET_1WINDOW_FUNC,
-	GTK_1WIDGET_1X_FUNC,
-	GTK_1WIDGET_1Y_FUNC,
-	GTypeInfo_1sizeof_FUNC,
-	GTypeQuery_1sizeof_FUNC,
-	GdkColor_1sizeof_FUNC,
-	GdkDragContext_1sizeof_FUNC,
-	GdkEventAny_1sizeof_FUNC,
-	GdkEventButton_1sizeof_FUNC,
-	GdkEventCrossing_1sizeof_FUNC,
-	GdkEventExpose_1sizeof_FUNC,
-	GdkEventFocus_1sizeof_FUNC,
-	GdkEventKey_1sizeof_FUNC,
-	GdkEventMotion_1sizeof_FUNC,
-	GdkEventScroll_1sizeof_FUNC,
-	GdkEventVisibility_1sizeof_FUNC,
-	GdkEventWindowState_1sizeof_FUNC,
-	GdkEvent_1sizeof_FUNC,
-	GdkGCValues_1sizeof_FUNC,
-	GdkGeometry_1sizeof_FUNC,
-	GdkImage_1sizeof_FUNC,
-	GdkRectangle_1sizeof_FUNC,
-	GdkVisual_1sizeof_FUNC,
-	GdkWindowAttr_1sizeof_FUNC,
-	GtkAdjustment_1sizeof_FUNC,
-	GtkAllocation_1sizeof_FUNC,
-	GtkBorder_1sizeof_FUNC,
-	GtkCellRendererPixbufClass_1sizeof_FUNC,
-	GtkCellRendererPixbuf_1sizeof_FUNC,
-	GtkCellRendererTextClass_1sizeof_FUNC,
-	GtkCellRendererText_1sizeof_FUNC,
-	GtkCellRendererToggleClass_1sizeof_FUNC,
-	GtkCellRendererToggle_1sizeof_FUNC,
-	GtkColorSelectionDialog_1sizeof_FUNC,
-	GtkCombo_1sizeof_FUNC,
-	GtkFileSelection_1sizeof_FUNC,
-	GtkFixedClass_1sizeof_FUNC,
-	GtkFixed_1sizeof_FUNC,
-	GtkRequisition_1sizeof_FUNC,
-	GtkSelectionData_1sizeof_FUNC,
-	GtkTargetEntry_1sizeof_FUNC,
-	GtkTargetPair_1sizeof_FUNC,
-	GtkTextIter_1sizeof_FUNC,
-	GtkTreeIter_1sizeof_FUNC,
-	PTR_1sizeof_FUNC,
-	PangoAttribute_1sizeof_FUNC,
-	PangoItem_1sizeof_FUNC,
-	PangoLayoutLine_1sizeof_FUNC,
-	PangoLayoutRun_1sizeof_FUNC,
-	PangoLogAttr_1sizeof_FUNC,
-	PangoRectangle_1sizeof_FUNC,
-	XAnyEvent_1sizeof_FUNC,
-	XButtonEvent_1sizeof_FUNC,
-	XClientMessageEvent_1sizeof_FUNC,
-	XCrossingEvent_1sizeof_FUNC,
-	XEvent_1sizeof_FUNC,
-	XExposeEvent_1sizeof_FUNC,
-	XFocusChangeEvent_1sizeof_FUNC,
-	XRenderPictureAttributes_1sizeof_FUNC,
-	XVisibilityEvent_1sizeof_FUNC,
-	XWindowChanges_1sizeof_FUNC,
-	X_1EVENT_1TYPE_FUNC,
-	X_1EVENT_1WINDOW_FUNC,
-	_1Call_FUNC,
-	_1GDK_1DISPLAY_FUNC,
-	_1GDK_1PIXMAP_1XID_FUNC,
-	_1GDK_1ROOT_1PARENT_FUNC,
-	_1GDK_1TYPE_1COLOR_FUNC,
-	_1GDK_1TYPE_1PIXBUF_FUNC,
-	_1GTK_1IS_1BUTTON_FUNC,
-	_1GTK_1IS_1CELL_1RENDERER_1PIXBUF_FUNC,
-	_1GTK_1IS_1CELL_1RENDERER_1TEXT_FUNC,
-	_1GTK_1IS_1CELL_1RENDERER_1TOGGLE_FUNC,
-	_1GTK_1IS_1CONTAINER_FUNC,
-	_1GTK_1IS_1IMAGE_1MENU_1ITEM_FUNC,
-	_1GTK_1IS_1PLUG_FUNC,
-	_1GTK_1IS_1WINDOW_FUNC,
-	_1GTK_1STOCK_1CANCEL_FUNC,
-	_1GTK_1STOCK_1OK_FUNC,
-	_1GTK_1TYPE_1CELL_1RENDERER_1PIXBUF_FUNC,
-	_1GTK_1TYPE_1CELL_1RENDERER_1TEXT_FUNC,
-	_1GTK_1TYPE_1CELL_1RENDERER_1TOGGLE_FUNC,
-	_1GTK_1TYPE_1FIXED_FUNC,
-	_1GTK_1TYPE_1WIDGET_FUNC,
-	_1GTK_1WIDGET_1FLAGS_FUNC,
-	_1GTK_1WIDGET_1HAS_1DEFAULT_FUNC,
-	_1GTK_1WIDGET_1HAS_1FOCUS_FUNC,
-	_1GTK_1WIDGET_1IS_1SENSITIVE_FUNC,
-	_1GTK_1WIDGET_1MAPPED_FUNC,
-	_1GTK_1WIDGET_1SENSITIVE_FUNC,
-	_1GTK_1WIDGET_1SET_1FLAGS_FUNC,
-	_1GTK_1WIDGET_1STATE_FUNC,
-	_1GTK_1WIDGET_1UNSET_1FLAGS_FUNC,
-	_1GTK_1WIDGET_1VISIBLE_FUNC,
-	_1G_1OBJECT_1CLASS_FUNC,
-	_1G_1OBJECT_1GET_1CLASS_FUNC,
-	_1G_1OBJECT_1TYPE_FUNC,
-	_1G_1TYPE_1BOOLEAN_FUNC,
-	_1G_1TYPE_1INT_FUNC,
-	_1G_1TYPE_1STRING_FUNC,
-	_1PANGO_1PIXELS_FUNC,
-	_1PANGO_1TYPE_1FONT_1DESCRIPTION_FUNC,
-	_1XCheckIfEvent_FUNC,
-	_1XCheckMaskEvent_FUNC,
-	_1XCheckWindowEvent_FUNC,
-	_1XDefaultRootWindow_FUNC,
-	_1XDefaultScreen_FUNC,
-	_1XFlush_FUNC,
-	_1XFree_FUNC,
-	_1XGetSelectionOwner_FUNC,
-	_1XInternAtom_FUNC,
-	_1XKeysymToKeycode_FUNC,
-	_1XListProperties_FUNC,
-	_1XQueryTree_FUNC,
-	_1XReconfigureWMWindow_FUNC,
-	_1XRenderComposite_FUNC,
-	_1XRenderCreatePicture_FUNC,
-	_1XRenderFindStandardFormat_FUNC,
-	_1XRenderFindVisualFormat_FUNC,
-	_1XRenderFreePicture_FUNC,
-	_1XRenderQueryExtension_FUNC,
-	_1XRenderQueryVersion_FUNC,
-	_1XRenderSetPictureClipRectangles_FUNC,
-	_1XRenderSetPictureTransform_FUNC,
-	_1XSendEvent_FUNC,
-	_1XSetErrorHandler_FUNC,
-	_1XSetIOErrorHandler_FUNC,
-	_1XSetInputFocus_FUNC,
-	_1XSynchronize_FUNC,
-	_1XTestFakeButtonEvent_FUNC,
-	_1XTestFakeKeyEvent_FUNC,
-	_1XTestFakeMotionEvent_FUNC,
-	_1XWarpPointer_FUNC,
-	_1atk_1object_1add_1relationship_FUNC,
-	_1call_FUNC,
-	_1dlclose_FUNC,
-	_1dlopen_FUNC,
-	_1dlsym_FUNC,
-	_1g_1cclosure_1new_FUNC,
-	_1g_1closure_1ref_FUNC,
-	_1g_1closure_1unref_FUNC,
-	_1g_1filename_1from_1uri_FUNC,
-	_1g_1filename_1from_1utf8_FUNC,
-	_1g_1filename_1to_1uri_FUNC,
-	_1g_1filename_1to_1utf8_FUNC,
-	_1g_1free_FUNC,
-	_1g_1list_1append_FUNC,
-	_1g_1list_1data_FUNC,
-	_1g_1list_1free_FUNC,
-	_1g_1list_1free_11_FUNC,
-	_1g_1list_1length_FUNC,
-	_1g_1list_1next_FUNC,
-	_1g_1list_1nth_FUNC,
-	_1g_1list_1nth_1data_FUNC,
-	_1g_1list_1prepend_FUNC,
-	_1g_1list_1previous_FUNC,
-	_1g_1list_1remove_1link_FUNC,
-	_1g_1list_1reverse_FUNC,
-	_1g_1list_1set_1next_FUNC,
-	_1g_1list_1set_1previous_FUNC,
-	_1g_1locale_1from_1utf8_FUNC,
-	_1g_1locale_1to_1utf8_FUNC,
-	_1g_1log_1default_1handler_FUNC,
-	_1g_1log_1remove_1handler_FUNC,
-	_1g_1log_1set_1handler_FUNC,
-	_1g_1main_1context_1acquire_FUNC,
-	_1g_1main_1context_1check_FUNC,
-	_1g_1main_1context_1default_FUNC,
-	_1g_1main_1context_1get_1poll_1func_FUNC,
-	_1g_1main_1context_1iteration_FUNC,
-	_1g_1main_1context_1pending_FUNC,
-	_1g_1main_1context_1prepare_FUNC,
-	_1g_1main_1context_1query_FUNC,
-	_1g_1main_1context_1release_FUNC,
-	_1g_1malloc_FUNC,
-	_1g_1object_1get_FUNC,
-	_1g_1object_1get_1qdata_FUNC,
-	_1g_1object_1new_FUNC,
-	_1g_1object_1ref_FUNC,
-	_1g_1object_1set__I_3BFI_FUNC,
-	_1g_1object_1set__I_3BII_FUNC,
-	_1g_1object_1set__I_3BJI_FUNC,
-	_1g_1object_1set__I_3BZI_FUNC,
-	_1g_1object_1set_1qdata_FUNC,
-	_1g_1object_1unref_FUNC,
-	_1g_1quark_1from_1string_FUNC,
-	_1g_1set_1prgname_FUNC,
-	_1g_1signal_1connect_FUNC,
-	_1g_1signal_1connect_1after_FUNC,
-	_1g_1signal_1connect_1closure_FUNC,
-	_1g_1signal_1connect_1closure_1by_1id_FUNC,
-	_1g_1signal_1emit_1by_1name__I_3B_FUNC,
-	_1g_1signal_1emit_1by_1name__I_3BI_FUNC,
-	_1g_1signal_1emit_1by_1name__I_3BII_FUNC,
-	_1g_1signal_1emit_1by_1name__I_3B_3B_FUNC,
-	_1g_1signal_1handler_1disconnect_FUNC,
-	_1g_1signal_1handlers_1block_1matched_FUNC,
-	_1g_1signal_1handlers_1disconnect_1matched_FUNC,
-	_1g_1signal_1handlers_1unblock_1matched_FUNC,
-	_1g_1signal_1lookup_FUNC,
-	_1g_1signal_1stop_1emission_1by_1name_FUNC,
-	_1g_1slist_1data_FUNC,
-	_1g_1slist_1free_FUNC,
-	_1g_1slist_1length_FUNC,
-	_1g_1slist_1next_FUNC,
-	_1g_1strfreev_FUNC,
-	_1g_1thread_1init_FUNC,
-	_1g_1thread_1supported_FUNC,
-	_1g_1type_1add_1interface_1static_FUNC,
-	_1g_1type_1class_1peek_FUNC,
-	_1g_1type_1class_1peek_1parent_FUNC,
-	_1g_1type_1from_1name_FUNC,
-	_1g_1type_1interface_1peek_1parent_FUNC,
-	_1g_1type_1is_1a_FUNC,
-	_1g_1type_1name_FUNC,
-	_1g_1type_1parent_FUNC,
-	_1g_1type_1query_FUNC,
-	_1g_1type_1register_1static_FUNC,
-	_1g_1utf16_1to_1utf8_FUNC,
-	_1g_1utf8_1offset_1to_1pointer_FUNC,
-	_1g_1utf8_1pointer_1to_1offset_FUNC,
-	_1g_1utf8_1strlen_FUNC,
-	_1g_1utf8_1to_1utf16__II_3I_3I_3I_FUNC,
-	_1g_1utf8_1to_1utf16___3BI_3I_3I_3I_FUNC,
-	_1gdk_1atom_1intern_FUNC,
-	_1gdk_1atom_1name_FUNC,
-	_1gdk_1beep_FUNC,
-	_1gdk_1bitmap_1create_1from_1data_FUNC,
-	_1gdk_1cairo_1region_FUNC,
-	_1gdk_1cairo_1set_1source_1color_FUNC,
-	_1gdk_1color_1white_FUNC,
-	_1gdk_1colormap_1alloc_1color_FUNC,
-	_1gdk_1colormap_1free_1colors_FUNC,
-	_1gdk_1colormap_1get_1system_FUNC,
-	_1gdk_1colormap_1query_1color_FUNC,
-	_1gdk_1cursor_1destroy_FUNC,
-	_1gdk_1cursor_1new_FUNC,
-	_1gdk_1cursor_1new_1from_1pixmap_FUNC,
-	_1gdk_1drag_1status_FUNC,
-	_1gdk_1draw_1arc_FUNC,
-	_1gdk_1draw_1drawable_FUNC,
-	_1gdk_1draw_1image_FUNC,
-	_1gdk_1draw_1layout_FUNC,
-	_1gdk_1draw_1layout_1with_1colors_FUNC,
-	_1gdk_1draw_1line_FUNC,
-	_1gdk_1draw_1lines_FUNC,
-	_1gdk_1draw_1pixbuf_FUNC,
-	_1gdk_1draw_1point_FUNC,
-	_1gdk_1draw_1polygon_FUNC,
-	_1gdk_1draw_1rectangle_FUNC,
-	_1gdk_1drawable_1get_1depth_FUNC,
-	_1gdk_1drawable_1get_1image_FUNC,
-	_1gdk_1drawable_1get_1size_FUNC,
-	_1gdk_1drawable_1get_1visible_1region_FUNC,
-	_1gdk_1error_1trap_1pop_FUNC,
-	_1gdk_1error_1trap_1push_FUNC,
-	_1gdk_1event_1copy_FUNC,
-	_1gdk_1event_1free_FUNC,
-	_1gdk_1event_1get_FUNC,
-	_1gdk_1event_1get_1coords_FUNC,
-	_1gdk_1event_1get_1graphics_1expose_FUNC,
-	_1gdk_1event_1get_1root_1coords_FUNC,
-	_1gdk_1event_1get_1state_FUNC,
-	_1gdk_1event_1get_1time_FUNC,
-	_1gdk_1event_1handler_1set_FUNC,
-	_1gdk_1event_1put_FUNC,
-	_1gdk_1flush_FUNC,
-	_1gdk_1free_1text_1list_FUNC,
-	_1gdk_1gc_1get_1values_FUNC,
-	_1gdk_1gc_1new_FUNC,
-	_1gdk_1gc_1set_1background_FUNC,
-	_1gdk_1gc_1set_1clip_1mask_FUNC,
-	_1gdk_1gc_1set_1clip_1origin_FUNC,
-	_1gdk_1gc_1set_1clip_1rectangle_FUNC,
-	_1gdk_1gc_1set_1clip_1region_FUNC,
-	_1gdk_1gc_1set_1dashes_FUNC,
-	_1gdk_1gc_1set_1exposures_FUNC,
-	_1gdk_1gc_1set_1fill_FUNC,
-	_1gdk_1gc_1set_1foreground_FUNC,
-	_1gdk_1gc_1set_1function_FUNC,
-	_1gdk_1gc_1set_1line_1attributes_FUNC,
-	_1gdk_1gc_1set_1stipple_FUNC,
-	_1gdk_1gc_1set_1subwindow_FUNC,
-	_1gdk_1gc_1set_1tile_FUNC,
-	_1gdk_1gc_1set_1ts_1origin_FUNC,
-	_1gdk_1gc_1set_1values_FUNC,
-	_1gdk_1keyboard_1ungrab_FUNC,
-	_1gdk_1keymap_1get_1default_FUNC,
-	_1gdk_1keymap_1translate_1keyboard_1state_FUNC,
-	_1gdk_1keyval_1to_1lower_FUNC,
-	_1gdk_1keyval_1to_1unicode_FUNC,
-	_1gdk_1pango_1context_1get_FUNC,
-	_1gdk_1pango_1context_1set_1colormap_FUNC,
-	_1gdk_1pango_1layout_1get_1clip_1region_FUNC,
-	_1gdk_1pixbuf_1copy_1area_FUNC,
-	_1gdk_1pixbuf_1get_1from_1drawable_FUNC,
-	_1gdk_1pixbuf_1get_1has_1alpha_FUNC,
-	_1gdk_1pixbuf_1get_1height_FUNC,
-	_1gdk_1pixbuf_1get_1pixels_FUNC,
-	_1gdk_1pixbuf_1get_1rowstride_FUNC,
-	_1gdk_1pixbuf_1get_1width_FUNC,
-	_1gdk_1pixbuf_1new_FUNC,
-	_1gdk_1pixbuf_1new_1from_1file_FUNC,
-	_1gdk_1pixbuf_1render_1pixmap_1and_1mask_FUNC,
-	_1gdk_1pixbuf_1render_1to_1drawable_FUNC,
-	_1gdk_1pixbuf_1render_1to_1drawable_1alpha_FUNC,
-	_1gdk_1pixbuf_1scale_FUNC,
-	_1gdk_1pixbuf_1scale_1simple_FUNC,
-	_1gdk_1pixmap_1foreign_1new_FUNC,
-	_1gdk_1pixmap_1new_FUNC,
-	_1gdk_1pointer_1grab_FUNC,
-	_1gdk_1pointer_1is_1grabbed_FUNC,
-	_1gdk_1pointer_1ungrab_FUNC,
-	_1gdk_1property_1get_FUNC,
-	_1gdk_1region_1destroy_FUNC,
-	_1gdk_1region_1empty_FUNC,
-	_1gdk_1region_1get_1clipbox_FUNC,
-	_1gdk_1region_1get_1rectangles_FUNC,
-	_1gdk_1region_1intersect_FUNC,
-	_1gdk_1region_1new_FUNC,
-	_1gdk_1region_1offset_FUNC,
-	_1gdk_1region_1point_1in_FUNC,
-	_1gdk_1region_1polygon_FUNC,
-	_1gdk_1region_1rect_1in_FUNC,
-	_1gdk_1region_1rectangle_FUNC,
-	_1gdk_1region_1subtract_FUNC,
-	_1gdk_1region_1union_FUNC,
-	_1gdk_1region_1union_1with_1rect_FUNC,
-	_1gdk_1rgb_1init_FUNC,
-	_1gdk_1screen_1get_1default_FUNC,
-	_1gdk_1screen_1get_1monitor_1at_1point_FUNC,
-	_1gdk_1screen_1get_1monitor_1at_1window_FUNC,
-	_1gdk_1screen_1get_1monitor_1geometry_FUNC,
-	_1gdk_1screen_1get_1n_1monitors_FUNC,
-	_1gdk_1screen_1get_1number_FUNC,
-	_1gdk_1screen_1height_FUNC,
-	_1gdk_1screen_1width_FUNC,
-	_1gdk_1screen_1width_1mm_FUNC,
-	_1gdk_1set_1program_1class_FUNC,
-	_1gdk_1text_1property_1to_1utf8_1list_FUNC,
-	_1gdk_1unicode_1to_1keyval_FUNC,
-	_1gdk_1utf8_1to_1compound_1text_FUNC,
-	_1gdk_1utf8_1to_1string_1target_FUNC,
-	_1gdk_1visual_1get_1system_FUNC,
-	_1gdk_1window_1add_1filter_FUNC,
-	_1gdk_1window_1at_1pointer_FUNC,
-	_1gdk_1window_1begin_1paint_1rect_FUNC,
-	_1gdk_1window_1clear_1area_FUNC,
-	_1gdk_1window_1destroy_FUNC,
-	_1gdk_1window_1end_1paint_FUNC,
-	_1gdk_1window_1focus_FUNC,
-	_1gdk_1window_1freeze_1updates_FUNC,
-	_1gdk_1window_1get_1children_FUNC,
-	_1gdk_1window_1get_1events_FUNC,
-	_1gdk_1window_1get_1frame_1extents_FUNC,
-	_1gdk_1window_1get_1internal_1paint_1info_FUNC,
-	_1gdk_1window_1get_1origin_FUNC,
-	_1gdk_1window_1get_1parent_FUNC,
-	_1gdk_1window_1get_1pointer_FUNC,
-	_1gdk_1window_1get_1user_1data_FUNC,
-	_1gdk_1window_1hide_FUNC,
-	_1gdk_1window_1invalidate_1rect_FUNC,
-	_1gdk_1window_1invalidate_1region_FUNC,
-	_1gdk_1window_1lookup_FUNC,
-	_1gdk_1window_1lower_FUNC,
-	_1gdk_1window_1move_FUNC,
-	_1gdk_1window_1new_FUNC,
-	_1gdk_1window_1process_1all_1updates_FUNC,
-	_1gdk_1window_1process_1updates_FUNC,
-	_1gdk_1window_1raise_FUNC,
-	_1gdk_1window_1remove_1filter_FUNC,
-	_1gdk_1window_1resize_FUNC,
-	_1gdk_1window_1scroll_FUNC,
-	_1gdk_1window_1set_1accept_1focus_FUNC,
-	_1gdk_1window_1set_1back_1pixmap_FUNC,
-	_1gdk_1window_1set_1cursor_FUNC,
-	_1gdk_1window_1set_1debug_1updates_FUNC,
-	_1gdk_1window_1set_1decorations_FUNC,
-	_1gdk_1window_1set_1events_FUNC,
-	_1gdk_1window_1set_1icon_FUNC,
-	_1gdk_1window_1set_1icon_1list_FUNC,
-	_1gdk_1window_1set_1keep_1above_FUNC,
-	_1gdk_1window_1set_1override_1redirect_FUNC,
-	_1gdk_1window_1set_1user_1data_FUNC,
-	_1gdk_1window_1shape_1combine_1region_FUNC,
-	_1gdk_1window_1show_FUNC,
-	_1gdk_1window_1show_1unraised_FUNC,
-	_1gdk_1window_1thaw_1updates_FUNC,
-	_1gdk_1x11_1atom_1to_1xatom_FUNC,
-	_1gdk_1x11_1colormap_1get_1xcolormap_FUNC,
-	_1gdk_1x11_1drawable_1get_1xdisplay_FUNC,
-	_1gdk_1x11_1drawable_1get_1xid_FUNC,
-	_1gdk_1x11_1screen_1get_1window_1manager_1name_FUNC,
-	_1gdk_1x11_1screen_1lookup_1visual_FUNC,
-	_1gdk_1x11_1visual_1get_1xvisual_FUNC,
-	_1gtk_1accel_1group_1new_FUNC,
-	_1gtk_1accel_1groups_1activate_FUNC,
-	_1gtk_1accel_1label_1set_1accel_1widget_FUNC,
-	_1gtk_1adjustment_1changed_FUNC,
-	_1gtk_1adjustment_1new_FUNC,
-	_1gtk_1adjustment_1set_1value_FUNC,
-	_1gtk_1adjustment_1value_1changed_FUNC,
-	_1gtk_1arrow_1new_FUNC,
-	_1gtk_1arrow_1set_FUNC,
-	_1gtk_1bin_1get_1child_FUNC,
-	_1gtk_1box_1set_1child_1packing_FUNC,
-	_1gtk_1box_1set_1spacing_FUNC,
-	_1gtk_1button_1clicked_FUNC,
-	_1gtk_1button_1get_1relief_FUNC,
-	_1gtk_1button_1new_FUNC,
-	_1gtk_1button_1set_1relief_FUNC,
-	_1gtk_1cell_1renderer_1get_1size_FUNC,
-	_1gtk_1cell_1renderer_1pixbuf_1new_FUNC,
-	_1gtk_1cell_1renderer_1text_1new_FUNC,
-	_1gtk_1cell_1renderer_1toggle_1new_FUNC,
-	_1gtk_1check_1button_1new_FUNC,
-	_1gtk_1check_1menu_1item_1get_1active_FUNC,
-	_1gtk_1check_1menu_1item_1new_1with_1label_FUNC,
-	_1gtk_1check_1menu_1item_1set_1active_FUNC,
-	_1gtk_1check_1version_FUNC,
-	_1gtk_1clipboard_1clear_FUNC,
-	_1gtk_1clipboard_1get_FUNC,
-	_1gtk_1clipboard_1set_1with_1data_FUNC,
-	_1gtk_1clipboard_1wait_1for_1contents_FUNC,
-	_1gtk_1color_1selection_1dialog_1new_FUNC,
-	_1gtk_1color_1selection_1get_1current_1color_FUNC,
-	_1gtk_1color_1selection_1set_1current_1color_FUNC,
-	_1gtk_1color_1selection_1set_1has_1palette_FUNC,
-	_1gtk_1combo_1disable_1activate_FUNC,
-	_1gtk_1combo_1new_FUNC,
-	_1gtk_1combo_1set_1case_1sensitive_FUNC,
-	_1gtk_1combo_1set_1popdown_1strings_FUNC,
-	_1gtk_1container_1add_FUNC,
-	_1gtk_1container_1forall_FUNC,
-	_1gtk_1container_1get_1border_1width_FUNC,
-	_1gtk_1container_1get_1children_FUNC,
-	_1gtk_1container_1remove_FUNC,
-	_1gtk_1container_1resize_1children_FUNC,
-	_1gtk_1container_1set_1border_1width_FUNC,
-	_1gtk_1dialog_1add_1button_FUNC,
-	_1gtk_1dialog_1run_FUNC,
-	_1gtk_1drag_1begin_FUNC,
-	_1gtk_1drag_1check_1threshold_FUNC,
-	_1gtk_1drag_1dest_1find_1target_FUNC,
-	_1gtk_1drag_1dest_1set_FUNC,
-	_1gtk_1drag_1dest_1unset_FUNC,
-	_1gtk_1drag_1finish_FUNC,
-	_1gtk_1drag_1get_1data_FUNC,
-	_1gtk_1drag_1set_1icon_1pixbuf_FUNC,
-	_1gtk_1drawing_1area_1new_FUNC,
-	_1gtk_1editable_1copy_1clipboard_FUNC,
-	_1gtk_1editable_1cut_1clipboard_FUNC,
-	_1gtk_1editable_1delete_1selection_FUNC,
-	_1gtk_1editable_1delete_1text_FUNC,
-	_1gtk_1editable_1get_1chars_FUNC,
-	_1gtk_1editable_1get_1editable_FUNC,
-	_1gtk_1editable_1get_1position_FUNC,
-	_1gtk_1editable_1get_1selection_1bounds_FUNC,
-	_1gtk_1editable_1insert_1text_FUNC,
-	_1gtk_1editable_1paste_1clipboard_FUNC,
-	_1gtk_1editable_1select_1region_FUNC,
-	_1gtk_1editable_1set_1editable_FUNC,
-	_1gtk_1editable_1set_1position_FUNC,
-	_1gtk_1entry_1get_1invisible_1char_FUNC,
-	_1gtk_1entry_1get_1layout_FUNC,
-	_1gtk_1entry_1get_1layout_1offsets_FUNC,
-	_1gtk_1entry_1get_1max_1length_FUNC,
-	_1gtk_1entry_1get_1text_FUNC,
-	_1gtk_1entry_1get_1visibility_FUNC,
-	_1gtk_1entry_1new_FUNC,
-	_1gtk_1entry_1set_1activates_1default_FUNC,
-	_1gtk_1entry_1set_1alignment_FUNC,
-	_1gtk_1entry_1set_1has_1frame_FUNC,
-	_1gtk_1entry_1set_1invisible_1char_FUNC,
-	_1gtk_1entry_1set_1max_1length_FUNC,
-	_1gtk_1entry_1set_1text_FUNC,
-	_1gtk_1entry_1set_1visibility_FUNC,
-	_1gtk_1entry_1text_1index_1to_1layout_1index_FUNC,
-	_1gtk_1events_1pending_FUNC,
-	_1gtk_1expander_1get_1expanded_FUNC,
-	_1gtk_1expander_1get_1label_1widget_FUNC,
-	_1gtk_1expander_1new_FUNC,
-	_1gtk_1expander_1set_1expanded_FUNC,
-	_1gtk_1expander_1set_1label_FUNC,
-	_1gtk_1expander_1set_1label_1widget_FUNC,
-	_1gtk_1file_1chooser_1add_1filter_FUNC,
-	_1gtk_1file_1chooser_1dialog_1new_FUNC,
-	_1gtk_1file_1chooser_1get_1current_1folder_FUNC,
-	_1gtk_1file_1chooser_1get_1filename_FUNC,
-	_1gtk_1file_1chooser_1get_1filenames_FUNC,
-	_1gtk_1file_1chooser_1set_1current_1folder_FUNC,
-	_1gtk_1file_1chooser_1set_1current_1name_FUNC,
-	_1gtk_1file_1chooser_1set_1extra_1widget_FUNC,
-	_1gtk_1file_1chooser_1set_1filename_FUNC,
-	_1gtk_1file_1chooser_1set_1select_1multiple_FUNC,
-	_1gtk_1file_1filter_1add_1pattern_FUNC,
-	_1gtk_1file_1filter_1new_FUNC,
-	_1gtk_1file_1filter_1set_1name_FUNC,
-	_1gtk_1file_1selection_1get_1filename_FUNC,
-	_1gtk_1file_1selection_1get_1selections_FUNC,
-	_1gtk_1file_1selection_1hide_1fileop_1buttons_FUNC,
-	_1gtk_1file_1selection_1new_FUNC,
-	_1gtk_1file_1selection_1set_1filename_FUNC,
-	_1gtk_1file_1selection_1set_1select_1multiple_FUNC,
-	_1gtk_1fixed_1move_FUNC,
-	_1gtk_1fixed_1new_FUNC,
-	_1gtk_1fixed_1set_1has_1window_FUNC,
-	_1gtk_1font_1selection_1dialog_1get_1font_1name_FUNC,
-	_1gtk_1font_1selection_1dialog_1new_FUNC,
-	_1gtk_1font_1selection_1dialog_1set_1font_1name_FUNC,
-	_1gtk_1frame_1get_1label_1widget_FUNC,
-	_1gtk_1frame_1new_FUNC,
-	_1gtk_1frame_1set_1label_FUNC,
-	_1gtk_1frame_1set_1label_1widget_FUNC,
-	_1gtk_1frame_1set_1shadow_1type_FUNC,
-	_1gtk_1get_1current_1event_FUNC,
-	_1gtk_1get_1current_1event_1state_FUNC,
-	_1gtk_1get_1current_1event_1time_FUNC,
-	_1gtk_1get_1default_1language_FUNC,
-	_1gtk_1get_1event_1widget_FUNC,
-	_1gtk_1grab_1add_FUNC,
-	_1gtk_1grab_1get_1current_FUNC,
-	_1gtk_1grab_1remove_FUNC,
-	_1gtk_1hbox_1new_FUNC,
-	_1gtk_1hscale_1new_FUNC,
-	_1gtk_1hscrollbar_1new_FUNC,
-	_1gtk_1hseparator_1new_FUNC,
-	_1gtk_1icon_1factory_1lookup_1default_FUNC,
-	_1gtk_1icon_1set_1render_1icon_FUNC,
-	_1gtk_1icon_1source_1free_FUNC,
-	_1gtk_1icon_1source_1new_FUNC,
-	_1gtk_1icon_1source_1set_1pixbuf_FUNC,
-	_1gtk_1im_1context_1filter_1keypress_FUNC,
-	_1gtk_1im_1context_1focus_1in_FUNC,
-	_1gtk_1im_1context_1focus_1out_FUNC,
-	_1gtk_1im_1context_1get_1preedit_1string_FUNC,
-	_1gtk_1im_1context_1get_1type_FUNC,
-	_1gtk_1im_1context_1reset_FUNC,
-	_1gtk_1im_1context_1set_1client_1window_FUNC,
-	_1gtk_1im_1context_1set_1cursor_1location_FUNC,
-	_1gtk_1im_1multicontext_1append_1menuitems_FUNC,
-	_1gtk_1im_1multicontext_1new_FUNC,
-	_1gtk_1image_1menu_1item_1new_1with_1label_FUNC,
-	_1gtk_1image_1menu_1item_1set_1image_FUNC,
-	_1gtk_1image_1new_FUNC,
-	_1gtk_1image_1new_1from_1pixbuf_FUNC,
-	_1gtk_1image_1new_1from_1pixmap_FUNC,
-	_1gtk_1image_1set_1from_1pixbuf_FUNC,
-	_1gtk_1image_1set_1from_1pixmap_FUNC,
-	_1gtk_1init_1check_FUNC,
-	_1gtk_1label_1get_1layout_FUNC,
-	_1gtk_1label_1get_1mnemonic_1keyval_FUNC,
-	_1gtk_1label_1new_FUNC,
-	_1gtk_1label_1new_1with_1mnemonic_FUNC,
-	_1gtk_1label_1set_1attributes_FUNC,
-	_1gtk_1label_1set_1justify_FUNC,
-	_1gtk_1label_1set_1line_1wrap_FUNC,
-	_1gtk_1label_1set_1text__II_FUNC,
-	_1gtk_1label_1set_1text__I_3B_FUNC,
-	_1gtk_1label_1set_1text_1with_1mnemonic_FUNC,
-	_1gtk_1list_1append_1items_FUNC,
-	_1gtk_1list_1clear_1items_FUNC,
-	_1gtk_1list_1insert_1items_FUNC,
-	_1gtk_1list_1item_1new_1with_1label_FUNC,
-	_1gtk_1list_1remove_1items_FUNC,
-	_1gtk_1list_1select_1item_FUNC,
-	_1gtk_1list_1store_1append_FUNC,
-	_1gtk_1list_1store_1clear_FUNC,
-	_1gtk_1list_1store_1insert_FUNC,
-	_1gtk_1list_1store_1newv_FUNC,
-	_1gtk_1list_1store_1remove_FUNC,
-	_1gtk_1list_1store_1set__IIIII_FUNC,
-	_1gtk_1list_1store_1set__IIIJI_FUNC,
-	_1gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC,
-	_1gtk_1list_1store_1set__IIIZI_FUNC,
-	_1gtk_1list_1store_1set__III_3BI_FUNC,
-	_1gtk_1list_1unselect_1all_FUNC,
-	_1gtk_1list_1unselect_1item_FUNC,
-	_1gtk_1main_FUNC,
-	_1gtk_1main_1do_1event_FUNC,
-	_1gtk_1main_1iteration_FUNC,
-	_1gtk_1major_1version_FUNC,
-	_1gtk_1menu_1bar_1new_FUNC,
-	_1gtk_1menu_1item_1remove_1submenu_FUNC,
-	_1gtk_1menu_1item_1set_1submenu_FUNC,
-	_1gtk_1menu_1new_FUNC,
-	_1gtk_1menu_1popdown_FUNC,
-	_1gtk_1menu_1popup_FUNC,
-	_1gtk_1menu_1shell_1deactivate_FUNC,
-	_1gtk_1menu_1shell_1insert_FUNC,
-	_1gtk_1menu_1shell_1select_1item_FUNC,
-	_1gtk_1message_1dialog_1new_FUNC,
-	_1gtk_1micro_1version_FUNC,
-	_1gtk_1minor_1version_FUNC,
-	_1gtk_1misc_1set_1alignment_FUNC,
-	_1gtk_1notebook_1get_1current_1page_FUNC,
-	_1gtk_1notebook_1get_1scrollable_FUNC,
-	_1gtk_1notebook_1insert_1page_FUNC,
-	_1gtk_1notebook_1new_FUNC,
-	_1gtk_1notebook_1remove_1page_FUNC,
-	_1gtk_1notebook_1set_1current_1page_FUNC,
-	_1gtk_1notebook_1set_1scrollable_FUNC,
-	_1gtk_1notebook_1set_1show_1tabs_FUNC,
-	_1gtk_1notebook_1set_1tab_1pos_FUNC,
-	_1gtk_1object_1sink_FUNC,
-	_1gtk_1paint_1arrow_FUNC,
-	_1gtk_1paint_1box_FUNC,
-	_1gtk_1paint_1box_1gap_FUNC,
-	_1gtk_1paint_1check_FUNC,
-	_1gtk_1paint_1expander_FUNC,
-	_1gtk_1paint_1extension_FUNC,
-	_1gtk_1paint_1flat_1box_FUNC,
-	_1gtk_1paint_1focus_FUNC,
-	_1gtk_1paint_1handle_FUNC,
-	_1gtk_1paint_1hline_FUNC,
-	_1gtk_1paint_1layout_FUNC,
-	_1gtk_1paint_1option_FUNC,
-	_1gtk_1paint_1shadow_FUNC,
-	_1gtk_1paint_1shadow_1gap_FUNC,
-	_1gtk_1paint_1slider_FUNC,
-	_1gtk_1paint_1tab_FUNC,
-	_1gtk_1paint_1vline_FUNC,
-	_1gtk_1plug_1get_1id_FUNC,
-	_1gtk_1plug_1new_FUNC,
-	_1gtk_1progress_1bar_1new_FUNC,
-	_1gtk_1progress_1bar_1pulse_FUNC,
-	_1gtk_1progress_1bar_1set_1fraction_FUNC,
-	_1gtk_1progress_1bar_1set_1orientation_FUNC,
-	_1gtk_1radio_1button_1get_1group_FUNC,
-	_1gtk_1radio_1button_1new_FUNC,
-	_1gtk_1radio_1menu_1item_1get_1group_FUNC,
-	_1gtk_1radio_1menu_1item_1new_FUNC,
-	_1gtk_1radio_1menu_1item_1new_1with_1label_FUNC,
-	_1gtk_1range_1get_1adjustment_FUNC,
-	_1gtk_1range_1set_1increments_FUNC,
-	_1gtk_1range_1set_1inverted_FUNC,
-	_1gtk_1range_1set_1range_FUNC,
-	_1gtk_1range_1set_1value_FUNC,
-	_1gtk_1rc_1parse_1string_FUNC,
-	_1gtk_1rc_1style_1get_1bg_1pixmap_1name_FUNC,
-	_1gtk_1rc_1style_1get_1color_1flags_FUNC,
-	_1gtk_1rc_1style_1set_1bg_FUNC,
-	_1gtk_1rc_1style_1set_1bg_1pixmap_1name_FUNC,
-	_1gtk_1rc_1style_1set_1color_1flags_FUNC,
-	_1gtk_1scale_1set_1digits_FUNC,
-	_1gtk_1scale_1set_1draw_1value_FUNC,
-	_1gtk_1scrolled_1window_1add_1with_1viewport_FUNC,
-	_1gtk_1scrolled_1window_1get_1hadjustment_FUNC,
-	_1gtk_1scrolled_1window_1get_1policy_FUNC,
-	_1gtk_1scrolled_1window_1get_1shadow_1type_FUNC,
-	_1gtk_1scrolled_1window_1get_1vadjustment_FUNC,
-	_1gtk_1scrolled_1window_1new_FUNC,
-	_1gtk_1scrolled_1window_1set_1placement_FUNC,
-	_1gtk_1scrolled_1window_1set_1policy_FUNC,
-	_1gtk_1scrolled_1window_1set_1shadow_1type_FUNC,
-	_1gtk_1selection_1data_1free_FUNC,
-	_1gtk_1selection_1data_1set_FUNC,
-	_1gtk_1separator_1menu_1item_1new_FUNC,
-	_1gtk_1set_1locale_FUNC,
-	_1gtk_1settings_1get_1default_FUNC,
-	_1gtk_1socket_1get_1id_FUNC,
-	_1gtk_1socket_1new_FUNC,
-	_1gtk_1spin_1button_1get_1adjustment_FUNC,
-	_1gtk_1spin_1button_1get_1digits_FUNC,
-	_1gtk_1spin_1button_1new_FUNC,
-	_1gtk_1spin_1button_1set_1digits_FUNC,
-	_1gtk_1spin_1button_1set_1increments_FUNC,
-	_1gtk_1spin_1button_1set_1range_FUNC,
-	_1gtk_1spin_1button_1set_1value_FUNC,
-	_1gtk_1spin_1button_1set_1wrap_FUNC,
-	_1gtk_1style_1get_1base_FUNC,
-	_1gtk_1style_1get_1bg_FUNC,
-	_1gtk_1style_1get_1bg_1gc_FUNC,
-	_1gtk_1style_1get_1black_FUNC,
-	_1gtk_1style_1get_1black_1gc_FUNC,
-	_1gtk_1style_1get_1dark_FUNC,
-	_1gtk_1style_1get_1dark_1gc_FUNC,
-	_1gtk_1style_1get_1fg_FUNC,
-	_1gtk_1style_1get_1fg_1gc_FUNC,
-	_1gtk_1style_1get_1font_1desc_FUNC,
-	_1gtk_1style_1get_1light_FUNC,
-	_1gtk_1style_1get_1light_1gc_FUNC,
-	_1gtk_1style_1get_1mid_1gc_FUNC,
-	_1gtk_1style_1get_1text_FUNC,
-	_1gtk_1style_1get_1text_1aa_1gc_FUNC,
-	_1gtk_1style_1get_1text_1gc_FUNC,
-	_1gtk_1style_1get_1white_1gc_FUNC,
-	_1gtk_1style_1get_1xthickness_FUNC,
-	_1gtk_1style_1get_1ythickness_FUNC,
-	_1gtk_1style_1render_1icon_FUNC,
-	_1gtk_1target_1list_1new_FUNC,
-	_1gtk_1target_1list_1unref_FUNC,
-	_1gtk_1text_1buffer_1copy_1clipboard_FUNC,
-	_1gtk_1text_1buffer_1cut_1clipboard_FUNC,
-	_1gtk_1text_1buffer_1delete_FUNC,
-	_1gtk_1text_1buffer_1get_1bounds_FUNC,
-	_1gtk_1text_1buffer_1get_1char_1count_FUNC,
-	_1gtk_1text_1buffer_1get_1end_1iter_FUNC,
-	_1gtk_1text_1buffer_1get_1insert_FUNC,
-	_1gtk_1text_1buffer_1get_1iter_1at_1line_FUNC,
-	_1gtk_1text_1buffer_1get_1iter_1at_1mark_FUNC,
-	_1gtk_1text_1buffer_1get_1iter_1at_1offset_FUNC,
-	_1gtk_1text_1buffer_1get_1line_1count_FUNC,
-	_1gtk_1text_1buffer_1get_1selection_1bound_FUNC,
-	_1gtk_1text_1buffer_1get_1selection_1bounds_FUNC,
-	_1gtk_1text_1buffer_1get_1text_FUNC,
-	_1gtk_1text_1buffer_1insert__II_3BI_FUNC,
-	_1gtk_1text_1buffer_1insert__I_3B_3BI_FUNC,
-	_1gtk_1text_1buffer_1move_1mark_FUNC,
-	_1gtk_1text_1buffer_1paste_1clipboard_FUNC,
-	_1gtk_1text_1buffer_1place_1cursor_FUNC,
-	_1gtk_1text_1buffer_1set_1text_FUNC,
-	_1gtk_1text_1iter_1get_1line_FUNC,
-	_1gtk_1text_1iter_1get_1offset_FUNC,
-	_1gtk_1text_1view_1buffer_1to_1window_1coords_FUNC,
-	_1gtk_1text_1view_1get_1buffer_FUNC,
-	_1gtk_1text_1view_1get_1editable_FUNC,
-	_1gtk_1text_1view_1get_1iter_1at_1location_FUNC,
-	_1gtk_1text_1view_1get_1iter_1location_FUNC,
-	_1gtk_1text_1view_1get_1line_1at_1y_FUNC,
-	_1gtk_1text_1view_1get_1visible_1rect_FUNC,
-	_1gtk_1text_1view_1get_1window_FUNC,
-	_1gtk_1text_1view_1new_FUNC,
-	_1gtk_1text_1view_1scroll_1mark_1onscreen_FUNC,
-	_1gtk_1text_1view_1scroll_1to_1iter_FUNC,
-	_1gtk_1text_1view_1set_1editable_FUNC,
-	_1gtk_1text_1view_1set_1justification_FUNC,
-	_1gtk_1text_1view_1set_1tabs_FUNC,
-	_1gtk_1text_1view_1set_1wrap_1mode_FUNC,
-	_1gtk_1text_1view_1window_1to_1buffer_1coords_FUNC,
-	_1gtk_1timeout_1add_FUNC,
-	_1gtk_1timeout_1remove_FUNC,
-	_1gtk_1toggle_1button_1get_1active_FUNC,
-	_1gtk_1toggle_1button_1new_FUNC,
-	_1gtk_1toggle_1button_1set_1active_FUNC,
-	_1gtk_1toggle_1button_1set_1mode_FUNC,
-	_1gtk_1toolbar_1insert_1widget_FUNC,
-	_1gtk_1toolbar_1new_FUNC,
-	_1gtk_1toolbar_1set_1orientation_FUNC,
-	_1gtk_1tooltips_1data_1get_FUNC,
-	_1gtk_1tooltips_1disable_FUNC,
-	_1gtk_1tooltips_1enable_FUNC,
-	_1gtk_1tooltips_1force_1window_FUNC,
-	_1gtk_1tooltips_1new_FUNC,
-	_1gtk_1tooltips_1set_1tip_FUNC,
-	_1gtk_1tree_1model_1get__III_3II_FUNC,
-	_1gtk_1tree_1model_1get__III_3JI_FUNC,
-	_1gtk_1tree_1model_1get_1iter_FUNC,
-	_1gtk_1tree_1model_1get_1iter_1first_FUNC,
-	_1gtk_1tree_1model_1get_1n_1columns_FUNC,
-	_1gtk_1tree_1model_1get_1path_FUNC,
-	_1gtk_1tree_1model_1get_1type_FUNC,
-	_1gtk_1tree_1model_1iter_1children_FUNC,
-	_1gtk_1tree_1model_1iter_1n_1children_FUNC,
-	_1gtk_1tree_1model_1iter_1next_FUNC,
-	_1gtk_1tree_1model_1iter_1nth_1child_FUNC,
-	_1gtk_1tree_1path_1append_1index_FUNC,
-	_1gtk_1tree_1path_1compare_FUNC,
-	_1gtk_1tree_1path_1down_FUNC,
-	_1gtk_1tree_1path_1free_FUNC,
-	_1gtk_1tree_1path_1get_1depth_FUNC,
-	_1gtk_1tree_1path_1get_1indices_FUNC,
-	_1gtk_1tree_1path_1new_FUNC,
-	_1gtk_1tree_1path_1new_1first_FUNC,
-	_1gtk_1tree_1path_1new_1from_1string__I_FUNC,
-	_1gtk_1tree_1path_1new_1from_1string___3B_FUNC,
-	_1gtk_1tree_1path_1next_FUNC,
-	_1gtk_1tree_1path_1prev_FUNC,
-	_1gtk_1tree_1path_1up_FUNC,
-	_1gtk_1tree_1selection_1count_1selected_1rows_FUNC,
-	_1gtk_1tree_1selection_1get_1selected_FUNC,
-	_1gtk_1tree_1selection_1get_1selected_1rows_FUNC,
-	_1gtk_1tree_1selection_1path_1is_1selected_FUNC,
-	_1gtk_1tree_1selection_1select_1all_FUNC,
-	_1gtk_1tree_1selection_1select_1iter_FUNC,
-	_1gtk_1tree_1selection_1selected_1foreach_FUNC,
-	_1gtk_1tree_1selection_1set_1mode_FUNC,
-	_1gtk_1tree_1selection_1unselect_1all_FUNC,
-	_1gtk_1tree_1selection_1unselect_1iter_FUNC,
-	_1gtk_1tree_1store_1append_FUNC,
-	_1gtk_1tree_1store_1clear_FUNC,
-	_1gtk_1tree_1store_1insert_FUNC,
-	_1gtk_1tree_1store_1newv_FUNC,
-	_1gtk_1tree_1store_1remove_FUNC,
-	_1gtk_1tree_1store_1set__IIIII_FUNC,
-	_1gtk_1tree_1store_1set__IIIJI_FUNC,
-	_1gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I_FUNC,
-	_1gtk_1tree_1store_1set__IIIZI_FUNC,
-	_1gtk_1tree_1store_1set__III_3BI_FUNC,
-	_1gtk_1tree_1view_1collapse_1row_FUNC,
-	_1gtk_1tree_1view_1column_1add_1attribute_FUNC,
-	_1gtk_1tree_1view_1column_1cell_1get_1position_FUNC,
-	_1gtk_1tree_1view_1column_1cell_1get_1size_FUNC,
-	_1gtk_1tree_1view_1column_1cell_1set_1cell_1data_FUNC,
-	_1gtk_1tree_1view_1column_1clear_FUNC,
-	_1gtk_1tree_1view_1column_1get_1cell_1renderers_FUNC,
-	_1gtk_1tree_1view_1column_1get_1fixed_1width_FUNC,
-	_1gtk_1tree_1view_1column_1get_1reorderable_FUNC,
-	_1gtk_1tree_1view_1column_1get_1resizable_FUNC,
-	_1gtk_1tree_1view_1column_1get_1sizing_FUNC,
-	_1gtk_1tree_1view_1column_1get_1sort_1indicator_FUNC,
-	_1gtk_1tree_1view_1column_1get_1sort_1order_FUNC,
-	_1gtk_1tree_1view_1column_1get_1spacing_FUNC,
-	_1gtk_1tree_1view_1column_1get_1visible_FUNC,
-	_1gtk_1tree_1view_1column_1get_1width_FUNC,
-	_1gtk_1tree_1view_1column_1new_FUNC,
-	_1gtk_1tree_1view_1column_1pack_1end_FUNC,
-	_1gtk_1tree_1view_1column_1pack_1start_FUNC,
-	_1gtk_1tree_1view_1column_1set_1alignment_FUNC,
-	_1gtk_1tree_1view_1column_1set_1cell_1data_1func_FUNC,
-	_1gtk_1tree_1view_1column_1set_1clickable_FUNC,
-	_1gtk_1tree_1view_1column_1set_1fixed_1width_FUNC,
-	_1gtk_1tree_1view_1column_1set_1min_1width_FUNC,
-	_1gtk_1tree_1view_1column_1set_1reorderable_FUNC,
-	_1gtk_1tree_1view_1column_1set_1resizable_FUNC,
-	_1gtk_1tree_1view_1column_1set_1sizing_FUNC,
-	_1gtk_1tree_1view_1column_1set_1sort_1indicator_FUNC,
-	_1gtk_1tree_1view_1column_1set_1sort_1order_FUNC,
-	_1gtk_1tree_1view_1column_1set_1title_FUNC,
-	_1gtk_1tree_1view_1column_1set_1visible_FUNC,
-	_1gtk_1tree_1view_1column_1set_1widget_FUNC,
-	_1gtk_1tree_1view_1create_1row_1drag_1icon_FUNC,
-	_1gtk_1tree_1view_1expand_1row_FUNC,
-	_1gtk_1tree_1view_1get_1background_1area_FUNC,
-	_1gtk_1tree_1view_1get_1bin_1window_FUNC,
-	_1gtk_1tree_1view_1get_1cell_1area_FUNC,
-	_1gtk_1tree_1view_1get_1column_FUNC,
-	_1gtk_1tree_1view_1get_1columns_FUNC,
-	_1gtk_1tree_1view_1get_1cursor_FUNC,
-	_1gtk_1tree_1view_1get_1expander_1column_FUNC,
-	_1gtk_1tree_1view_1get_1headers_1visible_FUNC,
-	_1gtk_1tree_1view_1get_1path_1at_1pos_FUNC,
-	_1gtk_1tree_1view_1get_1rules_1hint_FUNC,
-	_1gtk_1tree_1view_1get_1selection_FUNC,
-	_1gtk_1tree_1view_1get_1visible_1rect_FUNC,
-	_1gtk_1tree_1view_1insert_1column_FUNC,
-	_1gtk_1tree_1view_1move_1column_1after_FUNC,
-	_1gtk_1tree_1view_1new_1with_1model_FUNC,
-	_1gtk_1tree_1view_1remove_1column_FUNC,
-	_1gtk_1tree_1view_1row_1expanded_FUNC,
-	_1gtk_1tree_1view_1scroll_1to_1cell_FUNC,
-	_1gtk_1tree_1view_1scroll_1to_1point_FUNC,
-	_1gtk_1tree_1view_1set_1cursor_FUNC,
-	_1gtk_1tree_1view_1set_1drag_1dest_1row_FUNC,
-	_1gtk_1tree_1view_1set_1enable_1search_FUNC,
-	_1gtk_1tree_1view_1set_1headers_1visible_FUNC,
-	_1gtk_1tree_1view_1set_1model_FUNC,
-	_1gtk_1tree_1view_1set_1rules_1hint_FUNC,
-	_1gtk_1tree_1view_1set_1search_1column_FUNC,
-	_1gtk_1tree_1view_1tree_1to_1widget_1coords_FUNC,
-	_1gtk_1tree_1view_1unset_1rows_1drag_1dest_FUNC,
-	_1gtk_1tree_1view_1widget_1to_1tree_1coords_FUNC,
-	_1gtk_1vbox_1new_FUNC,
-	_1gtk_1vscale_1new_FUNC,
-	_1gtk_1vscrollbar_1new_FUNC,
-	_1gtk_1vseparator_1new_FUNC,
-	_1gtk_1widget_1add_1accelerator_FUNC,
-	_1gtk_1widget_1add_1events_FUNC,
-	_1gtk_1widget_1child_1focus_FUNC,
-	_1gtk_1widget_1create_1pango_1layout__II_FUNC,
-	_1gtk_1widget_1create_1pango_1layout__I_3B_FUNC,
-	_1gtk_1widget_1destroy_FUNC,
-	_1gtk_1widget_1event_FUNC,
-	_1gtk_1widget_1get_1accessible_FUNC,
-	_1gtk_1widget_1get_1child_1visible_FUNC,
-	_1gtk_1widget_1get_1default_1direction_FUNC,
-	_1gtk_1widget_1get_1default_1style_FUNC,
-	_1gtk_1widget_1get_1direction_FUNC,
-	_1gtk_1widget_1get_1events_FUNC,
-	_1gtk_1widget_1get_1modifier_1style_FUNC,
-	_1gtk_1widget_1get_1pango_1context_FUNC,
-	_1gtk_1widget_1get_1parent_FUNC,
-	_1gtk_1widget_1get_1size_1request_FUNC,
-	_1gtk_1widget_1get_1style_FUNC,
-	_1gtk_1widget_1get_1toplevel_FUNC,
-	_1gtk_1widget_1grab_1focus_FUNC,
-	_1gtk_1widget_1hide_FUNC,
-	_1gtk_1widget_1is_1focus_FUNC,
-	_1gtk_1widget_1map_FUNC,
-	_1gtk_1widget_1mnemonic_1activate_FUNC,
-	_1gtk_1widget_1modify_1base_FUNC,
-	_1gtk_1widget_1modify_1bg_FUNC,
-	_1gtk_1widget_1modify_1fg_FUNC,
-	_1gtk_1widget_1modify_1font_FUNC,
-	_1gtk_1widget_1modify_1style_FUNC,
-	_1gtk_1widget_1modify_1text_FUNC,
-	_1gtk_1widget_1queue_1resize_FUNC,
-	_1gtk_1widget_1realize_FUNC,
-	_1gtk_1widget_1remove_1accelerator_FUNC,
-	_1gtk_1widget_1reparent_FUNC,
-	_1gtk_1widget_1set_1app_1paintable_FUNC,
-	_1gtk_1widget_1set_1default_1direction_FUNC,
-	_1gtk_1widget_1set_1direction_FUNC,
-	_1gtk_1widget_1set_1double_1buffered_FUNC,
-	_1gtk_1widget_1set_1name_FUNC,
-	_1gtk_1widget_1set_1parent_1window_FUNC,
-	_1gtk_1widget_1set_1redraw_1on_1allocate_FUNC,
-	_1gtk_1widget_1set_1sensitive_FUNC,
-	_1gtk_1widget_1set_1size_1request_FUNC,
-	_1gtk_1widget_1set_1state_FUNC,
-	_1gtk_1widget_1set_1style_FUNC,
-	_1gtk_1widget_1shape_1combine_1mask_FUNC,
-	_1gtk_1widget_1show_FUNC,
-	_1gtk_1widget_1show_1now_FUNC,
-	_1gtk_1widget_1size_1allocate_FUNC,
-	_1gtk_1widget_1size_1request_FUNC,
-	_1gtk_1widget_1style_1get__I_3B_3II_FUNC,
-	_1gtk_1widget_1style_1get__I_3B_3JI_FUNC,
-	_1gtk_1widget_1translate_1coordinates_FUNC,
-	_1gtk_1widget_1unrealize_FUNC,
-	_1gtk_1window_1activate_1default_FUNC,
-	_1gtk_1window_1add_1accel_1group_FUNC,
-	_1gtk_1window_1deiconify_FUNC,
-	_1gtk_1window_1get_1focus_FUNC,
-	_1gtk_1window_1get_1icon_1list_FUNC,
-	_1gtk_1window_1get_1mnemonic_1modifier_FUNC,
-	_1gtk_1window_1get_1modal_FUNC,
-	_1gtk_1window_1get_1position_FUNC,
-	_1gtk_1window_1get_1size_FUNC,
-	_1gtk_1window_1iconify_FUNC,
-	_1gtk_1window_1maximize_FUNC,
-	_1gtk_1window_1move_FUNC,
-	_1gtk_1window_1new_FUNC,
-	_1gtk_1window_1present_FUNC,
-	_1gtk_1window_1remove_1accel_1group_FUNC,
-	_1gtk_1window_1resize_FUNC,
-	_1gtk_1window_1set_1default_FUNC,
-	_1gtk_1window_1set_1destroy_1with_1parent_FUNC,
-	_1gtk_1window_1set_1geometry_1hints_FUNC,
-	_1gtk_1window_1set_1icon_1list_FUNC,
-	_1gtk_1window_1set_1modal_FUNC,
-	_1gtk_1window_1set_1resizable_FUNC,
-	_1gtk_1window_1set_1title_FUNC,
-	_1gtk_1window_1set_1transient_1for_FUNC,
-	_1gtk_1window_1set_1type_1hint_FUNC,
-	_1gtk_1window_1unmaximize_FUNC,
-	_1pango_1attr_1background_1new_FUNC,
-	_1pango_1attr_1font_1desc_1new_FUNC,
-	_1pango_1attr_1foreground_1new_FUNC,
-	_1pango_1attr_1list_1change_FUNC,
-	_1pango_1attr_1list_1insert_FUNC,
-	_1pango_1attr_1list_1new_FUNC,
-	_1pango_1attr_1list_1unref_FUNC,
-	_1pango_1attr_1rise_1new_FUNC,
-	_1pango_1attr_1shape_1new_FUNC,
-	_1pango_1attr_1strikethrough_1new_FUNC,
-	_1pango_1attr_1underline_1new_FUNC,
-	_1pango_1attr_1weight_1new_FUNC,
-	_1pango_1cairo_1create_1layout_FUNC,
-	_1pango_1cairo_1font_1map_1create_1context_FUNC,
-	_1pango_1cairo_1font_1map_1get_1default_FUNC,
-	_1pango_1cairo_1font_1map_1new_FUNC,
-	_1pango_1cairo_1layout_1path_FUNC,
-	_1pango_1cairo_1show_1layout_FUNC,
-	_1pango_1context_1get_1base_1dir_FUNC,
-	_1pango_1context_1get_1language_FUNC,
-	_1pango_1context_1get_1metrics_FUNC,
-	_1pango_1context_1list_1families_FUNC,
-	_1pango_1context_1set_1base_1dir_FUNC,
-	_1pango_1context_1set_1language_FUNC,
-	_1pango_1font_1description_1copy_FUNC,
-	_1pango_1font_1description_1free_FUNC,
-	_1pango_1font_1description_1from_1string_FUNC,
-	_1pango_1font_1description_1get_1family_FUNC,
-	_1pango_1font_1description_1get_1size_FUNC,
-	_1pango_1font_1description_1get_1style_FUNC,
-	_1pango_1font_1description_1get_1weight_FUNC,
-	_1pango_1font_1description_1new_FUNC,
-	_1pango_1font_1description_1set_1family_FUNC,
-	_1pango_1font_1description_1set_1size_FUNC,
-	_1pango_1font_1description_1set_1stretch_FUNC,
-	_1pango_1font_1description_1set_1style_FUNC,
-	_1pango_1font_1description_1set_1weight_FUNC,
-	_1pango_1font_1description_1to_1string_FUNC,
-	_1pango_1font_1face_1describe_FUNC,
-	_1pango_1font_1family_1get_1name_FUNC,
-	_1pango_1font_1family_1list_1faces_FUNC,
-	_1pango_1font_1get_1metrics_FUNC,
-	_1pango_1font_1metrics_1get_1approximate_1char_1width_FUNC,
-	_1pango_1font_1metrics_1get_1ascent_FUNC,
-	_1pango_1font_1metrics_1get_1descent_FUNC,
-	_1pango_1font_1metrics_1unref_FUNC,
-	_1pango_1language_1from_1string_FUNC,
-	_1pango_1layout_1context_1changed_FUNC,
-	_1pango_1layout_1get_1alignment_FUNC,
-	_1pango_1layout_1get_1attributes_FUNC,
-	_1pango_1layout_1get_1context_FUNC,
-	_1pango_1layout_1get_1indent_FUNC,
-	_1pango_1layout_1get_1iter_FUNC,
-	_1pango_1layout_1get_1justify_FUNC,
-	_1pango_1layout_1get_1line_FUNC,
-	_1pango_1layout_1get_1line_1count_FUNC,
-	_1pango_1layout_1get_1log_1attrs_FUNC,
-	_1pango_1layout_1get_1size_FUNC,
-	_1pango_1layout_1get_1spacing_FUNC,
-	_1pango_1layout_1get_1tabs_FUNC,
-	_1pango_1layout_1get_1text_FUNC,
-	_1pango_1layout_1get_1width_FUNC,
-	_1pango_1layout_1index_1to_1pos_FUNC,
-	_1pango_1layout_1iter_1free_FUNC,
-	_1pango_1layout_1iter_1get_1index_FUNC,
-	_1pango_1layout_1iter_1get_1line_1extents_FUNC,
-	_1pango_1layout_1iter_1get_1run_FUNC,
-	_1pango_1layout_1iter_1next_1line_FUNC,
-	_1pango_1layout_1iter_1next_1run_FUNC,
-	_1pango_1layout_1line_1get_1extents_FUNC,
-	_1pango_1layout_1line_1x_1to_1index_FUNC,
-	_1pango_1layout_1new_FUNC,
-	_1pango_1layout_1set_1alignment_FUNC,
-	_1pango_1layout_1set_1attributes_FUNC,
-	_1pango_1layout_1set_1auto_1dir_FUNC,
-	_1pango_1layout_1set_1font_1description_FUNC,
-	_1pango_1layout_1set_1indent_FUNC,
-	_1pango_1layout_1set_1justify_FUNC,
-	_1pango_1layout_1set_1single_1paragraph_1mode_FUNC,
-	_1pango_1layout_1set_1spacing_FUNC,
-	_1pango_1layout_1set_1tabs_FUNC,
-	_1pango_1layout_1set_1text_FUNC,
-	_1pango_1layout_1set_1width_FUNC,
-	_1pango_1layout_1set_1wrap_FUNC,
-	_1pango_1layout_1xy_1to_1index_FUNC,
-	_1pango_1tab_1array_1free_FUNC,
-	_1pango_1tab_1array_1get_1size_FUNC,
-	_1pango_1tab_1array_1get_1tabs_FUNC,
-	_1pango_1tab_1array_1new_FUNC,
-	_1pango_1tab_1array_1set_1tab_FUNC,
-	g_1main_1context_1wakeup_FUNC,
-	getenv_FUNC,
-	localeconv_1decimal_1point_FUNC,
-	memmove__III_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GObjectClass_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GTypeInfo_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_GtkWidgetClass_2_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_PangoAttribute_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_XCrossingEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_XExposeEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2I_FUNC,
-	memmove__I_3BI_FUNC,
-	memmove__I_3CI_FUNC,
-	memmove__I_3DI_FUNC,
-	memmove__I_3II_FUNC,
-	memmove__I_3JI_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GObjectClass_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GTypeQuery_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventAny_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventVisibility_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2I_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2II_FUNC,
-	memmove___3BII_FUNC,
-	memmove___3CII_FUNC,
-	memmove___3III_FUNC,
-	memmove___3I_3BI_FUNC,
-	memmove___3JII_FUNC,
-	memset_FUNC,
-	strlen_FUNC,
-} OS_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.c
deleted file mode 100644
index dd0cf7f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.c
+++ /dev/null
@@ -1,2749 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-
-#ifndef NO_GInterfaceInfo
-typedef struct GInterfaceInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID interface_init, interface_finalize, interface_data;
-} GInterfaceInfo_FID_CACHE;
-
-GInterfaceInfo_FID_CACHE GInterfaceInfoFc;
-
-void cacheGInterfaceInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (GInterfaceInfoFc.cached) return;
-	GInterfaceInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GInterfaceInfoFc.interface_init = (*env)->GetFieldID(env, GInterfaceInfoFc.clazz, "interface_init", "I");
-	GInterfaceInfoFc.interface_finalize = (*env)->GetFieldID(env, GInterfaceInfoFc.clazz, "interface_finalize", "I");
-	GInterfaceInfoFc.interface_data = (*env)->GetFieldID(env, GInterfaceInfoFc.clazz, "interface_data", "I");
-	GInterfaceInfoFc.cached = 1;
-}
-
-GInterfaceInfo *getGInterfaceInfoFields(JNIEnv *env, jobject lpObject, GInterfaceInfo *lpStruct)
-{
-	if (!GInterfaceInfoFc.cached) cacheGInterfaceInfoFields(env, lpObject);
-	lpStruct->interface_init = (GInterfaceInitFunc)(*env)->GetIntField(env, lpObject, GInterfaceInfoFc.interface_init);
-	lpStruct->interface_finalize = (GInterfaceFinalizeFunc)(*env)->GetIntField(env, lpObject, GInterfaceInfoFc.interface_finalize);
-	lpStruct->interface_data = (gpointer)(*env)->GetIntField(env, lpObject, GInterfaceInfoFc.interface_data);
-	return lpStruct;
-}
-
-void setGInterfaceInfoFields(JNIEnv *env, jobject lpObject, GInterfaceInfo *lpStruct)
-{
-	if (!GInterfaceInfoFc.cached) cacheGInterfaceInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GInterfaceInfoFc.interface_init, (jint)lpStruct->interface_init);
-	(*env)->SetIntField(env, lpObject, GInterfaceInfoFc.interface_finalize, (jint)lpStruct->interface_finalize);
-	(*env)->SetIntField(env, lpObject, GInterfaceInfoFc.interface_data, (jint)lpStruct->interface_data);
-}
-#endif
-
-#ifndef NO_GObjectClass
-typedef struct GObjectClass_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID constructor, set_property, get_property, dispose, finalize, dispatch_properties_changed, notify;
-} GObjectClass_FID_CACHE;
-
-GObjectClass_FID_CACHE GObjectClassFc;
-
-void cacheGObjectClassFields(JNIEnv *env, jobject lpObject)
-{
-	if (GObjectClassFc.cached) return;
-	GObjectClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GObjectClassFc.constructor = (*env)->GetFieldID(env, GObjectClassFc.clazz, "constructor", "I");
-	GObjectClassFc.set_property = (*env)->GetFieldID(env, GObjectClassFc.clazz, "set_property", "I");
-	GObjectClassFc.get_property = (*env)->GetFieldID(env, GObjectClassFc.clazz, "get_property", "I");
-	GObjectClassFc.dispose = (*env)->GetFieldID(env, GObjectClassFc.clazz, "dispose", "I");
-	GObjectClassFc.finalize = (*env)->GetFieldID(env, GObjectClassFc.clazz, "finalize", "I");
-	GObjectClassFc.dispatch_properties_changed = (*env)->GetFieldID(env, GObjectClassFc.clazz, "dispatch_properties_changed", "I");
-	GObjectClassFc.notify = (*env)->GetFieldID(env, GObjectClassFc.clazz, "notify", "I");
-	GObjectClassFc.cached = 1;
-}
-
-GObjectClass *getGObjectClassFields(JNIEnv *env, jobject lpObject, GObjectClass *lpStruct)
-{
-	if (!GObjectClassFc.cached) cacheGObjectClassFields(env, lpObject);
-	lpStruct->constructor = (GObject *(*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.constructor);
-	lpStruct->set_property = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.set_property);
-	lpStruct->get_property = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.get_property);
-	lpStruct->dispose = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.dispose);
-	lpStruct->finalize = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.finalize);
-	lpStruct->dispatch_properties_changed = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.dispatch_properties_changed);
-	lpStruct->notify = (void (*)())(*env)->GetIntField(env, lpObject, GObjectClassFc.notify);
-	return lpStruct;
-}
-
-void setGObjectClassFields(JNIEnv *env, jobject lpObject, GObjectClass *lpStruct)
-{
-	if (!GObjectClassFc.cached) cacheGObjectClassFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.constructor, (jint)lpStruct->constructor);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.set_property, (jint)lpStruct->set_property);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.get_property, (jint)lpStruct->get_property);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.dispose, (jint)lpStruct->dispose);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.finalize, (jint)lpStruct->finalize);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.dispatch_properties_changed, (jint)lpStruct->dispatch_properties_changed);
-	(*env)->SetIntField(env, lpObject, GObjectClassFc.notify, (jint)lpStruct->notify);
-}
-#endif
-
-#ifndef NO_GTypeInfo
-typedef struct GTypeInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID class_size, base_init, base_finalize, class_init, class_finalize, class_data, instance_size, n_preallocs, instance_init, value_table;
-} GTypeInfo_FID_CACHE;
-
-GTypeInfo_FID_CACHE GTypeInfoFc;
-
-void cacheGTypeInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (GTypeInfoFc.cached) return;
-	GTypeInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GTypeInfoFc.class_size = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "class_size", "S");
-	GTypeInfoFc.base_init = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "base_init", "I");
-	GTypeInfoFc.base_finalize = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "base_finalize", "I");
-	GTypeInfoFc.class_init = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "class_init", "I");
-	GTypeInfoFc.class_finalize = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "class_finalize", "I");
-	GTypeInfoFc.class_data = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "class_data", "I");
-	GTypeInfoFc.instance_size = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "instance_size", "S");
-	GTypeInfoFc.n_preallocs = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "n_preallocs", "S");
-	GTypeInfoFc.instance_init = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "instance_init", "I");
-	GTypeInfoFc.value_table = (*env)->GetFieldID(env, GTypeInfoFc.clazz, "value_table", "I");
-	GTypeInfoFc.cached = 1;
-}
-
-GTypeInfo *getGTypeInfoFields(JNIEnv *env, jobject lpObject, GTypeInfo *lpStruct)
-{
-	if (!GTypeInfoFc.cached) cacheGTypeInfoFields(env, lpObject);
-	lpStruct->class_size = (guint16)(*env)->GetShortField(env, lpObject, GTypeInfoFc.class_size);
-	lpStruct->base_init = (GBaseInitFunc)(*env)->GetIntField(env, lpObject, GTypeInfoFc.base_init);
-	lpStruct->base_finalize = (GBaseFinalizeFunc)(*env)->GetIntField(env, lpObject, GTypeInfoFc.base_finalize);
-	lpStruct->class_init = (GClassInitFunc)(*env)->GetIntField(env, lpObject, GTypeInfoFc.class_init);
-	lpStruct->class_finalize = (GClassFinalizeFunc)(*env)->GetIntField(env, lpObject, GTypeInfoFc.class_finalize);
-	lpStruct->class_data = (gconstpointer)(*env)->GetIntField(env, lpObject, GTypeInfoFc.class_data);
-	lpStruct->instance_size = (guint16)(*env)->GetShortField(env, lpObject, GTypeInfoFc.instance_size);
-	lpStruct->n_preallocs = (guint16)(*env)->GetShortField(env, lpObject, GTypeInfoFc.n_preallocs);
-	lpStruct->instance_init = (GInstanceInitFunc)(*env)->GetIntField(env, lpObject, GTypeInfoFc.instance_init);
-	lpStruct->value_table = (GTypeValueTable *)(*env)->GetIntField(env, lpObject, GTypeInfoFc.value_table);
-	return lpStruct;
-}
-
-void setGTypeInfoFields(JNIEnv *env, jobject lpObject, GTypeInfo *lpStruct)
-{
-	if (!GTypeInfoFc.cached) cacheGTypeInfoFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, GTypeInfoFc.class_size, (jshort)lpStruct->class_size);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.base_init, (jint)lpStruct->base_init);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.base_finalize, (jint)lpStruct->base_finalize);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.class_init, (jint)lpStruct->class_init);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.class_finalize, (jint)lpStruct->class_finalize);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.class_data, (jint)lpStruct->class_data);
-	(*env)->SetShortField(env, lpObject, GTypeInfoFc.instance_size, (jshort)lpStruct->instance_size);
-	(*env)->SetShortField(env, lpObject, GTypeInfoFc.n_preallocs, (jshort)lpStruct->n_preallocs);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.instance_init, (jint)lpStruct->instance_init);
-	(*env)->SetIntField(env, lpObject, GTypeInfoFc.value_table, (jint)lpStruct->value_table);
-}
-#endif
-
-#ifndef NO_GTypeQuery
-typedef struct GTypeQuery_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, type_name, class_size, instance_size;
-} GTypeQuery_FID_CACHE;
-
-GTypeQuery_FID_CACHE GTypeQueryFc;
-
-void cacheGTypeQueryFields(JNIEnv *env, jobject lpObject)
-{
-	if (GTypeQueryFc.cached) return;
-	GTypeQueryFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GTypeQueryFc.type = (*env)->GetFieldID(env, GTypeQueryFc.clazz, "type", "I");
-	GTypeQueryFc.type_name = (*env)->GetFieldID(env, GTypeQueryFc.clazz, "type_name", "I");
-	GTypeQueryFc.class_size = (*env)->GetFieldID(env, GTypeQueryFc.clazz, "class_size", "I");
-	GTypeQueryFc.instance_size = (*env)->GetFieldID(env, GTypeQueryFc.clazz, "instance_size", "I");
-	GTypeQueryFc.cached = 1;
-}
-
-GTypeQuery *getGTypeQueryFields(JNIEnv *env, jobject lpObject, GTypeQuery *lpStruct)
-{
-	if (!GTypeQueryFc.cached) cacheGTypeQueryFields(env, lpObject);
-	lpStruct->type = (GType)(*env)->GetIntField(env, lpObject, GTypeQueryFc.type);
-	lpStruct->type_name = (const gchar *)(*env)->GetIntField(env, lpObject, GTypeQueryFc.type_name);
-	lpStruct->class_size = (guint)(*env)->GetIntField(env, lpObject, GTypeQueryFc.class_size);
-	lpStruct->instance_size = (guint)(*env)->GetIntField(env, lpObject, GTypeQueryFc.instance_size);
-	return lpStruct;
-}
-
-void setGTypeQueryFields(JNIEnv *env, jobject lpObject, GTypeQuery *lpStruct)
-{
-	if (!GTypeQueryFc.cached) cacheGTypeQueryFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GTypeQueryFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, GTypeQueryFc.type_name, (jint)lpStruct->type_name);
-	(*env)->SetIntField(env, lpObject, GTypeQueryFc.class_size, (jint)lpStruct->class_size);
-	(*env)->SetIntField(env, lpObject, GTypeQueryFc.instance_size, (jint)lpStruct->instance_size);
-}
-#endif
-
-#ifndef NO_GdkColor
-typedef struct GdkColor_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pixel, red, green, blue;
-} GdkColor_FID_CACHE;
-
-GdkColor_FID_CACHE GdkColorFc;
-
-void cacheGdkColorFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkColorFc.cached) return;
-	GdkColorFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkColorFc.pixel = (*env)->GetFieldID(env, GdkColorFc.clazz, "pixel", "I");
-	GdkColorFc.red = (*env)->GetFieldID(env, GdkColorFc.clazz, "red", "S");
-	GdkColorFc.green = (*env)->GetFieldID(env, GdkColorFc.clazz, "green", "S");
-	GdkColorFc.blue = (*env)->GetFieldID(env, GdkColorFc.clazz, "blue", "S");
-	GdkColorFc.cached = 1;
-}
-
-GdkColor *getGdkColorFields(JNIEnv *env, jobject lpObject, GdkColor *lpStruct)
-{
-	if (!GdkColorFc.cached) cacheGdkColorFields(env, lpObject);
-	lpStruct->pixel = (guint32)(*env)->GetIntField(env, lpObject, GdkColorFc.pixel);
-	lpStruct->red = (guint16)(*env)->GetShortField(env, lpObject, GdkColorFc.red);
-	lpStruct->green = (guint16)(*env)->GetShortField(env, lpObject, GdkColorFc.green);
-	lpStruct->blue = (guint16)(*env)->GetShortField(env, lpObject, GdkColorFc.blue);
-	return lpStruct;
-}
-
-void setGdkColorFields(JNIEnv *env, jobject lpObject, GdkColor *lpStruct)
-{
-	if (!GdkColorFc.cached) cacheGdkColorFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkColorFc.pixel, (jint)lpStruct->pixel);
-	(*env)->SetShortField(env, lpObject, GdkColorFc.red, (jshort)lpStruct->red);
-	(*env)->SetShortField(env, lpObject, GdkColorFc.green, (jshort)lpStruct->green);
-	(*env)->SetShortField(env, lpObject, GdkColorFc.blue, (jshort)lpStruct->blue);
-}
-#endif
-
-#ifndef NO_GdkDragContext
-typedef struct GdkDragContext_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID protocol, is_source, source_window, dest_window, targets, actions, suggested_action, action, start_time;
-} GdkDragContext_FID_CACHE;
-
-GdkDragContext_FID_CACHE GdkDragContextFc;
-
-void cacheGdkDragContextFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkDragContextFc.cached) return;
-	GdkDragContextFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkDragContextFc.protocol = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "protocol", "I");
-	GdkDragContextFc.is_source = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "is_source", "Z");
-	GdkDragContextFc.source_window = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "source_window", "I");
-	GdkDragContextFc.dest_window = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "dest_window", "I");
-	GdkDragContextFc.targets = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "targets", "I");
-	GdkDragContextFc.actions = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "actions", "I");
-	GdkDragContextFc.suggested_action = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "suggested_action", "I");
-	GdkDragContextFc.action = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "action", "I");
-	GdkDragContextFc.start_time = (*env)->GetFieldID(env, GdkDragContextFc.clazz, "start_time", "I");
-	GdkDragContextFc.cached = 1;
-}
-
-GdkDragContext *getGdkDragContextFields(JNIEnv *env, jobject lpObject, GdkDragContext *lpStruct)
-{
-	if (!GdkDragContextFc.cached) cacheGdkDragContextFields(env, lpObject);
-	lpStruct->protocol = (GdkDragProtocol)(*env)->GetIntField(env, lpObject, GdkDragContextFc.protocol);
-	lpStruct->is_source = (gboolean)(*env)->GetBooleanField(env, lpObject, GdkDragContextFc.is_source);
-	lpStruct->source_window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkDragContextFc.source_window);
-	lpStruct->dest_window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkDragContextFc.dest_window);
-	lpStruct->targets = (GList *)(*env)->GetIntField(env, lpObject, GdkDragContextFc.targets);
-	lpStruct->actions = (GdkDragAction)(*env)->GetIntField(env, lpObject, GdkDragContextFc.actions);
-	lpStruct->suggested_action = (GdkDragAction)(*env)->GetIntField(env, lpObject, GdkDragContextFc.suggested_action);
-	lpStruct->action = (GdkDragAction)(*env)->GetIntField(env, lpObject, GdkDragContextFc.action);
-	lpStruct->start_time = (guint32)(*env)->GetIntField(env, lpObject, GdkDragContextFc.start_time);
-	return lpStruct;
-}
-
-void setGdkDragContextFields(JNIEnv *env, jobject lpObject, GdkDragContext *lpStruct)
-{
-	if (!GdkDragContextFc.cached) cacheGdkDragContextFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.protocol, (jint)lpStruct->protocol);
-	(*env)->SetBooleanField(env, lpObject, GdkDragContextFc.is_source, (jboolean)lpStruct->is_source);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.source_window, (jint)lpStruct->source_window);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.dest_window, (jint)lpStruct->dest_window);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.targets, (jint)lpStruct->targets);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.actions, (jint)lpStruct->actions);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.suggested_action, (jint)lpStruct->suggested_action);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.action, (jint)lpStruct->action);
-	(*env)->SetIntField(env, lpObject, GdkDragContextFc.start_time, (jint)lpStruct->start_time);
-}
-#endif
-
-#ifndef NO_GdkEvent
-typedef struct GdkEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type;
-} GdkEvent_FID_CACHE;
-
-GdkEvent_FID_CACHE GdkEventFc;
-
-void cacheGdkEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventFc.cached) return;
-	GdkEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventFc.type = (*env)->GetFieldID(env, GdkEventFc.clazz, "type", "I");
-	GdkEventFc.cached = 1;
-}
-
-GdkEvent *getGdkEventFields(JNIEnv *env, jobject lpObject, GdkEvent *lpStruct)
-{
-	if (!GdkEventFc.cached) cacheGdkEventFields(env, lpObject);
-	lpStruct->type = (GdkEventType)(*env)->GetIntField(env, lpObject, GdkEventFc.type);
-	return lpStruct;
-}
-
-void setGdkEventFields(JNIEnv *env, jobject lpObject, GdkEvent *lpStruct)
-{
-	if (!GdkEventFc.cached) cacheGdkEventFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkEventFc.type, (jint)lpStruct->type);
-}
-#endif
-
-#ifndef NO_GdkEventAny
-typedef struct GdkEventAny_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event;
-} GdkEventAny_FID_CACHE;
-
-GdkEventAny_FID_CACHE GdkEventAnyFc;
-
-void cacheGdkEventAnyFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventAnyFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventAnyFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventAnyFc.window = (*env)->GetFieldID(env, GdkEventAnyFc.clazz, "window", "I");
-	GdkEventAnyFc.send_event = (*env)->GetFieldID(env, GdkEventAnyFc.clazz, "send_event", "B");
-	GdkEventAnyFc.cached = 1;
-}
-
-GdkEventAny *getGdkEventAnyFields(JNIEnv *env, jobject lpObject, GdkEventAny *lpStruct)
-{
-	if (!GdkEventAnyFc.cached) cacheGdkEventAnyFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventAnyFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventAnyFc.send_event);
-	return lpStruct;
-}
-
-void setGdkEventAnyFields(JNIEnv *env, jobject lpObject, GdkEventAny *lpStruct)
-{
-	if (!GdkEventAnyFc.cached) cacheGdkEventAnyFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventAnyFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventAnyFc.send_event, (jbyte)lpStruct->send_event);
-}
-#endif
-
-#ifndef NO_GdkEventButton
-typedef struct GdkEventButton_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, time, x, y, axes, state, button, device, x_root, y_root;
-} GdkEventButton_FID_CACHE;
-
-GdkEventButton_FID_CACHE GdkEventButtonFc;
-
-void cacheGdkEventButtonFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventButtonFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventButtonFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventButtonFc.window = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "window", "I");
-	GdkEventButtonFc.send_event = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "send_event", "B");
-	GdkEventButtonFc.time = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "time", "I");
-	GdkEventButtonFc.x = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "x", "D");
-	GdkEventButtonFc.y = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "y", "D");
-	GdkEventButtonFc.axes = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "axes", "I");
-	GdkEventButtonFc.state = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "state", "I");
-	GdkEventButtonFc.button = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "button", "I");
-	GdkEventButtonFc.device = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "device", "I");
-	GdkEventButtonFc.x_root = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "x_root", "D");
-	GdkEventButtonFc.y_root = (*env)->GetFieldID(env, GdkEventButtonFc.clazz, "y_root", "D");
-	GdkEventButtonFc.cached = 1;
-}
-
-GdkEventButton *getGdkEventButtonFields(JNIEnv *env, jobject lpObject, GdkEventButton *lpStruct)
-{
-	if (!GdkEventButtonFc.cached) cacheGdkEventButtonFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventButtonFc.send_event);
-	lpStruct->time = (guint32)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.time);
-	lpStruct->x = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventButtonFc.x);
-	lpStruct->y = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventButtonFc.y);
-	lpStruct->axes = (gdouble *)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.axes);
-	lpStruct->state = (guint)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.state);
-	lpStruct->button = (guint)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.button);
-	lpStruct->device = (GdkDevice *)(*env)->GetIntField(env, lpObject, GdkEventButtonFc.device);
-	lpStruct->x_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventButtonFc.x_root);
-	lpStruct->y_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventButtonFc.y_root);
-	return lpStruct;
-}
-
-void setGdkEventButtonFields(JNIEnv *env, jobject lpObject, GdkEventButton *lpStruct)
-{
-	if (!GdkEventButtonFc.cached) cacheGdkEventButtonFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventButtonFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.time, (jint)lpStruct->time);
-	(*env)->SetDoubleField(env, lpObject, GdkEventButtonFc.x, (jdouble)lpStruct->x);
-	(*env)->SetDoubleField(env, lpObject, GdkEventButtonFc.y, (jdouble)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.axes, (jint)lpStruct->axes);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.button, (jint)lpStruct->button);
-	(*env)->SetIntField(env, lpObject, GdkEventButtonFc.device, (jint)lpStruct->device);
-	(*env)->SetDoubleField(env, lpObject, GdkEventButtonFc.x_root, (jdouble)lpStruct->x_root);
-	(*env)->SetDoubleField(env, lpObject, GdkEventButtonFc.y_root, (jdouble)lpStruct->y_root);
-}
-#endif
-
-#ifndef NO_GdkEventCrossing
-typedef struct GdkEventCrossing_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, subwindow, time, x, y, x_root, y_root, mode, detail, focus, state;
-} GdkEventCrossing_FID_CACHE;
-
-GdkEventCrossing_FID_CACHE GdkEventCrossingFc;
-
-void cacheGdkEventCrossingFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventCrossingFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventCrossingFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventCrossingFc.window = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "window", "I");
-	GdkEventCrossingFc.send_event = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "send_event", "B");
-	GdkEventCrossingFc.subwindow = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "subwindow", "I");
-	GdkEventCrossingFc.time = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "time", "I");
-	GdkEventCrossingFc.x = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "x", "D");
-	GdkEventCrossingFc.y = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "y", "D");
-	GdkEventCrossingFc.x_root = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "x_root", "D");
-	GdkEventCrossingFc.y_root = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "y_root", "D");
-	GdkEventCrossingFc.mode = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "mode", "I");
-	GdkEventCrossingFc.detail = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "detail", "I");
-	GdkEventCrossingFc.focus = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "focus", "Z");
-	GdkEventCrossingFc.state = (*env)->GetFieldID(env, GdkEventCrossingFc.clazz, "state", "I");
-	GdkEventCrossingFc.cached = 1;
-}
-
-GdkEventCrossing *getGdkEventCrossingFields(JNIEnv *env, jobject lpObject, GdkEventCrossing *lpStruct)
-{
-	if (!GdkEventCrossingFc.cached) cacheGdkEventCrossingFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventCrossingFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventCrossingFc.send_event);
-	lpStruct->subwindow = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventCrossingFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, GdkEventCrossingFc.time);
-	lpStruct->x = (*env)->GetDoubleField(env, lpObject, GdkEventCrossingFc.x);
-	lpStruct->y = (*env)->GetDoubleField(env, lpObject, GdkEventCrossingFc.y);
-	lpStruct->x_root = (*env)->GetDoubleField(env, lpObject, GdkEventCrossingFc.x_root);
-	lpStruct->y_root = (*env)->GetDoubleField(env, lpObject, GdkEventCrossingFc.y_root);
-	lpStruct->mode = (GdkCrossingMode)(*env)->GetIntField(env, lpObject, GdkEventCrossingFc.mode);
-	lpStruct->detail = (GdkNotifyType)(*env)->GetIntField(env, lpObject, GdkEventCrossingFc.detail);
-	lpStruct->focus = (gboolean)(*env)->GetBooleanField(env, lpObject, GdkEventCrossingFc.focus);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, GdkEventCrossingFc.state);
-	return lpStruct;
-}
-
-void setGdkEventCrossingFields(JNIEnv *env, jobject lpObject, GdkEventCrossing *lpStruct)
-{
-	if (!GdkEventCrossingFc.cached) cacheGdkEventCrossingFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventCrossingFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.time, (jint)lpStruct->time);
-	(*env)->SetDoubleField(env, lpObject, GdkEventCrossingFc.x, (jdouble)lpStruct->x);
-	(*env)->SetDoubleField(env, lpObject, GdkEventCrossingFc.y, (jdouble)lpStruct->y);
-	(*env)->SetDoubleField(env, lpObject, GdkEventCrossingFc.x_root, (jdouble)lpStruct->x_root);
-	(*env)->SetDoubleField(env, lpObject, GdkEventCrossingFc.y_root, (jdouble)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.detail, (jint)lpStruct->detail);
-	(*env)->SetBooleanField(env, lpObject, GdkEventCrossingFc.focus, (jboolean)lpStruct->focus);
-	(*env)->SetIntField(env, lpObject, GdkEventCrossingFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_GdkEventExpose
-typedef struct GdkEventExpose_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, area_x, area_y, area_width, area_height, region, count;
-} GdkEventExpose_FID_CACHE;
-
-GdkEventExpose_FID_CACHE GdkEventExposeFc;
-
-void cacheGdkEventExposeFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventExposeFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventExposeFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventExposeFc.window = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "window", "I");
-	GdkEventExposeFc.send_event = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "send_event", "B");
-	GdkEventExposeFc.area_x = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "area_x", "I");
-	GdkEventExposeFc.area_y = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "area_y", "I");
-	GdkEventExposeFc.area_width = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "area_width", "I");
-	GdkEventExposeFc.area_height = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "area_height", "I");
-	GdkEventExposeFc.region = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "region", "I");
-	GdkEventExposeFc.count = (*env)->GetFieldID(env, GdkEventExposeFc.clazz, "count", "I");
-	GdkEventExposeFc.cached = 1;
-}
-
-GdkEventExpose *getGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEventExpose *lpStruct)
-{
-	if (!GdkEventExposeFc.cached) cacheGdkEventExposeFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventExposeFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventExposeFc.send_event);
-	lpStruct->area.x = (*env)->GetIntField(env, lpObject, GdkEventExposeFc.area_x);
-	lpStruct->area.y = (*env)->GetIntField(env, lpObject, GdkEventExposeFc.area_y);
-	lpStruct->area.width = (*env)->GetIntField(env, lpObject, GdkEventExposeFc.area_width);
-	lpStruct->area.height = (*env)->GetIntField(env, lpObject, GdkEventExposeFc.area_height);
-	lpStruct->region = (GdkRegion *)(*env)->GetIntField(env, lpObject, GdkEventExposeFc.region);
-	lpStruct->count = (gint)(*env)->GetIntField(env, lpObject, GdkEventExposeFc.count);
-	return lpStruct;
-}
-
-void setGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEventExpose *lpStruct)
-{
-	if (!GdkEventExposeFc.cached) cacheGdkEventExposeFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventExposeFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.area_x, (jint)lpStruct->area.x);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.area_y, (jint)lpStruct->area.y);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.area_width, (jint)lpStruct->area.width);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.area_height, (jint)lpStruct->area.height);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.region, (jint)lpStruct->region);
-	(*env)->SetIntField(env, lpObject, GdkEventExposeFc.count, (jint)lpStruct->count);
-}
-#endif
-
-#ifndef NO_GdkEventFocus
-typedef struct GdkEventFocus_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, in;
-} GdkEventFocus_FID_CACHE;
-
-GdkEventFocus_FID_CACHE GdkEventFocusFc;
-
-void cacheGdkEventFocusFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventFocusFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventFocusFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventFocusFc.window = (*env)->GetFieldID(env, GdkEventFocusFc.clazz, "window", "I");
-	GdkEventFocusFc.send_event = (*env)->GetFieldID(env, GdkEventFocusFc.clazz, "send_event", "B");
-	GdkEventFocusFc.in = (*env)->GetFieldID(env, GdkEventFocusFc.clazz, "in", "S");
-	GdkEventFocusFc.cached = 1;
-}
-
-GdkEventFocus *getGdkEventFocusFields(JNIEnv *env, jobject lpObject, GdkEventFocus *lpStruct)
-{
-	if (!GdkEventFocusFc.cached) cacheGdkEventFocusFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventFocusFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventFocusFc.send_event);
-	lpStruct->in = (gint16)(*env)->GetShortField(env, lpObject, GdkEventFocusFc.in);
-	return lpStruct;
-}
-
-void setGdkEventFocusFields(JNIEnv *env, jobject lpObject, GdkEventFocus *lpStruct)
-{
-	if (!GdkEventFocusFc.cached) cacheGdkEventFocusFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventFocusFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventFocusFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetShortField(env, lpObject, GdkEventFocusFc.in, (jshort)lpStruct->in);
-}
-#endif
-
-#ifndef NO_GdkEventKey
-typedef struct GdkEventKey_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, time, state, keyval, length, string, hardware_keycode, group;
-} GdkEventKey_FID_CACHE;
-
-GdkEventKey_FID_CACHE GdkEventKeyFc;
-
-void cacheGdkEventKeyFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventKeyFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventKeyFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventKeyFc.window = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "window", "I");
-	GdkEventKeyFc.send_event = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "send_event", "B");
-	GdkEventKeyFc.time = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "time", "I");
-	GdkEventKeyFc.state = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "state", "I");
-	GdkEventKeyFc.keyval = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "keyval", "I");
-	GdkEventKeyFc.length = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "length", "I");
-	GdkEventKeyFc.string = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "string", "I");
-	GdkEventKeyFc.hardware_keycode = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "hardware_keycode", "S");
-	GdkEventKeyFc.group = (*env)->GetFieldID(env, GdkEventKeyFc.clazz, "group", "B");
-	GdkEventKeyFc.cached = 1;
-}
-
-GdkEventKey *getGdkEventKeyFields(JNIEnv *env, jobject lpObject, GdkEventKey *lpStruct)
-{
-	if (!GdkEventKeyFc.cached) cacheGdkEventKeyFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventKeyFc.send_event);
-	lpStruct->time = (guint32)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.time);
-	lpStruct->state = (guint)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.state);
-	lpStruct->keyval = (guint)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.keyval);
-	lpStruct->length = (gint)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.length);
-	lpStruct->string = (gchar *)(*env)->GetIntField(env, lpObject, GdkEventKeyFc.string);
-	lpStruct->hardware_keycode = (guint16)(*env)->GetShortField(env, lpObject, GdkEventKeyFc.hardware_keycode);
-	lpStruct->group = (guint8)(*env)->GetByteField(env, lpObject, GdkEventKeyFc.group);
-	return lpStruct;
-}
-
-void setGdkEventKeyFields(JNIEnv *env, jobject lpObject, GdkEventKey *lpStruct)
-{
-	if (!GdkEventKeyFc.cached) cacheGdkEventKeyFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventKeyFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.keyval, (jint)lpStruct->keyval);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, GdkEventKeyFc.string, (jint)lpStruct->string);
-	(*env)->SetShortField(env, lpObject, GdkEventKeyFc.hardware_keycode, (jshort)lpStruct->hardware_keycode);
-	(*env)->SetByteField(env, lpObject, GdkEventKeyFc.group, (jbyte)lpStruct->group);
-}
-#endif
-
-#ifndef NO_GdkEventMotion
-typedef struct GdkEventMotion_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, time, x, y, axes, state, is_hint, device, x_root, y_root;
-} GdkEventMotion_FID_CACHE;
-
-GdkEventMotion_FID_CACHE GdkEventMotionFc;
-
-void cacheGdkEventMotionFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventMotionFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventMotionFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventMotionFc.window = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "window", "I");
-	GdkEventMotionFc.send_event = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "send_event", "B");
-	GdkEventMotionFc.time = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "time", "I");
-	GdkEventMotionFc.x = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "x", "D");
-	GdkEventMotionFc.y = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "y", "D");
-	GdkEventMotionFc.axes = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "axes", "I");
-	GdkEventMotionFc.state = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "state", "I");
-	GdkEventMotionFc.is_hint = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "is_hint", "S");
-	GdkEventMotionFc.device = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "device", "I");
-	GdkEventMotionFc.x_root = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "x_root", "D");
-	GdkEventMotionFc.y_root = (*env)->GetFieldID(env, GdkEventMotionFc.clazz, "y_root", "D");
-	GdkEventMotionFc.cached = 1;
-}
-
-GdkEventMotion *getGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpStruct)
-{
-	if (!GdkEventMotionFc.cached) cacheGdkEventMotionFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventMotionFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventMotionFc.send_event);
-	lpStruct->time = (guint32)(*env)->GetIntField(env, lpObject, GdkEventMotionFc.time);
-	lpStruct->x = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventMotionFc.x);
-	lpStruct->y = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventMotionFc.y);
-	lpStruct->axes = (gdouble *)(*env)->GetIntField(env, lpObject, GdkEventMotionFc.axes);
-	lpStruct->state = (guint)(*env)->GetIntField(env, lpObject, GdkEventMotionFc.state);
-	lpStruct->is_hint = (gint16)(*env)->GetShortField(env, lpObject, GdkEventMotionFc.is_hint);
-	lpStruct->device = (GdkDevice *)(*env)->GetIntField(env, lpObject, GdkEventMotionFc.device);
-	lpStruct->x_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventMotionFc.x_root);
-	lpStruct->y_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventMotionFc.y_root);
-	return lpStruct;
-}
-
-void setGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpStruct)
-{
-	if (!GdkEventMotionFc.cached) cacheGdkEventMotionFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventMotionFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventMotionFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventMotionFc.time, (jint)lpStruct->time);
-	(*env)->SetDoubleField(env, lpObject, GdkEventMotionFc.x, (jdouble)lpStruct->x);
-	(*env)->SetDoubleField(env, lpObject, GdkEventMotionFc.y, (jdouble)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GdkEventMotionFc.axes, (jint)lpStruct->axes);
-	(*env)->SetIntField(env, lpObject, GdkEventMotionFc.state, (jint)lpStruct->state);
-	(*env)->SetShortField(env, lpObject, GdkEventMotionFc.is_hint, (jshort)lpStruct->is_hint);
-	(*env)->SetIntField(env, lpObject, GdkEventMotionFc.device, (jint)lpStruct->device);
-	(*env)->SetDoubleField(env, lpObject, GdkEventMotionFc.x_root, (jdouble)lpStruct->x_root);
-	(*env)->SetDoubleField(env, lpObject, GdkEventMotionFc.y_root, (jdouble)lpStruct->y_root);
-}
-#endif
-
-#ifndef NO_GdkEventScroll
-typedef struct GdkEventScroll_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, time, x, y, state, direction, device, x_root, y_root;
-} GdkEventScroll_FID_CACHE;
-
-GdkEventScroll_FID_CACHE GdkEventScrollFc;
-
-void cacheGdkEventScrollFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventScrollFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventScrollFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventScrollFc.window = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "window", "I");
-	GdkEventScrollFc.send_event = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "send_event", "B");
-	GdkEventScrollFc.time = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "time", "I");
-	GdkEventScrollFc.x = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "x", "D");
-	GdkEventScrollFc.y = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "y", "D");
-	GdkEventScrollFc.state = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "state", "I");
-	GdkEventScrollFc.direction = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "direction", "I");
-	GdkEventScrollFc.device = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "device", "I");
-	GdkEventScrollFc.x_root = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "x_root", "D");
-	GdkEventScrollFc.y_root = (*env)->GetFieldID(env, GdkEventScrollFc.clazz, "y_root", "D");
-	GdkEventScrollFc.cached = 1;
-}
-
-GdkEventScroll *getGdkEventScrollFields(JNIEnv *env, jobject lpObject, GdkEventScroll *lpStruct)
-{
-	if (!GdkEventScrollFc.cached) cacheGdkEventScrollFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventScrollFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventScrollFc.send_event);
-	lpStruct->time = (guint32)(*env)->GetIntField(env, lpObject, GdkEventScrollFc.time);
-	lpStruct->x = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventScrollFc.x);
-	lpStruct->y = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventScrollFc.y);
-	lpStruct->state = (guint)(*env)->GetIntField(env, lpObject, GdkEventScrollFc.state);
-	lpStruct->direction = (GdkScrollDirection)(*env)->GetIntField(env, lpObject, GdkEventScrollFc.direction);
-	lpStruct->device = (GdkDevice *)(*env)->GetIntField(env, lpObject, GdkEventScrollFc.device);
-	lpStruct->x_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventScrollFc.x_root);
-	lpStruct->y_root = (gdouble)(*env)->GetDoubleField(env, lpObject, GdkEventScrollFc.y_root);
-	return lpStruct;
-}
-
-void setGdkEventScrollFields(JNIEnv *env, jobject lpObject, GdkEventScroll *lpStruct)
-{
-	if (!GdkEventScrollFc.cached) cacheGdkEventScrollFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventScrollFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventScrollFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventScrollFc.time, (jint)lpStruct->time);
-	(*env)->SetDoubleField(env, lpObject, GdkEventScrollFc.x, (jdouble)lpStruct->x);
-	(*env)->SetDoubleField(env, lpObject, GdkEventScrollFc.y, (jdouble)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GdkEventScrollFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, GdkEventScrollFc.direction, (jint)lpStruct->direction);
-	(*env)->SetIntField(env, lpObject, GdkEventScrollFc.device, (jint)lpStruct->device);
-	(*env)->SetDoubleField(env, lpObject, GdkEventScrollFc.x_root, (jdouble)lpStruct->x_root);
-	(*env)->SetDoubleField(env, lpObject, GdkEventScrollFc.y_root, (jdouble)lpStruct->y_root);
-}
-#endif
-
-#ifndef NO_GdkEventVisibility
-typedef struct GdkEventVisibility_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, state;
-} GdkEventVisibility_FID_CACHE;
-
-GdkEventVisibility_FID_CACHE GdkEventVisibilityFc;
-
-void cacheGdkEventVisibilityFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventVisibilityFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventVisibilityFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventVisibilityFc.window = (*env)->GetFieldID(env, GdkEventVisibilityFc.clazz, "window", "I");
-	GdkEventVisibilityFc.send_event = (*env)->GetFieldID(env, GdkEventVisibilityFc.clazz, "send_event", "B");
-	GdkEventVisibilityFc.state = (*env)->GetFieldID(env, GdkEventVisibilityFc.clazz, "state", "I");
-	GdkEventVisibilityFc.cached = 1;
-}
-
-GdkEventVisibility *getGdkEventVisibilityFields(JNIEnv *env, jobject lpObject, GdkEventVisibility *lpStruct)
-{
-	if (!GdkEventVisibilityFc.cached) cacheGdkEventVisibilityFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventVisibilityFc.window);
-	lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventVisibilityFc.send_event);
-	lpStruct->state = (GdkVisibilityState)(*env)->GetIntField(env, lpObject, GdkEventVisibilityFc.state);
-	return lpStruct;
-}
-
-void setGdkEventVisibilityFields(JNIEnv *env, jobject lpObject, GdkEventVisibility *lpStruct)
-{
-	if (!GdkEventVisibilityFc.cached) cacheGdkEventVisibilityFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventVisibilityFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventVisibilityFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventVisibilityFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_GdkEventWindowState
-typedef struct GdkEventWindowState_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID window, send_event, changed_mask, new_window_state;
-} GdkEventWindowState_FID_CACHE;
-
-GdkEventWindowState_FID_CACHE GdkEventWindowStateFc;
-
-void cacheGdkEventWindowStateFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkEventWindowStateFc.cached) return;
-	cacheGdkEventFields(env, lpObject);
-	GdkEventWindowStateFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkEventWindowStateFc.window = (*env)->GetFieldID(env, GdkEventWindowStateFc.clazz, "window", "I");
-	GdkEventWindowStateFc.send_event = (*env)->GetFieldID(env, GdkEventWindowStateFc.clazz, "send_event", "B");
-	GdkEventWindowStateFc.changed_mask = (*env)->GetFieldID(env, GdkEventWindowStateFc.clazz, "changed_mask", "I");
-	GdkEventWindowStateFc.new_window_state = (*env)->GetFieldID(env, GdkEventWindowStateFc.clazz, "new_window_state", "I");
-	GdkEventWindowStateFc.cached = 1;
-}
-
-GdkEventWindowState *getGdkEventWindowStateFields(JNIEnv *env, jobject lpObject, GdkEventWindowState *lpStruct)
-{
-	if (!GdkEventWindowStateFc.cached) cacheGdkEventWindowStateFields(env, lpObject);
-	getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	lpStruct->window = (GdkWindow *)(*env)->GetIntField(env, lpObject, GdkEventWindowStateFc.window);
-	lpStruct->send_event = (*env)->GetByteField(env, lpObject, GdkEventWindowStateFc.send_event);
-	lpStruct->changed_mask = (*env)->GetIntField(env, lpObject, GdkEventWindowStateFc.changed_mask);
-	lpStruct->new_window_state = (*env)->GetIntField(env, lpObject, GdkEventWindowStateFc.new_window_state);
-	return lpStruct;
-}
-
-void setGdkEventWindowStateFields(JNIEnv *env, jobject lpObject, GdkEventWindowState *lpStruct)
-{
-	if (!GdkEventWindowStateFc.cached) cacheGdkEventWindowStateFields(env, lpObject);
-	setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GdkEventWindowStateFc.window, (jint)lpStruct->window);
-	(*env)->SetByteField(env, lpObject, GdkEventWindowStateFc.send_event, (jbyte)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, GdkEventWindowStateFc.changed_mask, (jint)lpStruct->changed_mask);
-	(*env)->SetIntField(env, lpObject, GdkEventWindowStateFc.new_window_state, (jint)lpStruct->new_window_state);
-}
-#endif
-
-#ifndef NO_GdkGCValues
-typedef struct GdkGCValues_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID foreground_pixel, foreground_red, foreground_green, foreground_blue, background_pixel, background_red, background_green, background_blue, font, function, fill, tile, stipple, clip_mask, subwindow_mode, ts_x_origin, ts_y_origin, clip_x_origin, clip_y_origin, graphics_exposures, line_width, line_style, cap_style, join_style;
-} GdkGCValues_FID_CACHE;
-
-GdkGCValues_FID_CACHE GdkGCValuesFc;
-
-void cacheGdkGCValuesFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkGCValuesFc.cached) return;
-	GdkGCValuesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkGCValuesFc.foreground_pixel = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "foreground_pixel", "I");
-	GdkGCValuesFc.foreground_red = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "foreground_red", "S");
-	GdkGCValuesFc.foreground_green = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "foreground_green", "S");
-	GdkGCValuesFc.foreground_blue = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "foreground_blue", "S");
-	GdkGCValuesFc.background_pixel = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "background_pixel", "I");
-	GdkGCValuesFc.background_red = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "background_red", "S");
-	GdkGCValuesFc.background_green = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "background_green", "S");
-	GdkGCValuesFc.background_blue = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "background_blue", "S");
-	GdkGCValuesFc.font = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "font", "I");
-	GdkGCValuesFc.function = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "function", "I");
-	GdkGCValuesFc.fill = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "fill", "I");
-	GdkGCValuesFc.tile = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "tile", "I");
-	GdkGCValuesFc.stipple = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "stipple", "I");
-	GdkGCValuesFc.clip_mask = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "clip_mask", "I");
-	GdkGCValuesFc.subwindow_mode = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "subwindow_mode", "I");
-	GdkGCValuesFc.ts_x_origin = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "ts_x_origin", "I");
-	GdkGCValuesFc.ts_y_origin = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "ts_y_origin", "I");
-	GdkGCValuesFc.clip_x_origin = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "clip_x_origin", "I");
-	GdkGCValuesFc.clip_y_origin = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "clip_y_origin", "I");
-	GdkGCValuesFc.graphics_exposures = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "graphics_exposures", "I");
-	GdkGCValuesFc.line_width = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "line_width", "I");
-	GdkGCValuesFc.line_style = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "line_style", "I");
-	GdkGCValuesFc.cap_style = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "cap_style", "I");
-	GdkGCValuesFc.join_style = (*env)->GetFieldID(env, GdkGCValuesFc.clazz, "join_style", "I");
-	GdkGCValuesFc.cached = 1;
-}
-
-GdkGCValues *getGdkGCValuesFields(JNIEnv *env, jobject lpObject, GdkGCValues *lpStruct)
-{
-	if (!GdkGCValuesFc.cached) cacheGdkGCValuesFields(env, lpObject);
-	lpStruct->foreground.pixel = (guint32)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.foreground_pixel);
-	lpStruct->foreground.red = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.foreground_red);
-	lpStruct->foreground.green = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.foreground_green);
-	lpStruct->foreground.blue = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.foreground_blue);
-	lpStruct->background.pixel = (guint32)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.background_pixel);
-	lpStruct->background.red = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.background_red);
-	lpStruct->background.green = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.background_green);
-	lpStruct->background.blue = (guint16)(*env)->GetShortField(env, lpObject, GdkGCValuesFc.background_blue);
-	lpStruct->font = (GdkFont *)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.font);
-	lpStruct->function = (GdkFunction)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.function);
-	lpStruct->fill = (GdkFill)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.fill);
-	lpStruct->tile = (GdkPixmap *)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.tile);
-	lpStruct->stipple = (GdkPixmap *)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.stipple);
-	lpStruct->clip_mask = (GdkPixmap *)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.clip_mask);
-	lpStruct->subwindow_mode = (GdkSubwindowMode)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.subwindow_mode);
-	lpStruct->ts_x_origin = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.ts_x_origin);
-	lpStruct->ts_y_origin = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.ts_y_origin);
-	lpStruct->clip_x_origin = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.clip_x_origin);
-	lpStruct->clip_y_origin = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.clip_y_origin);
-	lpStruct->graphics_exposures = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.graphics_exposures);
-	lpStruct->line_width = (gint)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.line_width);
-	lpStruct->line_style = (GdkLineStyle)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.line_style);
-	lpStruct->cap_style = (GdkCapStyle)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.cap_style);
-	lpStruct->join_style = (GdkJoinStyle)(*env)->GetIntField(env, lpObject, GdkGCValuesFc.join_style);
-	return lpStruct;
-}
-
-void setGdkGCValuesFields(JNIEnv *env, jobject lpObject, GdkGCValues *lpStruct)
-{
-	if (!GdkGCValuesFc.cached) cacheGdkGCValuesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.foreground_pixel, (jint)lpStruct->foreground.pixel);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.foreground_red, (jshort)lpStruct->foreground.red);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.foreground_green, (jshort)lpStruct->foreground.green);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.foreground_blue, (jshort)lpStruct->foreground.blue);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.background_pixel, (jint)lpStruct->background.pixel);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.background_red, (jshort)lpStruct->background.red);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.background_green, (jshort)lpStruct->background.green);
-	(*env)->SetShortField(env, lpObject, GdkGCValuesFc.background_blue, (jshort)lpStruct->background.blue);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.font, (jint)lpStruct->font);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.function, (jint)lpStruct->function);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.fill, (jint)lpStruct->fill);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.tile, (jint)lpStruct->tile);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.stipple, (jint)lpStruct->stipple);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.clip_mask, (jint)lpStruct->clip_mask);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.subwindow_mode, (jint)lpStruct->subwindow_mode);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.ts_x_origin, (jint)lpStruct->ts_x_origin);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.ts_y_origin, (jint)lpStruct->ts_y_origin);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.clip_x_origin, (jint)lpStruct->clip_x_origin);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.clip_y_origin, (jint)lpStruct->clip_y_origin);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.graphics_exposures, (jint)lpStruct->graphics_exposures);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.line_width, (jint)lpStruct->line_width);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.line_style, (jint)lpStruct->line_style);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.cap_style, (jint)lpStruct->cap_style);
-	(*env)->SetIntField(env, lpObject, GdkGCValuesFc.join_style, (jint)lpStruct->join_style);
-}
-#endif
-
-#ifndef NO_GdkGeometry
-typedef struct GdkGeometry_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID min_width, min_height, max_width, max_height, base_width, base_height, width_inc, height_inc, min_aspect, max_aspect, win_gravity;
-} GdkGeometry_FID_CACHE;
-
-GdkGeometry_FID_CACHE GdkGeometryFc;
-
-void cacheGdkGeometryFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkGeometryFc.cached) return;
-	GdkGeometryFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkGeometryFc.min_width = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "min_width", "I");
-	GdkGeometryFc.min_height = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "min_height", "I");
-	GdkGeometryFc.max_width = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "max_width", "I");
-	GdkGeometryFc.max_height = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "max_height", "I");
-	GdkGeometryFc.base_width = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "base_width", "I");
-	GdkGeometryFc.base_height = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "base_height", "I");
-	GdkGeometryFc.width_inc = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "width_inc", "I");
-	GdkGeometryFc.height_inc = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "height_inc", "I");
-	GdkGeometryFc.min_aspect = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "min_aspect", "D");
-	GdkGeometryFc.max_aspect = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "max_aspect", "D");
-	GdkGeometryFc.win_gravity = (*env)->GetFieldID(env, GdkGeometryFc.clazz, "win_gravity", "I");
-	GdkGeometryFc.cached = 1;
-}
-
-GdkGeometry *getGdkGeometryFields(JNIEnv *env, jobject lpObject, GdkGeometry *lpStruct)
-{
-	if (!GdkGeometryFc.cached) cacheGdkGeometryFields(env, lpObject);
-	lpStruct->min_width = (*env)->GetIntField(env, lpObject, GdkGeometryFc.min_width);
-	lpStruct->min_height = (*env)->GetIntField(env, lpObject, GdkGeometryFc.min_height);
-	lpStruct->max_width = (*env)->GetIntField(env, lpObject, GdkGeometryFc.max_width);
-	lpStruct->max_height = (*env)->GetIntField(env, lpObject, GdkGeometryFc.max_height);
-	lpStruct->base_width = (*env)->GetIntField(env, lpObject, GdkGeometryFc.base_width);
-	lpStruct->base_height = (*env)->GetIntField(env, lpObject, GdkGeometryFc.base_height);
-	lpStruct->width_inc = (*env)->GetIntField(env, lpObject, GdkGeometryFc.width_inc);
-	lpStruct->height_inc = (*env)->GetIntField(env, lpObject, GdkGeometryFc.height_inc);
-	lpStruct->min_aspect = (*env)->GetDoubleField(env, lpObject, GdkGeometryFc.min_aspect);
-	lpStruct->max_aspect = (*env)->GetDoubleField(env, lpObject, GdkGeometryFc.max_aspect);
-	lpStruct->win_gravity = (*env)->GetIntField(env, lpObject, GdkGeometryFc.win_gravity);
-	return lpStruct;
-}
-
-void setGdkGeometryFields(JNIEnv *env, jobject lpObject, GdkGeometry *lpStruct)
-{
-	if (!GdkGeometryFc.cached) cacheGdkGeometryFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.min_width, (jint)lpStruct->min_width);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.min_height, (jint)lpStruct->min_height);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.max_width, (jint)lpStruct->max_width);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.max_height, (jint)lpStruct->max_height);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.base_width, (jint)lpStruct->base_width);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.base_height, (jint)lpStruct->base_height);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.width_inc, (jint)lpStruct->width_inc);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.height_inc, (jint)lpStruct->height_inc);
-	(*env)->SetDoubleField(env, lpObject, GdkGeometryFc.min_aspect, (jdouble)lpStruct->min_aspect);
-	(*env)->SetDoubleField(env, lpObject, GdkGeometryFc.max_aspect, (jdouble)lpStruct->max_aspect);
-	(*env)->SetIntField(env, lpObject, GdkGeometryFc.win_gravity, (jint)lpStruct->win_gravity);
-}
-#endif
-
-#ifndef NO_GdkImage
-typedef struct GdkImage_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, visual, byte_order, width, height, depth, bpp, bpl, bits_per_pixel, mem, colormap, windowing_data;
-} GdkImage_FID_CACHE;
-
-GdkImage_FID_CACHE GdkImageFc;
-
-void cacheGdkImageFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkImageFc.cached) return;
-	GdkImageFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkImageFc.type = (*env)->GetFieldID(env, GdkImageFc.clazz, "type", "I");
-	GdkImageFc.visual = (*env)->GetFieldID(env, GdkImageFc.clazz, "visual", "I");
-	GdkImageFc.byte_order = (*env)->GetFieldID(env, GdkImageFc.clazz, "byte_order", "I");
-	GdkImageFc.width = (*env)->GetFieldID(env, GdkImageFc.clazz, "width", "I");
-	GdkImageFc.height = (*env)->GetFieldID(env, GdkImageFc.clazz, "height", "I");
-	GdkImageFc.depth = (*env)->GetFieldID(env, GdkImageFc.clazz, "depth", "S");
-	GdkImageFc.bpp = (*env)->GetFieldID(env, GdkImageFc.clazz, "bpp", "S");
-	GdkImageFc.bpl = (*env)->GetFieldID(env, GdkImageFc.clazz, "bpl", "S");
-	GdkImageFc.bits_per_pixel = (*env)->GetFieldID(env, GdkImageFc.clazz, "bits_per_pixel", "S");
-	GdkImageFc.mem = (*env)->GetFieldID(env, GdkImageFc.clazz, "mem", "I");
-	GdkImageFc.colormap = (*env)->GetFieldID(env, GdkImageFc.clazz, "colormap", "I");
-	GdkImageFc.windowing_data = (*env)->GetFieldID(env, GdkImageFc.clazz, "windowing_data", "I");
-	GdkImageFc.cached = 1;
-}
-
-GdkImage *getGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpStruct)
-{
-	if (!GdkImageFc.cached) cacheGdkImageFields(env, lpObject);
-	lpStruct->type = (GdkImageType)(*env)->GetIntField(env, lpObject, GdkImageFc.type);
-	lpStruct->visual = (GdkVisual *)(*env)->GetIntField(env, lpObject, GdkImageFc.visual);
-	lpStruct->byte_order = (GdkByteOrder)(*env)->GetIntField(env, lpObject, GdkImageFc.byte_order);
-	lpStruct->width = (gint)(*env)->GetIntField(env, lpObject, GdkImageFc.width);
-	lpStruct->height = (gint)(*env)->GetIntField(env, lpObject, GdkImageFc.height);
-	lpStruct->depth = (guint16)(*env)->GetShortField(env, lpObject, GdkImageFc.depth);
-	lpStruct->bpp = (guint16)(*env)->GetShortField(env, lpObject, GdkImageFc.bpp);
-	lpStruct->bpl = (guint16)(*env)->GetShortField(env, lpObject, GdkImageFc.bpl);
-	lpStruct->bits_per_pixel = (guint16)(*env)->GetShortField(env, lpObject, GdkImageFc.bits_per_pixel);
-	lpStruct->mem = (gpointer)(*env)->GetIntField(env, lpObject, GdkImageFc.mem);
-	lpStruct->colormap = (GdkColormap *)(*env)->GetIntField(env, lpObject, GdkImageFc.colormap);
-	lpStruct->windowing_data = (gpointer)(*env)->GetIntField(env, lpObject, GdkImageFc.windowing_data);
-	return lpStruct;
-}
-
-void setGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpStruct)
-{
-	if (!GdkImageFc.cached) cacheGdkImageFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.byte_order, (jint)lpStruct->byte_order);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.height, (jint)lpStruct->height);
-	(*env)->SetShortField(env, lpObject, GdkImageFc.depth, (jshort)lpStruct->depth);
-	(*env)->SetShortField(env, lpObject, GdkImageFc.bpp, (jshort)lpStruct->bpp);
-	(*env)->SetShortField(env, lpObject, GdkImageFc.bpl, (jshort)lpStruct->bpl);
-	(*env)->SetShortField(env, lpObject, GdkImageFc.bits_per_pixel, (jshort)lpStruct->bits_per_pixel);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.mem, (jint)lpStruct->mem);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.colormap, (jint)lpStruct->colormap);
-	(*env)->SetIntField(env, lpObject, GdkImageFc.windowing_data, (jint)lpStruct->windowing_data);
-}
-#endif
-
-#ifndef NO_GdkRectangle
-typedef struct GdkRectangle_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height;
-} GdkRectangle_FID_CACHE;
-
-GdkRectangle_FID_CACHE GdkRectangleFc;
-
-void cacheGdkRectangleFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkRectangleFc.cached) return;
-	GdkRectangleFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkRectangleFc.x = (*env)->GetFieldID(env, GdkRectangleFc.clazz, "x", "I");
-	GdkRectangleFc.y = (*env)->GetFieldID(env, GdkRectangleFc.clazz, "y", "I");
-	GdkRectangleFc.width = (*env)->GetFieldID(env, GdkRectangleFc.clazz, "width", "I");
-	GdkRectangleFc.height = (*env)->GetFieldID(env, GdkRectangleFc.clazz, "height", "I");
-	GdkRectangleFc.cached = 1;
-}
-
-GdkRectangle *getGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpStruct)
-{
-	if (!GdkRectangleFc.cached) cacheGdkRectangleFields(env, lpObject);
-	lpStruct->x = (gint)(*env)->GetIntField(env, lpObject, GdkRectangleFc.x);
-	lpStruct->y = (gint)(*env)->GetIntField(env, lpObject, GdkRectangleFc.y);
-	lpStruct->width = (gint)(*env)->GetIntField(env, lpObject, GdkRectangleFc.width);
-	lpStruct->height = (gint)(*env)->GetIntField(env, lpObject, GdkRectangleFc.height);
-	return lpStruct;
-}
-
-void setGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpStruct)
-{
-	if (!GdkRectangleFc.cached) cacheGdkRectangleFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkRectangleFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, GdkRectangleFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GdkRectangleFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, GdkRectangleFc.height, (jint)lpStruct->height);
-}
-#endif
-
-#ifndef NO_GdkVisual
-typedef struct GdkVisual_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, depth, byte_order, colormap_size, bits_per_rgb, red_mask, red_shift, red_prec, green_mask, green_shift, green_prec, blue_mask, blue_shift, blue_prec;
-} GdkVisual_FID_CACHE;
-
-GdkVisual_FID_CACHE GdkVisualFc;
-
-void cacheGdkVisualFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkVisualFc.cached) return;
-	GdkVisualFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkVisualFc.type = (*env)->GetFieldID(env, GdkVisualFc.clazz, "type", "I");
-	GdkVisualFc.depth = (*env)->GetFieldID(env, GdkVisualFc.clazz, "depth", "I");
-	GdkVisualFc.byte_order = (*env)->GetFieldID(env, GdkVisualFc.clazz, "byte_order", "I");
-	GdkVisualFc.colormap_size = (*env)->GetFieldID(env, GdkVisualFc.clazz, "colormap_size", "I");
-	GdkVisualFc.bits_per_rgb = (*env)->GetFieldID(env, GdkVisualFc.clazz, "bits_per_rgb", "I");
-	GdkVisualFc.red_mask = (*env)->GetFieldID(env, GdkVisualFc.clazz, "red_mask", "I");
-	GdkVisualFc.red_shift = (*env)->GetFieldID(env, GdkVisualFc.clazz, "red_shift", "I");
-	GdkVisualFc.red_prec = (*env)->GetFieldID(env, GdkVisualFc.clazz, "red_prec", "I");
-	GdkVisualFc.green_mask = (*env)->GetFieldID(env, GdkVisualFc.clazz, "green_mask", "I");
-	GdkVisualFc.green_shift = (*env)->GetFieldID(env, GdkVisualFc.clazz, "green_shift", "I");
-	GdkVisualFc.green_prec = (*env)->GetFieldID(env, GdkVisualFc.clazz, "green_prec", "I");
-	GdkVisualFc.blue_mask = (*env)->GetFieldID(env, GdkVisualFc.clazz, "blue_mask", "I");
-	GdkVisualFc.blue_shift = (*env)->GetFieldID(env, GdkVisualFc.clazz, "blue_shift", "I");
-	GdkVisualFc.blue_prec = (*env)->GetFieldID(env, GdkVisualFc.clazz, "blue_prec", "I");
-	GdkVisualFc.cached = 1;
-}
-
-GdkVisual *getGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpStruct)
-{
-	if (!GdkVisualFc.cached) cacheGdkVisualFields(env, lpObject);
-	lpStruct->type = (GdkVisualType)(*env)->GetIntField(env, lpObject, GdkVisualFc.type);
-	lpStruct->depth = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.depth);
-	lpStruct->byte_order = (GdkByteOrder)(*env)->GetIntField(env, lpObject, GdkVisualFc.byte_order);
-	lpStruct->colormap_size = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.colormap_size);
-	lpStruct->bits_per_rgb = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.bits_per_rgb);
-	lpStruct->red_mask = (guint32)(*env)->GetIntField(env, lpObject, GdkVisualFc.red_mask);
-	lpStruct->red_shift = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.red_shift);
-	lpStruct->red_prec = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.red_prec);
-	lpStruct->green_mask = (guint32)(*env)->GetIntField(env, lpObject, GdkVisualFc.green_mask);
-	lpStruct->green_shift = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.green_shift);
-	lpStruct->green_prec = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.green_prec);
-	lpStruct->blue_mask = (guint32)(*env)->GetIntField(env, lpObject, GdkVisualFc.blue_mask);
-	lpStruct->blue_shift = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.blue_shift);
-	lpStruct->blue_prec = (gint)(*env)->GetIntField(env, lpObject, GdkVisualFc.blue_prec);
-	return lpStruct;
-}
-
-void setGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpStruct)
-{
-	if (!GdkVisualFc.cached) cacheGdkVisualFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.byte_order, (jint)lpStruct->byte_order);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.colormap_size, (jint)lpStruct->colormap_size);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.red_shift, (jint)lpStruct->red_shift);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.red_prec, (jint)lpStruct->red_prec);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.green_shift, (jint)lpStruct->green_shift);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.green_prec, (jint)lpStruct->green_prec);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.blue_shift, (jint)lpStruct->blue_shift);
-	(*env)->SetIntField(env, lpObject, GdkVisualFc.blue_prec, (jint)lpStruct->blue_prec);
-}
-#endif
-
-#ifndef NO_GdkWindowAttr
-typedef struct GdkWindowAttr_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID title, event_mask, x, y, width, height, wclass, visual, colormap, window_type, cursor, wmclass_name, wmclass_class, override_redirect;
-} GdkWindowAttr_FID_CACHE;
-
-GdkWindowAttr_FID_CACHE GdkWindowAttrFc;
-
-void cacheGdkWindowAttrFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdkWindowAttrFc.cached) return;
-	GdkWindowAttrFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GdkWindowAttrFc.title = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "title", "I");
-	GdkWindowAttrFc.event_mask = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "event_mask", "I");
-	GdkWindowAttrFc.x = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "x", "I");
-	GdkWindowAttrFc.y = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "y", "I");
-	GdkWindowAttrFc.width = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "width", "I");
-	GdkWindowAttrFc.height = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "height", "I");
-	GdkWindowAttrFc.wclass = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "wclass", "I");
-	GdkWindowAttrFc.visual = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "visual", "I");
-	GdkWindowAttrFc.colormap = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "colormap", "I");
-	GdkWindowAttrFc.window_type = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "window_type", "I");
-	GdkWindowAttrFc.cursor = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "cursor", "I");
-	GdkWindowAttrFc.wmclass_name = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "wmclass_name", "I");
-	GdkWindowAttrFc.wmclass_class = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "wmclass_class", "I");
-	GdkWindowAttrFc.override_redirect = (*env)->GetFieldID(env, GdkWindowAttrFc.clazz, "override_redirect", "Z");
-	GdkWindowAttrFc.cached = 1;
-}
-
-GdkWindowAttr *getGdkWindowAttrFields(JNIEnv *env, jobject lpObject, GdkWindowAttr *lpStruct)
-{
-	if (!GdkWindowAttrFc.cached) cacheGdkWindowAttrFields(env, lpObject);
-	lpStruct->title = (gchar *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.title);
-	lpStruct->event_mask = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.event_mask);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.height);
-	lpStruct->wclass = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.wclass);
-	lpStruct->visual = (GdkVisual *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.visual);
-	lpStruct->colormap = (GdkColormap *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.colormap);
-	lpStruct->window_type = (*env)->GetIntField(env, lpObject, GdkWindowAttrFc.window_type);
-	lpStruct->cursor = (GdkCursor *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.cursor);
-	lpStruct->wmclass_name = (gchar *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.wmclass_name);
-	lpStruct->wmclass_class = (gchar *)(*env)->GetIntField(env, lpObject, GdkWindowAttrFc.wmclass_class);
-	lpStruct->override_redirect = (*env)->GetBooleanField(env, lpObject, GdkWindowAttrFc.override_redirect);
-	return lpStruct;
-}
-
-void setGdkWindowAttrFields(JNIEnv *env, jobject lpObject, GdkWindowAttr *lpStruct)
-{
-	if (!GdkWindowAttrFc.cached) cacheGdkWindowAttrFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.title, (jint)lpStruct->title);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.event_mask, (jint)lpStruct->event_mask);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.wclass, (jint)lpStruct->wclass);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.colormap, (jint)lpStruct->colormap);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.window_type, (jint)lpStruct->window_type);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.cursor, (jint)lpStruct->cursor);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.wmclass_name, (jint)lpStruct->wmclass_name);
-	(*env)->SetIntField(env, lpObject, GdkWindowAttrFc.wmclass_class, (jint)lpStruct->wmclass_class);
-	(*env)->SetBooleanField(env, lpObject, GdkWindowAttrFc.override_redirect, (jboolean)lpStruct->override_redirect);
-}
-#endif
-
-#ifndef NO_GtkAdjustment
-typedef struct GtkAdjustment_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lower, upper, value, step_increment, page_increment, page_size;
-} GtkAdjustment_FID_CACHE;
-
-GtkAdjustment_FID_CACHE GtkAdjustmentFc;
-
-void cacheGtkAdjustmentFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkAdjustmentFc.cached) return;
-	GtkAdjustmentFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkAdjustmentFc.lower = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "lower", "D");
-	GtkAdjustmentFc.upper = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "upper", "D");
-	GtkAdjustmentFc.value = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "value", "D");
-	GtkAdjustmentFc.step_increment = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "step_increment", "D");
-	GtkAdjustmentFc.page_increment = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "page_increment", "D");
-	GtkAdjustmentFc.page_size = (*env)->GetFieldID(env, GtkAdjustmentFc.clazz, "page_size", "D");
-	GtkAdjustmentFc.cached = 1;
-}
-
-GtkAdjustment *getGtkAdjustmentFields(JNIEnv *env, jobject lpObject, GtkAdjustment *lpStruct)
-{
-	if (!GtkAdjustmentFc.cached) cacheGtkAdjustmentFields(env, lpObject);
-	lpStruct->lower = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.lower);
-	lpStruct->upper = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.upper);
-	lpStruct->value = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.value);
-	lpStruct->step_increment = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.step_increment);
-	lpStruct->page_increment = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.page_increment);
-	lpStruct->page_size = (gdouble)(*env)->GetDoubleField(env, lpObject, GtkAdjustmentFc.page_size);
-	return lpStruct;
-}
-
-void setGtkAdjustmentFields(JNIEnv *env, jobject lpObject, GtkAdjustment *lpStruct)
-{
-	if (!GtkAdjustmentFc.cached) cacheGtkAdjustmentFields(env, lpObject);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.lower, (jdouble)lpStruct->lower);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.upper, (jdouble)lpStruct->upper);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.value, (jdouble)lpStruct->value);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.step_increment, (jdouble)lpStruct->step_increment);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.page_increment, (jdouble)lpStruct->page_increment);
-	(*env)->SetDoubleField(env, lpObject, GtkAdjustmentFc.page_size, (jdouble)lpStruct->page_size);
-}
-#endif
-
-#ifndef NO_GtkAllocation
-typedef struct GtkAllocation_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height;
-} GtkAllocation_FID_CACHE;
-
-GtkAllocation_FID_CACHE GtkAllocationFc;
-
-void cacheGtkAllocationFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkAllocationFc.cached) return;
-	GtkAllocationFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkAllocationFc.x = (*env)->GetFieldID(env, GtkAllocationFc.clazz, "x", "I");
-	GtkAllocationFc.y = (*env)->GetFieldID(env, GtkAllocationFc.clazz, "y", "I");
-	GtkAllocationFc.width = (*env)->GetFieldID(env, GtkAllocationFc.clazz, "width", "I");
-	GtkAllocationFc.height = (*env)->GetFieldID(env, GtkAllocationFc.clazz, "height", "I");
-	GtkAllocationFc.cached = 1;
-}
-
-GtkAllocation *getGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpStruct)
-{
-	if (!GtkAllocationFc.cached) cacheGtkAllocationFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, GtkAllocationFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, GtkAllocationFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, GtkAllocationFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, GtkAllocationFc.height);
-	return lpStruct;
-}
-
-void setGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpStruct)
-{
-	if (!GtkAllocationFc.cached) cacheGtkAllocationFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkAllocationFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, GtkAllocationFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, GtkAllocationFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, GtkAllocationFc.height, (jint)lpStruct->height);
-}
-#endif
-
-#ifndef NO_GtkBorder
-typedef struct GtkBorder_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID left, right, top, bottom;
-} GtkBorder_FID_CACHE;
-
-GtkBorder_FID_CACHE GtkBorderFc;
-
-void cacheGtkBorderFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkBorderFc.cached) return;
-	GtkBorderFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkBorderFc.left = (*env)->GetFieldID(env, GtkBorderFc.clazz, "left", "I");
-	GtkBorderFc.right = (*env)->GetFieldID(env, GtkBorderFc.clazz, "right", "I");
-	GtkBorderFc.top = (*env)->GetFieldID(env, GtkBorderFc.clazz, "top", "I");
-	GtkBorderFc.bottom = (*env)->GetFieldID(env, GtkBorderFc.clazz, "bottom", "I");
-	GtkBorderFc.cached = 1;
-}
-
-GtkBorder *getGtkBorderFields(JNIEnv *env, jobject lpObject, GtkBorder *lpStruct)
-{
-	if (!GtkBorderFc.cached) cacheGtkBorderFields(env, lpObject);
-	lpStruct->left = (*env)->GetIntField(env, lpObject, GtkBorderFc.left);
-	lpStruct->right = (*env)->GetIntField(env, lpObject, GtkBorderFc.right);
-	lpStruct->top = (*env)->GetIntField(env, lpObject, GtkBorderFc.top);
-	lpStruct->bottom = (*env)->GetIntField(env, lpObject, GtkBorderFc.bottom);
-	return lpStruct;
-}
-
-void setGtkBorderFields(JNIEnv *env, jobject lpObject, GtkBorder *lpStruct)
-{
-	if (!GtkBorderFc.cached) cacheGtkBorderFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkBorderFc.left, (jint)lpStruct->left);
-	(*env)->SetIntField(env, lpObject, GtkBorderFc.right, (jint)lpStruct->right);
-	(*env)->SetIntField(env, lpObject, GtkBorderFc.top, (jint)lpStruct->top);
-	(*env)->SetIntField(env, lpObject, GtkBorderFc.bottom, (jint)lpStruct->bottom);
-}
-#endif
-
-#ifndef NO_GtkCellRendererClass
-typedef struct GtkCellRendererClass_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID render, get_size;
-} GtkCellRendererClass_FID_CACHE;
-
-GtkCellRendererClass_FID_CACHE GtkCellRendererClassFc;
-
-void cacheGtkCellRendererClassFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkCellRendererClassFc.cached) return;
-	GtkCellRendererClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkCellRendererClassFc.render = (*env)->GetFieldID(env, GtkCellRendererClassFc.clazz, "render", "I");
-	GtkCellRendererClassFc.get_size = (*env)->GetFieldID(env, GtkCellRendererClassFc.clazz, "get_size", "I");
-	GtkCellRendererClassFc.cached = 1;
-}
-
-GtkCellRendererClass *getGtkCellRendererClassFields(JNIEnv *env, jobject lpObject, GtkCellRendererClass *lpStruct)
-{
-	if (!GtkCellRendererClassFc.cached) cacheGtkCellRendererClassFields(env, lpObject);
-	lpStruct->render = (void(*)())(*env)->GetIntField(env, lpObject, GtkCellRendererClassFc.render);
-	lpStruct->get_size = (void(*)())(*env)->GetIntField(env, lpObject, GtkCellRendererClassFc.get_size);
-	return lpStruct;
-}
-
-void setGtkCellRendererClassFields(JNIEnv *env, jobject lpObject, GtkCellRendererClass *lpStruct)
-{
-	if (!GtkCellRendererClassFc.cached) cacheGtkCellRendererClassFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkCellRendererClassFc.render, (jint)lpStruct->render);
-	(*env)->SetIntField(env, lpObject, GtkCellRendererClassFc.get_size, (jint)lpStruct->get_size);
-}
-#endif
-
-#ifndef NO_GtkColorSelectionDialog
-typedef struct GtkColorSelectionDialog_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID colorsel, ok_button, cancel_button, help_button;
-} GtkColorSelectionDialog_FID_CACHE;
-
-GtkColorSelectionDialog_FID_CACHE GtkColorSelectionDialogFc;
-
-void cacheGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkColorSelectionDialogFc.cached) return;
-	GtkColorSelectionDialogFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkColorSelectionDialogFc.colorsel = (*env)->GetFieldID(env, GtkColorSelectionDialogFc.clazz, "colorsel", "I");
-	GtkColorSelectionDialogFc.ok_button = (*env)->GetFieldID(env, GtkColorSelectionDialogFc.clazz, "ok_button", "I");
-	GtkColorSelectionDialogFc.cancel_button = (*env)->GetFieldID(env, GtkColorSelectionDialogFc.clazz, "cancel_button", "I");
-	GtkColorSelectionDialogFc.help_button = (*env)->GetFieldID(env, GtkColorSelectionDialogFc.clazz, "help_button", "I");
-	GtkColorSelectionDialogFc.cached = 1;
-}
-
-GtkColorSelectionDialog *getGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject, GtkColorSelectionDialog *lpStruct)
-{
-	if (!GtkColorSelectionDialogFc.cached) cacheGtkColorSelectionDialogFields(env, lpObject);
-	lpStruct->colorsel = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkColorSelectionDialogFc.colorsel);
-	lpStruct->ok_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkColorSelectionDialogFc.ok_button);
-	lpStruct->cancel_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkColorSelectionDialogFc.cancel_button);
-	lpStruct->help_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkColorSelectionDialogFc.help_button);
-	return lpStruct;
-}
-
-void setGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject, GtkColorSelectionDialog *lpStruct)
-{
-	if (!GtkColorSelectionDialogFc.cached) cacheGtkColorSelectionDialogFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkColorSelectionDialogFc.colorsel, (jint)lpStruct->colorsel);
-	(*env)->SetIntField(env, lpObject, GtkColorSelectionDialogFc.ok_button, (jint)lpStruct->ok_button);
-	(*env)->SetIntField(env, lpObject, GtkColorSelectionDialogFc.cancel_button, (jint)lpStruct->cancel_button);
-	(*env)->SetIntField(env, lpObject, GtkColorSelectionDialogFc.help_button, (jint)lpStruct->help_button);
-}
-#endif
-
-#ifndef NO_GtkCombo
-typedef struct GtkCombo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID entry, list;
-} GtkCombo_FID_CACHE;
-
-GtkCombo_FID_CACHE GtkComboFc;
-
-void cacheGtkComboFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkComboFc.cached) return;
-	GtkComboFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkComboFc.entry = (*env)->GetFieldID(env, GtkComboFc.clazz, "entry", "I");
-	GtkComboFc.list = (*env)->GetFieldID(env, GtkComboFc.clazz, "list", "I");
-	GtkComboFc.cached = 1;
-}
-
-GtkCombo *getGtkComboFields(JNIEnv *env, jobject lpObject, GtkCombo *lpStruct)
-{
-	if (!GtkComboFc.cached) cacheGtkComboFields(env, lpObject);
-	lpStruct->entry = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkComboFc.entry);
-	lpStruct->list = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkComboFc.list);
-	return lpStruct;
-}
-
-void setGtkComboFields(JNIEnv *env, jobject lpObject, GtkCombo *lpStruct)
-{
-	if (!GtkComboFc.cached) cacheGtkComboFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkComboFc.entry, (jint)lpStruct->entry);
-	(*env)->SetIntField(env, lpObject, GtkComboFc.list, (jint)lpStruct->list);
-}
-#endif
-
-#ifndef NO_GtkFileSelection
-typedef struct GtkFileSelection_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dir_list, file_list, selection_entry, selection_text, main_vbox, ok_button, cancel_button, help_button, history_pulldown, history_menu, history_list, fileop_dialog, fileop_entry, fileop_file, cmpl_state, fileop_c_dir, fileop_del_file, fileop_ren_file, button_area, action_area;
-} GtkFileSelection_FID_CACHE;
-
-GtkFileSelection_FID_CACHE GtkFileSelectionFc;
-
-void cacheGtkFileSelectionFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkFileSelectionFc.cached) return;
-	GtkFileSelectionFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkFileSelectionFc.dir_list = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "dir_list", "I");
-	GtkFileSelectionFc.file_list = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "file_list", "I");
-	GtkFileSelectionFc.selection_entry = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "selection_entry", "I");
-	GtkFileSelectionFc.selection_text = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "selection_text", "I");
-	GtkFileSelectionFc.main_vbox = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "main_vbox", "I");
-	GtkFileSelectionFc.ok_button = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "ok_button", "I");
-	GtkFileSelectionFc.cancel_button = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "cancel_button", "I");
-	GtkFileSelectionFc.help_button = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "help_button", "I");
-	GtkFileSelectionFc.history_pulldown = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "history_pulldown", "I");
-	GtkFileSelectionFc.history_menu = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "history_menu", "I");
-	GtkFileSelectionFc.history_list = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "history_list", "I");
-	GtkFileSelectionFc.fileop_dialog = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_dialog", "I");
-	GtkFileSelectionFc.fileop_entry = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_entry", "I");
-	GtkFileSelectionFc.fileop_file = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_file", "I");
-	GtkFileSelectionFc.cmpl_state = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "cmpl_state", "I");
-	GtkFileSelectionFc.fileop_c_dir = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_c_dir", "I");
-	GtkFileSelectionFc.fileop_del_file = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_del_file", "I");
-	GtkFileSelectionFc.fileop_ren_file = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "fileop_ren_file", "I");
-	GtkFileSelectionFc.button_area = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "button_area", "I");
-	GtkFileSelectionFc.action_area = (*env)->GetFieldID(env, GtkFileSelectionFc.clazz, "action_area", "I");
-	GtkFileSelectionFc.cached = 1;
-}
-
-GtkFileSelection *getGtkFileSelectionFields(JNIEnv *env, jobject lpObject, GtkFileSelection *lpStruct)
-{
-	if (!GtkFileSelectionFc.cached) cacheGtkFileSelectionFields(env, lpObject);
-	lpStruct->dir_list = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.dir_list);
-	lpStruct->file_list = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.file_list);
-	lpStruct->selection_entry = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.selection_entry);
-	lpStruct->selection_text = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.selection_text);
-	lpStruct->main_vbox = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.main_vbox);
-	lpStruct->ok_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.ok_button);
-	lpStruct->cancel_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.cancel_button);
-	lpStruct->help_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.help_button);
-	lpStruct->history_pulldown = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.history_pulldown);
-	lpStruct->history_menu = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.history_menu);
-	lpStruct->history_list = (GList *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.history_list);
-	lpStruct->fileop_dialog = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_dialog);
-	lpStruct->fileop_entry = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_entry);
-	lpStruct->fileop_file = (gchar *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_file);
-	lpStruct->cmpl_state = (gpointer)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.cmpl_state);
-	lpStruct->fileop_c_dir = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_c_dir);
-	lpStruct->fileop_del_file = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_del_file);
-	lpStruct->fileop_ren_file = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.fileop_ren_file);
-	lpStruct->button_area = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.button_area);
-	lpStruct->action_area = (GtkWidget *)(*env)->GetIntField(env, lpObject, GtkFileSelectionFc.action_area);
-	return lpStruct;
-}
-
-void setGtkFileSelectionFields(JNIEnv *env, jobject lpObject, GtkFileSelection *lpStruct)
-{
-	if (!GtkFileSelectionFc.cached) cacheGtkFileSelectionFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.dir_list, (jint)lpStruct->dir_list);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.file_list, (jint)lpStruct->file_list);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.selection_entry, (jint)lpStruct->selection_entry);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.selection_text, (jint)lpStruct->selection_text);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.main_vbox, (jint)lpStruct->main_vbox);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.ok_button, (jint)lpStruct->ok_button);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.cancel_button, (jint)lpStruct->cancel_button);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.help_button, (jint)lpStruct->help_button);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.history_pulldown, (jint)lpStruct->history_pulldown);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.history_menu, (jint)lpStruct->history_menu);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.history_list, (jint)lpStruct->history_list);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_dialog, (jint)lpStruct->fileop_dialog);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_entry, (jint)lpStruct->fileop_entry);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_file, (jint)lpStruct->fileop_file);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.cmpl_state, (jint)lpStruct->cmpl_state);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_c_dir, (jint)lpStruct->fileop_c_dir);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_del_file, (jint)lpStruct->fileop_del_file);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.fileop_ren_file, (jint)lpStruct->fileop_ren_file);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.button_area, (jint)lpStruct->button_area);
-	(*env)->SetIntField(env, lpObject, GtkFileSelectionFc.action_area, (jint)lpStruct->action_area);
-}
-#endif
-
-#ifndef NO_GtkFixed
-typedef struct GtkFixed_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID children;
-} GtkFixed_FID_CACHE;
-
-GtkFixed_FID_CACHE GtkFixedFc;
-
-void cacheGtkFixedFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkFixedFc.cached) return;
-	GtkFixedFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkFixedFc.children = (*env)->GetFieldID(env, GtkFixedFc.clazz, "children", "I");
-	GtkFixedFc.cached = 1;
-}
-
-GtkFixed *getGtkFixedFields(JNIEnv *env, jobject lpObject, GtkFixed *lpStruct)
-{
-	if (!GtkFixedFc.cached) cacheGtkFixedFields(env, lpObject);
-	lpStruct->children = (GList *)(*env)->GetIntField(env, lpObject, GtkFixedFc.children);
-	return lpStruct;
-}
-
-void setGtkFixedFields(JNIEnv *env, jobject lpObject, GtkFixed *lpStruct)
-{
-	if (!GtkFixedFc.cached) cacheGtkFixedFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkFixedFc.children, (jint)lpStruct->children);
-}
-#endif
-
-#ifndef NO_GtkRequisition
-typedef struct GtkRequisition_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID width, height;
-} GtkRequisition_FID_CACHE;
-
-GtkRequisition_FID_CACHE GtkRequisitionFc;
-
-void cacheGtkRequisitionFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkRequisitionFc.cached) return;
-	GtkRequisitionFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkRequisitionFc.width = (*env)->GetFieldID(env, GtkRequisitionFc.clazz, "width", "I");
-	GtkRequisitionFc.height = (*env)->GetFieldID(env, GtkRequisitionFc.clazz, "height", "I");
-	GtkRequisitionFc.cached = 1;
-}
-
-GtkRequisition *getGtkRequisitionFields(JNIEnv *env, jobject lpObject, GtkRequisition *lpStruct)
-{
-	if (!GtkRequisitionFc.cached) cacheGtkRequisitionFields(env, lpObject);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, GtkRequisitionFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, GtkRequisitionFc.height);
-	return lpStruct;
-}
-
-void setGtkRequisitionFields(JNIEnv *env, jobject lpObject, GtkRequisition *lpStruct)
-{
-	if (!GtkRequisitionFc.cached) cacheGtkRequisitionFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkRequisitionFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, GtkRequisitionFc.height, (jint)lpStruct->height);
-}
-#endif
-
-#ifndef NO_GtkSelectionData
-typedef struct GtkSelectionData_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID selection, target, type, format, data, length;
-} GtkSelectionData_FID_CACHE;
-
-GtkSelectionData_FID_CACHE GtkSelectionDataFc;
-
-void cacheGtkSelectionDataFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkSelectionDataFc.cached) return;
-	GtkSelectionDataFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkSelectionDataFc.selection = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "selection", "I");
-	GtkSelectionDataFc.target = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "target", "I");
-	GtkSelectionDataFc.type = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "type", "I");
-	GtkSelectionDataFc.format = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "format", "I");
-	GtkSelectionDataFc.data = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "data", "I");
-	GtkSelectionDataFc.length = (*env)->GetFieldID(env, GtkSelectionDataFc.clazz, "length", "I");
-	GtkSelectionDataFc.cached = 1;
-}
-
-GtkSelectionData *getGtkSelectionDataFields(JNIEnv *env, jobject lpObject, GtkSelectionData *lpStruct)
-{
-	if (!GtkSelectionDataFc.cached) cacheGtkSelectionDataFields(env, lpObject);
-	lpStruct->selection = (GdkAtom)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.selection);
-	lpStruct->target = (GdkAtom)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.target);
-	lpStruct->type = (GdkAtom)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.type);
-	lpStruct->format = (gint)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.format);
-	lpStruct->data = (guchar *)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.data);
-	lpStruct->length = (gint)(*env)->GetIntField(env, lpObject, GtkSelectionDataFc.length);
-	return lpStruct;
-}
-
-void setGtkSelectionDataFields(JNIEnv *env, jobject lpObject, GtkSelectionData *lpStruct)
-{
-	if (!GtkSelectionDataFc.cached) cacheGtkSelectionDataFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.selection, (jint)lpStruct->selection);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.target, (jint)lpStruct->target);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.format, (jint)lpStruct->format);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.data, (jint)lpStruct->data);
-	(*env)->SetIntField(env, lpObject, GtkSelectionDataFc.length, (jint)lpStruct->length);
-}
-#endif
-
-#ifndef NO_GtkTargetEntry
-typedef struct GtkTargetEntry_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID target, flags, info;
-} GtkTargetEntry_FID_CACHE;
-
-GtkTargetEntry_FID_CACHE GtkTargetEntryFc;
-
-void cacheGtkTargetEntryFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkTargetEntryFc.cached) return;
-	GtkTargetEntryFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkTargetEntryFc.target = (*env)->GetFieldID(env, GtkTargetEntryFc.clazz, "target", "I");
-	GtkTargetEntryFc.flags = (*env)->GetFieldID(env, GtkTargetEntryFc.clazz, "flags", "I");
-	GtkTargetEntryFc.info = (*env)->GetFieldID(env, GtkTargetEntryFc.clazz, "info", "I");
-	GtkTargetEntryFc.cached = 1;
-}
-
-GtkTargetEntry *getGtkTargetEntryFields(JNIEnv *env, jobject lpObject, GtkTargetEntry *lpStruct)
-{
-	if (!GtkTargetEntryFc.cached) cacheGtkTargetEntryFields(env, lpObject);
-	lpStruct->target = (gchar *)(*env)->GetIntField(env, lpObject, GtkTargetEntryFc.target);
-	lpStruct->flags = (guint)(*env)->GetIntField(env, lpObject, GtkTargetEntryFc.flags);
-	lpStruct->info = (guint)(*env)->GetIntField(env, lpObject, GtkTargetEntryFc.info);
-	return lpStruct;
-}
-
-void setGtkTargetEntryFields(JNIEnv *env, jobject lpObject, GtkTargetEntry *lpStruct)
-{
-	if (!GtkTargetEntryFc.cached) cacheGtkTargetEntryFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkTargetEntryFc.target, (jint)lpStruct->target);
-	(*env)->SetIntField(env, lpObject, GtkTargetEntryFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, GtkTargetEntryFc.info, (jint)lpStruct->info);
-}
-#endif
-
-#ifndef NO_GtkTargetPair
-typedef struct GtkTargetPair_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID target, flags, info;
-} GtkTargetPair_FID_CACHE;
-
-GtkTargetPair_FID_CACHE GtkTargetPairFc;
-
-void cacheGtkTargetPairFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkTargetPairFc.cached) return;
-	GtkTargetPairFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkTargetPairFc.target = (*env)->GetFieldID(env, GtkTargetPairFc.clazz, "target", "I");
-	GtkTargetPairFc.flags = (*env)->GetFieldID(env, GtkTargetPairFc.clazz, "flags", "I");
-	GtkTargetPairFc.info = (*env)->GetFieldID(env, GtkTargetPairFc.clazz, "info", "I");
-	GtkTargetPairFc.cached = 1;
-}
-
-GtkTargetPair *getGtkTargetPairFields(JNIEnv *env, jobject lpObject, GtkTargetPair *lpStruct)
-{
-	if (!GtkTargetPairFc.cached) cacheGtkTargetPairFields(env, lpObject);
-	lpStruct->target = (GdkAtom)(*env)->GetIntField(env, lpObject, GtkTargetPairFc.target);
-	lpStruct->flags = (guint)(*env)->GetIntField(env, lpObject, GtkTargetPairFc.flags);
-	lpStruct->info = (guint)(*env)->GetIntField(env, lpObject, GtkTargetPairFc.info);
-	return lpStruct;
-}
-
-void setGtkTargetPairFields(JNIEnv *env, jobject lpObject, GtkTargetPair *lpStruct)
-{
-	if (!GtkTargetPairFc.cached) cacheGtkTargetPairFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GtkTargetPairFc.target, (jint)lpStruct->target);
-	(*env)->SetIntField(env, lpObject, GtkTargetPairFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, GtkTargetPairFc.info, (jint)lpStruct->info);
-}
-#endif
-
-#ifndef NO_GtkWidgetClass
-typedef struct GtkWidgetClass_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID activate_signal, set_scroll_adjustments_signal, dispatch_child_properties_changed, show, show_all, hide, hide_all, map, unmap, realize, unrealize, size_request, size_allocate, state_changed, parent_set, hierarchy_changed, style_set, direction_changed, grab_notify, child_notify, mnemonic_activate, grab_focus, focus, event, button_press_event, button_release_event, scroll_event, motion_notify_event, delete_event, destroy_event, expose_event, key_press_event, key_release_event, enter_notify_event, leave_notify_event, configure_event, focus_in_event, focus_out_event, map_event, unmap_event, property_notify_event, selection_clear_event, selection_request_event, selection_notify_event, proximity_in_event, proximity_out_event, visibility_notify_event, client_event, no_expose_event, window_state_event, selection_get, selection_received, drag_begin, drag_end, drag_data_get, drag_data_delete, drag_leave, drag_motion, drag_drop, drag_data_received, popup_menu, show_help, get_accessible, screen_changed;
-} GtkWidgetClass_FID_CACHE;
-
-GtkWidgetClass_FID_CACHE GtkWidgetClassFc;
-
-void cacheGtkWidgetClassFields(JNIEnv *env, jobject lpObject)
-{
-	if (GtkWidgetClassFc.cached) return;
-	cacheGObjectClassFields(env, lpObject);
-	GtkWidgetClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GtkWidgetClassFc.activate_signal = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "activate_signal", "I");
-	GtkWidgetClassFc.set_scroll_adjustments_signal = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "set_scroll_adjustments_signal", "I");
-	GtkWidgetClassFc.dispatch_child_properties_changed = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "dispatch_child_properties_changed", "I");
-	GtkWidgetClassFc.show = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "show", "I");
-	GtkWidgetClassFc.show_all = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "show_all", "I");
-	GtkWidgetClassFc.hide = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "hide", "I");
-	GtkWidgetClassFc.hide_all = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "hide_all", "I");
-	GtkWidgetClassFc.map = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "map", "I");
-	GtkWidgetClassFc.unmap = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "unmap", "I");
-	GtkWidgetClassFc.realize = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "realize", "I");
-	GtkWidgetClassFc.unrealize = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "unrealize", "I");
-	GtkWidgetClassFc.size_request = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "size_request", "I");
-	GtkWidgetClassFc.size_allocate = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "size_allocate", "I");
-	GtkWidgetClassFc.state_changed = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "state_changed", "I");
-	GtkWidgetClassFc.parent_set = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "parent_set", "I");
-	GtkWidgetClassFc.hierarchy_changed = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "hierarchy_changed", "I");
-	GtkWidgetClassFc.style_set = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "style_set", "I");
-	GtkWidgetClassFc.direction_changed = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "direction_changed", "I");
-	GtkWidgetClassFc.grab_notify = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "grab_notify", "I");
-	GtkWidgetClassFc.child_notify = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "child_notify", "I");
-	GtkWidgetClassFc.mnemonic_activate = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "mnemonic_activate", "I");
-	GtkWidgetClassFc.grab_focus = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "grab_focus", "I");
-	GtkWidgetClassFc.focus = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "focus", "I");
-	GtkWidgetClassFc.event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "event", "I");
-	GtkWidgetClassFc.button_press_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "button_press_event", "I");
-	GtkWidgetClassFc.button_release_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "button_release_event", "I");
-	GtkWidgetClassFc.scroll_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "scroll_event", "I");
-	GtkWidgetClassFc.motion_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "motion_notify_event", "I");
-	GtkWidgetClassFc.delete_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "delete_event", "I");
-	GtkWidgetClassFc.destroy_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "destroy_event", "I");
-	GtkWidgetClassFc.expose_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "expose_event", "I");
-	GtkWidgetClassFc.key_press_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "key_press_event", "I");
-	GtkWidgetClassFc.key_release_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "key_release_event", "I");
-	GtkWidgetClassFc.enter_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "enter_notify_event", "I");
-	GtkWidgetClassFc.leave_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "leave_notify_event", "I");
-	GtkWidgetClassFc.configure_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "configure_event", "I");
-	GtkWidgetClassFc.focus_in_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "focus_in_event", "I");
-	GtkWidgetClassFc.focus_out_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "focus_out_event", "I");
-	GtkWidgetClassFc.map_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "map_event", "I");
-	GtkWidgetClassFc.unmap_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "unmap_event", "I");
-	GtkWidgetClassFc.property_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "property_notify_event", "I");
-	GtkWidgetClassFc.selection_clear_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "selection_clear_event", "I");
-	GtkWidgetClassFc.selection_request_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "selection_request_event", "I");
-	GtkWidgetClassFc.selection_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "selection_notify_event", "I");
-	GtkWidgetClassFc.proximity_in_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "proximity_in_event", "I");
-	GtkWidgetClassFc.proximity_out_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "proximity_out_event", "I");
-	GtkWidgetClassFc.visibility_notify_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "visibility_notify_event", "I");
-	GtkWidgetClassFc.client_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "client_event", "I");
-	GtkWidgetClassFc.no_expose_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "no_expose_event", "I");
-	GtkWidgetClassFc.window_state_event = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "window_state_event", "I");
-	GtkWidgetClassFc.selection_get = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "selection_get", "I");
-	GtkWidgetClassFc.selection_received = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "selection_received", "I");
-	GtkWidgetClassFc.drag_begin = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_begin", "I");
-	GtkWidgetClassFc.drag_end = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_end", "I");
-	GtkWidgetClassFc.drag_data_get = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_data_get", "I");
-	GtkWidgetClassFc.drag_data_delete = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_data_delete", "I");
-	GtkWidgetClassFc.drag_leave = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_leave", "I");
-	GtkWidgetClassFc.drag_motion = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_motion", "I");
-	GtkWidgetClassFc.drag_drop = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_drop", "I");
-	GtkWidgetClassFc.drag_data_received = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "drag_data_received", "I");
-	GtkWidgetClassFc.popup_menu = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "popup_menu", "I");
-	GtkWidgetClassFc.show_help = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "show_help", "I");
-	GtkWidgetClassFc.get_accessible = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "get_accessible", "I");
-	GtkWidgetClassFc.screen_changed = (*env)->GetFieldID(env, GtkWidgetClassFc.clazz, "screen_changed", "I");
-	GtkWidgetClassFc.cached = 1;
-}
-
-GtkWidgetClass *getGtkWidgetClassFields(JNIEnv *env, jobject lpObject, GtkWidgetClass *lpStruct)
-{
-	if (!GtkWidgetClassFc.cached) cacheGtkWidgetClassFields(env, lpObject);
-	getGObjectClassFields(env, lpObject, (GObjectClass *)lpStruct);
-	lpStruct->activate_signal = (*env)->GetIntField(env, lpObject, GtkWidgetClassFc.activate_signal);
-	lpStruct->set_scroll_adjustments_signal = (*env)->GetIntField(env, lpObject, GtkWidgetClassFc.set_scroll_adjustments_signal);
-	lpStruct->dispatch_child_properties_changed = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.dispatch_child_properties_changed);
-	lpStruct->show = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.show);
-	lpStruct->show_all = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.show_all);
-	lpStruct->hide = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.hide);
-	lpStruct->hide_all = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.hide_all);
-	lpStruct->map = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.map);
-	lpStruct->unmap = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.unmap);
-	lpStruct->realize = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.realize);
-	lpStruct->unrealize = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.unrealize);
-	lpStruct->size_request = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.size_request);
-	lpStruct->size_allocate = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.size_allocate);
-	lpStruct->state_changed = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.state_changed);
-	lpStruct->parent_set = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.parent_set);
-	lpStruct->hierarchy_changed = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.hierarchy_changed);
-	lpStruct->style_set = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.style_set);
-	lpStruct->direction_changed = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.direction_changed);
-	lpStruct->grab_notify = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.grab_notify);
-	lpStruct->child_notify = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.child_notify);
-	lpStruct->mnemonic_activate = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.mnemonic_activate);
-	lpStruct->grab_focus = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.grab_focus);
-	lpStruct->focus = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.focus);
-	lpStruct->event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.event);
-	lpStruct->button_press_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.button_press_event);
-	lpStruct->button_release_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.button_release_event);
-	lpStruct->scroll_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.scroll_event);
-	lpStruct->motion_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.motion_notify_event);
-	lpStruct->delete_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.delete_event);
-	lpStruct->destroy_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.destroy_event);
-	lpStruct->expose_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.expose_event);
-	lpStruct->key_press_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.key_press_event);
-	lpStruct->key_release_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.key_release_event);
-	lpStruct->enter_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.enter_notify_event);
-	lpStruct->leave_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.leave_notify_event);
-	lpStruct->configure_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.configure_event);
-	lpStruct->focus_in_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.focus_in_event);
-	lpStruct->focus_out_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.focus_out_event);
-	lpStruct->map_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.map_event);
-	lpStruct->unmap_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.unmap_event);
-	lpStruct->property_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.property_notify_event);
-	lpStruct->selection_clear_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.selection_clear_event);
-	lpStruct->selection_request_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.selection_request_event);
-	lpStruct->selection_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.selection_notify_event);
-	lpStruct->proximity_in_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.proximity_in_event);
-	lpStruct->proximity_out_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.proximity_out_event);
-	lpStruct->visibility_notify_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.visibility_notify_event);
-	lpStruct->client_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.client_event);
-	lpStruct->no_expose_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.no_expose_event);
-	lpStruct->window_state_event = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.window_state_event);
-	lpStruct->selection_get = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.selection_get);
-	lpStruct->selection_received = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.selection_received);
-	lpStruct->drag_begin = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_begin);
-	lpStruct->drag_end = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_end);
-	lpStruct->drag_data_get = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_data_get);
-	lpStruct->drag_data_delete = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_data_delete);
-	lpStruct->drag_leave = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_leave);
-	lpStruct->drag_motion = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_motion);
-	lpStruct->drag_drop = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_drop);
-	lpStruct->drag_data_received = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.drag_data_received);
-	lpStruct->popup_menu = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.popup_menu);
-	lpStruct->show_help = (gboolean(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.show_help);
-	lpStruct->get_accessible = (AtkObject*(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.get_accessible);
-	lpStruct->screen_changed = (void(*)())(*env)->GetIntField(env, lpObject, GtkWidgetClassFc.screen_changed);
-	return lpStruct;
-}
-
-void setGtkWidgetClassFields(JNIEnv *env, jobject lpObject, GtkWidgetClass *lpStruct)
-{
-	if (!GtkWidgetClassFc.cached) cacheGtkWidgetClassFields(env, lpObject);
-	setGObjectClassFields(env, lpObject, (GObjectClass *)lpStruct);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.activate_signal, (jint)lpStruct->activate_signal);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.set_scroll_adjustments_signal, (jint)lpStruct->set_scroll_adjustments_signal);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.dispatch_child_properties_changed, (jint)lpStruct->dispatch_child_properties_changed);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.show, (jint)lpStruct->show);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.show_all, (jint)lpStruct->show_all);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.hide, (jint)lpStruct->hide);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.hide_all, (jint)lpStruct->hide_all);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.map, (jint)lpStruct->map);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.unmap, (jint)lpStruct->unmap);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.realize, (jint)lpStruct->realize);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.unrealize, (jint)lpStruct->unrealize);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.size_request, (jint)lpStruct->size_request);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.size_allocate, (jint)lpStruct->size_allocate);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.state_changed, (jint)lpStruct->state_changed);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.parent_set, (jint)lpStruct->parent_set);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.hierarchy_changed, (jint)lpStruct->hierarchy_changed);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.style_set, (jint)lpStruct->style_set);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.direction_changed, (jint)lpStruct->direction_changed);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.grab_notify, (jint)lpStruct->grab_notify);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.child_notify, (jint)lpStruct->child_notify);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.mnemonic_activate, (jint)lpStruct->mnemonic_activate);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.grab_focus, (jint)lpStruct->grab_focus);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.focus, (jint)lpStruct->focus);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.event, (jint)lpStruct->event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.button_press_event, (jint)lpStruct->button_press_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.button_release_event, (jint)lpStruct->button_release_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.scroll_event, (jint)lpStruct->scroll_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.motion_notify_event, (jint)lpStruct->motion_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.delete_event, (jint)lpStruct->delete_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.destroy_event, (jint)lpStruct->destroy_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.expose_event, (jint)lpStruct->expose_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.key_press_event, (jint)lpStruct->key_press_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.key_release_event, (jint)lpStruct->key_release_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.enter_notify_event, (jint)lpStruct->enter_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.leave_notify_event, (jint)lpStruct->leave_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.configure_event, (jint)lpStruct->configure_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.focus_in_event, (jint)lpStruct->focus_in_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.focus_out_event, (jint)lpStruct->focus_out_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.map_event, (jint)lpStruct->map_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.unmap_event, (jint)lpStruct->unmap_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.property_notify_event, (jint)lpStruct->property_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.selection_clear_event, (jint)lpStruct->selection_clear_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.selection_request_event, (jint)lpStruct->selection_request_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.selection_notify_event, (jint)lpStruct->selection_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.proximity_in_event, (jint)lpStruct->proximity_in_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.proximity_out_event, (jint)lpStruct->proximity_out_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.visibility_notify_event, (jint)lpStruct->visibility_notify_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.client_event, (jint)lpStruct->client_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.no_expose_event, (jint)lpStruct->no_expose_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.window_state_event, (jint)lpStruct->window_state_event);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.selection_get, (jint)lpStruct->selection_get);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.selection_received, (jint)lpStruct->selection_received);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_begin, (jint)lpStruct->drag_begin);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_end, (jint)lpStruct->drag_end);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_data_get, (jint)lpStruct->drag_data_get);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_data_delete, (jint)lpStruct->drag_data_delete);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_leave, (jint)lpStruct->drag_leave);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_motion, (jint)lpStruct->drag_motion);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_drop, (jint)lpStruct->drag_drop);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.drag_data_received, (jint)lpStruct->drag_data_received);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.popup_menu, (jint)lpStruct->popup_menu);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.show_help, (jint)lpStruct->show_help);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.get_accessible, (jint)lpStruct->get_accessible);
-	(*env)->SetIntField(env, lpObject, GtkWidgetClassFc.screen_changed, (jint)lpStruct->screen_changed);
-}
-#endif
-
-#ifndef NO_PangoAttribute
-typedef struct PangoAttribute_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID klass, start_index, end_index;
-} PangoAttribute_FID_CACHE;
-
-PangoAttribute_FID_CACHE PangoAttributeFc;
-
-void cachePangoAttributeFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoAttributeFc.cached) return;
-	PangoAttributeFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoAttributeFc.klass = (*env)->GetFieldID(env, PangoAttributeFc.clazz, "klass", "I");
-	PangoAttributeFc.start_index = (*env)->GetFieldID(env, PangoAttributeFc.clazz, "start_index", "I");
-	PangoAttributeFc.end_index = (*env)->GetFieldID(env, PangoAttributeFc.clazz, "end_index", "I");
-	PangoAttributeFc.cached = 1;
-}
-
-PangoAttribute *getPangoAttributeFields(JNIEnv *env, jobject lpObject, PangoAttribute *lpStruct)
-{
-	if (!PangoAttributeFc.cached) cachePangoAttributeFields(env, lpObject);
-	lpStruct->klass = (const PangoAttrClass *)(*env)->GetIntField(env, lpObject, PangoAttributeFc.klass);
-	lpStruct->start_index = (*env)->GetIntField(env, lpObject, PangoAttributeFc.start_index);
-	lpStruct->end_index = (*env)->GetIntField(env, lpObject, PangoAttributeFc.end_index);
-	return lpStruct;
-}
-
-void setPangoAttributeFields(JNIEnv *env, jobject lpObject, PangoAttribute *lpStruct)
-{
-	if (!PangoAttributeFc.cached) cachePangoAttributeFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PangoAttributeFc.klass, (jint)lpStruct->klass);
-	(*env)->SetIntField(env, lpObject, PangoAttributeFc.start_index, (jint)lpStruct->start_index);
-	(*env)->SetIntField(env, lpObject, PangoAttributeFc.end_index, (jint)lpStruct->end_index);
-}
-#endif
-
-#ifndef NO_PangoItem
-typedef struct PangoItem_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID offset, length, num_chars, analysis_shape_engine, analysis_lang_engine, analysis_font, analysis_level, analysis_language, analysis_extra_attrs;
-} PangoItem_FID_CACHE;
-
-PangoItem_FID_CACHE PangoItemFc;
-
-void cachePangoItemFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoItemFc.cached) return;
-	PangoItemFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoItemFc.offset = (*env)->GetFieldID(env, PangoItemFc.clazz, "offset", "I");
-	PangoItemFc.length = (*env)->GetFieldID(env, PangoItemFc.clazz, "length", "I");
-	PangoItemFc.num_chars = (*env)->GetFieldID(env, PangoItemFc.clazz, "num_chars", "I");
-	PangoItemFc.analysis_shape_engine = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_shape_engine", "I");
-	PangoItemFc.analysis_lang_engine = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_lang_engine", "I");
-	PangoItemFc.analysis_font = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_font", "I");
-	PangoItemFc.analysis_level = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_level", "B");
-	PangoItemFc.analysis_language = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_language", "I");
-	PangoItemFc.analysis_extra_attrs = (*env)->GetFieldID(env, PangoItemFc.clazz, "analysis_extra_attrs", "I");
-	PangoItemFc.cached = 1;
-}
-
-PangoItem *getPangoItemFields(JNIEnv *env, jobject lpObject, PangoItem *lpStruct)
-{
-	if (!PangoItemFc.cached) cachePangoItemFields(env, lpObject);
-	lpStruct->offset = (*env)->GetIntField(env, lpObject, PangoItemFc.offset);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, PangoItemFc.length);
-	lpStruct->num_chars = (*env)->GetIntField(env, lpObject, PangoItemFc.num_chars);
-	lpStruct->analysis.shape_engine = (PangoEngineShape *)(*env)->GetIntField(env, lpObject, PangoItemFc.analysis_shape_engine);
-	lpStruct->analysis.lang_engine = (PangoEngineLang *)(*env)->GetIntField(env, lpObject, PangoItemFc.analysis_lang_engine);
-	lpStruct->analysis.font = (PangoFont *)(*env)->GetIntField(env, lpObject, PangoItemFc.analysis_font);
-	lpStruct->analysis.level = (*env)->GetByteField(env, lpObject, PangoItemFc.analysis_level);
-	lpStruct->analysis.language = (PangoLanguage *)(*env)->GetIntField(env, lpObject, PangoItemFc.analysis_language);
-	lpStruct->analysis.extra_attrs = (GSList *)(*env)->GetIntField(env, lpObject, PangoItemFc.analysis_extra_attrs);
-	return lpStruct;
-}
-
-void setPangoItemFields(JNIEnv *env, jobject lpObject, PangoItem *lpStruct)
-{
-	if (!PangoItemFc.cached) cachePangoItemFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.offset, (jint)lpStruct->offset);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.num_chars, (jint)lpStruct->num_chars);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.analysis_shape_engine, (jint)lpStruct->analysis.shape_engine);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.analysis_lang_engine, (jint)lpStruct->analysis.lang_engine);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.analysis_font, (jint)lpStruct->analysis.font);
-	(*env)->SetByteField(env, lpObject, PangoItemFc.analysis_level, (jbyte)lpStruct->analysis.level);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.analysis_language, (jint)lpStruct->analysis.language);
-	(*env)->SetIntField(env, lpObject, PangoItemFc.analysis_extra_attrs, (jint)lpStruct->analysis.extra_attrs);
-}
-#endif
-
-#ifndef NO_PangoLayoutLine
-typedef struct PangoLayoutLine_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID layout, start_index, length, runs;
-} PangoLayoutLine_FID_CACHE;
-
-PangoLayoutLine_FID_CACHE PangoLayoutLineFc;
-
-void cachePangoLayoutLineFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoLayoutLineFc.cached) return;
-	PangoLayoutLineFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoLayoutLineFc.layout = (*env)->GetFieldID(env, PangoLayoutLineFc.clazz, "layout", "I");
-	PangoLayoutLineFc.start_index = (*env)->GetFieldID(env, PangoLayoutLineFc.clazz, "start_index", "I");
-	PangoLayoutLineFc.length = (*env)->GetFieldID(env, PangoLayoutLineFc.clazz, "length", "I");
-	PangoLayoutLineFc.runs = (*env)->GetFieldID(env, PangoLayoutLineFc.clazz, "runs", "I");
-	PangoLayoutLineFc.cached = 1;
-}
-
-PangoLayoutLine *getPangoLayoutLineFields(JNIEnv *env, jobject lpObject, PangoLayoutLine *lpStruct)
-{
-	if (!PangoLayoutLineFc.cached) cachePangoLayoutLineFields(env, lpObject);
-	lpStruct->layout = (PangoLayout *)(*env)->GetIntField(env, lpObject, PangoLayoutLineFc.layout);
-	lpStruct->start_index = (*env)->GetIntField(env, lpObject, PangoLayoutLineFc.start_index);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, PangoLayoutLineFc.length);
-	lpStruct->runs = (GSList *)(*env)->GetIntField(env, lpObject, PangoLayoutLineFc.runs);
-	return lpStruct;
-}
-
-void setPangoLayoutLineFields(JNIEnv *env, jobject lpObject, PangoLayoutLine *lpStruct)
-{
-	if (!PangoLayoutLineFc.cached) cachePangoLayoutLineFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PangoLayoutLineFc.layout, (jint)lpStruct->layout);
-	(*env)->SetIntField(env, lpObject, PangoLayoutLineFc.start_index, (jint)lpStruct->start_index);
-	(*env)->SetIntField(env, lpObject, PangoLayoutLineFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, PangoLayoutLineFc.runs, (jint)lpStruct->runs);
-}
-#endif
-
-#ifndef NO_PangoLayoutRun
-typedef struct PangoLayoutRun_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID item, glyphs;
-} PangoLayoutRun_FID_CACHE;
-
-PangoLayoutRun_FID_CACHE PangoLayoutRunFc;
-
-void cachePangoLayoutRunFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoLayoutRunFc.cached) return;
-	PangoLayoutRunFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoLayoutRunFc.item = (*env)->GetFieldID(env, PangoLayoutRunFc.clazz, "item", "I");
-	PangoLayoutRunFc.glyphs = (*env)->GetFieldID(env, PangoLayoutRunFc.clazz, "glyphs", "I");
-	PangoLayoutRunFc.cached = 1;
-}
-
-PangoLayoutRun *getPangoLayoutRunFields(JNIEnv *env, jobject lpObject, PangoLayoutRun *lpStruct)
-{
-	if (!PangoLayoutRunFc.cached) cachePangoLayoutRunFields(env, lpObject);
-	lpStruct->item = (PangoItem *)(*env)->GetIntField(env, lpObject, PangoLayoutRunFc.item);
-	lpStruct->glyphs = (PangoGlyphString *)(*env)->GetIntField(env, lpObject, PangoLayoutRunFc.glyphs);
-	return lpStruct;
-}
-
-void setPangoLayoutRunFields(JNIEnv *env, jobject lpObject, PangoLayoutRun *lpStruct)
-{
-	if (!PangoLayoutRunFc.cached) cachePangoLayoutRunFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PangoLayoutRunFc.item, (jint)lpStruct->item);
-	(*env)->SetIntField(env, lpObject, PangoLayoutRunFc.glyphs, (jint)lpStruct->glyphs);
-}
-#endif
-
-#ifndef NO_PangoLogAttr
-typedef struct PangoLogAttr_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID is_line_break, is_mandatory_break, is_char_break, is_white, is_cursor_position, is_word_start, is_word_end, is_sentence_boundary, is_sentence_start, is_sentence_end;
-} PangoLogAttr_FID_CACHE;
-
-PangoLogAttr_FID_CACHE PangoLogAttrFc;
-
-void cachePangoLogAttrFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoLogAttrFc.cached) return;
-	PangoLogAttrFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoLogAttrFc.is_line_break = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_line_break", "Z");
-	PangoLogAttrFc.is_mandatory_break = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_mandatory_break", "Z");
-	PangoLogAttrFc.is_char_break = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_char_break", "Z");
-	PangoLogAttrFc.is_white = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_white", "Z");
-	PangoLogAttrFc.is_cursor_position = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_cursor_position", "Z");
-	PangoLogAttrFc.is_word_start = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_word_start", "Z");
-	PangoLogAttrFc.is_word_end = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_word_end", "Z");
-	PangoLogAttrFc.is_sentence_boundary = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_sentence_boundary", "Z");
-	PangoLogAttrFc.is_sentence_start = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_sentence_start", "Z");
-	PangoLogAttrFc.is_sentence_end = (*env)->GetFieldID(env, PangoLogAttrFc.clazz, "is_sentence_end", "Z");
-	PangoLogAttrFc.cached = 1;
-}
-
-PangoLogAttr *getPangoLogAttrFields(JNIEnv *env, jobject lpObject, PangoLogAttr *lpStruct)
-{
-	if (!PangoLogAttrFc.cached) cachePangoLogAttrFields(env, lpObject);
-	lpStruct->is_line_break = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_line_break);
-	lpStruct->is_mandatory_break = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_mandatory_break);
-	lpStruct->is_char_break = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_char_break);
-	lpStruct->is_white = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_white);
-	lpStruct->is_cursor_position = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_cursor_position);
-	lpStruct->is_word_start = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_word_start);
-	lpStruct->is_word_end = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_word_end);
-	lpStruct->is_sentence_boundary = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_boundary);
-	lpStruct->is_sentence_start = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_start);
-	lpStruct->is_sentence_end = (*env)->GetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_end);
-	return lpStruct;
-}
-
-void setPangoLogAttrFields(JNIEnv *env, jobject lpObject, PangoLogAttr *lpStruct)
-{
-	if (!PangoLogAttrFc.cached) cachePangoLogAttrFields(env, lpObject);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_line_break, (jboolean)lpStruct->is_line_break);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_mandatory_break, (jboolean)lpStruct->is_mandatory_break);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_char_break, (jboolean)lpStruct->is_char_break);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_white, (jboolean)lpStruct->is_white);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_cursor_position, (jboolean)lpStruct->is_cursor_position);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_word_start, (jboolean)lpStruct->is_word_start);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_word_end, (jboolean)lpStruct->is_word_end);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_boundary, (jboolean)lpStruct->is_sentence_boundary);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_start, (jboolean)lpStruct->is_sentence_start);
-	(*env)->SetBooleanField(env, lpObject, PangoLogAttrFc.is_sentence_end, (jboolean)lpStruct->is_sentence_end);
-}
-#endif
-
-#ifndef NO_PangoRectangle
-typedef struct PangoRectangle_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height;
-} PangoRectangle_FID_CACHE;
-
-PangoRectangle_FID_CACHE PangoRectangleFc;
-
-void cachePangoRectangleFields(JNIEnv *env, jobject lpObject)
-{
-	if (PangoRectangleFc.cached) return;
-	PangoRectangleFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PangoRectangleFc.x = (*env)->GetFieldID(env, PangoRectangleFc.clazz, "x", "I");
-	PangoRectangleFc.y = (*env)->GetFieldID(env, PangoRectangleFc.clazz, "y", "I");
-	PangoRectangleFc.width = (*env)->GetFieldID(env, PangoRectangleFc.clazz, "width", "I");
-	PangoRectangleFc.height = (*env)->GetFieldID(env, PangoRectangleFc.clazz, "height", "I");
-	PangoRectangleFc.cached = 1;
-}
-
-PangoRectangle *getPangoRectangleFields(JNIEnv *env, jobject lpObject, PangoRectangle *lpStruct)
-{
-	if (!PangoRectangleFc.cached) cachePangoRectangleFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, PangoRectangleFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, PangoRectangleFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, PangoRectangleFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, PangoRectangleFc.height);
-	return lpStruct;
-}
-
-void setPangoRectangleFields(JNIEnv *env, jobject lpObject, PangoRectangle *lpStruct)
-{
-	if (!PangoRectangleFc.cached) cachePangoRectangleFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PangoRectangleFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, PangoRectangleFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, PangoRectangleFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, PangoRectangleFc.height, (jint)lpStruct->height);
-}
-#endif
-
-#ifndef NO_XAnyEvent
-typedef struct XAnyEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, window;
-} XAnyEvent_FID_CACHE;
-
-XAnyEvent_FID_CACHE XAnyEventFc;
-
-void cacheXAnyEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XAnyEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XAnyEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XAnyEventFc.serial = (*env)->GetFieldID(env, XAnyEventFc.clazz, "serial", "I");
-	XAnyEventFc.send_event = (*env)->GetFieldID(env, XAnyEventFc.clazz, "send_event", "I");
-	XAnyEventFc.display = (*env)->GetFieldID(env, XAnyEventFc.clazz, "display", "I");
-	XAnyEventFc.window = (*env)->GetFieldID(env, XAnyEventFc.clazz, "window", "I");
-	XAnyEventFc.cached = 1;
-}
-
-XAnyEvent *getXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct)
-{
-	if (!XAnyEventFc.cached) cacheXAnyEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XAnyEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XAnyEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XAnyEventFc.display);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XAnyEventFc.window);
-	return lpStruct;
-}
-
-void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct)
-{
-	if (!XAnyEventFc.cached) cacheXAnyEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.window, (jint)lpStruct->window);
-}
-#endif
-
-#ifndef NO_XButtonEvent
-typedef struct XButtonEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, state, button, same_screen;
-} XButtonEvent_FID_CACHE;
-
-XButtonEvent_FID_CACHE XButtonEventFc;
-
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XButtonEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XButtonEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XButtonEventFc.root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "root", "I");
-	XButtonEventFc.subwindow = (*env)->GetFieldID(env, XButtonEventFc.clazz, "subwindow", "I");
-	XButtonEventFc.time = (*env)->GetFieldID(env, XButtonEventFc.clazz, "time", "I");
-	XButtonEventFc.x = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x", "I");
-	XButtonEventFc.y = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y", "I");
-	XButtonEventFc.x_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x_root", "I");
-	XButtonEventFc.y_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y_root", "I");
-	XButtonEventFc.state = (*env)->GetFieldID(env, XButtonEventFc.clazz, "state", "I");
-	XButtonEventFc.button = (*env)->GetFieldID(env, XButtonEventFc.clazz, "button", "I");
-	XButtonEventFc.same_screen = (*env)->GetFieldID(env, XButtonEventFc.clazz, "same_screen", "I");
-	XButtonEventFc.cached = 1;
-}
-
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
-	if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XButtonEventFc.root);
-	lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XButtonEventFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XButtonEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XButtonEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XButtonEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.y_root);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XButtonEventFc.state);
-	lpStruct->button = (*env)->GetIntField(env, lpObject, XButtonEventFc.button);
-	lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XButtonEventFc.same_screen);
-	return lpStruct;
-}
-
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
-	if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.button, (jint)lpStruct->button);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.same_screen, (jint)lpStruct->same_screen);
-}
-#endif
-
-#ifndef NO_XClientMessageEvent
-typedef struct XClientMessageEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, serial, send_event, display, window, message_type, format, data;
-} XClientMessageEvent_FID_CACHE;
-
-XClientMessageEvent_FID_CACHE XClientMessageEventFc;
-
-void cacheXClientMessageEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XClientMessageEventFc.cached) return;
-	XClientMessageEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XClientMessageEventFc.type = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "type", "I");
-	XClientMessageEventFc.serial = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "serial", "I");
-	XClientMessageEventFc.send_event = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "send_event", "Z");
-	XClientMessageEventFc.display = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "display", "I");
-	XClientMessageEventFc.window = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "window", "I");
-	XClientMessageEventFc.message_type = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "message_type", "I");
-	XClientMessageEventFc.format = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "format", "I");
-	XClientMessageEventFc.data = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "data", "[I");
-	XClientMessageEventFc.cached = 1;
-}
-
-XClientMessageEvent *getXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct)
-{
-	if (!XClientMessageEventFc.cached) cacheXClientMessageEventFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, XClientMessageEventFc.type);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XClientMessageEventFc.serial);
-	lpStruct->send_event = (*env)->GetBooleanField(env, lpObject, XClientMessageEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XClientMessageEventFc.display);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XClientMessageEventFc.window);
-	lpStruct->message_type = (Atom)(*env)->GetIntField(env, lpObject, XClientMessageEventFc.message_type);
-	lpStruct->format = (*env)->GetIntField(env, lpObject, XClientMessageEventFc.format);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, XClientMessageEventFc.data);
-	(*env)->GetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data.l) / 4, (jint *)lpStruct->data.l);
-	}
-	return lpStruct;
-}
-
-void setXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct)
-{
-	if (!XClientMessageEventFc.cached) cacheXClientMessageEventFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetBooleanField(env, lpObject, XClientMessageEventFc.send_event, (jboolean)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.window, (jint)lpStruct->window);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.message_type, (jint)lpStruct->message_type);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.format, (jint)lpStruct->format);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, XClientMessageEventFc.data);
-	(*env)->SetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data.l) / 4, (jint *)lpStruct->data.l);
-	}
-}
-#endif
-
-#ifndef NO_XCrossingEvent
-typedef struct XCrossingEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, mode, detail, same_screen, focus, state;
-} XCrossingEvent_FID_CACHE;
-
-XCrossingEvent_FID_CACHE XCrossingEventFc;
-
-void cacheXCrossingEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XCrossingEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XCrossingEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XCrossingEventFc.root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "root", "I");
-	XCrossingEventFc.subwindow = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "subwindow", "I");
-	XCrossingEventFc.time = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "time", "I");
-	XCrossingEventFc.x = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "x", "I");
-	XCrossingEventFc.y = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "y", "I");
-	XCrossingEventFc.x_root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "x_root", "I");
-	XCrossingEventFc.y_root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "y_root", "I");
-	XCrossingEventFc.mode = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "mode", "I");
-	XCrossingEventFc.detail = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "detail", "I");
-	XCrossingEventFc.same_screen = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "same_screen", "Z");
-	XCrossingEventFc.focus = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "focus", "Z");
-	XCrossingEventFc.state = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "state", "I");
-	XCrossingEventFc.cached = 1;
-}
-
-XCrossingEvent *getXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct)
-{
-	if (!XCrossingEventFc.cached) cacheXCrossingEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (Window)(*env)->GetIntField(env, lpObject, XCrossingEventFc.root);
-	lpStruct->subwindow = (Window)(*env)->GetIntField(env, lpObject, XCrossingEventFc.subwindow);
-	lpStruct->time = (Time)(*env)->GetIntField(env, lpObject, XCrossingEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XCrossingEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XCrossingEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XCrossingEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XCrossingEventFc.y_root);
-	lpStruct->mode = (*env)->GetIntField(env, lpObject, XCrossingEventFc.mode);
-	lpStruct->detail = (*env)->GetIntField(env, lpObject, XCrossingEventFc.detail);
-	lpStruct->same_screen = (Bool)(*env)->GetBooleanField(env, lpObject, XCrossingEventFc.same_screen);
-	lpStruct->focus = (Bool)(*env)->GetBooleanField(env, lpObject, XCrossingEventFc.focus);
-	lpStruct->state = (unsigned int)(*env)->GetIntField(env, lpObject, XCrossingEventFc.state);
-	return lpStruct;
-}
-
-void setXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct)
-{
-	if (!XCrossingEventFc.cached) cacheXCrossingEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.detail, (jint)lpStruct->detail);
-	(*env)->SetBooleanField(env, lpObject, XCrossingEventFc.same_screen, (jboolean)lpStruct->same_screen);
-	(*env)->SetBooleanField(env, lpObject, XCrossingEventFc.focus, (jboolean)lpStruct->focus);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_XEvent
-typedef struct XEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type;
-} XEvent_FID_CACHE;
-
-XEvent_FID_CACHE XEventFc;
-
-void cacheXEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XEventFc.cached) return;
-	XEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XEventFc.type = (*env)->GetFieldID(env, XEventFc.clazz, "type", "I");
-	XEventFc.cached = 1;
-}
-
-XEvent *getXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct)
-{
-	if (!XEventFc.cached) cacheXEventFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, XEventFc.type);
-	return lpStruct;
-}
-
-void setXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct)
-{
-	if (!XEventFc.cached) cacheXEventFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XEventFc.type, (jint)lpStruct->type);
-}
-#endif
-
-#ifndef NO_XExposeEvent
-typedef struct XExposeEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height, count;
-} XExposeEvent_FID_CACHE;
-
-XExposeEvent_FID_CACHE XExposeEventFc;
-
-void cacheXExposeEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XExposeEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XExposeEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XExposeEventFc.x = (*env)->GetFieldID(env, XExposeEventFc.clazz, "x", "I");
-	XExposeEventFc.y = (*env)->GetFieldID(env, XExposeEventFc.clazz, "y", "I");
-	XExposeEventFc.width = (*env)->GetFieldID(env, XExposeEventFc.clazz, "width", "I");
-	XExposeEventFc.height = (*env)->GetFieldID(env, XExposeEventFc.clazz, "height", "I");
-	XExposeEventFc.count = (*env)->GetFieldID(env, XExposeEventFc.clazz, "count", "I");
-	XExposeEventFc.cached = 1;
-}
-
-XExposeEvent *getXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct)
-{
-	if (!XExposeEventFc.cached) cacheXExposeEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XExposeEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XExposeEventFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XExposeEventFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XExposeEventFc.height);
-	lpStruct->count = (*env)->GetIntField(env, lpObject, XExposeEventFc.count);
-	return lpStruct;
-}
-
-void setXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct)
-{
-	if (!XExposeEventFc.cached) cacheXExposeEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.count, (jint)lpStruct->count);
-}
-#endif
-
-#ifndef NO_XFocusChangeEvent
-typedef struct XFocusChangeEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mode, detail;
-} XFocusChangeEvent_FID_CACHE;
-
-XFocusChangeEvent_FID_CACHE XFocusChangeEventFc;
-
-void cacheXFocusChangeEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XFocusChangeEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XFocusChangeEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XFocusChangeEventFc.mode = (*env)->GetFieldID(env, XFocusChangeEventFc.clazz, "mode", "I");
-	XFocusChangeEventFc.detail = (*env)->GetFieldID(env, XFocusChangeEventFc.clazz, "detail", "I");
-	XFocusChangeEventFc.cached = 1;
-}
-
-XFocusChangeEvent *getXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct)
-{
-	if (!XFocusChangeEventFc.cached) cacheXFocusChangeEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->mode = (*env)->GetIntField(env, lpObject, XFocusChangeEventFc.mode);
-	lpStruct->detail = (*env)->GetIntField(env, lpObject, XFocusChangeEventFc.detail);
-	return lpStruct;
-}
-
-void setXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct)
-{
-	if (!XFocusChangeEventFc.cached) cacheXFocusChangeEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XFocusChangeEventFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, XFocusChangeEventFc.detail, (jint)lpStruct->detail);
-}
-#endif
-
-#ifndef NO_XRenderPictureAttributes
-typedef struct XRenderPictureAttributes_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID repeat, alpha_map, alpha_x_origin, alpha_y_origin, clip_x_origin, clip_y_origin, clip_mask, graphics_exposures, subwindow_mode, poly_edge, poly_mode, dither, component_alpha;
-} XRenderPictureAttributes_FID_CACHE;
-
-XRenderPictureAttributes_FID_CACHE XRenderPictureAttributesFc;
-
-void cacheXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XRenderPictureAttributesFc.cached) return;
-	XRenderPictureAttributesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XRenderPictureAttributesFc.repeat = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "repeat", "Z");
-	XRenderPictureAttributesFc.alpha_map = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_map", "I");
-	XRenderPictureAttributesFc.alpha_x_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_x_origin", "I");
-	XRenderPictureAttributesFc.alpha_y_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_y_origin", "I");
-	XRenderPictureAttributesFc.clip_x_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_x_origin", "I");
-	XRenderPictureAttributesFc.clip_y_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_y_origin", "I");
-	XRenderPictureAttributesFc.clip_mask = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_mask", "I");
-	XRenderPictureAttributesFc.graphics_exposures = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "graphics_exposures", "Z");
-	XRenderPictureAttributesFc.subwindow_mode = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "subwindow_mode", "I");
-	XRenderPictureAttributesFc.poly_edge = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "poly_edge", "I");
-	XRenderPictureAttributesFc.poly_mode = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "poly_mode", "I");
-	XRenderPictureAttributesFc.dither = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "dither", "I");
-	XRenderPictureAttributesFc.component_alpha = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "component_alpha", "Z");
-	XRenderPictureAttributesFc.cached = 1;
-}
-
-XRenderPictureAttributes *getXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct)
-{
-	if (!XRenderPictureAttributesFc.cached) cacheXRenderPictureAttributesFields(env, lpObject);
-	lpStruct->repeat = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.repeat);
-	lpStruct->alpha_map = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_map);
-	lpStruct->alpha_x_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_x_origin);
-	lpStruct->alpha_y_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_y_origin);
-	lpStruct->clip_x_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_x_origin);
-	lpStruct->clip_y_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_y_origin);
-	lpStruct->clip_mask = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_mask);
-	lpStruct->graphics_exposures = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.graphics_exposures);
-	lpStruct->subwindow_mode = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.subwindow_mode);
-	lpStruct->poly_edge = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.poly_edge);
-	lpStruct->poly_mode = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.poly_mode);
-	lpStruct->dither = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.dither);
-	lpStruct->component_alpha = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.component_alpha);
-	return lpStruct;
-}
-
-void setXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct)
-{
-	if (!XRenderPictureAttributesFc.cached) cacheXRenderPictureAttributesFields(env, lpObject);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.repeat, (jboolean)lpStruct->repeat);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_map, (jint)lpStruct->alpha_map);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_x_origin, (jint)lpStruct->alpha_x_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_y_origin, (jint)lpStruct->alpha_y_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_x_origin, (jint)lpStruct->clip_x_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_y_origin, (jint)lpStruct->clip_y_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_mask, (jint)lpStruct->clip_mask);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.graphics_exposures, (jboolean)lpStruct->graphics_exposures);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.subwindow_mode, (jint)lpStruct->subwindow_mode);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.poly_edge, (jint)lpStruct->poly_edge);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.poly_mode, (jint)lpStruct->poly_mode);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.dither, (jint)lpStruct->dither);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.component_alpha, (jboolean)lpStruct->component_alpha);
-}
-#endif
-
-#ifndef NO_XVisibilityEvent
-typedef struct XVisibilityEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID state;
-} XVisibilityEvent_FID_CACHE;
-
-XVisibilityEvent_FID_CACHE XVisibilityEventFc;
-
-void cacheXVisibilityEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XVisibilityEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XVisibilityEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XVisibilityEventFc.state = (*env)->GetFieldID(env, XVisibilityEventFc.clazz, "state", "I");
-	XVisibilityEventFc.cached = 1;
-}
-
-XVisibilityEvent *getXVisibilityEventFields(JNIEnv *env, jobject lpObject, XVisibilityEvent *lpStruct)
-{
-	if (!XVisibilityEventFc.cached) cacheXVisibilityEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XVisibilityEventFc.state);
-	return lpStruct;
-}
-
-void setXVisibilityEventFields(JNIEnv *env, jobject lpObject, XVisibilityEvent *lpStruct)
-{
-	if (!XVisibilityEventFc.cached) cacheXVisibilityEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XVisibilityEventFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_XWindowChanges
-typedef struct XWindowChanges_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height, border_width, sibling, stack_mode;
-} XWindowChanges_FID_CACHE;
-
-XWindowChanges_FID_CACHE XWindowChangesFc;
-
-void cacheXWindowChangesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XWindowChangesFc.cached) return;
-	XWindowChangesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XWindowChangesFc.x = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "x", "I");
-	XWindowChangesFc.y = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "y", "I");
-	XWindowChangesFc.width = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "width", "I");
-	XWindowChangesFc.height = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "height", "I");
-	XWindowChangesFc.border_width = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "border_width", "I");
-	XWindowChangesFc.sibling = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "sibling", "I");
-	XWindowChangesFc.stack_mode = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "stack_mode", "I");
-	XWindowChangesFc.cached = 1;
-}
-
-XWindowChanges *getXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct)
-{
-	if (!XWindowChangesFc.cached) cacheXWindowChangesFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XWindowChangesFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XWindowChangesFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XWindowChangesFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XWindowChangesFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XWindowChangesFc.border_width);
-	lpStruct->sibling = (*env)->GetIntField(env, lpObject, XWindowChangesFc.sibling);
-	lpStruct->stack_mode = (*env)->GetIntField(env, lpObject, XWindowChangesFc.stack_mode);
-	return lpStruct;
-}
-
-void setXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct)
-{
-	if (!XWindowChangesFc.cached) cacheXWindowChangesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.sibling, (jint)lpStruct->sibling);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.stack_mode, (jint)lpStruct->stack_mode);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.h
deleted file mode 100644
index ae80573..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_structs.h
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "os.h"
-
-#ifndef NO_GInterfaceInfo
-void cacheGInterfaceInfoFields(JNIEnv *env, jobject lpObject);
-GInterfaceInfo *getGInterfaceInfoFields(JNIEnv *env, jobject lpObject, GInterfaceInfo *lpStruct);
-void setGInterfaceInfoFields(JNIEnv *env, jobject lpObject, GInterfaceInfo *lpStruct);
-#define GInterfaceInfo_sizeof() sizeof(GInterfaceInfo)
-#else
-#define cacheGInterfaceInfoFields(a,b)
-#define getGInterfaceInfoFields(a,b,c) NULL
-#define setGInterfaceInfoFields(a,b,c)
-#define GInterfaceInfo_sizeof() 0
-#endif
-
-#ifndef NO_GObjectClass
-void cacheGObjectClassFields(JNIEnv *env, jobject lpObject);
-GObjectClass *getGObjectClassFields(JNIEnv *env, jobject lpObject, GObjectClass *lpStruct);
-void setGObjectClassFields(JNIEnv *env, jobject lpObject, GObjectClass *lpStruct);
-#define GObjectClass_sizeof() sizeof(GObjectClass)
-#else
-#define cacheGObjectClassFields(a,b)
-#define getGObjectClassFields(a,b,c) NULL
-#define setGObjectClassFields(a,b,c)
-#define GObjectClass_sizeof() 0
-#endif
-
-#ifndef NO_GTypeInfo
-void cacheGTypeInfoFields(JNIEnv *env, jobject lpObject);
-GTypeInfo *getGTypeInfoFields(JNIEnv *env, jobject lpObject, GTypeInfo *lpStruct);
-void setGTypeInfoFields(JNIEnv *env, jobject lpObject, GTypeInfo *lpStruct);
-#define GTypeInfo_sizeof() sizeof(GTypeInfo)
-#else
-#define cacheGTypeInfoFields(a,b)
-#define getGTypeInfoFields(a,b,c) NULL
-#define setGTypeInfoFields(a,b,c)
-#define GTypeInfo_sizeof() 0
-#endif
-
-#ifndef NO_GTypeQuery
-void cacheGTypeQueryFields(JNIEnv *env, jobject lpObject);
-GTypeQuery *getGTypeQueryFields(JNIEnv *env, jobject lpObject, GTypeQuery *lpStruct);
-void setGTypeQueryFields(JNIEnv *env, jobject lpObject, GTypeQuery *lpStruct);
-#define GTypeQuery_sizeof() sizeof(GTypeQuery)
-#else
-#define cacheGTypeQueryFields(a,b)
-#define getGTypeQueryFields(a,b,c) NULL
-#define setGTypeQueryFields(a,b,c)
-#define GTypeQuery_sizeof() 0
-#endif
-
-#ifndef NO_GdkColor
-void cacheGdkColorFields(JNIEnv *env, jobject lpObject);
-GdkColor *getGdkColorFields(JNIEnv *env, jobject lpObject, GdkColor *lpStruct);
-void setGdkColorFields(JNIEnv *env, jobject lpObject, GdkColor *lpStruct);
-#define GdkColor_sizeof() sizeof(GdkColor)
-#else
-#define cacheGdkColorFields(a,b)
-#define getGdkColorFields(a,b,c) NULL
-#define setGdkColorFields(a,b,c)
-#define GdkColor_sizeof() 0
-#endif
-
-#ifndef NO_GdkDragContext
-void cacheGdkDragContextFields(JNIEnv *env, jobject lpObject);
-GdkDragContext *getGdkDragContextFields(JNIEnv *env, jobject lpObject, GdkDragContext *lpStruct);
-void setGdkDragContextFields(JNIEnv *env, jobject lpObject, GdkDragContext *lpStruct);
-#define GdkDragContext_sizeof() sizeof(GdkDragContext)
-#else
-#define cacheGdkDragContextFields(a,b)
-#define getGdkDragContextFields(a,b,c) NULL
-#define setGdkDragContextFields(a,b,c)
-#define GdkDragContext_sizeof() 0
-#endif
-
-#ifndef NO_GdkEvent
-void cacheGdkEventFields(JNIEnv *env, jobject lpObject);
-GdkEvent *getGdkEventFields(JNIEnv *env, jobject lpObject, GdkEvent *lpStruct);
-void setGdkEventFields(JNIEnv *env, jobject lpObject, GdkEvent *lpStruct);
-#define GdkEvent_sizeof() sizeof(GdkEvent)
-#else
-#define cacheGdkEventFields(a,b)
-#define getGdkEventFields(a,b,c) NULL
-#define setGdkEventFields(a,b,c)
-#define GdkEvent_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventAny
-void cacheGdkEventAnyFields(JNIEnv *env, jobject lpObject);
-GdkEventAny *getGdkEventAnyFields(JNIEnv *env, jobject lpObject, GdkEventAny *lpStruct);
-void setGdkEventAnyFields(JNIEnv *env, jobject lpObject, GdkEventAny *lpStruct);
-#define GdkEventAny_sizeof() sizeof(GdkEventAny)
-#else
-#define cacheGdkEventAnyFields(a,b)
-#define getGdkEventAnyFields(a,b,c) NULL
-#define setGdkEventAnyFields(a,b,c)
-#define GdkEventAny_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventButton
-void cacheGdkEventButtonFields(JNIEnv *env, jobject lpObject);
-GdkEventButton *getGdkEventButtonFields(JNIEnv *env, jobject lpObject, GdkEventButton *lpStruct);
-void setGdkEventButtonFields(JNIEnv *env, jobject lpObject, GdkEventButton *lpStruct);
-#define GdkEventButton_sizeof() sizeof(GdkEventButton)
-#else
-#define cacheGdkEventButtonFields(a,b)
-#define getGdkEventButtonFields(a,b,c) NULL
-#define setGdkEventButtonFields(a,b,c)
-#define GdkEventButton_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventCrossing
-void cacheGdkEventCrossingFields(JNIEnv *env, jobject lpObject);
-GdkEventCrossing *getGdkEventCrossingFields(JNIEnv *env, jobject lpObject, GdkEventCrossing *lpStruct);
-void setGdkEventCrossingFields(JNIEnv *env, jobject lpObject, GdkEventCrossing *lpStruct);
-#define GdkEventCrossing_sizeof() sizeof(GdkEventCrossing)
-#else
-#define cacheGdkEventCrossingFields(a,b)
-#define getGdkEventCrossingFields(a,b,c) NULL
-#define setGdkEventCrossingFields(a,b,c)
-#define GdkEventCrossing_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventExpose
-void cacheGdkEventExposeFields(JNIEnv *env, jobject lpObject);
-GdkEventExpose *getGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEventExpose *lpStruct);
-void setGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEventExpose *lpStruct);
-#define GdkEventExpose_sizeof() sizeof(GdkEventExpose)
-#else
-#define cacheGdkEventExposeFields(a,b)
-#define getGdkEventExposeFields(a,b,c) NULL
-#define setGdkEventExposeFields(a,b,c)
-#define GdkEventExpose_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventFocus
-void cacheGdkEventFocusFields(JNIEnv *env, jobject lpObject);
-GdkEventFocus *getGdkEventFocusFields(JNIEnv *env, jobject lpObject, GdkEventFocus *lpStruct);
-void setGdkEventFocusFields(JNIEnv *env, jobject lpObject, GdkEventFocus *lpStruct);
-#define GdkEventFocus_sizeof() sizeof(GdkEventFocus)
-#else
-#define cacheGdkEventFocusFields(a,b)
-#define getGdkEventFocusFields(a,b,c) NULL
-#define setGdkEventFocusFields(a,b,c)
-#define GdkEventFocus_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventKey
-void cacheGdkEventKeyFields(JNIEnv *env, jobject lpObject);
-GdkEventKey *getGdkEventKeyFields(JNIEnv *env, jobject lpObject, GdkEventKey *lpStruct);
-void setGdkEventKeyFields(JNIEnv *env, jobject lpObject, GdkEventKey *lpStruct);
-#define GdkEventKey_sizeof() sizeof(GdkEventKey)
-#else
-#define cacheGdkEventKeyFields(a,b)
-#define getGdkEventKeyFields(a,b,c) NULL
-#define setGdkEventKeyFields(a,b,c)
-#define GdkEventKey_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventMotion
-void cacheGdkEventMotionFields(JNIEnv *env, jobject lpObject);
-GdkEventMotion *getGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpStruct);
-void setGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpStruct);
-#define GdkEventMotion_sizeof() sizeof(GdkEventMotion)
-#else
-#define cacheGdkEventMotionFields(a,b)
-#define getGdkEventMotionFields(a,b,c) NULL
-#define setGdkEventMotionFields(a,b,c)
-#define GdkEventMotion_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventScroll
-void cacheGdkEventScrollFields(JNIEnv *env, jobject lpObject);
-GdkEventScroll *getGdkEventScrollFields(JNIEnv *env, jobject lpObject, GdkEventScroll *lpStruct);
-void setGdkEventScrollFields(JNIEnv *env, jobject lpObject, GdkEventScroll *lpStruct);
-#define GdkEventScroll_sizeof() sizeof(GdkEventScroll)
-#else
-#define cacheGdkEventScrollFields(a,b)
-#define getGdkEventScrollFields(a,b,c) NULL
-#define setGdkEventScrollFields(a,b,c)
-#define GdkEventScroll_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventVisibility
-void cacheGdkEventVisibilityFields(JNIEnv *env, jobject lpObject);
-GdkEventVisibility *getGdkEventVisibilityFields(JNIEnv *env, jobject lpObject, GdkEventVisibility *lpStruct);
-void setGdkEventVisibilityFields(JNIEnv *env, jobject lpObject, GdkEventVisibility *lpStruct);
-#define GdkEventVisibility_sizeof() sizeof(GdkEventVisibility)
-#else
-#define cacheGdkEventVisibilityFields(a,b)
-#define getGdkEventVisibilityFields(a,b,c) NULL
-#define setGdkEventVisibilityFields(a,b,c)
-#define GdkEventVisibility_sizeof() 0
-#endif
-
-#ifndef NO_GdkEventWindowState
-void cacheGdkEventWindowStateFields(JNIEnv *env, jobject lpObject);
-GdkEventWindowState *getGdkEventWindowStateFields(JNIEnv *env, jobject lpObject, GdkEventWindowState *lpStruct);
-void setGdkEventWindowStateFields(JNIEnv *env, jobject lpObject, GdkEventWindowState *lpStruct);
-#define GdkEventWindowState_sizeof() sizeof(GdkEventWindowState)
-#else
-#define cacheGdkEventWindowStateFields(a,b)
-#define getGdkEventWindowStateFields(a,b,c) NULL
-#define setGdkEventWindowStateFields(a,b,c)
-#define GdkEventWindowState_sizeof() 0
-#endif
-
-#ifndef NO_GdkGCValues
-void cacheGdkGCValuesFields(JNIEnv *env, jobject lpObject);
-GdkGCValues *getGdkGCValuesFields(JNIEnv *env, jobject lpObject, GdkGCValues *lpStruct);
-void setGdkGCValuesFields(JNIEnv *env, jobject lpObject, GdkGCValues *lpStruct);
-#define GdkGCValues_sizeof() sizeof(GdkGCValues)
-#else
-#define cacheGdkGCValuesFields(a,b)
-#define getGdkGCValuesFields(a,b,c) NULL
-#define setGdkGCValuesFields(a,b,c)
-#define GdkGCValues_sizeof() 0
-#endif
-
-#ifndef NO_GdkGeometry
-void cacheGdkGeometryFields(JNIEnv *env, jobject lpObject);
-GdkGeometry *getGdkGeometryFields(JNIEnv *env, jobject lpObject, GdkGeometry *lpStruct);
-void setGdkGeometryFields(JNIEnv *env, jobject lpObject, GdkGeometry *lpStruct);
-#define GdkGeometry_sizeof() sizeof(GdkGeometry)
-#else
-#define cacheGdkGeometryFields(a,b)
-#define getGdkGeometryFields(a,b,c) NULL
-#define setGdkGeometryFields(a,b,c)
-#define GdkGeometry_sizeof() 0
-#endif
-
-#ifndef NO_GdkImage
-void cacheGdkImageFields(JNIEnv *env, jobject lpObject);
-GdkImage *getGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpStruct);
-void setGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpStruct);
-#define GdkImage_sizeof() sizeof(GdkImage)
-#else
-#define cacheGdkImageFields(a,b)
-#define getGdkImageFields(a,b,c) NULL
-#define setGdkImageFields(a,b,c)
-#define GdkImage_sizeof() 0
-#endif
-
-#ifndef NO_GdkRectangle
-void cacheGdkRectangleFields(JNIEnv *env, jobject lpObject);
-GdkRectangle *getGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpStruct);
-void setGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpStruct);
-#define GdkRectangle_sizeof() sizeof(GdkRectangle)
-#else
-#define cacheGdkRectangleFields(a,b)
-#define getGdkRectangleFields(a,b,c) NULL
-#define setGdkRectangleFields(a,b,c)
-#define GdkRectangle_sizeof() 0
-#endif
-
-#ifndef NO_GdkVisual
-void cacheGdkVisualFields(JNIEnv *env, jobject lpObject);
-GdkVisual *getGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpStruct);
-void setGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpStruct);
-#define GdkVisual_sizeof() sizeof(GdkVisual)
-#else
-#define cacheGdkVisualFields(a,b)
-#define getGdkVisualFields(a,b,c) NULL
-#define setGdkVisualFields(a,b,c)
-#define GdkVisual_sizeof() 0
-#endif
-
-#ifndef NO_GdkWindowAttr
-void cacheGdkWindowAttrFields(JNIEnv *env, jobject lpObject);
-GdkWindowAttr *getGdkWindowAttrFields(JNIEnv *env, jobject lpObject, GdkWindowAttr *lpStruct);
-void setGdkWindowAttrFields(JNIEnv *env, jobject lpObject, GdkWindowAttr *lpStruct);
-#define GdkWindowAttr_sizeof() sizeof(GdkWindowAttr)
-#else
-#define cacheGdkWindowAttrFields(a,b)
-#define getGdkWindowAttrFields(a,b,c) NULL
-#define setGdkWindowAttrFields(a,b,c)
-#define GdkWindowAttr_sizeof() 0
-#endif
-
-#ifndef NO_GtkAdjustment
-void cacheGtkAdjustmentFields(JNIEnv *env, jobject lpObject);
-GtkAdjustment *getGtkAdjustmentFields(JNIEnv *env, jobject lpObject, GtkAdjustment *lpStruct);
-void setGtkAdjustmentFields(JNIEnv *env, jobject lpObject, GtkAdjustment *lpStruct);
-#define GtkAdjustment_sizeof() sizeof(GtkAdjustment)
-#else
-#define cacheGtkAdjustmentFields(a,b)
-#define getGtkAdjustmentFields(a,b,c) NULL
-#define setGtkAdjustmentFields(a,b,c)
-#define GtkAdjustment_sizeof() 0
-#endif
-
-#ifndef NO_GtkAllocation
-void cacheGtkAllocationFields(JNIEnv *env, jobject lpObject);
-GtkAllocation *getGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpStruct);
-void setGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpStruct);
-#define GtkAllocation_sizeof() sizeof(GtkAllocation)
-#else
-#define cacheGtkAllocationFields(a,b)
-#define getGtkAllocationFields(a,b,c) NULL
-#define setGtkAllocationFields(a,b,c)
-#define GtkAllocation_sizeof() 0
-#endif
-
-#ifndef NO_GtkBorder
-void cacheGtkBorderFields(JNIEnv *env, jobject lpObject);
-GtkBorder *getGtkBorderFields(JNIEnv *env, jobject lpObject, GtkBorder *lpStruct);
-void setGtkBorderFields(JNIEnv *env, jobject lpObject, GtkBorder *lpStruct);
-#define GtkBorder_sizeof() sizeof(GtkBorder)
-#else
-#define cacheGtkBorderFields(a,b)
-#define getGtkBorderFields(a,b,c) NULL
-#define setGtkBorderFields(a,b,c)
-#define GtkBorder_sizeof() 0
-#endif
-
-#ifndef NO_GtkCellRendererClass
-void cacheGtkCellRendererClassFields(JNIEnv *env, jobject lpObject);
-GtkCellRendererClass *getGtkCellRendererClassFields(JNIEnv *env, jobject lpObject, GtkCellRendererClass *lpStruct);
-void setGtkCellRendererClassFields(JNIEnv *env, jobject lpObject, GtkCellRendererClass *lpStruct);
-#define GtkCellRendererClass_sizeof() sizeof(GtkCellRendererClass)
-#else
-#define cacheGtkCellRendererClassFields(a,b)
-#define getGtkCellRendererClassFields(a,b,c) NULL
-#define setGtkCellRendererClassFields(a,b,c)
-#define GtkCellRendererClass_sizeof() 0
-#endif
-
-#ifndef NO_GtkColorSelectionDialog
-void cacheGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject);
-GtkColorSelectionDialog *getGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject, GtkColorSelectionDialog *lpStruct);
-void setGtkColorSelectionDialogFields(JNIEnv *env, jobject lpObject, GtkColorSelectionDialog *lpStruct);
-#define GtkColorSelectionDialog_sizeof() sizeof(GtkColorSelectionDialog)
-#else
-#define cacheGtkColorSelectionDialogFields(a,b)
-#define getGtkColorSelectionDialogFields(a,b,c) NULL
-#define setGtkColorSelectionDialogFields(a,b,c)
-#define GtkColorSelectionDialog_sizeof() 0
-#endif
-
-#ifndef NO_GtkCombo
-void cacheGtkComboFields(JNIEnv *env, jobject lpObject);
-GtkCombo *getGtkComboFields(JNIEnv *env, jobject lpObject, GtkCombo *lpStruct);
-void setGtkComboFields(JNIEnv *env, jobject lpObject, GtkCombo *lpStruct);
-#define GtkCombo_sizeof() sizeof(GtkCombo)
-#else
-#define cacheGtkComboFields(a,b)
-#define getGtkComboFields(a,b,c) NULL
-#define setGtkComboFields(a,b,c)
-#define GtkCombo_sizeof() 0
-#endif
-
-#ifndef NO_GtkFileSelection
-void cacheGtkFileSelectionFields(JNIEnv *env, jobject lpObject);
-GtkFileSelection *getGtkFileSelectionFields(JNIEnv *env, jobject lpObject, GtkFileSelection *lpStruct);
-void setGtkFileSelectionFields(JNIEnv *env, jobject lpObject, GtkFileSelection *lpStruct);
-#define GtkFileSelection_sizeof() sizeof(GtkFileSelection)
-#else
-#define cacheGtkFileSelectionFields(a,b)
-#define getGtkFileSelectionFields(a,b,c) NULL
-#define setGtkFileSelectionFields(a,b,c)
-#define GtkFileSelection_sizeof() 0
-#endif
-
-#ifndef NO_GtkFixed
-void cacheGtkFixedFields(JNIEnv *env, jobject lpObject);
-GtkFixed *getGtkFixedFields(JNIEnv *env, jobject lpObject, GtkFixed *lpStruct);
-void setGtkFixedFields(JNIEnv *env, jobject lpObject, GtkFixed *lpStruct);
-#define GtkFixed_sizeof() sizeof(GtkFixed)
-#else
-#define cacheGtkFixedFields(a,b)
-#define getGtkFixedFields(a,b,c) NULL
-#define setGtkFixedFields(a,b,c)
-#define GtkFixed_sizeof() 0
-#endif
-
-#ifndef NO_GtkRequisition
-void cacheGtkRequisitionFields(JNIEnv *env, jobject lpObject);
-GtkRequisition *getGtkRequisitionFields(JNIEnv *env, jobject lpObject, GtkRequisition *lpStruct);
-void setGtkRequisitionFields(JNIEnv *env, jobject lpObject, GtkRequisition *lpStruct);
-#define GtkRequisition_sizeof() sizeof(GtkRequisition)
-#else
-#define cacheGtkRequisitionFields(a,b)
-#define getGtkRequisitionFields(a,b,c) NULL
-#define setGtkRequisitionFields(a,b,c)
-#define GtkRequisition_sizeof() 0
-#endif
-
-#ifndef NO_GtkSelectionData
-void cacheGtkSelectionDataFields(JNIEnv *env, jobject lpObject);
-GtkSelectionData *getGtkSelectionDataFields(JNIEnv *env, jobject lpObject, GtkSelectionData *lpStruct);
-void setGtkSelectionDataFields(JNIEnv *env, jobject lpObject, GtkSelectionData *lpStruct);
-#define GtkSelectionData_sizeof() sizeof(GtkSelectionData)
-#else
-#define cacheGtkSelectionDataFields(a,b)
-#define getGtkSelectionDataFields(a,b,c) NULL
-#define setGtkSelectionDataFields(a,b,c)
-#define GtkSelectionData_sizeof() 0
-#endif
-
-#ifndef NO_GtkTargetEntry
-void cacheGtkTargetEntryFields(JNIEnv *env, jobject lpObject);
-GtkTargetEntry *getGtkTargetEntryFields(JNIEnv *env, jobject lpObject, GtkTargetEntry *lpStruct);
-void setGtkTargetEntryFields(JNIEnv *env, jobject lpObject, GtkTargetEntry *lpStruct);
-#define GtkTargetEntry_sizeof() sizeof(GtkTargetEntry)
-#else
-#define cacheGtkTargetEntryFields(a,b)
-#define getGtkTargetEntryFields(a,b,c) NULL
-#define setGtkTargetEntryFields(a,b,c)
-#define GtkTargetEntry_sizeof() 0
-#endif
-
-#ifndef NO_GtkTargetPair
-void cacheGtkTargetPairFields(JNIEnv *env, jobject lpObject);
-GtkTargetPair *getGtkTargetPairFields(JNIEnv *env, jobject lpObject, GtkTargetPair *lpStruct);
-void setGtkTargetPairFields(JNIEnv *env, jobject lpObject, GtkTargetPair *lpStruct);
-#define GtkTargetPair_sizeof() sizeof(GtkTargetPair)
-#else
-#define cacheGtkTargetPairFields(a,b)
-#define getGtkTargetPairFields(a,b,c) NULL
-#define setGtkTargetPairFields(a,b,c)
-#define GtkTargetPair_sizeof() 0
-#endif
-
-#ifndef NO_GtkWidgetClass
-void cacheGtkWidgetClassFields(JNIEnv *env, jobject lpObject);
-GtkWidgetClass *getGtkWidgetClassFields(JNIEnv *env, jobject lpObject, GtkWidgetClass *lpStruct);
-void setGtkWidgetClassFields(JNIEnv *env, jobject lpObject, GtkWidgetClass *lpStruct);
-#define GtkWidgetClass_sizeof() sizeof(GtkWidgetClass)
-#else
-#define cacheGtkWidgetClassFields(a,b)
-#define getGtkWidgetClassFields(a,b,c) NULL
-#define setGtkWidgetClassFields(a,b,c)
-#define GtkWidgetClass_sizeof() 0
-#endif
-
-#ifndef NO_PangoAttribute
-void cachePangoAttributeFields(JNIEnv *env, jobject lpObject);
-PangoAttribute *getPangoAttributeFields(JNIEnv *env, jobject lpObject, PangoAttribute *lpStruct);
-void setPangoAttributeFields(JNIEnv *env, jobject lpObject, PangoAttribute *lpStruct);
-#define PangoAttribute_sizeof() sizeof(PangoAttribute)
-#else
-#define cachePangoAttributeFields(a,b)
-#define getPangoAttributeFields(a,b,c) NULL
-#define setPangoAttributeFields(a,b,c)
-#define PangoAttribute_sizeof() 0
-#endif
-
-#ifndef NO_PangoItem
-void cachePangoItemFields(JNIEnv *env, jobject lpObject);
-PangoItem *getPangoItemFields(JNIEnv *env, jobject lpObject, PangoItem *lpStruct);
-void setPangoItemFields(JNIEnv *env, jobject lpObject, PangoItem *lpStruct);
-#define PangoItem_sizeof() sizeof(PangoItem)
-#else
-#define cachePangoItemFields(a,b)
-#define getPangoItemFields(a,b,c) NULL
-#define setPangoItemFields(a,b,c)
-#define PangoItem_sizeof() 0
-#endif
-
-#ifndef NO_PangoLayoutLine
-void cachePangoLayoutLineFields(JNIEnv *env, jobject lpObject);
-PangoLayoutLine *getPangoLayoutLineFields(JNIEnv *env, jobject lpObject, PangoLayoutLine *lpStruct);
-void setPangoLayoutLineFields(JNIEnv *env, jobject lpObject, PangoLayoutLine *lpStruct);
-#define PangoLayoutLine_sizeof() sizeof(PangoLayoutLine)
-#else
-#define cachePangoLayoutLineFields(a,b)
-#define getPangoLayoutLineFields(a,b,c) NULL
-#define setPangoLayoutLineFields(a,b,c)
-#define PangoLayoutLine_sizeof() 0
-#endif
-
-#ifndef NO_PangoLayoutRun
-void cachePangoLayoutRunFields(JNIEnv *env, jobject lpObject);
-PangoLayoutRun *getPangoLayoutRunFields(JNIEnv *env, jobject lpObject, PangoLayoutRun *lpStruct);
-void setPangoLayoutRunFields(JNIEnv *env, jobject lpObject, PangoLayoutRun *lpStruct);
-#define PangoLayoutRun_sizeof() sizeof(PangoLayoutRun)
-#else
-#define cachePangoLayoutRunFields(a,b)
-#define getPangoLayoutRunFields(a,b,c) NULL
-#define setPangoLayoutRunFields(a,b,c)
-#define PangoLayoutRun_sizeof() 0
-#endif
-
-#ifndef NO_PangoLogAttr
-void cachePangoLogAttrFields(JNIEnv *env, jobject lpObject);
-PangoLogAttr *getPangoLogAttrFields(JNIEnv *env, jobject lpObject, PangoLogAttr *lpStruct);
-void setPangoLogAttrFields(JNIEnv *env, jobject lpObject, PangoLogAttr *lpStruct);
-#define PangoLogAttr_sizeof() sizeof(PangoLogAttr)
-#else
-#define cachePangoLogAttrFields(a,b)
-#define getPangoLogAttrFields(a,b,c) NULL
-#define setPangoLogAttrFields(a,b,c)
-#define PangoLogAttr_sizeof() 0
-#endif
-
-#ifndef NO_PangoRectangle
-void cachePangoRectangleFields(JNIEnv *env, jobject lpObject);
-PangoRectangle *getPangoRectangleFields(JNIEnv *env, jobject lpObject, PangoRectangle *lpStruct);
-void setPangoRectangleFields(JNIEnv *env, jobject lpObject, PangoRectangle *lpStruct);
-#define PangoRectangle_sizeof() sizeof(PangoRectangle)
-#else
-#define cachePangoRectangleFields(a,b)
-#define getPangoRectangleFields(a,b,c) NULL
-#define setPangoRectangleFields(a,b,c)
-#define PangoRectangle_sizeof() 0
-#endif
-
-#ifndef NO_XAnyEvent
-void cacheXAnyEventFields(JNIEnv *env, jobject lpObject);
-XAnyEvent *getXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct);
-void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct);
-#define XAnyEvent_sizeof() sizeof(XAnyEvent)
-#else
-#define cacheXAnyEventFields(a,b)
-#define getXAnyEventFields(a,b,c) NULL
-#define setXAnyEventFields(a,b,c)
-#define XAnyEvent_sizeof() 0
-#endif
-
-#ifndef NO_XButtonEvent
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject);
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-#define XButtonEvent_sizeof() sizeof(XButtonEvent)
-#else
-#define cacheXButtonEventFields(a,b)
-#define getXButtonEventFields(a,b,c) NULL
-#define setXButtonEventFields(a,b,c)
-#define XButtonEvent_sizeof() 0
-#endif
-
-#ifndef NO_XClientMessageEvent
-void cacheXClientMessageEventFields(JNIEnv *env, jobject lpObject);
-XClientMessageEvent *getXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct);
-void setXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct);
-#define XClientMessageEvent_sizeof() sizeof(XClientMessageEvent)
-#else
-#define cacheXClientMessageEventFields(a,b)
-#define getXClientMessageEventFields(a,b,c) NULL
-#define setXClientMessageEventFields(a,b,c)
-#define XClientMessageEvent_sizeof() 0
-#endif
-
-#ifndef NO_XCrossingEvent
-void cacheXCrossingEventFields(JNIEnv *env, jobject lpObject);
-XCrossingEvent *getXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct);
-void setXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct);
-#define XCrossingEvent_sizeof() sizeof(XCrossingEvent)
-#else
-#define cacheXCrossingEventFields(a,b)
-#define getXCrossingEventFields(a,b,c) NULL
-#define setXCrossingEventFields(a,b,c)
-#define XCrossingEvent_sizeof() 0
-#endif
-
-#ifndef NO_XEvent
-void cacheXEventFields(JNIEnv *env, jobject lpObject);
-XEvent *getXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct);
-void setXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct);
-#define XEvent_sizeof() sizeof(XEvent)
-#else
-#define cacheXEventFields(a,b)
-#define getXEventFields(a,b,c) NULL
-#define setXEventFields(a,b,c)
-#define XEvent_sizeof() 0
-#endif
-
-#ifndef NO_XExposeEvent
-void cacheXExposeEventFields(JNIEnv *env, jobject lpObject);
-XExposeEvent *getXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct);
-void setXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct);
-#define XExposeEvent_sizeof() sizeof(XExposeEvent)
-#else
-#define cacheXExposeEventFields(a,b)
-#define getXExposeEventFields(a,b,c) NULL
-#define setXExposeEventFields(a,b,c)
-#define XExposeEvent_sizeof() 0
-#endif
-
-#ifndef NO_XFocusChangeEvent
-void cacheXFocusChangeEventFields(JNIEnv *env, jobject lpObject);
-XFocusChangeEvent *getXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct);
-void setXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct);
-#define XFocusChangeEvent_sizeof() sizeof(XFocusChangeEvent)
-#else
-#define cacheXFocusChangeEventFields(a,b)
-#define getXFocusChangeEventFields(a,b,c) NULL
-#define setXFocusChangeEventFields(a,b,c)
-#define XFocusChangeEvent_sizeof() 0
-#endif
-
-#ifndef NO_XRenderPictureAttributes
-void cacheXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject);
-XRenderPictureAttributes *getXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct);
-void setXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct);
-#define XRenderPictureAttributes_sizeof() sizeof(XRenderPictureAttributes)
-#else
-#define cacheXRenderPictureAttributesFields(a,b)
-#define getXRenderPictureAttributesFields(a,b,c) NULL
-#define setXRenderPictureAttributesFields(a,b,c)
-#define XRenderPictureAttributes_sizeof() 0
-#endif
-
-#ifndef NO_XVisibilityEvent
-void cacheXVisibilityEventFields(JNIEnv *env, jobject lpObject);
-XVisibilityEvent *getXVisibilityEventFields(JNIEnv *env, jobject lpObject, XVisibilityEvent *lpStruct);
-void setXVisibilityEventFields(JNIEnv *env, jobject lpObject, XVisibilityEvent *lpStruct);
-#define XVisibilityEvent_sizeof() sizeof(XVisibilityEvent)
-#else
-#define cacheXVisibilityEventFields(a,b)
-#define getXVisibilityEventFields(a,b,c) NULL
-#define setXVisibilityEventFields(a,b,c)
-#define XVisibilityEvent_sizeof() 0
-#endif
-
-#ifndef NO_XWindowChanges
-void cacheXWindowChangesFields(JNIEnv *env, jobject lpObject);
-XWindowChanges *getXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct);
-void setXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct);
-#define XWindowChanges_sizeof() sizeof(XWindowChanges)
-#else
-#define cacheXWindowChangesFields(a,b)
-#define getXWindowChangesFields(a,b,c) NULL
-#define setXWindowChangesFields(a,b,c)
-#define XWindowChanges_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/Platform.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/Platform.java
deleted file mode 100644
index 941152a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/Platform.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal;
-
-public class Platform {
-	public static final String PLATFORM = "gtk";
-	public static final Lock lock = new Lock();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
deleted file mode 100644
index 4ad24ab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-import org.eclipse.swt.internal.Library;
-import org.eclipse.swt.internal.gtk.OS;
-
-public class ATK extends OS {
-	static {
-		Library.loadLibrary("swt-atk");
-	}
-	
-	/** Constants */
-	public static final int ATK_RELATION_LABELLED_BY = 4;
-	public static final int ATK_ROLE_CHECK_BOX = 7;
-	public static final int ATK_ROLE_COMBO_BOX = 11;
-	public static final int ATK_ROLE_DIALOG = 16;
-	public static final int ATK_ROLE_DRAWING_AREA = 18;
-	public static final int ATK_ROLE_WINDOW = 68;
-	public static final int ATK_ROLE_LABEL = 28;
-	public static final int ATK_ROLE_LIST = 30;
-	public static final int ATK_ROLE_LIST_ITEM = 31;
-	public static final int ATK_ROLE_MENU = 32;
-	public static final int ATK_ROLE_MENU_BAR = 33;
-	public static final int ATK_ROLE_MENU_ITEM = 34;
-	public static final int ATK_ROLE_PAGE_TAB = 36;
-	public static final int ATK_ROLE_PAGE_TAB_LIST = 37;
-	public static final int ATK_ROLE_PROGRESS_BAR = 41;
-	public static final int ATK_ROLE_PUSH_BUTTON = 42;
-	public static final int ATK_ROLE_RADIO_BUTTON = 43;
-	public static final int ATK_ROLE_SCROLL_BAR = 47;
-	public static final int ATK_ROLE_SEPARATOR = 49;
-	public static final int ATK_ROLE_SLIDER = 50;
-	public static final int ATK_ROLE_TABLE = 54;
-	public static final int ATK_ROLE_TABLE_CELL = 55;
-	public static final int ATK_ROLE_TABLE_COLUMN_HEADER = 56;
-	public static final int ATK_ROLE_TABLE_ROW_HEADER = 57;
-	public static final int ATK_ROLE_TEXT = 60;
-	public static final int ATK_ROLE_TOOL_BAR = 62;
-	public static final int ATK_ROLE_TOOL_TIP = 63;
-	public static final int ATK_ROLE_TREE = 64;
-	public static final int ATK_STATE_ARMED = 2;
-	public static final int ATK_STATE_BUSY = 3;
-	public static final int ATK_STATE_CHECKED = 4;
-	public static final int ATK_STATE_DEFUNCT = 5;
-	public static final int ATK_STATE_EDITABLE = 6;
-	public static final int ATK_STATE_ENABLED = 7;
-	public static final int ATK_STATE_EXPANDED = 9;
-	public static final int ATK_STATE_FOCUSABLE = 10;
-	public static final int ATK_STATE_FOCUSED = 11;
-	public static final int ATK_STATE_MULTISELECTABLE = 16;
-	public static final int ATK_STATE_PRESSED = 18;
-	public static final int ATK_STATE_RESIZABLE = 19;
-	public static final int ATK_STATE_SELECTABLE = 20;
-	public static final int ATK_STATE_SELECTED = 21;
-	public static final int ATK_STATE_SHOWING = 23;
-	public static final int ATK_STATE_TRANSIENT = 26;
-	public static final int ATK_STATE_VISIBLE = 28;
-	public static final int ATK_TEXT_BOUNDARY_CHAR = 0;
-	public static final int ATK_TEXT_BOUNDARY_WORD_START = 1;
-	public static final int ATK_TEXT_BOUNDARY_WORD_END = 2;
-	public static final int ATK_TEXT_BOUNDARY_SENTENCE_START = 3;
-	public static final int ATK_TEXT_BOUNDARY_SENTENCE_END = 4;
-	public static final int ATK_TEXT_BOUNDARY_LINE_START = 5;
-	public static final int ATK_TEXT_BOUNDARY_LINE_END = 6;
-	public static final int ATK_XY_WINDOW = 1;
-	
-	/** Signals */
-	public static final byte[] selection_changed = OS.ascii ("selection_changed");
-	public static final byte[] text_changed_insert = OS.ascii ("text_changed::insert");
-	public static final byte[] text_changed_delete = OS.ascii ("text_changed::delete");
-	public static final byte[] text_caret_moved = OS.ascii ("text_caret_moved");
-	public static final byte[] text_selection_changed = OS.ascii ("text_selection_changed");
-	
-/** 64 bit */
-public static final native int AtkObjectFactory_sizeof ();
-public static final native int AtkObjectFactoryClass_sizeof ();
-	
-/** Natives */
-public static final native int /*long*/ _ATK_ACTION_GET_IFACE (int /*long*/ obj);
-public static final int /*long*/ ATK_ACTION_GET_IFACE (int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _ATK_ACTION_GET_IFACE(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _ATK_COMPONENT_GET_IFACE(int /*long*/ atkHandle);
-public static final int /*long*/ ATK_COMPONENT_GET_IFACE(int /*long*/ atkHandle) {
-	lock.lock();
-	try {
-		return _ATK_COMPONENT_GET_IFACE(atkHandle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass);
-public static final int /*long*/ ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass) {
-	lock.lock();
-	try {
-		return _ATK_OBJECT_FACTORY_CLASS(klass);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _ATK_SELECTION_GET_IFACE (int /*long*/ obj);
-public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _ATK_SELECTION_GET_IFACE(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _ATK_TEXT_GET_IFACE (int /*long*/ handle);
-public static final int /*long*/ ATK_TEXT_GET_IFACE (int /*long*/ handle) {
-	lock.lock();
-	try {
-		return _ATK_TEXT_GET_IFACE(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_ACCESSIBLE (int /*long*/ handle);
-public static final int /*long*/ GTK_ACCESSIBLE (int /*long*/ handle) {
-	lock.lock();
-	try {
-		return _GTK_ACCESSIBLE(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _atk_focus_tracker_notify (int /*long*/ object);
-public static final void atk_focus_tracker_notify (int /*long*/ object) {
-	lock.lock();
-	try {
-		_atk_focus_tracker_notify(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_get_default_registry ();
-public static final int /*long*/ atk_get_default_registry () {
-	lock.lock();
-	try {
-		return _atk_get_default_registry();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_object_factory_create_accessible (int /*long*/ factory, int /*long*/ obj);
-public static final int /*long*/ atk_object_factory_create_accessible (int /*long*/ factory, int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _atk_object_factory_create_accessible(factory, obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_object_factory_get_accessible_type (int /*long*/ factory);
-public static final int /*long*/ atk_object_factory_get_accessible_type (int /*long*/ factory) {
-	lock.lock();
-	try {
-		return _atk_object_factory_get_accessible_type(factory);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _atk_object_initialize (int /*long*/ accessible, int /*long*/ data);
-public static final void atk_object_initialize (int /*long*/ accessible, int /*long*/ data) {
-	lock.lock();
-	try {
-		_atk_object_initialize(accessible, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_object_ref_relation_set (int /*long*/ accessible);
-public static final int /*long*/ atk_object_ref_relation_set (int /*long*/ accessible) {
-	lock.lock();
-	try {
-		return _atk_object_ref_relation_set(accessible);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_registry_get_factory (int /*long*/ registry, int /*long*/ type);
-public static final int /*long*/ atk_registry_get_factory (int /*long*/ registry, int /*long*/ type) {
-	lock.lock();
-	try {
-		return _atk_registry_get_factory(registry, type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _atk_registry_set_factory_type (int /*long*/ registry, int /*long*/ type, int /*long*/ factory_type);
-public static final void atk_registry_set_factory_type (int /*long*/ registry, int /*long*/ type, int /*long*/ factory_type) {
-	lock.lock();
-	try {
-		_atk_registry_set_factory_type(registry, type, factory_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _atk_relation_set_get_n_relations (int /*long*/ set);
-public static final int atk_relation_set_get_n_relations (int /*long*/ set) {
-	lock.lock();
-	try {
-		return _atk_relation_set_get_n_relations(set);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_relation_set_get_relation (int /*long*/ set, int i);
-public static final int /*long*/ atk_relation_set_get_relation (int /*long*/ set, int i) {
-	lock.lock();
-	try {
-		return _atk_relation_set_get_relation (set, i);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _atk_relation_set_remove (int /*long*/ set, int /*long*/ relation);
-public static final void atk_relation_set_remove (int /*long*/ set, int /*long*/ relation) {
-	lock.lock();
-	try {
-		_atk_relation_set_remove (set, relation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _atk_state_set_add_state (int /*long*/ set, int type);
-public static final boolean atk_state_set_add_state (int /*long*/ set, int type) {
-	lock.lock();
-	try {
-		return _atk_state_set_add_state(set, type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _atk_state_set_new ();
-public static final int /*long*/ atk_state_set_new () {
-	lock.lock();
-	try {
-		return _atk_state_set_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0) {
-	lock.lock();
-	try {
-		return _call(function, arg0);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1, arg2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1, arg2, arg3);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1, arg2, arg3, arg4);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4, int /*long*/ arg5);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4, int /*long*/ arg5) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1, arg2, arg3, arg4, arg5);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void memmove (AtkActionIface dest, int /*long*/ src);
-public static final native void memmove (AtkComponentIface dest, int /*long*/ src);
-public static final native void memmove (AtkHypertextIface dest, int /*long*/ src);
-public static final native void memmove (AtkObjectClass dest, int /*long*/ src);
-public static final native void memmove (AtkObjectFactoryClass  dest, int /*long*/ src);
-public static final native void memmove (AtkSelectionIface dest, int /*long*/ src);	
-public static final native void memmove (AtkTextIface dest, int /*long*/ src);
-public static final native void memmove (GtkAccessible  dest, int /*long*/ src);
-public static final native void memmove (int /*long*/ dest, AtkActionIface src);
-public static final native void memmove (int /*long*/ dest, AtkComponentIface src);
-public static final native void memmove (int /*long*/ dest, AtkHypertextIface src);
-public static final native void memmove (int /*long*/ dest, AtkObjectClass src);
-public static final native void memmove (int /*long*/ dest, AtkObjectFactoryClass src);
-public static final native void memmove (int /*long*/ dest, AtkSelectionIface src);
-public static final native void memmove (int /*long*/ dest, AtkTextIface src);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
deleted file mode 100644
index bcd2e4c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkActionIface {
-//	GTypeInterface parent;
-	public int /*long*/ do_action;
-	public int /*long*/ get_n_actions;
-	public int /*long*/ get_description;
-	public int /*long*/ get_name;
-	public int /*long*/ get_keybinding;
-	public int /*long*/ set_description;	
-//   AtkFunction             pad1;
-//   AtkFunction             pad2;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
deleted file mode 100644
index 2b896e7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkComponentIface {
-	public int /*long*/ add_focus_handler;
-	public int /*long*/ contains;
-	public int /*long*/ ref_accessible_at_point;
-	public int /*long*/ get_extents;
-	public int /*long*/ get_position;
-	public int /*long*/ get_size;
-	public int /*long*/ grab_focus;
-	public int /*long*/ remove_focus_handler;
-	public int /*long*/ set_extents;
-	public int /*long*/ set_position;
-	public int /*long*/ set_size;
-	public int /*long*/ get_layer;
-	public int /*long*/ get_mdi_zorder;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
deleted file mode 100644
index 06bb085..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkHypertextIface {
-	public int /*long*/ get_link;
-	public int /*long*/ get_n_links;
-	public int /*long*/ get_link_index;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
deleted file mode 100644
index 7a5e720..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkObjectClass {
-	public int /*long*/ get_name;
-	public int /*long*/ get_description;
-	public int /*long*/ get_parent;
-	public int /*long*/ get_n_children;
-	public int /*long*/ ref_child;
-	public int /*long*/ get_index_in_parent;
-	public int /*long*/ ref_relation_set;
-	public int /*long*/ get_role;
-	public int /*long*/ get_layer;
-	public int /*long*/ get_mdi_zorder;
-	public int /*long*/ ref_state_set;
-	public int /*long*/ set_name;
-	public int /*long*/ set_description;
-	public int /*long*/ set_parent;
-	public int /*long*/ set_role;
-	public int /*long*/ connect_property_change_handler;
-	public int /*long*/ remove_property_change_handler;
-	public int /*long*/ initialize;
-	public int /*long*/ children_changed;
-	public int /*long*/ focus_event;
-	public int /*long*/ property_change;
-	public int /*long*/ state_change;
-	public int /*long*/ visible_data_changed;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
deleted file mode 100644
index 2bdff02..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkObjectFactoryClass {
-	public int /*long*/ create_accessible;
-	public int /*long*/ invalidate;
-	public int /*long*/ get_accessible_type;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
deleted file mode 100644
index d9e6215..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkSelectionIface {
-	public int /*long*/ add_selection;
-	public int /*long*/ clear_selection;
-	public int /*long*/ ref_selection;
-	public int /*long*/ get_selection_count;
-	public int /*long*/ is_child_selected;
-	public int /*long*/ remove_selection;
-	public int /*long*/ select_all_selection;
-	public int /*long*/ selection_changed;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
deleted file mode 100644
index e1c2e0a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class AtkTextIface {
-	public int /*long*/ get_text;
-	public int /*long*/ get_text_after_offset;
-	public int /*long*/ get_text_at_offset;
-	public int /*long*/ get_character_at_offset;
-	public int /*long*/ get_text_before_offset;
-	public int /*long*/ get_caret_offset;
-	public int /*long*/ get_run_attributes;
-	public int /*long*/ get_default_attributes;
-	public int /*long*/ get_character_extents;
-	public int /*long*/ get_character_count;
-	public int /*long*/ get_offset_at_point;
-	public int /*long*/ get_n_selections;
-	public int /*long*/ get_selection;
-	public int /*long*/ add_selection;
-	public int /*long*/ remove_selection;
-	public int /*long*/ set_selection;
-	public int /*long*/ set_caret_offset;
-	public int /*long*/ text_changed;
-	public int /*long*/ text_caret_moved;
-	public int /*long*/ text_selection_changed;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
deleted file mode 100644
index be760f4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.accessibility.gtk;
-
-
-public class GtkAccessible {
-	public int /*long*/ widget;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GInterfaceInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
deleted file mode 100644
index 4755245..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GInterfaceInfo {
-	public int /*long*/ interface_init;
-	public int /*long*/ interface_finalize;
-	public int /*long*/ interface_data;
-	public static final int sizeof = OS.GInterfaceInfo_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GObjectClass.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GObjectClass.java
deleted file mode 100644
index dc0194b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GObjectClass.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GObjectClass {
-	public int /*long*/ constructor;
-	public int /*long*/ set_property;
-	public int /*long*/ get_property;
-	public int /*long*/ dispose;
-	public int /*long*/ finalize;
-	public int /*long*/ dispatch_properties_changed;
-	public int /*long*/ notify;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeInfo.java
deleted file mode 100644
index 08eceb8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeInfo.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GTypeInfo {
-	public short class_size;
-	public int /*long*/ base_init;
-	public int /*long*/ base_finalize;
-	public int /*long*/ class_init;
-	public int /*long*/ class_finalize;
-	public int /*long*/ class_data;
-	public short instance_size;
-	public short n_preallocs;
-	public int /*long*/ instance_init;
-	public int /*long*/ value_table;
-	public static final int sizeof = OS.GTypeInfo_sizeof();	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeQuery.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeQuery.java
deleted file mode 100644
index b9ebe57..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GTypeQuery.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GTypeQuery {
-	public int type;
-	public int /*long*/ type_name;
-	public int class_size;
-	public int instance_size;
-	public static final int sizeof = OS.GTypeQuery_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java
deleted file mode 100644
index bea6a92..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkColor {
-	public int pixel;
-	public short red; 
-	public short green;
-	public short blue;
-	public static final int sizeof = OS.GdkColor_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java
deleted file mode 100644
index 11113b2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkDragContext {     
-   public int protocol;
-   public boolean is_source;
-   public int /*long*/ source_window;
-   public int /*long*/ dest_window;
-   public int /*long*/ targets;
-   public int actions;
-   public int suggested_action;
-   public int action; 
-   public int start_time;
-   public static final int sizeof = OS.GdkDragContext_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java
deleted file mode 100644
index eadd56b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEvent {
-	public int type;
-	public static final int sizeof = OS.GdkEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventAny.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventAny.java
deleted file mode 100644
index 4dc4a3e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventAny.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventAny extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public static final int sizeof = OS.GdkEventAny_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java
deleted file mode 100644
index a7b3356..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventButton extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public int time;
-	public double x;
-	public double y;
-	public int /*long*/ axes;
-	public int state;
-	public int button;
-	public int /*long*/ device;
-	public double x_root;
-	public double y_root;
-	public static final int sizeof = OS.GdkEventButton_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
deleted file mode 100644
index da360c5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventCrossing extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public int /*long*/ subwindow;
-	public int time;
-	public double x;
-	public double y;
-	public double x_root;
-	public double y_root;
-	public int mode;
-	public int detail;
-	public boolean focus;
-	public int state;
-	public static final int sizeof = OS.GdkEventCrossing_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java
deleted file mode 100644
index 120b292..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventExpose extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public int area_x;
-	public int area_y;
-	public int area_width;
-	public int area_height;
-	public int /*long*/ region;
-	public int count;
-	public static final int sizeof = OS.GdkEventExpose_sizeof();
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java
deleted file mode 100644
index 8e9a41f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventFocus extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public short in;
-	public static final int sizeof = OS.GdkEventFocus_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java
deleted file mode 100644
index b6bbaee..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventKey extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public int time;
-	public int state;
-	public int keyval;
-	public int length;
-	public int /*long*/ string;
-	public short hardware_keycode;
-    public byte group;
-   	public static final int sizeof = OS.GdkEventKey_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventMotion.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventMotion.java
deleted file mode 100644
index 4d5a0e8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventMotion.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.

- * The contents of this file are made available under the terms

- * of the GNU Lesser General Public License (LGPL) Version 2.1 that

- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also

- * available at http://www.gnu.org/licenses/lgpl.html.  If the version

- * of the LGPL at http://www.gnu.org is different to the version of

- * the LGPL accompanying this distribution and there is any conflict

- * between the two license versions, the terms of the LGPL accompanying

- * this distribution shall govern.

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

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

-package org.eclipse.swt.internal.gtk;

-

-

-public class GdkEventMotion extends GdkEvent {

-	public int /*long*/ window;

-	public byte send_event;

-	public int time;

-	public double x;

-	public double y;

-	public int /*long*/ axes;

-	public int state;

-	public short is_hint;

-	public int /*long*/ device;

-	public double x_root;

-	public double y_root;

-	public static final int sizeof = OS.GdkEventMotion_sizeof();

-}

diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventScroll.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventScroll.java
deleted file mode 100644
index 1411873..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventScroll.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventScroll extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event;
-	public int time;
-	public double x;
-	public double y;
-	public int state;
-	public int direction;
-	public int /*long*/ device;
-	public double x_root;
-	public double y_root;
-	public static final int sizeof = OS.GdkEventScroll_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventVisibility.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
deleted file mode 100644
index d4d0916..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventVisibility extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event; 
-	public int state;
-	public static final int sizeof = OS.GdkEventVisibility_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventWindowState.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
deleted file mode 100644
index 94ef5a5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventWindowState extends GdkEvent {
-	public int /*long*/ window;
-	public byte send_event; 
-	public int changed_mask;
-	public int new_window_state;
-	public static final int sizeof = OS.GdkEventWindowState_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java
deleted file mode 100644
index 24f1146..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkGCValues {
-	public int foreground_pixel;
-	public short foreground_red;
-	public short foreground_green;
-	public short foreground_blue;
-	public int background_pixel;
-	public short background_red;
-	public short background_green;
-	public short background_blue;
-	public int /*long*/ font;
-	public int /*long*/ function;
-	public int fill;
-	public int /*long*/ tile;
-	public int /*long*/ stipple;
-	public int /*long*/ clip_mask;
-	public int subwindow_mode;
-	public int ts_x_origin;
-	public int ts_y_origin;
-	public int clip_x_origin;
-	public int clip_y_origin;
-	public int graphics_exposures;
-	public int line_width;
-	public int line_style;
-	public int cap_style;
-	public int join_style;
-	public static final int sizeof = OS.GdkGCValues_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGeometry.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGeometry.java
deleted file mode 100644
index 8269780..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGeometry.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkGeometry {
-	public int min_width;
-	public int min_height;
-	public int max_width;
-	public int max_height;
-	public int base_width;
-	public int base_height;
-	public int width_inc;
-	public int height_inc;
-	public double min_aspect;
-	public double max_aspect;
-	public int win_gravity;
-	public static final int sizeof = OS.GdkGeometry_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java
deleted file mode 100644
index 185772e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkImage {
-	public int type;
-	public int /*long*/ visual;
-	public int byte_order;
-	public int width;
-	public int height;
-	public short depth;
-	public short bpp;
-	public short bpl;
-	public short bits_per_pixel;
-	public int /*long*/ mem;
-	public int /*long*/ colormap;
-	public int /*long*/ windowing_data;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java
deleted file mode 100644
index 7331c02..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkRectangle {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public static final int sizeof = OS.GdkRectangle_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkVisual.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkVisual.java
deleted file mode 100644
index 99e0688..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkVisual.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkVisual {
-	public int type;
-	public int depth;
-	public int byte_order;
-	public int colormap_size;
-	public int bits_per_rgb;
-	public int red_mask;
-	public int red_shift;
-	public int red_prec;
-	public int green_mask;
-	public int green_shift;
-	public int green_prec;
-	public int blue_mask;
-	public int blue_shift;
-	public int blue_prec;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkWindowAttr.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
deleted file mode 100644
index 452d9dd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkWindowAttr {
-	public int /*long*/ title;
-	public int event_mask;
-	public int x, y;
-	public int width;
-	public int height;
-	public int wclass;
-	public int /*long*/ visual;
-	public int /*long*/ colormap;
-	public int window_type;
-	public int /*long*/ cursor;
-	public int /*long*/ wmclass_name;
-	public int /*long*/ wmclass_class;
-	public boolean override_redirect;
-	public static final int sizeof = OS.GdkWindowAttr_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAdjustment.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAdjustment.java
deleted file mode 100644
index efb2c83..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAdjustment.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkAdjustment {
-	public double lower;
-	public double upper;
-	public double value;
-	public double step_increment;
-	public double page_increment;
-	public double page_size;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java
deleted file mode 100644
index 00bc5fd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkAllocation {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public static final int sizeof = OS.GtkAllocation_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkBorder.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkBorder.java
deleted file mode 100644
index 6a404e0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkBorder.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkBorder {
-	public int left;
-	public int right;
-	public int top;
-	public int bottom;
-	public static final int sizeof = OS.GtkBorder_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
deleted file mode 100644
index 6c8be50..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkCellRendererClass {
-	public int /*long*/ render;
-	public int /*long*/ get_size;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
deleted file mode 100644
index 6b72a6f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkColorSelectionDialog {
-	public int /*long*/ colorsel;
-	public int /*long*/ ok_button;
-	public int /*long*/ cancel_button;
-	public int /*long*/ help_button;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java
deleted file mode 100644
index e0888d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkCombo {
-	public int /*long*/ entry;
-	public int /*long*/ list;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java
deleted file mode 100644
index a66d4c6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkFileSelection {
-	public int /*long*/ dir_list;
-	public int /*long*/ file_list;
-	public int /*long*/ selection_entry;
-	public int /*long*/ selection_text;
-	public int /*long*/ main_vbox;
-	public int /*long*/ ok_button;
-	public int /*long*/ cancel_button;
-	public int /*long*/ help_button;
-	public int /*long*/ history_pulldown;
-	public int /*long*/ history_menu;
-	public int /*long*/ history_list;
-	public int /*long*/ fileop_dialog;
-	public int /*long*/ fileop_entry;
-	public int /*long*/ fileop_file;
-	public int /*long*/ cmpl_state;			// gpointer
-	public int /*long*/ fileop_c_dir;
-	public int /*long*/ fileop_del_file;
-	public int /*long*/ fileop_ren_file;
-	public int /*long*/ button_area;
-	public int /*long*/ action_area;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java
deleted file mode 100644
index 630270e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkFixed {
-	public int /*long*/ children;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java
deleted file mode 100644
index b934030..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkRequisition {
-	public int width;
-	public int height;
-	public static final int sizeof = OS.GtkRequisition_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java
deleted file mode 100644
index 55fede4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkSelectionData {
-	public int /*long*/  selection;
-	public int /*long*/  target;
-	public int /*long*/  type;
-	public int  format;
-	public int /*long*/  data;  
-	public int  length;
-	public static final int sizeof = OS.GtkSelectionData_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
deleted file mode 100644
index d9ee1ad..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkTargetEntry {
-	public int /*long*/ target;
-	public int flags;
-	public int info;
-	public static final int sizeof = OS.GtkTargetEntry_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java
deleted file mode 100644
index 4433e5b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkTargetPair {
-	public int /*long*/ target;
-	public int flags;
-	public int info;
-	public static final int sizeof = OS.GtkTargetPair_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkWidgetClass.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
deleted file mode 100644
index 051757a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GtkWidgetClass extends GObjectClass {
-	public int activate_signal;
-	public int set_scroll_adjustments_signal;	
-	public int /*long*/ dispatch_child_properties_changed;
-	public int /*long*/ show;
-	public int /*long*/ show_all;
-	public int /*long*/ hide;
-	public int /*long*/ hide_all;
-	public int /*long*/ map;
-	public int /*long*/ unmap;
-	public int /*long*/ realize;
-	public int /*long*/ unrealize;
-	public int /*long*/ size_request;
-	public int /*long*/ size_allocate;
-	public int /*long*/ state_changed; 
-	public int /*long*/ parent_set;
-	public int /*long*/ hierarchy_changed;
-	public int /*long*/ style_set;
-	public int /*long*/ direction_changed;
-	public int /*long*/ grab_notify;
-	public int /*long*/ child_notify;	
-	public int /*long*/ mnemonic_activate;
-	public int /*long*/ grab_focus;
-	public int /*long*/ focus;
-	public int /*long*/ event;
-	public int /*long*/ button_press_event;
-	public int /*long*/ button_release_event;
-	public int /*long*/ scroll_event;
-	public int /*long*/ motion_notify_event;
-	public int /*long*/ delete_event;
-	public int /*long*/ destroy_event;
-	public int /*long*/ expose_event;
-	public int /*long*/ key_press_event;
-	public int /*long*/ key_release_event;
-	public int /*long*/ enter_notify_event;
-	public int /*long*/ leave_notify_event;
-	public int /*long*/ configure_event;
-	public int /*long*/ focus_in_event;
-	public int /*long*/ focus_out_event;
-	public int /*long*/ map_event;
-	public int /*long*/ unmap_event;
-	public int /*long*/ property_notify_event;
-	public int /*long*/ selection_clear_event;
-	public int /*long*/ selection_request_event;
-	public int /*long*/ selection_notify_event;
-	public int /*long*/ proximity_in_event;
-	public int /*long*/ proximity_out_event;
-	public int /*long*/ visibility_notify_event;
-	public int /*long*/ client_event;
-	public int /*long*/ no_expose_event;
-	public int /*long*/ window_state_event;
-	public int /*long*/ selection_get;
-	public int /*long*/ selection_received;
-	public int /*long*/ drag_begin;
-	public int /*long*/ drag_end;
-	public int /*long*/ drag_data_get;
-	public int /*long*/ drag_data_delete;
-	public int /*long*/ drag_leave;
-	public int /*long*/ drag_motion;
-	public int /*long*/ drag_drop;
-	public int /*long*/ drag_data_received;
-	public int /*long*/ popup_menu;
-	public int /*long*/ show_help;
-	public int /*long*/ get_accessible;
-	public int /*long*/ screen_changed;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/LONG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/LONG.java
deleted file mode 100644
index a35e1de..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/LONG.java
+++ /dev/null
@@ -1,30 +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.internal.gtk;
-
-public class LONG {
-	public int /*long*/ value;
-	
-	public LONG(int /*long*/ value) {
-		this.value = value;
-	}
-
-	public boolean equals (Object object) {
-		if (object == this) return true;
-		if (!(object instanceof LONG)) return false;
-		LONG obj = (LONG)object;
-		return obj.value == this.value;
-	}
-
-	public int hashCode () {
-		return (int)/*64*/value;
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
deleted file mode 100644
index 9923f23..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
+++ /dev/null
@@ -1,9340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
- 
-import org.eclipse.swt.internal.*;
-
-public class OS extends Platform {
-	static {
-		Library.loadLibrary("swt-pi");
-	}
-	
-	/** OS Constants */
-	public static final boolean IsAIX, IsSunOS, IsLinux, IsHPUX;
-	static {
-		
-		/* Initialize the OS flags and locale constants */
-		String osName = System.getProperty ("os.name");
-		boolean isAIX = false, isSunOS = false, isLinux = false, isHPUX = false;
-		if (osName.equals ("Linux")) isLinux = true;
-		if (osName.equals ("AIX")) isAIX = true;
-		if (osName.equals ("Solaris")) isSunOS = true;
-		if (osName.equals ("SunOS")) isSunOS = true;
-		if (osName.equals ("HP-UX")) isHPUX = true;
-		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsHPUX = isHPUX;
-	}
-
-	/** Constants */
-	public static final int ATK_RELATION_LABELLED_BY = 4;
-	public static final int G_SIGNAL_MATCH_DATA = 1 << 4;
-	public static final int G_SIGNAL_MATCH_ID = 1 << 0;
-	public static final int GDK_2BUTTON_PRESS = 0x5;
-	public static final int GDK_3BUTTON_PRESS = 0x6;
-	public static final int GDK_ACTION_COPY = 1 << 1;
-	public static final int GDK_ACTION_MOVE = 1 << 2;
-	public static final int GDK_ACTION_LINK = 1 << 3;
-	public static final int GDK_Alt_L = 0xffe9;
-	public static final int GDK_Alt_R = 0xffea;
-	public static final int GDK_AND = 4;
-	public static final int GDK_BackSpace = 0xff08;
-	public static final int GDK_BOTTOM_LEFT_CORNER = 0xc;
-	public static final int GDK_BOTTOM_RIGHT_CORNER = 0xe;
-	public static final int GDK_BOTTOM_SIDE = 0x10;
-	public static final int GDK_BUTTON1_MASK = 0x100;
-	public static final int GDK_BUTTON2_MASK = 0x200;
-	public static final int GDK_BUTTON3_MASK = 0x400;
-	public static final int GDK_BUTTON_MOTION_MASK	= 1 << 4;
-	public static final int GDK_BUTTON1_MOTION_MASK	= 1 << 5;
-	public static final int GDK_BUTTON2_MOTION_MASK	= 1 << 6;
-	public static final int GDK_BUTTON3_MOTION_MASK	= 1 << 7;
-	public static final int GDK_BUTTON_PRESS = 0x4;
-	public static final int GDK_BUTTON_PRESS_MASK = 0x100;
-	public static final int GDK_BUTTON_RELEASE = 0x7;
-	public static final int GDK_BUTTON_RELEASE_MASK = 0x200;
-	public static final int GDK_CAP_BUTT = 0x1;
-	public static final int GDK_CAP_PROJECTING = 3;
-	public static final int GDK_CAP_ROUND = 0x2;
-	public static final int GDK_COLORSPACE_RGB = 0;
-	public static final int GDK_CONFIGURE = 13;
-	public static final int GDK_CONTROL_MASK = 0x4;
-	public static final int GDK_COPY = 0x0;
-	public static final int GDK_CROSS = 0x1e;
-	public static final int GDK_CROSSING_NORMAL = 0;
-	public static final int GDK_CROSSING_GRAB = 1;
-	public static final int GDK_CROSSING_UNGRAB = 2;
-	public static final int GDK_Break = 0xff6b;
-	public static final int GDK_Cancel = 0xff69;
-	public static final int GDK_Caps_Lock = 0xffE5;
-	public static final int GDK_Clear = 0xff0B;
-	public static final int GDK_Control_L = 0xffe3;
-	public static final int GDK_Control_R = 0xffe4;
-	public static final int GDK_CURRENT_TIME = 0x0;
-	public static final int GDK_DECOR_BORDER = 0x2;
-	public static final int GDK_DECOR_MAXIMIZE = 0x40;
-	public static final int GDK_DECOR_MENU = 0x10;
-	public static final int GDK_DECOR_MINIMIZE = 0x20;
-	public static final int GDK_DECOR_RESIZEH = 0x4;
-	public static final int GDK_DECOR_TITLE = 0x8;
-	public static final int GDK_DOUBLE_ARROW = 0x2a;
-	public static final int GDK_Delete = 0xffff;
-	public static final int GDK_Down = 0xff54;
-	public static final int GDK_ENTER_NOTIFY_MASK = 0x1000;
-	public static final int GDK_ENTER_NOTIFY = 10;
-	public static final int GDK_EVEN_ODD_RULE = 0;
-	public static final int GTK_EXPANDER_COLAPSED = 0;
-	public static final int GTK_EXPANDER_SEMI_COLLAPSED = 1;
-	public static final int GTK_EXPANDER_SEMI_EXPANDED = 2;
-	public static final int GTK_EXPANDER_EXPANDED = 3;
-	public static final int GDK_EXPOSE = 2;
-	public static final int GDK_EXPOSURE_MASK = 0x2;
-	public static final int GDK_End = 0xff57;
-	public static final int GDK_Escape = 0xff1b;
-	public static final int GDK_F1 = 0xffbe;
-	public static final int GDK_F10 = 0xffc7;
-	public static final int GDK_F11 = 0xffc8;
-	public static final int GDK_F12 = 0xffc9;
-	public static final int GDK_F13 = 0xffca;
-	public static final int GDK_F14 = 0xffcb;
-	public static final int GDK_F15 = 0xffcc;
-	public static final int GDK_F2 = 0xffbf;
-	public static final int GDK_F3 = 0xffc0;
-	public static final int GDK_F4 = 0xffc1;
-	public static final int GDK_F5 = 0xffc2;
-	public static final int GDK_F6 = 0xffc3;
-	public static final int GDK_F7 = 0xffc4;
-	public static final int GDK_F8 = 0xffc5;
-	public static final int GDK_F9 = 0xffc6;
-	public static final int GDK_FLEUR = 0x34;
-	public static final int GDK_FOCUS_CHANGE = 0xc;
-	public static final int GDK_FOCUS_CHANGE_MASK = 0x4000;
-	public static final int GDK_GC_CLIP_MASK = 0x80;
-	public static final int GDK_GC_CLIP_X_ORIGIN = 0x800;
-	public static final int GDK_GC_CLIP_Y_ORIGIN = 0x1000;
-	public static final int GDK_GRAB_SUCCESS = 0x0;
-	public static final int GDK_HAND2 = 0x3c;
-	public static final int GDK_Help = 0xFF6A;
-	public static final int GDK_HINT_MIN_SIZE = 1 << 1;
-	public static final int GDK_Home = 0xff50;
-	public static final int GDK_INCLUDE_INFERIORS = 0x1;
-	public static final int GDK_INPUT_ONLY = 1;
-	public static final int GDK_INTERP_BILINEAR = 0x2;
-	public static final int GDK_Insert = 0xff63;
-	public static final int GDK_ISO_Left_Tab = 0xfe20;
-	public static final int GDK_JOIN_MITER = 0x0;
-	public static final int GDK_JOIN_ROUND = 0x1;
-	public static final int GDK_JOIN_BEVEL = 0x2;
-	public static final int GDK_KEY_PRESS = 0x8;
-	public static final int GDK_KEY_PRESS_MASK = 0x400;
-	public static final int GDK_KEY_RELEASE = 0x9;
-	public static final int GDK_KEY_RELEASE_MASK = 0x800;
-	public static final int GDK_KP_0 = 0xffb0;
-	public static final int GDK_KP_1 = 0xffb1;
-	public static final int GDK_KP_2 = 0xffb2;
-	public static final int GDK_KP_3 = 0xffb3;
-	public static final int GDK_KP_4 = 0xffb4;
-	public static final int GDK_KP_5 = 0xffb5;
-	public static final int GDK_KP_6 = 0xffb6;
-	public static final int GDK_KP_7 = 0xffb7;
-	public static final int GDK_KP_8 = 0xffb8;
-	public static final int GDK_KP_9 = 0xffb9;
-	public static final int GDK_KP_Add = 0xffab;
-	public static final int GDK_KP_Decimal = 0xffae;
-	public static final int GDK_KP_Delete = 0xFF9F;
-	public static final int GDK_KP_Divide = 0xffaf;
-	public static final int GDK_KP_Down = 0xFF99;
-	public static final int GDK_KP_End = 0xFF9C;
-	public static final int GDK_KP_Enter = 0xff8d;
-	public static final int GDK_KP_Equal = 0xffbd;
-	public static final int GDK_KP_Home = 0xFF95;
-	public static final int GDK_KP_Insert = 0xFF9E;
-	public static final int GDK_KP_Left = 0xFF96;
-	public static final int GDK_KP_Multiply = 0xffaa;
-	public static final int GDK_KP_Page_Down = 0xFF9B;
-	public static final int GDK_KP_Page_Up = 0xFF9A;
-	public static final int GDK_KP_Right = 0xFF98;
-	public static final int GDK_KP_Subtract = 0xffad;
-	public static final int GDK_KP_Up = 0xFF97;
-	public static final int GDK_LEAVE_NOTIFY = 11;
-	public static final int GDK_LEAVE_NOTIFY_MASK = 0x2000;
-	public static final int GDK_LEFT_PTR = 0x44;
-	public static final int GDK_LEFT_SIDE = 0x46;
-	public static final int GDK_LINE_ON_OFF_DASH = 0x1;
-	public static final int GDK_LINE_SOLID = 0x0;
-	public static final int GDK_Linefeed = 0xff0A;
-	public static final int GDK_LSB_FIRST = 0x0;
-	public static final int GDK_Left = 0xff51;
-	public static final int GDK_Meta_L = 0xFFE7;
-	public static final int GDK_Meta_R = 0xFFE8;
-	public static final int GDK_MAP = 14;
-	public static final int GDK_MOD1_MASK = 0x8;
-	public static final int GDK_MOTION_NOTIFY = 0x3;
-	public static final int GDK_NO_EXPOSE = 30;
-	public static final int GDK_NONE = 0;
-	public static final int GDK_NOTIFY_INFERIOR = 2;
-	public static final int GDK_Num_Lock = 0xFF7F;
-	public static final int GDK_OVERLAP_RECTANGLE_OUT = 0x1;
-	public static final int GDK_PIXBUF_ALPHA_BILEVEL = 0x0;
-	public static final int GDK_POINTER_MOTION_HINT_MASK = 0x8;
-	public static final int GDK_POINTER_MOTION_MASK = 0x4;
-	public static final int GDK_PROPERTY_NOTIFY = 16;
-	public static final int GDK_Page_Down = 0xff56;
-	public static final int GDK_Page_Up = 0xff55;
-	public static final int GDK_Pause = 0xff13;
-	public static final int GDK_Print = 0xff61;
-	public static final int GDK_QUESTION_ARROW = 0x5c;
-	public static final int GDK_RGB_DITHER_NORMAL = 0x1;
-	public static final int GDK_RIGHT_SIDE = 0x60;
-	public static final int GDK_Return = 0xff0d;
-	public static final int GDK_Right = 0xff53;
-	public static final int GDK_space = 0x20;
-	public static final int GDK_SB_H_DOUBLE_ARROW = 0x6c;
-	public static final int GDK_SB_UP_ARROW = 0x72;
-	public static final int GDK_SB_V_DOUBLE_ARROW = 0x74;
-	public static final int GDK_SCROLL_UP = 0; 
-	public static final int GDK_SCROLL_DOWN = 1;
-	public static final int GDK_SCROLL_LEFT = 2;
-	public static final int GDK_SCROLL_RIGHT = 3;
-	public static final int GDK_SELECTION_CLEAR = 17;
-	public static final int GDK_SELECTION_NOTIFY = 19;
-	public static final int GDK_SELECTION_REQUEST = 18;
-	public static final int GDK_SHIFT_MASK = 0x1;
-	public static final int GDK_SIZING = 0x78;
-	public static final int GDK_STIPPLED = 0x2;
-	public static final int GDK_TILED = 0x1;
-	public static final int GDK_Shift_L = 0xffe1;
-	public static final int GDK_Shift_R = 0xffe2;
-	public static final int GDK_SCROLL = 31;
-	public static final int GDK_Scroll_Lock = 0xff14;
-	public static final int GDK_TOP_LEFT_CORNER = 0x86;
-	public static final int GDK_TOP_RIGHT_CORNER = 0x88;
-	public static final int GDK_TOP_SIDE = 0x8a;
-	public static final int GDK_Tab = 0xff09;
-	public static final int GDK_Up = 0xff52;
-	public static final int GDK_WATCH = 0x96;
-	public static final int GDK_XOR = 0x2;
-	public static final int GDK_XTERM = 0x98;
-	public static final int GDK_X_CURSOR = 0x0;
-	public static final int GDK_VISIBILITY_FULLY_OBSCURED = 2;
-	public static final int GDK_VISIBILITY_NOTIFY_MASK = 1 << 17;
-	public static final int GDK_WINDOW_CHILD = 2;
-	public static final int GDK_WINDOW_STATE_ICONIFIED  = 1 << 1;
-	public static final int GDK_WINDOW_STATE_MAXIMIZED  = 1 << 2;
-	public static final int GTK_ACCEL_VISIBLE = 0x1;
-	public static final int GTK_ARROW_DOWN = 0x1;
-	public static final int GTK_ARROW_LEFT = 0x2;
-	public static final int GTK_ARROW_RIGHT = 0x3;
-	public static final int GTK_ARROW_UP = 0x0;
-	public static final int GTK_CAN_DEFAULT = 0x2000;
-	public static final int GTK_CAN_FOCUS = 0x800;
-	public static final int GTK_CELL_RENDERER_MODE_ACTIVATABLE = 1;
-	public static final int GTK_CELL_RENDERER_SELECTED = 1 << 0;
-	public static final int GTK_CELL_RENDERER_FOCUSED = 1 << 4;
-	public static final int GTK_CLIST_SHOW_TITLES = 0x4;
-	public static final int GTK_CORNER_TOP_LEFT = 0x0;
-	public static final int GTK_CORNER_TOP_RIGHT = 0x2;
-	public static final int GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1;
-	public static final int GTK_DIALOG_MODAL = 1 << 0;
-	public static final int GTK_DIR_TAB_FORWARD = 0;
-	public static final int GTK_DIR_TAB_BACKWARD = 1;
-	public static final int GTK_FILE_CHOOSER_ACTION_OPEN = 0;
-	public static final int GTK_FILE_CHOOSER_ACTION_SAVE = 1;
-	public static final int GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER = 2;
-	public static final int GTK_HAS_FOCUS = 1 << 12;
-	public static final int GTK_ICON_SIZE_MENU = 1;
-	public static final int GTK_ICON_SIZE_SMALL_TOOLBAR = 2;
-	public static final int GTK_ICON_SIZE_LARGE_TOOLBAR = 3;
-	public static final int GTK_ICON_SIZE_DIALOG = 6;
-	public static final int GTK_JUSTIFY_CENTER = 0x2;
-	public static final int GTK_JUSTIFY_LEFT = 0x0;
-	public static final int GTK_JUSTIFY_RIGHT = 0x1;
-	public static final int GTK_MAPPED = 1 << 7;
-	public static final int GTK_MESSAGE_INFO = 0;
-	public static final int GTK_MESSAGE_WARNING = 1;
-	public static final int GTK_MESSAGE_QUESTION = 2;
-	public static final int GTK_MESSAGE_ERROR = 3;
-	public static final int GTK_NO_WINDOW = 1 << 5;
-	public static final int GTK_ORIENTATION_HORIZONTAL = 0x0;
-	public static final int GTK_ORIENTATION_VERTICAL = 0x1;
-	public static final int GTK_PACK_END = 1;
-	public static final int GTK_PACK_START = 0;
-	public static final int GTK_POLICY_ALWAYS = 0x0;
-	public static final int GTK_POLICY_AUTOMATIC = 0x1;
-	public static final int GTK_POLICY_NEVER = 0x2;
-	public static final int GTK_POS_TOP = 0x2;
-	public static final int GTK_POS_BOTTOM = 0x3;
-	public static final int GTK_PROGRESS_CONTINUOUS = 0x0;
-	public static final int GTK_PROGRESS_DISCRETE = 0x1;
-	public static final int GTK_PROGRESS_LEFT_TO_RIGHT = 0x0;
-	public static final int GTK_PROGRESS_BOTTOM_TO_TOP = 0x2;
-	public static final int GTK_REALIZED  = 1 << 6;
-	public static final int GTK_RELIEF_NONE = 0x2;
-	public static final int GTK_RELIEF_NORMAL = 0;
-	public static final int GTK_RC_BG = 1 << 1;
-	public static final int GTK_RC_FG = 1 << 0;
-	public static final int GTK_RESPONSE_CANCEL = 0xfffffffa;
-	public static final int GTK_RESPONSE_OK = 0xfffffffb;
-	public static final int GTK_SCROLL_NONE = 0;
-	public static final int GTK_SCROLL_JUMP = 1;
-	public static final int GTK_SCROLL_STEP_BACKWARD = 2;
-	public static final int GTK_SCROLL_STEP_FORWARD = 3;
-	public static final int GTK_SCROLL_PAGE_BACKWARD = 4;
-	public static final int GTK_SCROLL_PAGE_FORWARD = 5;
-	public static final int GTK_SCROLL_STEP_UP = 6;
-	public static final int GTK_SCROLL_STEP_DOWN = 7;
-	public static final int GTK_SCROLL_PAGE_UP = 8;
-	public static final int GTK_SCROLL_PAGE_DOWN = 9;
-	public static final int GTK_SCROLL_STEP_LEFT = 10;
-	public static final int GTK_SCROLL_STEP_RIGHT = 11;
-	public static final int GTK_SCROLL_PAGE_LEFT = 12;
-	public static final int GTK_SCROLL_PAGE_RIGHT = 13;
-	public static final int GTK_SCROLL_START = 14;
-	public static final int GTK_SCROLL_END = 15;
-	public static final int GTK_SELECTION_BROWSE = 0x2;
-	public static final int GTK_SELECTION_MULTIPLE = 0x3;
-	public static final int GTK_SENSITIVE = 0x200;
-	public static final int GTK_SHADOW_ETCHED_IN = 0x3;
-	public static final int GTK_SHADOW_ETCHED_OUT = 0x4;
-	public static final int GTK_SHADOW_IN = 0x1;
-	public static final int GTK_SHADOW_NONE = 0x0;
-	public static final int GTK_SHADOW_OUT = 0x2;
-	public static final int GTK_STATE_ACTIVE = 0x1;
-	public static final int GTK_STATE_INSENSITIVE = 0x4;
-	public static final int GTK_STATE_NORMAL = 0x0;
-	public static final int GTK_STATE_PRELIGHT = 0x2;
-	public static final int GTK_STATE_SELECTED = 0x3;
-	public static final int GTK_TEXT_DIR_LTR = 1;
-	public static final int GTK_TEXT_DIR_NONE = 0 ;
-	public static final int GTK_TEXT_DIR_RTL = 2;
-	public static final int GTK_TEXT_WINDOW_TEXT = 2;
-	public static final int GTK_TOOLBAR_CHILD_BUTTON = 0x1;
-	public static final int GTK_TOOLBAR_CHILD_RADIOBUTTON = 0x3;
-	public static final int GTK_TOOLBAR_CHILD_TOGGLEBUTTON = 0x2;
-	public static final int GTK_TREE_VIEW_COLUMN_GROW_ONLY = 0;
-	public static final int GTK_TREE_VIEW_COLUMN_AUTOSIZE = 1;
-	public static final int GTK_TREE_VIEW_COLUMN_FIXED = 2;
-	public static final int GTK_TREE_VIEW_DROP_BEFORE = 0;
-	public static final int GTK_TREE_VIEW_DROP_AFTER = 1;
-	public static final int GTK_TREE_VIEW_DROP_INTO_OR_BEFORE = 2;
-	public static final int GTK_TREE_VIEW_DROP_INTO_OR_AFTER = 3;
-	public static final int GDK_UNMAP = 15;
-	public static final int GTK_VISIBILITY_FULL = 0x2;
-	public static final int GTK_VISIBILITY_NONE = 0x0;
-	public static final int GTK_VISIBLE = 0x100;
-	public static final int GDK_WA_X = 1 << 2;
-	public static final int GDK_WA_Y = 1 << 3;
-	public static final int GDK_WA_VISUAL = 1 << 6;
-	public static final int GTK_WINDOW_POPUP = 0x1;
-	public static final int GTK_WINDOW_TOPLEVEL = 0x0;
-	public static final int GDK_WINDOW_TYPE_HINT_DIALOG = 1;
-	public static final int GTK_WRAP_NONE = 0;
-	public static final int GTK_WRAP_WORD = 2;
-	public static final int G_LOG_FLAG_FATAL = 0x2;
-	public static final int G_LOG_FLAG_RECURSION = 0x1;
-	public static final int G_LOG_LEVEL_MASK = 0xfffffffc;
-	public static final int None = 0;
-	public static final int PANGO_ALIGN_LEFT = 0;
-	public static final int PANGO_ALIGN_CENTER = 1;
-	public static final int PANGO_ALIGN_RIGHT = 2;
-	public static final int PANGO_DIRECTION_LTR = 0;
-	public static final int PANGO_DIRECTION_RTL = 1;	
-	public static final int PANGO_SCALE = 1024;
-	public static final int PANGO_STRETCH_NORMAL = 0x4;
-	public static final int PANGO_STYLE_ITALIC = 0x2;
-	public static final int PANGO_STYLE_NORMAL = 0x0;
-	public static final int PANGO_STYLE_OBLIQUE = 0x1;
-	public static final int PANGO_TAB_LEFT = 0;
-	public static final int PANGO_UNDERLINE_LOW = 3;
-	public static final int PANGO_UNDERLINE_SINGLE = 1;
-	public static final int PANGO_WEIGHT_BOLD = 0x2bc;
-	public static final int PANGO_WEIGHT_NORMAL = 0x190;
-	public static final int PANGO_WRAP_WORD = 0;
-	public static final int PANGO_WRAP_WORD_CHAR = 2;
-	public static final int RTLD_LAZY = 1;
-	public static final int XA_CARDINAL = 6;
-	public static final int XA_WINDOW = 33;
-	
-	/** Signals */
-	public static final byte[] activate = ascii("activate");
-	public static final byte[] button_press_event = ascii("button-press-event");
-	public static final byte[] button_release_event = ascii("button-release-event");
-	public static final byte[] changed = ascii("changed");
-	public static final byte[] change_current_page = ascii("change-current-page");
-	public static final byte[] change_value = ascii("change-value");
-	public static final byte[] clicked = ascii("clicked");
-	public static final byte[] commit = ascii("commit");
-	public static final byte[] configure_event = ascii("configure-event");
-	public static final byte[] delete_event = ascii("delete-event");
-	public static final byte[] delete_range = ascii("delete-range");
-	public static final byte[] delete_text = ascii("delete-text");
-	public static final byte[] drag_data_delete = ascii("drag_data_delete");
-	public static final byte[] drag_data_get = ascii("drag_data_get");
-	public static final byte[] drag_data_received = ascii("drag_data_received");
-	public static final byte[] drag_drop = ascii("drag_drop");
-	public static final byte[] drag_end = ascii("drag_end");
-	public static final byte[] drag_leave = ascii("drag_leave");
-	public static final byte[] drag_motion = ascii("drag_motion");
-	public static final byte[] enter_notify_event = ascii("enter-notify-event");
-	public static final byte[] event = ascii("event");
-	public static final byte[] event_after = ascii("event-after");
-	public static final byte[] expand_collapse_cursor_row = ascii("expand-collapse-cursor-row");
-	public static final byte[] expose_event = ascii("expose-event");
-	public static final byte[] focus = ascii("focus");
-	public static final byte[] focus_in_event = ascii("focus-in-event");
-	public static final byte[] focus_out_event = ascii("focus-out-event");
-	public static final byte[] grab_focus = ascii("grab-focus");
-	public static final byte[] hide = ascii("hide");
-	public static final byte[] input = ascii("input");
-	public static final byte[] insert_text = ascii("insert-text");
-	public static final byte[] key_press_event = ascii("key-press-event");
-	public static final byte[] key_release_event = ascii("key-release-event");
-	public static final byte[] leave_notify_event = ascii("leave-notify-event");
-	public static final byte[] map = ascii("map");
-	public static final byte[] map_event = ascii("map-event");
-	public static final byte[] mnemonic_activate = ascii("mnemonic-activate");
-	public static final byte[] motion_notify_event = ascii("motion-notify-event");
-	public static final byte[] move_focus = ascii("move-focus");
-	public static final byte[] output = ascii("output");
-	public static final byte[] popup_menu = ascii("popup-menu");
-	public static final byte[] preedit_changed = ascii("preedit-changed");
-	public static final byte[] realize = ascii("realize");
-	public static final byte[] row_activated = ascii("row-activated");
-	public static final byte[] row_changed = ascii("row-changed");
-	public static final byte[] scroll_child = ascii("scroll-child");
-	public static final byte[] scroll_event = ascii("scroll-event");
-	public static final byte[] select = ascii("select");
-	public static final byte[] show = ascii("show");
-	public static final byte[] show_help = ascii("show-help");
-	public static final byte[] size_allocate = ascii("size-allocate");
-	public static final byte[] style_set = ascii("style-set");
-	public static final byte[] switch_page = ascii("switch-page");
-	public static final byte[] test_collapse_row = ascii("test-collapse-row");
-	public static final byte[] test_expand_row = ascii("test-expand-row");
-	public static final byte[] toggled = ascii("toggled");
-	public static final byte[] unmap = ascii("unmap");
-	public static final byte[] unmap_event = ascii("unmap-event");
-	public static final byte[] unrealize = ascii("unrealize");
-	public static final byte[] value_changed = ascii("value-changed");
-	public static final byte[] visibility_notify_event = ascii("visibility-notify-event");
-	public static final byte[] window_state_event = ascii("window-state-event");
-	
-	/** Properties */
-	public static final byte[] active = ascii("active");
-	public static final byte[] background_gdk = ascii("background-gdk");
-	public static final byte[] button_relief = ascii("button-relief");
-	public static final byte[] cell_background_gdk = ascii("cell-background-gdk");
-	public static final byte[] default_border = ascii("default-border");
-	public static final byte[] expander_size = ascii("expander-size");
-	public static final byte[] fixed_height_mode = ascii("fixed-height-mode");
-	public static final byte[] focus_line_width = ascii("focus-line-width");
-	public static final byte[] font_desc = ascii("font-desc");
-	public static final byte[] foreground_gdk = ascii("foreground-gdk");
-	public static final byte[] gtk_cursor_blink = ascii("gtk-cursor-blink");
-	public static final byte[] gtk_cursor_blink_time = ascii("gtk-cursor-blink-time");
-	public static final byte[] gtk_double_click_time = ascii("gtk-double-click-time");
-	public static final byte[] gtk_entry_select_on_focus = ascii("gtk-entry-select-on-focus");
-	public static final byte[] horizontal_separator = ascii("horizontal-separator");
-	public static final byte[] inconsistent = ascii("inconsistent");
-	public static final byte[] interior_focus = ascii("interior-focus");
-	public static final byte[] mode = ascii("mode");
-	public static final byte[] pixbuf = ascii("pixbuf");
-	public static final byte[] text = ascii("text");
-	public static final byte[] xalign = ascii("xalign");
-	public static final byte[] ypad = ascii("ypad");
-	
-	public static final int GTK_VERSION = VERSION(gtk_major_version(), gtk_minor_version(), gtk_micro_version()); 
-	
-protected static byte [] ascii (String name) {
-	int length = name.length ();
-	char [] chars = new char [length];
-	name.getChars (0, length, chars, 0);
-	byte [] buffer = new byte [length + 1];
-	for (int i=0; i<length; i++) {
-		buffer [i] = (byte) chars [i];
-	}
-	return buffer;
-}
-
-public static int VERSION(int major, int minor, int micro) {
-	return (major << 16) + (minor << 8) + micro;
-}
-
-/** 64 bit */
-public static final int PTR_SIZEOF = PTR_sizeof();
-public static final native int PTR_sizeof();
-public static final native int GInterfaceInfo_sizeof ();
-public static final native int GPollFD_sizeof ();
-public static final native int GTypeInfo_sizeof ();
-public static final native int GTypeQuery_sizeof ();
-public static final native int GdkColor_sizeof();
-public static final native int GdkDragContext_sizeof();
-public static final native int GdkEvent_sizeof();
-public static final native int GdkEventAny_sizeof();
-public static final native int GdkEventButton_sizeof();
-public static final native int GdkEventCrossing_sizeof();
-public static final native int GdkEventExpose_sizeof();
-public static final native int GdkEventFocus_sizeof();
-public static final native int GdkEventKey_sizeof();
-public static final native int GdkEventMotion_sizeof();
-public static final native int GdkEventScroll_sizeof();
-public static final native int GdkEventVisibility_sizeof();
-public static final native int GdkEventWindowState_sizeof();
-public static final native int GdkGCValues_sizeof();
-public static final native int GdkGeometry_sizeof();
-public static final native int GdkImage_sizeof();
-public static final native int GdkRectangle_sizeof();
-public static final native int GdkVisual_sizeof();
-public static final native int GdkWindowAttr_sizeof();
-public static final native int GtkAdjustment_sizeof();
-public static final native int GtkAllocation_sizeof();
-public static final native int GtkBorder_sizeof();
-public static final native int GtkColorSelectionDialog_sizeof();
-public static final native int GtkCombo_sizeof();
-public static final native int GtkFileSelection_sizeof();
-public static final native int GtkFixed_sizeof();
-public static final native int GtkFixedClass_sizeof();
-public static final native int GtkRequisition_sizeof();
-public static final native int GtkSelectionData_sizeof();
-public static final native int GtkTargetEntry_sizeof();
-public static final native int GtkTargetPair_sizeof();
-public static final native int GtkTextIter_sizeof();
-public static final native int GtkCellRendererText_sizeof();
-public static final native int GtkCellRendererTextClass_sizeof();
-public static final native int GtkCellRendererPixbuf_sizeof();
-public static final native int GtkCellRendererPixbufClass_sizeof();
-public static final native int GtkCellRendererToggle_sizeof();
-public static final native int GtkCellRendererToggleClass_sizeof();
-public static final native int GtkTreeIter_sizeof();
-public static final native int PangoAttribute_sizeof();
-public static final native int PangoItem_sizeof();
-public static final native int PangoLayoutLine_sizeof();
-public static final native int PangoLayoutRun_sizeof();
-public static final native int PangoLogAttr_sizeof();
-public static final native int PangoRectangle_sizeof();
-public static final native int XAnyEvent_sizeof();
-public static final native int XButtonEvent_sizeof();
-public static final native int XClientMessageEvent_sizeof();
-public static final native int XEvent_sizeof();
-public static final native int XCrossingEvent_sizeof();
-public static final native int XExposeEvent_sizeof();
-public static final native int XFocusChangeEvent_sizeof();
-public static final native int XVisibilityEvent_sizeof();
-public static final native int XWindowChanges_sizeof();
-public static final native int /*long*/ getenv(byte[] name);
-public static final native int /*long*/ localeconv_decimal_point();
-public static final native int strlen(int /*long*/ str);
-
-/** Object private fields accessors */
-public static final native int GTK_WIDGET_HEIGHT(int /*long*/ widget);
-public static final native int GTK_WIDGET_WIDTH(int /*long*/ widget);
-public static final native int /*long*/ GTK_WIDGET_WINDOW(int /*long*/ widget);
-public static final native int GTK_WIDGET_X(int /*long*/ widget);
-public static final native int GTK_WIDGET_Y(int /*long*/ widget);
-public static final native int /*long*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(int /*long*/ widget);
-public static final native int /*long*/ GTK_SCROLLED_WINDOW_VSCROLLBAR(int /*long*/ widget);
-public static final native int GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(int /*long*/ widget);
-public static final native void GTK_ACCEL_LABEL_SET_ACCEL_STRING(int /*long*/ acce_label, int /*long*/ string);
-public static final native int /*long*/ GTK_ACCEL_LABEL_GET_ACCEL_STRING(int /*long*/ acce_label);
-public static final native int /*long*/ GTK_ENTRY_IM_CONTEXT(int /*long*/ widget);
-public static final native int /*long*/ GTK_TEXTVIEW_IM_CONTEXT(int /*long*/ widget);
-public static final native int /*long*/ GTK_TOOLTIPS_TIP_WINDOW(int /*long*/ widget);
-public static final native void GTK_TOOLTIPS_SET_ACTIVE(int /*long*/ widget, int /*long*/ data);
-public static final native void GTK_WIDGET_SET_HEIGHT(int /*long*/ widget, int height);
-public static final native void GTK_WIDGET_SET_WIDTH(int /*long*/ widget, int width);
-public static final native void GTK_WIDGET_SET_X(int /*long*/ widget, int x);
-public static final native void GTK_WIDGET_SET_Y(int /*long*/ widget, int y);
-public static final native int GTK_WIDGET_REQUISITION_WIDTH(int /*long*/ widget);
-public static final native int GTK_WIDGET_REQUISITION_HEIGHT(int /*long*/ widget);
-public static final native int GDK_EVENT_TYPE(int /*long*/ event);
-public static final native int /*long*/ GDK_EVENT_WINDOW(int /*long*/ event);
-public static final native int X_EVENT_TYPE(int /*long*/ xevent);
-public static final native int /*long*/ X_EVENT_WINDOW(int /*long*/ xevent);
-
-/** X11 Native methods and constants */
-public static final int Above = 0;
-public static final int Below = 1;
-public static final int ButtonRelease = 5;
-public static final int ClientMessage = 33;
-public static final int CurrentTime = 0;
-public static final int CWSibling = 0x20;
-public static final int CWStackMode = 0x40;
-public static final int EnterNotify = 7;
-public static final int Expose = 12;
-public static final int FocusChangeMask = 1 << 21;
-public static final int FocusIn = 9;
-public static final int FocusOut = 10;
-public static final int GraphicsExpose = 13;
-public static final int NoExpose = 14;
-public static final int ExposureMask = 1 << 15;
-public static final int /*long*/ NoEventMask = 0;
-public static final int NotifyNonlinear = 3;
-public static final int NotifyPointer = 5;
-public static final int RevertToParent = 2;
-public static final int VisibilityChangeMask = 1 << 16;
-public static final int VisibilityFullyObscured = 2;
-public static final int VisibilityNotify = 15;
-public static final int SYSTEM_TRAY_REQUEST_DOCK = 0;
-public static final native int _Call(int /*long*/ proc, int /*long*/ arg1, int /*long*/ arg2);
-public static final int Call(int /*long*/ proc, int /*long*/ arg1, int /*long*/ arg2) {
-	lock.lock();
-	try {
-		return _Call(proc, arg1, arg2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4, int /*long*/ arg5, int /*long*/ arg6);
-public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4, int /*long*/ arg5, int /*long*/ arg6) {
-	lock.lock();
-	try {
-		return _call(function, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean GDK_WINDOWING_X11();
-public static final native int /*long*/ _GDK_PIXMAP_XID(int /*long*/ pixmap);
-public static final int /*long*/ GDK_PIXMAP_XID(int /*long*/ pixmap) {
-	lock.lock();
-	try {
-		return _GDK_PIXMAP_XID(pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XCheckMaskEvent(int /*long*/ display, int /*long*/ event_mask, int /*long*/ event_return);
-public static final boolean XCheckMaskEvent(int /*long*/ display, int /*long*/ event_mask, int /*long*/ event_return) {
-	lock.lock();
-	try {
-		return _XCheckMaskEvent(display, event_mask, event_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XCheckWindowEvent(int /*long*/ display, int /*long*/ window, int /*long*/ event_mask, int /*long*/ event_return);
-public static final boolean XCheckWindowEvent(int /*long*/ display, int /*long*/ window, int /*long*/ event_mask, int /*long*/ event_return) {
-	lock.lock();
-	try {
-		return _XCheckWindowEvent(display, window, event_mask, event_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XCheckIfEvent(int /*long*/ display, int /*long*/ event_return, int /*long*/ predicate, int /*long*/ arg);
-public static final boolean XCheckIfEvent(int /*long*/ display, int /*long*/ event_return, int /*long*/ predicate, int /*long*/ arg) {
-	lock.lock();
-	try {
-		return _XCheckIfEvent(display, event_return, predicate, arg);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultScreen(int /*long*/ display);
-public static final int XDefaultScreen(int /*long*/ display) {
-	lock.lock();
-	try {
-		return _XDefaultScreen(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XDefaultRootWindow(int /*long*/ display);
-public static final int /*long*/ XDefaultRootWindow(int /*long*/ display) {
-	lock.lock();
-	try {
-		return _XDefaultRootWindow(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFlush(int /*long*/ display);
-public static final void XFlush(int /*long*/ display) {
-	lock.lock();
-	try {
-		_XFlush(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFree(int /*long*/ address);
-public static final void XFree(int /*long*/ address) {
-	lock.lock();
-	try {
-		_XFree(address);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XGetSelectionOwner(int /*long*/ display, int /*long*/ selection);
-public static final int /*long*/ XGetSelectionOwner(int /*long*/ display, int /*long*/ selection) {
-	lock.lock();
-	try {
-		return _XGetSelectionOwner(display, selection);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XInternAtom(int /*long*/ display, byte[] name, boolean ifExists);
-public static final int /*long*/ XInternAtom(int /*long*/ display, byte[] name, boolean ifExists) {
-	lock.lock();
-	try {
-		return _XInternAtom(display, name, ifExists);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XQueryTree(int /*long*/ display, int /*long*/ w, int /*long*/[] root_return, int /*long*/[] parent_return, int /*long*/[] children_return, int[] nchildren_return);
-public static final int XQueryTree(int /*long*/ display, int /*long*/ w, int /*long*/[] root_return, int /*long*/[] parent_return, int /*long*/[] children_return, int[] nchildren_return) {
-	lock.lock();
-	try {
-		return _XQueryTree(display, w, root_return, parent_return, children_return, nchildren_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XKeysymToKeycode(int /*long*/ display, int /*long*/ keysym);
-public static final int XKeysymToKeycode(int /*long*/ display, int /*long*/ keysym) {
-	lock.lock();
-	try {
-		return _XKeysymToKeycode(display, keysym);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XListProperties(int /*long*/ display, int /*long*/ window, int[] num_prop_return);
-public static final int /*long*/ XListProperties(int /*long*/ display, int /*long*/ window, int[] num_prop_return) {
-	lock.lock();
-	try {
-		return _XListProperties(display, window, num_prop_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XReconfigureWMWindow(int /*long*/ display, int /*long*/ window, int screen, int valueMask, XWindowChanges values);
-public static final int XReconfigureWMWindow(int /*long*/ display, int /*long*/ window, int screen, int valueMask, XWindowChanges values) {
-	lock.lock();
-	try {
-		return _XReconfigureWMWindow(display, window, screen, valueMask, values);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSendEvent(int /*long*/ display, int /*long*/ w, boolean propogate, int /*long*/ event_mask, int /*long*/ event_send);
-public static final int XSendEvent(int /*long*/ display, int /*long*/ w, boolean propogate, int /*long*/ event_mask, int /*long*/ event_send) {
-	lock.lock();
-	try {
-		return _XSendEvent(display, w, propogate, event_mask, event_send);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XSetIOErrorHandler(int /*long*/ handler);
-public static final int /*long*/ XSetIOErrorHandler(int /*long*/ handler) {
-	lock.lock();
-	try {
-		return _XSetIOErrorHandler(handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XSetErrorHandler(int /*long*/ handler);
-public static final int /*long*/ XSetErrorHandler(int /*long*/ handler) {
-	lock.lock();
-	try {
-		return _XSetErrorHandler(handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetInputFocus(int /*long*/ display, int /*long*/ window, int revert, int time);
-public static final int XSetInputFocus(int /*long*/ display, int /*long*/ window, int revert, int time) {
-	lock.lock();
-	try {
-		return _XSetInputFocus(display, window, revert, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XSynchronize(int /*long*/ display, boolean onoff);
-public static final int /*long*/ XSynchronize(int /*long*/ display, boolean onoff) {
-	lock.lock();
-	try {
-		return _XSynchronize(display, onoff);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeButtonEvent(int /*long*/ display, int button, boolean is_press, int /*long*/ delay);
-public static final void XTestFakeButtonEvent(int /*long*/ display, int button, boolean is_press, int /*long*/ delay) {
-	lock.lock();
-	try {
-		_XTestFakeButtonEvent(display, button, is_press, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeKeyEvent(int /*long*/ display, int keycode, boolean is_press, int /*long*/ delay);
-public static final void XTestFakeKeyEvent(int /*long*/ display, int keycode, boolean is_press, int /*long*/ delay) {
-	lock.lock();
-	try {
-		_XTestFakeKeyEvent(display, keycode, is_press, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeMotionEvent(int /*long*/ display, int screen_number, int x, int y, int /*long*/ delay);
-public static final void XTestFakeMotionEvent(int /*long*/ display, int screen_number, int x, int y, int /*long*/ delay) {
-	lock.lock();
-	try {
-		_XTestFakeMotionEvent(display, screen_number, x, y, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XWarpPointer(int /*long*/ display, int /*long*/ sourceWindow, int /*long*/ destWindow, int sourceX, int sourceY, int sourceWidth, int sourceHeight, int destX, int destY);
-public static final int XWarpPointer(int /*long*/ display, int /*long*/ sourceWindow, int /*long*/ destWindow, int sourceX, int sourceY, int sourceWidth, int sourceHeight, int destX, int destY) {
-	lock.lock();
-	try {
-		return _XWarpPointer(display, sourceWindow, destWindow, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_atom_to_xatom(int /*long*/ atom);
-public static final int /*long*/ gdk_x11_atom_to_xatom(int /*long*/ atom) {
-	lock.lock();
-	try {
-		return _gdk_x11_atom_to_xatom(atom);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_colormap_get_xcolormap(int /*long*/ colormap);
-public static final int /*long*/ gdk_x11_colormap_get_xcolormap(int /*long*/ colormap) {
-	lock.lock();
-	try {
-		return _gdk_x11_colormap_get_xcolormap(colormap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_drawable_get_xdisplay(int /*long*/ drawable);
-public static final int /*long*/ gdk_x11_drawable_get_xdisplay(int /*long*/ drawable) {
-	lock.lock();
-	try {
-		return _gdk_x11_drawable_get_xdisplay(drawable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_drawable_get_xid(int /*long*/ drawable);
-public static final int /*long*/ gdk_x11_drawable_get_xid(int /*long*/ drawable) {
-	lock.lock();
-	try {
-		return _gdk_x11_drawable_get_xid(drawable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_screen_lookup_visual(int /*long*/ screen, int xvisualid);
-public static final int /*long*/ gdk_x11_screen_lookup_visual(int /*long*/ screen, int xvisualid) {
-	lock.lock();
-	try {
-		return _gdk_x11_screen_lookup_visual(screen, xvisualid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_screen_get_window_manager_name(int /*long*/ screen);
-public static final int /*long*/ gdk_x11_screen_get_window_manager_name(int /*long*/ screen) {	
-	lock.lock();
-	try {
-		return _gdk_x11_screen_get_window_manager_name(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_x11_visual_get_xvisual(int /*long*/ visual);
-public static final int /*long*/ gdk_x11_visual_get_xvisual(int /*long*/ visual) {
-	lock.lock();
-	try {
-		return _gdk_x11_visual_get_xvisual(visual);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixmap_foreign_new(int /*long*/ anid);
-public static final int /*long*/ gdk_pixmap_foreign_new(int /*long*/ anid) {
-	lock.lock();
-	try {
-		return _gdk_pixmap_foreign_new(anid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_lookup(int /*long*/ xid);
-public static final int /*long*/ gdk_window_lookup(int /*long*/ xid) {
-	lock.lock();
-	try {
-		return _gdk_window_lookup(xid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_add_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data);
-public static final void gdk_window_add_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data) {
-	lock.lock();
-	try {
-		_gdk_window_add_filter(window, function, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_remove_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data);
-public static final void gdk_window_remove_filter(int /*long*/ window, int /*long*/ function, int /*long*/ data) {
-	lock.lock();
-	try {
-		_gdk_window_remove_filter(window, function, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void memmove(int /*long*/ dest, XButtonEvent src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, XClientMessageEvent src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, XCrossingEvent src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, XExposeEvent src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, XFocusChangeEvent src, int /*long*/ size);
-public static final native void memmove(XButtonEvent dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(XCrossingEvent dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(XExposeEvent dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(XFocusChangeEvent dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(XVisibilityEvent dest, int /*long*/ src, int /*long*/ size);
-
-/** X render natives and constants */
-public static final int PictStandardARGB32 = 0;
-public static final int PictStandardRGB24 = 1;
-public static final int PictStandardA8 = 2;
-public static final int PictStandardA4 = 3;
-public static final int PictStandardA1 = 4;
-public static final int PictOpSrc = 1;
-public static final int PictOpOver = 3;
-
-public static final native int XRenderPictureAttributes_sizeof();
-public static final native boolean _XRenderQueryExtension(int /*long*/ display, int[] event_basep, int[] error_basep);
-public static final boolean XRenderQueryExtension(int /*long*/ display, int[] event_basep, int[] error_basep) {
-	lock.lock();
-	try {
-		return _XRenderQueryExtension(display, event_basep, error_basep);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XRenderQueryVersion(int /*long*/ display, int[] major_versionp, int[] minor_versionp);
-public static final int XRenderQueryVersion(int /*long*/ display, int[] major_versionp, int[] minor_versionp) {
-	lock.lock();
-	try {
-		return _XRenderQueryVersion(display, major_versionp, minor_versionp);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderCreatePicture(int /*long*/ display, int /*long*/ drawable, int /*long*/ format, int /*long*/ valuemask, XRenderPictureAttributes attributes);
-public static final int /*long*/ XRenderCreatePicture(int /*long*/ display, int /*long*/ drawable, int /*long*/ format, int /*long*/ valuemask, XRenderPictureAttributes attributes) {
-	lock.lock();
-	try {
-		return _XRenderCreatePicture(display, drawable, format, valuemask, attributes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderSetPictureClipRectangles(int /*long*/ display, int /*long*/ picture, int xOrigin, int yOrigin, short[] rects, int count);
-public static final void XRenderSetPictureClipRectangles(int /*long*/ display, int /*long*/ picture, int xOrigin, int yOrigin, short[] rects, int count) {
-	lock.lock();
-	try {
-		_XRenderSetPictureClipRectangles(display, picture, xOrigin, yOrigin, rects, count);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderSetPictureTransform(int /*long*/ display, int /*long*/ picture, int[] transform);
-public static final void XRenderSetPictureTransform(int /*long*/ display, int /*long*/ picture, int[] transform) {
-	lock.lock();
-	try {
-		_XRenderSetPictureTransform(display, picture, transform);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderFreePicture(int /*long*/ display, int /*long*/ picture);
-public static final void XRenderFreePicture(int /*long*/ display, int /*long*/ picture) {
-	lock.lock();
-	try {
-		_XRenderFreePicture(display, picture);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderComposite(int /*long*/ display, int op, int /*long*/ src, int /*long*/ mask, int /*long*/ dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height);
-public static final void XRenderComposite(int /*long*/ display, int op, int /*long*/ src, int /*long*/ mask, int /*long*/ dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height) {
-	lock.lock();
-	try {
-		_XRenderComposite(display, op, src, mask, dst, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderFindStandardFormat(int /*long*/ display, int format);
-public static final int /*long*/ XRenderFindStandardFormat(int /*long*/ display, int format) {
-	lock.lock();
-	try {
-		return _XRenderFindStandardFormat(display, format);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderFindVisualFormat(int /*long*/ display, int /*long*/ visual);
-public static final int /*long*/ XRenderFindVisualFormat(int /*long*/ display, int /*long*/ visual) {
-	lock.lock();
-	try {
-		return _XRenderFindVisualFormat(display, visual);
-	} finally {
-		lock.unlock();
-	}
-}
-
-/** Natives */
-public static final native int Call (int /*long*/ func, int /*long*/ arg0, int arg1, int arg2);
-public static final native int /*long*/ _GDK_DISPLAY();
-public static final int /*long*/ GDK_DISPLAY() {
-	lock.lock();
-	try {
-		return _GDK_DISPLAY();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GDK_ROOT_PARENT();
-public static final int /*long*/ GDK_ROOT_PARENT() {
-	lock.lock();
-	try {
-		return _GDK_ROOT_PARENT();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GDK_TYPE_COLOR();
-public static final int /*long*/ GDK_TYPE_COLOR() {
-	lock.lock();
-	try {
-		return _GDK_TYPE_COLOR();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GDK_TYPE_PIXBUF();
-public static final int /*long*/ GDK_TYPE_PIXBUF() {
-	lock.lock();
-	try {
-		return _GDK_TYPE_PIXBUF();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_BUTTON(int /*long*/ obj);
-public static final boolean GTK_IS_BUTTON(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_BUTTON(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_CELL_RENDERER_PIXBUF(int /*long*/ obj);
-public static final boolean GTK_IS_CELL_RENDERER_PIXBUF(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_CELL_RENDERER_PIXBUF(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_CELL_RENDERER_TEXT(int /*long*/ obj);
-public static final boolean GTK_IS_CELL_RENDERER_TEXT(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_CELL_RENDERER_TEXT(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_CELL_RENDERER_TOGGLE(int /*long*/ obj);
-public static final boolean GTK_IS_CELL_RENDERER_TOGGLE(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_CELL_RENDERER_TOGGLE(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_CONTAINER(int /*long*/ obj);
-public static final boolean GTK_IS_CONTAINER(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_CONTAINER(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_IMAGE_MENU_ITEM(int /*long*/ obj);
-public static final boolean GTK_IS_IMAGE_MENU_ITEM(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_IMAGE_MENU_ITEM(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_PLUG(int /*long*/ obj);
-public static final boolean GTK_IS_PLUG(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_PLUG(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_IS_WINDOW(int /*long*/ obj);
-public static final boolean GTK_IS_WINDOW(int /*long*/ obj) {
-	lock.lock();
-	try {
-		return _GTK_IS_WINDOW(obj);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_STOCK_CANCEL();
-public static final int /*long*/ GTK_STOCK_CANCEL() {
-	lock.lock();
-	try {
-		return _GTK_STOCK_CANCEL();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_STOCK_OK();
-public static final int /*long*/ GTK_STOCK_OK() {
-	lock.lock();
-	try {
-		return _GTK_STOCK_OK();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_TYPE_CELL_RENDERER_TEXT();
-public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TEXT() {
-	lock.lock();
-	try {
-		return _GTK_TYPE_CELL_RENDERER_TEXT();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_TYPE_CELL_RENDERER_PIXBUF();
-public static final int /*long*/ GTK_TYPE_CELL_RENDERER_PIXBUF() {
-	lock.lock();
-	try {
-		return _GTK_TYPE_CELL_RENDERER_PIXBUF();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_TYPE_CELL_RENDERER_TOGGLE();
-public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TOGGLE() {
-	lock.lock();
-	try {
-		return _GTK_TYPE_CELL_RENDERER_TOGGLE();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_TYPE_FIXED();
-public static final int /*long*/ GTK_TYPE_FIXED() {
-	lock.lock();
-	try {
-		return _GTK_TYPE_FIXED();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _GTK_TYPE_WIDGET();
-public static final int /*long*/ GTK_TYPE_WIDGET() {
-	lock.lock();
-	try {
-		return _GTK_TYPE_WIDGET();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _GTK_WIDGET_FLAGS(int /*long*/ wid);
-public static final int GTK_WIDGET_FLAGS(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_FLAGS(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _GTK_WIDGET_STATE(int /*long*/ wid);
-public static final int GTK_WIDGET_STATE(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_STATE(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_HAS_DEFAULT(int /*long*/ wid);
-public static final boolean GTK_WIDGET_HAS_DEFAULT(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_HAS_DEFAULT(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_HAS_FOCUS(int /*long*/ wid);
-public static final boolean GTK_WIDGET_HAS_FOCUS(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_HAS_FOCUS(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid);
-public static final boolean GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_IS_SENSITIVE(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_MAPPED(int /*long*/ wid);
-public static final boolean GTK_WIDGET_MAPPED(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_MAPPED(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_SENSITIVE(int /*long*/ wid);
-public static final boolean GTK_WIDGET_SENSITIVE(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_SENSITIVE(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _GTK_WIDGET_SET_FLAGS(int /*long*/ wid, int flag);
-public static final void GTK_WIDGET_SET_FLAGS(int /*long*/ wid, int flag) {
-	lock.lock();
-	try {
-		_GTK_WIDGET_SET_FLAGS(wid, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _GTK_WIDGET_UNSET_FLAGS(int /*long*/ wid, int flag);
-public static final void GTK_WIDGET_UNSET_FLAGS(int /*long*/ wid, int flag) {
-	lock.lock();
-	try {
-		_GTK_WIDGET_UNSET_FLAGS(wid, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _GTK_WIDGET_VISIBLE(int /*long*/ wid);
-public static final boolean GTK_WIDGET_VISIBLE(int /*long*/ wid) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_VISIBLE(wid);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_OBJECT_CLASS (int /*long*/ klass);
-public static final int /*long*/ G_OBJECT_CLASS (int /*long*/ klass) {
-	lock.lock();
-	try {
-		return _G_OBJECT_CLASS(klass);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_OBJECT_GET_CLASS (int /*long*/ object);
-public static final int /*long*/ G_OBJECT_GET_CLASS (int /*long*/ object) {
-	lock.lock();
-	try {
-		return _G_OBJECT_GET_CLASS(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_TYPE_BOOLEAN();
-public static final int /*long*/ G_TYPE_BOOLEAN() {
-	lock.lock();
-	try {
-		return _G_TYPE_BOOLEAN();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_TYPE_INT();
-public static final int /*long*/ G_TYPE_INT() {
-	lock.lock();
-	try {
-		return _G_TYPE_INT();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_OBJECT_TYPE (int /*long*/ instance);
-public static final int /*long*/ G_OBJECT_TYPE (int /*long*/ instance) {
-	lock.lock();
-	try {
-		return _G_OBJECT_TYPE(instance);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _G_TYPE_STRING();
-public static final int /*long*/ G_TYPE_STRING() {
-	lock.lock();
-	try {
-		return _G_TYPE_STRING();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _PANGO_PIXELS(int dimension);
-public static final int PANGO_PIXELS(int dimension) {
-	lock.lock();
-	try {
-		return _PANGO_PIXELS(dimension);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _PANGO_TYPE_FONT_DESCRIPTION();
-public static final int /*long*/ PANGO_TYPE_FONT_DESCRIPTION() {
-	lock.lock();
-	try {
-		return _PANGO_TYPE_FONT_DESCRIPTION();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _dlclose(int /*long*/ handle);
-public static final int dlclose(int /*long*/ handle) {
-	lock.lock();
-	try {
-		return _dlclose(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _dlopen(byte[] filename, int flag);
-public static final int /*long*/ dlopen(byte[] filename, int flag) {
-	lock.lock();
-	try {
-		return _dlopen(filename, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _dlsym(int /*long*/ handle, byte[] symbol);
-public static final int /*long*/ dlsym(int /*long*/ handle, byte[] symbol) {
-	lock.lock();
-	try {
-		return _dlsym(handle, symbol);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_cclosure_new(int /*long*/ callback_func, int /*long*/ user_data, int /*long*/ destroy_data);
-public static final int /*long*/ g_cclosure_new(int /*long*/ callback_func, int /*long*/ user_data, int /*long*/ destroy_data) {
-	lock.lock();
-	try {
-		return _g_cclosure_new(callback_func, user_data, destroy_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_closure_ref(int /*long*/ closure);
-public static final int /*long*/ g_closure_ref(int /*long*/ closure) {
-	lock.lock();
-	try {
-		return _g_closure_ref(closure);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_closure_unref(int /*long*/ closure);
-public static final void g_closure_unref(int /*long*/ closure) {
-	lock.lock();
-	try {
-		_g_closure_unref(closure);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_main_context_acquire(int /*long*/ context);
-public static final boolean g_main_context_acquire(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _g_main_context_acquire(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_main_context_check(int /*long*/ context, int max_priority, int /*long*/ fds, int n_fds);
-public static final int g_main_context_check(int /*long*/ context, int max_priority, int /*long*/ fds, int n_fds) {
-	lock.lock();
-	try {
-		return _g_main_context_check(context, max_priority, fds, n_fds);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_main_context_default();
-public static final int /*long*/ g_main_context_default() {
-	lock.lock();
-	try {
-		return _g_main_context_default();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_main_context_iteration(int /*long*/ context, boolean may_block);
-public static final boolean g_main_context_iteration(int /*long*/ context, boolean may_block) {
-	lock.lock();
-	try {
-		return _g_main_context_iteration(context, may_block);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_main_context_pending(int /*long*/ context);
-public static final boolean g_main_context_pending(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _g_main_context_pending(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_main_context_get_poll_func(int /*long*/ context);
-public static final int /*long*/ g_main_context_get_poll_func(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _g_main_context_get_poll_func(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_main_context_prepare(int /*long*/ context, int[] priority);
-public static final boolean g_main_context_prepare(int /*long*/ context, int[] priority) {
-	lock.lock();
-	try {
-		return _g_main_context_prepare(context, priority);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_main_context_query(int /*long*/ context, int max_priority, int[] timeout_, int /*long*/ fds, int n_fds);
-public static final int g_main_context_query(int /*long*/ context, int max_priority, int[] timeout_, int /*long*/ fds, int n_fds) {
-	lock.lock();
-	try {
-		return _g_main_context_query(context, max_priority, timeout_, fds, n_fds);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_main_context_release(int /*long*/ context);
-public static final void g_main_context_release(int /*long*/ context) {
-	lock.lock();
-	try {
-		_g_main_context_release(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void g_main_context_wakeup(int /*long*/ context);
-public static final native int /*long*/ _g_filename_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-public static final int /*long*/ g_filename_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_filename_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_filename_to_uri(int /*long*/ filename, int /*long*/ hostname, int /*long*/[] error);
-public static final int /*long*/ g_filename_to_uri(int /*long*/ filename, int /*long*/ hostname, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_filename_to_uri(filename, hostname, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_filename_from_utf8(int /*long*/ opsysstring, int /*long*/ len,  int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-public static final int /*long*/ g_filename_from_utf8(int /*long*/ opsysstring, int /*long*/ len,  int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_filename_from_utf8(opsysstring, len, bytes_read, bytes_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_filename_from_uri(int /*long*/ uri, int /*long*/[] hostname, int /*long*/[] error);
-public static final int /*long*/ g_filename_from_uri(int /*long*/ uri, int /*long*/[] hostname, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_filename_from_uri(uri, hostname, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_free(int /*long*/ mem);
-public static final void g_free(int /*long*/ mem) {
-	lock.lock();
-	try {
-		_g_free(mem);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_append(int /*long*/ list, int /*long*/ data);
-public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_list_append(list, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_data(int /*long*/ list);
-public static final int /*long*/ g_list_data(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_data(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_list_free(int /*long*/ list);
-public static final void g_list_free(int /*long*/ list) {
-	lock.lock();
-	try {
-		_g_list_free(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_list_free_1(int /*long*/ list);
-public static final void g_list_free_1(int /*long*/ list) {
-	lock.lock();
-	try {
-		_g_list_free_1(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_list_length(int /*long*/ list);
-public static final int g_list_length(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_length(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_list_set_next(int /*long*/ list, int /*long*/ llist);
-public static final void g_list_set_next(int /*long*/ list, int /*long*/ llist) {
-	lock.lock();
-	try {
-		_g_list_set_next(list, llist);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_next(int /*long*/ list);
-public static final int /*long*/ g_list_next(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_next(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_nth(int /*long*/ list, int n);
-public static final int /*long*/ g_list_nth(int /*long*/ list, int n) {
-	lock.lock();
-	try {
-		return _g_list_nth(list, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_nth_data(int /*long*/ list, int n);
-public static final int /*long*/ g_list_nth_data(int /*long*/ list, int n) {
-	lock.lock();
-	try {
-		return _g_list_nth_data(list, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_prepend(int /*long*/ list, int /*long*/ data);
-public static final int /*long*/ g_list_prepend(int /*long*/ list, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_list_prepend(list, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_list_set_previous(int /*long*/ list, int /*long*/ llist);
-public static final void g_list_set_previous(int /*long*/ list, int /*long*/ llist) {
-	lock.lock();
-	try {
-		_g_list_set_previous(list, llist);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_previous(int /*long*/ list);
-public static final int /*long*/ g_list_previous(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_previous(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_remove_link(int /*long*/ list, int /*long*/ link);
-public static final int /*long*/ g_list_remove_link(int /*long*/ list, int /*long*/ link) {
-	lock.lock();
-	try {
-		return _g_list_remove_link(list, link);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_reverse(int /*long*/ list);
-public static final int /*long*/ g_list_reverse(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_reverse(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_locale_from_utf8(int /*long*/ utf8string, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-public static final int /*long*/ g_locale_from_utf8(int /*long*/ utf8string, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_locale_from_utf8(utf8string, len, bytes_read, bytes_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_locale_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error);
-public static final int /*long*/ g_locale_to_utf8(int /*long*/ opsysstring, int /*long*/ len, int /*long*/[] bytes_read, int /*long*/[] bytes_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_locale_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_log_default_handler(int /*long*/ log_domain, int log_levels, int /*long*/ message, int /*long*/ unused_data);
-public static final void g_log_default_handler(int /*long*/ log_domain, int log_levels, int /*long*/ message, int /*long*/ unused_data) {
-	lock.lock();
-	try {
-		_g_log_default_handler(log_domain, log_levels, message, unused_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_log_remove_handler(byte[] log_domain, int handler_id);
-public static final void g_log_remove_handler(byte[] log_domain, int handler_id) {
-	lock.lock();
-	try {
-		_g_log_remove_handler(log_domain, handler_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_log_set_handler(byte[] log_domain, int log_levels, int /*long*/ log_func, int /*long*/ user_data);
-public static final int g_log_set_handler(byte[] log_domain, int log_levels, int /*long*/ log_func, int /*long*/ user_data) {
-	lock.lock();
-	try {
-		return _g_log_set_handler(log_domain, log_levels, log_func, user_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_malloc(int /*long*/ size);
-public static final int /*long*/ g_malloc(int /*long*/ size) {
-	lock.lock();
-	try {
-		return _g_malloc(size);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_get(int /*long*/ object, byte[] first_property_name, int[] value, int /*long*/ terminator);
-public static final void g_object_get(int /*long*/ object, byte[] first_property_name, int[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_g_object_get(object, first_property_name, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_object_get_qdata(int /*long*/ object, int quark);
-public static final int /*long*/ g_object_get_qdata(int /*long*/ object, int quark) {
-	lock.lock();
-	try {
-		return _g_object_get_qdata(object, quark);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_object_new (int /*long*/ type, int /*long*/ first_property_name);
-public static final int /*long*/ g_object_new (int /*long*/ type, int /*long*/ first_property_name) {
-	lock.lock();
-	try {
-		return _g_object_new(type, first_property_name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_object_ref(int /*long*/ object);
-public static final int /*long*/ g_object_ref(int /*long*/ object) {
-	lock.lock();
-	try {
-		return _g_object_ref(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, boolean data, int /*long*/ terminator);
-public static final void g_object_set(int /*long*/ object, byte[] first_property_name, boolean data, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_g_object_set(object, first_property_name, data, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, int data, int /*long*/ terminator);
-public static final void g_object_set(int /*long*/ object, byte[] first_property_name, int data, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_g_object_set(object, first_property_name, data, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, float data, int /*long*/ terminator);
-public static final void g_object_set(int /*long*/ object, byte[] first_property_name, float data, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_g_object_set(object, first_property_name, data, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, long data, int /*long*/ terminator);
-public static final void g_object_set(int /*long*/ object, byte[] first_property_name, long data, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_g_object_set(object, first_property_name, data, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_set_qdata(int /*long*/ object, int quark, int /*long*/ data);
-public static final void g_object_set_qdata(int /*long*/ object, int quark, int /*long*/ data) {
-	lock.lock();
-	try {
-		_g_object_set_qdata(object, quark, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_unref(int /*long*/ object);
-public static final void g_object_unref(int /*long*/ object) {
-	lock.lock();
-	try {
-		_g_object_unref(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_quark_from_string(byte[] string);
-public static final int g_quark_from_string(byte[] string) {
-	lock.lock();
-	try {
-		return _g_quark_from_string(string);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_set_prgname(byte[] prgname);
-public static final void g_set_prgname(byte[] prgname) {
-	lock.lock();
-	try {
-		_g_set_prgname(prgname);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_connect(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data);
-public static final int g_signal_connect(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_signal_connect(instance, detailed_signal, proc, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_connect_closure(int /*long*/ instance, byte[] detailed_signal, int /*long*/ closure, boolean after);
-public static final int g_signal_connect_closure(int /*long*/ instance, byte[] detailed_signal, int /*long*/ closure, boolean after) {
-	lock.lock();
-	try {
-		return _g_signal_connect_closure(instance, detailed_signal, closure, after);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_connect_closure_by_id(int /*long*/ instance, int signal_id, int detail, int /*long*/ closure, boolean after);
-public static final int g_signal_connect_closure_by_id(int /*long*/ instance, int signal_id, int detail, int /*long*/ closure, boolean after) {
-	lock.lock();
-	try {
-		return _g_signal_connect_closure_by_id(instance, signal_id, detail, closure, after);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_connect_after(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data);
-public static final int g_signal_connect_after(int /*long*/ instance, byte[] detailed_signal, int /*long*/ proc, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_signal_connect_after(instance, detailed_signal, proc, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal);
-public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal) {
-	lock.lock();
-	try {
-		_g_signal_emit_by_name(instance, detailed_signal);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data);
-public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data) {
-	lock.lock();
-	try {
-		_g_signal_emit_by_name(instance, detailed_signal, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data1, int /*long*/ data2);
-public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data1, int /*long*/ data2) {
-	lock.lock();
-	try {
-		_g_signal_emit_by_name(instance, detailed_signal, data1, data2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, byte [] data);
-public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, byte [] data) {
-	lock.lock();
-	try {
-		_g_signal_emit_by_name(instance, detailed_signal, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_handler_disconnect(int /*long*/ instance, int handler_id);
-public static final void g_signal_handler_disconnect(int /*long*/ instance, int handler_id) {
-	lock.lock();
-	try {
-		_g_signal_handler_disconnect(instance, handler_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_handlers_block_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-public static final int g_signal_handlers_block_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_signal_handlers_block_matched(instance, mask, signal_id, detail, closure, func, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_handlers_disconnect_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-public static final int g_signal_handlers_disconnect_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure, func, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_handlers_unblock_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
-public static final int g_signal_handlers_unblock_matched(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure, func, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_lookup (byte[] name, int /*long*/ itype);
-public static final int g_signal_lookup (byte[] name, int /*long*/ itype) {
-	lock.lock();
-	try {
-		return _g_signal_lookup(name, itype);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_signal_stop_emission_by_name(int /*long*/ instance, byte[] detailed_signal);
-public static final void g_signal_stop_emission_by_name(int /*long*/ instance, byte[] detailed_signal) {
-	lock.lock();
-	try {
-		_g_signal_stop_emission_by_name(instance, detailed_signal);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_slist_data (int /*long*/ list);
-public static final int /*long*/ g_slist_data (int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_slist_data(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_slist_free (int /*long*/ list);
-public static final void g_slist_free (int /*long*/ list) {
-	lock.lock();
-	try {
-		_g_slist_free(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_slist_next (int /*long*/ list);
-public static final int /*long*/ g_slist_next (int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_slist_next(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_slist_length (int /*long*/ list);
-public static final int g_slist_length (int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_slist_length(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_strfreev(int /*long*/ string_array);
-public static final void g_strfreev(int /*long*/ string_array) {
-	lock.lock();
-	try {
-		_g_strfreev(string_array);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_type_add_interface_static (int /*long*/ instance_type, int /*long*/ interface_type, int /*long*/ info);
-public static final void g_type_add_interface_static (int /*long*/ instance_type, int /*long*/ interface_type, int /*long*/ info) {
-	lock.lock();
-	try {
-		_g_type_add_interface_static(instance_type, interface_type, info);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_class_peek (int /*long*/ g_class);
-public static final int /*long*/ g_type_class_peek (int /*long*/ g_class) {
-	lock.lock();
-	try {
-		return _g_type_class_peek(g_class);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_class_peek_parent (int /*long*/ g_class);
-public static final int /*long*/ g_type_class_peek_parent (int /*long*/ g_class) {
-	lock.lock();
-	try {
-		return _g_type_class_peek_parent(g_class);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_from_name (byte[] name);
-public static final int /*long*/ g_type_from_name (byte[] name) {
-	lock.lock();
-	try {
-		return _g_type_from_name(name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_interface_peek_parent (int /*long*/ iface);
-public static final int /*long*/ g_type_interface_peek_parent (int /*long*/ iface) {
-	lock.lock();
-	try {
-		return _g_type_interface_peek_parent(iface);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_type_is_a (int /*long*/ type, int /*long*/ is_a_type);
-public static final boolean g_type_is_a (int /*long*/ type, int /*long*/ is_a_type) {
-	lock.lock();
-	try {
-		return _g_type_is_a(type, is_a_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_name (int /*long*/ handle);
-public static final int /*long*/ g_type_name (int /*long*/ handle) {
-	lock.lock();
-	try {
-		return _g_type_name(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_parent (int /*long*/ type);
-public static final int /*long*/ g_type_parent (int /*long*/ type) {
-	lock.lock();
-	try {
-		return _g_type_parent(type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_type_query (int /*long*/ type, int /*long*/ query);
-public static final void g_type_query (int /*long*/ type, int /*long*/ query) {
-	lock.lock();
-	try {
-		_g_type_query(type, query);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_type_register_static (int /*long*/ parent_type, byte[] type_name, int /*long*/ info, int flags);
-public static final int /*long*/ g_type_register_static (int /*long*/ parent_type, byte[] type_name, int /*long*/ info, int flags) {
-	lock.lock();
-	try {
-		return _g_type_register_static(parent_type, type_name, info, flags);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_thread_init(int /*long*/ vtable);
-public static final void g_thread_init(int /*long*/ vtable) {
-	lock.lock();
-	try {
-		_g_thread_init(vtable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _g_thread_supported();
-public static final boolean g_thread_supported() {
-	lock.lock();
-	try {
-		return _g_thread_supported();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf16_to_utf8(char[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-public static final int /*long*/ g_utf16_to_utf8(char[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_utf16_to_utf8(str, len, items_read, items_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf8_offset_to_pointer(int /*long*/ str, int /*long*/ offset);
-public static final int /*long*/ g_utf8_offset_to_pointer(int /*long*/ str, int /*long*/ offset) {
-	lock.lock();
-	try {
-		return _g_utf8_offset_to_pointer(str, offset);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf8_pointer_to_offset(int /*long*/ str, int /*long*/ pos);
-public static final int /*long*/ g_utf8_pointer_to_offset(int /*long*/ str, int /*long*/ pos) {
-	lock.lock();
-	try {
-		return _g_utf8_pointer_to_offset(str, pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf8_strlen(int /*long*/ str, int /*long*/ max);
-public static final int /*long*/ g_utf8_strlen(int /*long*/ str, int /*long*/ max) {
-	lock.lock();
-	try {
-		return _g_utf8_strlen(str, max);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf8_to_utf16(byte[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-public static final int /*long*/ g_utf8_to_utf16(byte[] str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_utf8_to_utf16(int /*long*/ str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error);
-public static final int /*long*/ g_utf8_to_utf16(int /*long*/ str, int /*long*/ len, int /*long*/[] items_read, int /*long*/[] items_written, int /*long*/[] error) {
-	lock.lock();
-	try {
-		return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_atom_intern(byte[] atom_name, boolean only_if_exists);
-public static final int /*long*/ gdk_atom_intern(byte[] atom_name, boolean only_if_exists) {
-	lock.lock();
-	try {
-		return _gdk_atom_intern(atom_name, only_if_exists);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_atom_name(int /*long*/ atom);
-public static final int /*long*/ gdk_atom_name(int /*long*/ atom) {
-	lock.lock();
-	try {
-		return _gdk_atom_name(atom);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_beep();
-public static final void gdk_beep() {
-	lock.lock();
-	try {
-		_gdk_beep();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_bitmap_create_from_data(int /*long*/ window, byte[] data, int width, int height);
-public static final int /*long*/ gdk_bitmap_create_from_data(int /*long*/ window, byte[] data, int width, int height) {
-	lock.lock();
-	try {
-		return _gdk_bitmap_create_from_data(window, data, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_cairo_region(int /*long*/ cairo, int /*long*/ region);
-public static final void gdk_cairo_region(int /*long*/ cairo, int /*long*/ region) {
-	lock.lock();
-	try {
-		_gdk_cairo_region(cairo, region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_cairo_set_source_color(int /*long*/ cairo, GdkColor color);
-public static final void gdk_cairo_set_source_color(int /*long*/ cairo, GdkColor color) {
-	lock.lock();
-	try {
-		_gdk_cairo_set_source_color(cairo, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_color_white(int /*long*/ colormap, GdkColor color);
-public static final boolean gdk_color_white(int /*long*/ colormap, GdkColor color) {
-	lock.lock();
-	try {
-		return _gdk_color_white(colormap, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_colormap_alloc_color(int /*long*/ colormap, GdkColor color, boolean writeable, boolean best_match);
-public static final boolean gdk_colormap_alloc_color(int /*long*/ colormap, GdkColor color, boolean writeable, boolean best_match) {
-	lock.lock();
-	try {
-		return _gdk_colormap_alloc_color(colormap, color, writeable, best_match);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_colormap_free_colors(int /*long*/ colormap, GdkColor colors, int ncolors);
-public static final void gdk_colormap_free_colors(int /*long*/ colormap, GdkColor colors, int ncolors) {
-	lock.lock();
-	try {
-		_gdk_colormap_free_colors(colormap, colors, ncolors);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_colormap_get_system();
-public static final int /*long*/ gdk_colormap_get_system() {
-	lock.lock();
-	try {
-		return _gdk_colormap_get_system();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_colormap_query_color(int /*long*/ colormap, int /*long*/ pixel, GdkColor result);
-public static final void gdk_colormap_query_color(int /*long*/ colormap, int /*long*/ pixel, GdkColor result) {
-	lock.lock();
-	try {
-		_gdk_colormap_query_color(colormap, pixel, result);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_cursor_destroy(int /*long*/ cursor);
-public static final void gdk_cursor_destroy(int /*long*/ cursor) {
-	lock.lock();
-	try {
-		_gdk_cursor_destroy(cursor);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_cursor_new(int /*long*/ cursor_type);
-public static final int /*long*/ gdk_cursor_new(int /*long*/ cursor_type) {
-	lock.lock();
-	try {
-		return _gdk_cursor_new(cursor_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_cursor_new_from_pixmap(int /*long*/ source, int /*long*/ mask, GdkColor fg, GdkColor bg, int x, int y);
-public static final int /*long*/ gdk_cursor_new_from_pixmap(int /*long*/ source, int /*long*/ mask, GdkColor fg, GdkColor bg, int x, int y) {
-	lock.lock();
-	try {
-		return _gdk_cursor_new_from_pixmap(source, mask, fg, bg, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_drag_status(int /*long*/ context, int action, int time);
-public static final void gdk_drag_status(int /*long*/ context, int action, int time) {
-	lock.lock();
-	try {
-		_gdk_drag_status(context, action, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_arc(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height, int angle1, int angle2);
-public static final void gdk_draw_arc(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height, int angle1, int angle2) {
-	lock.lock();
-	try {
-		_gdk_draw_arc(drawable, gc, filled, x, y, width, height, angle1, angle2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_drawable(int /*long*/ drawable, int /*long*/ gc, int /*long*/ src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
-public static final void gdk_draw_drawable(int /*long*/ drawable, int /*long*/ gc, int /*long*/ src, int xsrc, int ysrc, int xdest, int ydest, int width, int height) {
-	lock.lock();
-	try {
-		_gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_image(int /*long*/ drawable, int /*long*/ gc, int /*long*/ image, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
-public static final void gdk_draw_image(int /*long*/ drawable, int /*long*/ gc, int /*long*/ image, int xsrc, int ysrc, int xdest, int ydest, int width, int height) {
-	lock.lock();
-	try {
-		_gdk_draw_image(drawable, gc, image, xsrc, ysrc, xdest, ydest, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_layout(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout);
-public static final void gdk_draw_layout(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout) {
-	lock.lock();
-	try {
-		_gdk_draw_layout(drawable, gc, x, y, layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_layout_with_colors(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout, GdkColor foreground, GdkColor background);
-public static final void gdk_draw_layout_with_colors(int /*long*/ drawable, int /*long*/ gc, int x, int y, int /*long*/ layout, GdkColor foreground, GdkColor background) {
-	lock.lock();
-	try {
-		_gdk_draw_layout_with_colors(drawable, gc, x, y, layout, foreground, background);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_line(int /*long*/ drawable, int /*long*/ gc, int x1, int y1, int x2, int y2);
-public static final void gdk_draw_line(int /*long*/ drawable, int /*long*/ gc, int x1, int y1, int x2, int y2) {
-	lock.lock();
-	try {
-		_gdk_draw_line(drawable, gc, x1, y1, x2, y2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_lines(int /*long*/ drawable, int /*long*/ gc, int[] points, int npoints);
-public static final void gdk_draw_lines(int /*long*/ drawable, int /*long*/ gc, int[] points, int npoints) {
-	lock.lock();
-	try {
-		_gdk_draw_lines(drawable, gc, points, npoints);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_pixbuf(int /*long*/ drawable, int /*long*/ gc, int /*long*/ pixbuf, int xsrc, int ysrc, int xdest, int ydest, int width, int height, int dither, int x_dither, int y_dither);
-public static final void gdk_draw_pixbuf(int /*long*/ drawable, int /*long*/ gc, int /*long*/ pixbuf, int xsrc, int ysrc, int xdest, int ydest, int width, int height, int dither, int x_dither, int y_dither) {
-	lock.lock();
-	try {
-		_gdk_draw_pixbuf(drawable, gc, pixbuf, xsrc, ysrc, xdest, ydest, width, height, dither, x_dither, y_dither);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_point(int /*long*/ drawable, int /*long*/ gc, int x, int y);
-public static final void gdk_draw_point(int /*long*/ drawable, int /*long*/ gc, int x, int y) {
-	lock.lock();
-	try {
-		_gdk_draw_point(drawable, gc, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_polygon(int /*long*/ drawable, int /*long*/ gc, int filled, int[] points, int npoints);
-public static final void gdk_draw_polygon(int /*long*/ drawable, int /*long*/ gc, int filled, int[] points, int npoints) {
-	lock.lock();
-	try {
-		_gdk_draw_polygon(drawable, gc, filled, points, npoints);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_draw_rectangle(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height);
-public static final void gdk_draw_rectangle(int /*long*/ drawable, int /*long*/ gc, int filled, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_gdk_draw_rectangle(drawable, gc, filled, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_drawable_get_depth(int /*long*/ drawable);
-public static final int gdk_drawable_get_depth(int /*long*/ drawable) {
-	lock.lock();
-	try {
-		return _gdk_drawable_get_depth(drawable);
-	} finally {
-		lock.unlock();
-	}
-}
-
-public static final native int /*long*/ _gdk_drawable_get_image(int /*long*/ drawable, int x, int y, int width, int height);
-public static final int /*long*/ gdk_drawable_get_image(int /*long*/ drawable, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		return _gdk_drawable_get_image(drawable, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_drawable_get_size(int /*long*/ drawable, int[] width, int[] height);
-public static final void gdk_drawable_get_size(int /*long*/ drawable, int[] width, int[] height) {
-	lock.lock();
-	try {
-		_gdk_drawable_get_size(drawable, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_drawable_get_visible_region(int /*long*/ drawable);
-public static final int /*long*/ gdk_drawable_get_visible_region(int /*long*/ drawable) {
-	lock.lock();
-	try {
-		return _gdk_drawable_get_visible_region(drawable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_event_copy(int /*long*/ event);
-public static final int /*long*/ gdk_event_copy(int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gdk_event_copy(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_event_free(int /*long*/ event);
-public static final void gdk_event_free(int /*long*/ event) {
-	lock.lock();
-	try {
-		_gdk_event_free(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_event_get();
-public static final int /*long*/ gdk_event_get() {
-	lock.lock();
-	try {
-		return _gdk_event_get();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_event_get_root_coords(int /*long*/ event, double[] px, double[] py);
-public static final boolean gdk_event_get_root_coords(int /*long*/ event, double[] px, double[] py) {
-	lock.lock();
-	try {
-		return _gdk_event_get_root_coords(event, px, py);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_event_get_coords(int /*long*/ event, double[] px, double[] py);
-public static final boolean gdk_event_get_coords(int /*long*/ event, double[] px, double[] py) {
-	lock.lock();
-	try {
-		return _gdk_event_get_coords(event, px, py);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_event_get_graphics_expose(int /*long*/ window);
-public static final int /*long*/ gdk_event_get_graphics_expose(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_event_get_graphics_expose(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_event_get_state(int /*long*/ event, int[] pmod);
-public static final boolean gdk_event_get_state(int /*long*/ event, int[] pmod) {
-	lock.lock();
-	try {
-		return _gdk_event_get_state(event, pmod);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_event_get_time(int /*long*/ event);
-public static final int gdk_event_get_time(int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gdk_event_get_time(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_event_handler_set(int /*long*/ func, int /*long*/ data, int /*long*/ notify);
-public static final void gdk_event_handler_set(int /*long*/ func, int /*long*/ data, int /*long*/ notify) {
-	lock.lock();
-	try {
-		_gdk_event_handler_set(func, data, notify);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_event_put(int /*long*/ event);
-public static final void gdk_event_put(int /*long*/ event) {
-	lock.lock();
-	try {
-		_gdk_event_put(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_error_trap_push();
-public static final void gdk_error_trap_push() {
-	lock.lock();
-	try {
-		_gdk_error_trap_push();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_error_trap_pop();
-public static final int gdk_error_trap_pop() {
-	lock.lock();
-	try {
-		return _gdk_error_trap_pop();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_flush();
-public static final void gdk_flush() {
-	lock.lock();
-	try {
-		_gdk_flush();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_free_text_list(int /*long*/ list);
-public static final void gdk_free_text_list(int /*long*/ list) {
-	lock.lock();
-	try {
-		_gdk_free_text_list(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_get_values(int /*long*/ gc, GdkGCValues values);
-public static final void gdk_gc_get_values(int /*long*/ gc, GdkGCValues values) {
-	lock.lock();
-	try {
-		_gdk_gc_get_values(gc, values);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_gc_new(int /*long*/ window);
-public static final int /*long*/ gdk_gc_new(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_gc_new(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_background(int /*long*/ gc, GdkColor color);
-public static final void gdk_gc_set_background(int /*long*/ gc, GdkColor color) {
-	lock.lock();
-	try {
-		_gdk_gc_set_background(gc, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_clip_mask(int /*long*/ gc, int /*long*/ mask);
-public static final void gdk_gc_set_clip_mask(int /*long*/ gc, int /*long*/ mask) {
-	lock.lock();
-	try {
-		_gdk_gc_set_clip_mask(gc, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_clip_origin(int /*long*/ gc, int x, int y);
-public static final void gdk_gc_set_clip_origin(int /*long*/ gc, int x, int y) {
-	lock.lock();
-	try {
-		_gdk_gc_set_clip_origin(gc, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_clip_rectangle(int /*long*/ gc, GdkRectangle rectangle);
-public static final void gdk_gc_set_clip_rectangle(int /*long*/ gc, GdkRectangle rectangle) {
-	lock.lock();
-	try {
-		_gdk_gc_set_clip_rectangle(gc, rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_clip_region(int /*long*/ gc, int /*long*/ region);
-public static final void gdk_gc_set_clip_region(int /*long*/ gc, int /*long*/ region) {
-	lock.lock();
-	try {
-		_gdk_gc_set_clip_region(gc, region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_dashes(int /*long*/ gc, int dash_offset, byte[] dash_list, int n);
-public static final void gdk_gc_set_dashes(int /*long*/ gc, int dash_offset, byte[] dash_list, int n) {
-	lock.lock();
-	try {
-		_gdk_gc_set_dashes(gc, dash_offset, dash_list, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_exposures(int /*long*/ gc, boolean exposures);
-public static final void gdk_gc_set_exposures(int /*long*/ gc, boolean exposures) {
-	lock.lock();
-	try {
-		_gdk_gc_set_exposures(gc, exposures);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_fill(int /*long*/ gc, int fill);
-public static final void gdk_gc_set_fill(int /*long*/ gc, int fill) {
-	lock.lock();
-	try {
-		_gdk_gc_set_fill(gc, fill);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_foreground(int /*long*/ gc, GdkColor color);
-public static final void gdk_gc_set_foreground(int /*long*/ gc, GdkColor color) {
-	lock.lock();
-	try {
-		_gdk_gc_set_foreground(gc, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_function(int /*long*/ gc, int /*long*/ function);
-public static final void gdk_gc_set_function(int /*long*/ gc, int /*long*/ function) {
-	lock.lock();
-	try {
-		_gdk_gc_set_function(gc, function);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_line_attributes(int /*long*/ gc, int line_width, int line_style, int cap_style, int join_style);
-public static final void gdk_gc_set_line_attributes(int /*long*/ gc, int line_width, int line_style, int cap_style, int join_style) {
-	lock.lock();
-	try {
-		_gdk_gc_set_line_attributes(gc, line_width, line_style, cap_style, join_style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_stipple(int /*long*/ gc, int /*long*/ stipple);
-public static final void gdk_gc_set_stipple(int /*long*/ gc, int /*long*/ stipple) {
-	lock.lock();
-	try {
-		_gdk_gc_set_stipple(gc, stipple);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_subwindow(int /*long*/ gc, int /*long*/ mode);
-public static final void gdk_gc_set_subwindow(int /*long*/ gc, int /*long*/ mode) {
-	lock.lock();
-	try {
-		_gdk_gc_set_subwindow(gc, mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_tile(int /*long*/ gc, int /*long*/ tile);
-public static final void gdk_gc_set_tile(int /*long*/ gc, int /*long*/ tile) {
-	lock.lock();
-	try {
-		_gdk_gc_set_tile(gc, tile);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_ts_origin(int /*long*/ gc, int x, int y);
-public static final void gdk_gc_set_ts_origin(int /*long*/ gc, int x, int y) {
-	lock.lock();
-	try {
-		_gdk_gc_set_ts_origin(gc, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_gc_set_values(int /*long*/ gc, GdkGCValues values, int values_mask);
-public static final void gdk_gc_set_values(int /*long*/ gc, GdkGCValues values, int values_mask) {
-	lock.lock();
-	try {
-		_gdk_gc_set_values(gc, values, values_mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_keyboard_ungrab(int time);
-public static final void gdk_keyboard_ungrab(int time) {
-	lock.lock();
-	try {
-		_gdk_keyboard_ungrab(time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_keymap_get_default();
-public static final int /*long*/ gdk_keymap_get_default() {
-	lock.lock();
-	try {
-		return _gdk_keymap_get_default();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_keymap_translate_keyboard_state (int /*long*/ keymap, int hardware_keycode, int state, int group, int[] keyval, int[] effective_group, int[] level,  int[] consumed_modifiers);
-public static final boolean gdk_keymap_translate_keyboard_state (int /*long*/ keymap, int hardware_keycode, int state, int group, int[] keyval, int[] effective_group, int[] level,  int[] consumed_modifiers) {
-	lock.lock();
-	try {
-		return _gdk_keymap_translate_keyboard_state(keymap, hardware_keycode, state, group, keyval, effective_group, level, consumed_modifiers);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_keyval_to_lower(int keyval);
-public static final int gdk_keyval_to_lower(int keyval) {
-	lock.lock();
-	try {
-		return _gdk_keyval_to_lower(keyval);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_keyval_to_unicode(int keyval);
-public static final int gdk_keyval_to_unicode(int keyval) {
-	lock.lock();
-	try {
-		return _gdk_keyval_to_unicode(keyval);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pango_context_get();
-public static final int /*long*/ gdk_pango_context_get() {
-	lock.lock();
-	try {
-		return _gdk_pango_context_get();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pango_context_set_colormap(int /*long*/ context, int /*long*/ colormap);
-public static final void gdk_pango_context_set_colormap(int /*long*/ context, int /*long*/ colormap) {
-	lock.lock();
-	try {
-		_gdk_pango_context_set_colormap(context, colormap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pango_layout_get_clip_region(int /*long*/ layout, int x_origin, int y_origin, int[] index_ranges, int n_ranges);
-public static final int /*long*/ gdk_pango_layout_get_clip_region(int /*long*/ layout, int x_origin, int y_origin, int[] index_ranges, int n_ranges) {
-	lock.lock();
-	try {
-		return _gdk_pango_layout_get_clip_region(layout, x_origin, y_origin, index_ranges, n_ranges);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pixbuf_copy_area(int /*long*/ src_pixbuf, int src_x, int src_y, int width, int height, int /*long*/ dest_pixbuf, int dest_x, int dest_y);
-public static final void gdk_pixbuf_copy_area(int /*long*/ src_pixbuf, int src_x, int src_y, int width, int height, int /*long*/ dest_pixbuf, int dest_x, int dest_y) {
-	lock.lock();
-	try {
-		_gdk_pixbuf_copy_area(src_pixbuf, src_x, src_y, width, height, dest_pixbuf, dest_x, dest_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixbuf_get_from_drawable(int /*long*/ dest, int /*long*/ src, int /*long*/ cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
-public static final int /*long*/ gdk_pixbuf_get_from_drawable(int /*long*/ dest, int /*long*/ src, int /*long*/ cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_from_drawable(dest, src, cmap, src_x, src_y, dest_x, dest_y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_pixbuf_get_has_alpha(int /*long*/ pixbuf);
-public static final boolean gdk_pixbuf_get_has_alpha(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_has_alpha(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_pixbuf_get_height(int /*long*/ pixbuf);
-public static final int gdk_pixbuf_get_height(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_height(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixbuf_get_pixels(int /*long*/ pixbuf);
-public static final int /*long*/ gdk_pixbuf_get_pixels(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_pixels(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_pixbuf_get_rowstride(int /*long*/ pixbuf);
-public static final int gdk_pixbuf_get_rowstride(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_rowstride(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_pixbuf_get_width(int /*long*/ pixbuf);
-public static final int gdk_pixbuf_get_width(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_get_width(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixbuf_new(int colorspace, boolean has_alpha, int bits_per_sample, int width, int height);
-public static final int /*long*/ gdk_pixbuf_new(int colorspace, boolean has_alpha, int bits_per_sample, int width, int height) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixbuf_new_from_file(byte[] filename, int /*long*/ [] error); 
-public static final int /*long*/ gdk_pixbuf_new_from_file(byte[] filename, int /*long*/ [] error) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_new_from_file(filename, error);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pixbuf_render_to_drawable(int /*long*/ pixbuf, int /*long*/ drawable, int /*long*/ gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither);
-public static final void gdk_pixbuf_render_to_drawable(int /*long*/ pixbuf, int /*long*/ drawable, int /*long*/ gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither) {
-	lock.lock();
-	try {
-		_gdk_pixbuf_render_to_drawable(pixbuf, drawable, gc, src_x, src_y, dest_x, dest_y, width, height, dither, x_dither, y_dither);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf, int /*long*/ drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither);
-public static final void gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf, int /*long*/ drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither) {
-	lock.lock();
-	try {
-		_gdk_pixbuf_render_to_drawable_alpha(pixbuf, drawable, src_x, src_y, dest_x, dest_y, width, height, alpha_mode, alpha_threshold, dither, x_dither, y_dither);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pixbuf_render_pixmap_and_mask(int /*long*/ pixbuf, int /*long*/[] pixmap_return, int /*long*/[] mask_return, int alpha_threshold);
-public static final void gdk_pixbuf_render_pixmap_and_mask(int /*long*/ pixbuf, int /*long*/[] pixmap_return, int /*long*/[] mask_return, int alpha_threshold) {
-	lock.lock();
-	try {
-		_gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, mask_return, alpha_threshold);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pixbuf_scale(int /*long*/ src, int /*long*/ dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type);
-public static final void gdk_pixbuf_scale(int /*long*/ src, int /*long*/ dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type) {
-	lock.lock();
-	try {
-		_gdk_pixbuf_scale(src, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixbuf_scale_simple(int /*long*/ src, int dest_width, int dest_height, int interp_type);
-public static final int /*long*/ gdk_pixbuf_scale_simple(int /*long*/ src, int dest_width, int dest_height, int interp_type) {
-	lock.lock();
-	try {
-		return _gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_pixmap_new(int /*long*/ window, int width, int height, int depth);
-public static final int /*long*/ gdk_pixmap_new(int /*long*/ window, int width, int height, int depth) {
-	lock.lock();
-	try {
-		return _gdk_pixmap_new(window, width, height, depth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_pointer_grab(int /*long*/ window, boolean owner_events, int event_mask, int /*long*/ confine_to, int /*long*/ cursor, int time);
-public static final int gdk_pointer_grab(int /*long*/ window, boolean owner_events, int event_mask, int /*long*/ confine_to, int /*long*/ cursor, int time) {
-	lock.lock();
-	try {
-		return _gdk_pointer_grab(window, owner_events, event_mask, confine_to, cursor, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_pointer_is_grabbed();
-public static final boolean gdk_pointer_is_grabbed() {
-	lock.lock();
-	try {
-		return _gdk_pointer_is_grabbed();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_pointer_ungrab(int time);
-public static final void gdk_pointer_ungrab(int time) {
-	lock.lock();
-	try {
-		_gdk_pointer_ungrab(time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_property_get(int /*long*/ window, int /*long*/ property, int /*long*/ type, int /*long*/ offset, int /*long*/ length, int pdelete, int /*long*/[] actual_property_type, int[] actual_format, int[] actual_length, int /*long*/[] data);
-public static final boolean gdk_property_get(int /*long*/ window, int /*long*/ property, int /*long*/ type, int /*long*/ offset, int /*long*/ length, int pdelete, int /*long*/[] actual_property_type, int[] actual_format, int[] actual_length, int /*long*/[] data) {
-	lock.lock();
-	try {
-		return _gdk_property_get(window, property, type, offset, length, pdelete, actual_property_type, actual_format, actual_length, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_destroy(int /*long*/ region);
-public static final void gdk_region_destroy(int /*long*/ region) {
-	lock.lock();
-	try {
-		_gdk_region_destroy(region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_region_empty(int /*long*/ region);
-public static final boolean gdk_region_empty(int /*long*/ region) {
-	lock.lock();
-	try {
-		return _gdk_region_empty(region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_get_clipbox(int /*long*/ region, GdkRectangle rectangle);
-public static final void gdk_region_get_clipbox(int /*long*/ region, GdkRectangle rectangle) {
-	lock.lock();
-	try {
-		_gdk_region_get_clipbox(region, rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_get_rectangles(int /*long*/ region, int /*long*/[] rectangles, int[] n_rectangles);
-public static final void gdk_region_get_rectangles(int /*long*/ region, int /*long*/[] rectangles, int[] n_rectangles) {
-	lock.lock();
-	try {
-		_gdk_region_get_rectangles(region, rectangles, n_rectangles);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_intersect(int /*long*/ source1, int /*long*/ source2);
-public static final void gdk_region_intersect(int /*long*/ source1, int /*long*/ source2) {
-	lock.lock();
-	try {
-		_gdk_region_intersect(source1, source2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_region_new();
-public static final int /*long*/ gdk_region_new() {
-	lock.lock();
-	try {
-		return _gdk_region_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_offset(int /*long*/ region, int dx, int dy);
-public static final void gdk_region_offset(int /*long*/ region, int dx, int dy) {
-	lock.lock();
-	try {
-		_gdk_region_offset(region, dx, dy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_region_point_in(int /*long*/ region, int x, int y);
-public static final boolean gdk_region_point_in(int /*long*/ region, int x, int y) {
-	lock.lock();
-	try {
-		return _gdk_region_point_in(region, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_region_polygon(int[] points, int npoints, int fill_rule);
-public static final int /*long*/ gdk_region_polygon(int[] points, int npoints, int fill_rule) {
-	lock.lock();
-	try {
-		return _gdk_region_polygon(points, npoints, fill_rule);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_region_rectangle(GdkRectangle rectangle);
-public static final int /*long*/ gdk_region_rectangle(GdkRectangle rectangle) {
-	lock.lock();
-	try {
-		return _gdk_region_rectangle(rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_region_rect_in(int /*long*/ region, GdkRectangle rect);
-public static final int /*long*/ gdk_region_rect_in(int /*long*/ region, GdkRectangle rect) {
-	lock.lock();
-	try {
-		return _gdk_region_rect_in(region, rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_subtract(int /*long*/ source1, int /*long*/ source2);
-public static final void gdk_region_subtract(int /*long*/ source1, int /*long*/ source2) {
-	lock.lock();
-	try {
-		_gdk_region_subtract(source1, source2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_union(int /*long*/ source1, int /*long*/ source2);
-public static final void gdk_region_union(int /*long*/ source1, int /*long*/ source2) {
-	lock.lock();
-	try {
-		_gdk_region_union(source1, source2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_region_union_with_rect(int /*long*/ region, GdkRectangle rect);
-public static final void gdk_region_union_with_rect(int /*long*/ region, GdkRectangle rect) {
-	lock.lock();
-	try {
-		_gdk_region_union_with_rect(region, rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_rgb_init();
-public static final void gdk_rgb_init() {
-	lock.lock();
-	try {
-		_gdk_rgb_init();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_screen_get_default();
-public static final int /*long*/ gdk_screen_get_default() {
-	lock.lock();
-	try {
-		return _gdk_screen_get_default();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_get_monitor_at_point (int /*long*/ screen, int x, int y);
-public static final int gdk_screen_get_monitor_at_point (int /*long*/ screen, int x, int y) {
-	lock.lock();
-	try {
-		return _gdk_screen_get_monitor_at_point (screen, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_get_monitor_at_window(int /*long*/ screen, int /*long*/ window);
-public static final int gdk_screen_get_monitor_at_window(int /*long*/ screen, int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_screen_get_monitor_at_window(screen, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_screen_get_monitor_geometry (int /*long*/ screen, int monitor_num, GdkRectangle dest);
-public static final void gdk_screen_get_monitor_geometry (int /*long*/ screen, int monitor_num, GdkRectangle dest) {
-	lock.lock();
-	try {
-		_gdk_screen_get_monitor_geometry(screen, monitor_num, dest);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_get_n_monitors(int /*long*/ screen);
-public static final int gdk_screen_get_n_monitors(int /*long*/ screen) {
-	lock.lock();
-	try {
-		return _gdk_screen_get_n_monitors(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_get_number(int /*long*/ screen);
-public static final int gdk_screen_get_number(int /*long*/ screen) {
-	lock.lock();
-	try {
-		return _gdk_screen_get_number(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_height();
-public static final int gdk_screen_height() {
-	lock.lock();
-	try {
-		return _gdk_screen_height();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_width();
-public static final int gdk_screen_width() {
-	lock.lock();
-	try {
-		return _gdk_screen_width();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_screen_width_mm();
-public static final int gdk_screen_width_mm() {
-	lock.lock();
-	try {
-		return _gdk_screen_width_mm();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_set_program_class(byte[] program_class);
-public static final void gdk_set_program_class(byte[] program_class) {
-	lock.lock();
-	try {
-		_gdk_set_program_class(program_class);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gdk_utf8_to_compound_text(byte[] str, int /*long*/[] encoding, int[] format, int /*long*/[] ctext, int[] length);
-public static final boolean gdk_utf8_to_compound_text(byte[] str, int /*long*/[] encoding, int[] format, int /*long*/[] ctext, int[] length) {
-	lock.lock();
-	try {
-		return _gdk_utf8_to_compound_text(str, encoding, format, ctext, length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_utf8_to_string_target(byte[] str);
-public static final int /*long*/ gdk_utf8_to_string_target(byte[] str) {
-	lock.lock();
-	try {
-		return _gdk_utf8_to_string_target(str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_text_property_to_utf8_list  (int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list);
-public static final int gdk_text_property_to_utf8_list  (int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list) {
-	lock.lock();
-	try {
-		return _gdk_text_property_to_utf8_list(encoding, format, text, length, list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native  int _gdk_unicode_to_keyval(int wc);
-public static final  int gdk_unicode_to_keyval(int wc) {
-	lock.lock();
-	try {
-		return _gdk_unicode_to_keyval(wc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_visual_get_system();
-public static final int /*long*/ gdk_visual_get_system() {
-	lock.lock();
-	try {
-		return _gdk_visual_get_system();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_at_pointer(int[] win_x, int[] win_y);
-public static final int /*long*/ gdk_window_at_pointer(int[] win_x, int[] win_y) {
-	lock.lock();
-	try {
-		return _gdk_window_at_pointer(win_x, win_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_begin_paint_rect(int /*long*/ window, GdkRectangle rectangle);
-public static final void gdk_window_begin_paint_rect(int /*long*/ window, GdkRectangle rectangle) {
-	lock.lock();
-	try {
-		_gdk_window_begin_paint_rect(window, rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_clear_area(int /*long*/ window, int x, int y, int width, int height);
-public static final void gdk_window_clear_area(int /*long*/ window, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_gdk_window_clear_area(window, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_destroy(int /*long*/ window);
-public static final void gdk_window_destroy(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_destroy(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_end_paint(int /*long*/ window);
-public static final void gdk_window_end_paint(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_end_paint(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_get_children(int /*long*/ window);
-public static final int /*long*/ gdk_window_get_children(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_window_get_children(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_window_get_events(int /*long*/ window);
-public static final int gdk_window_get_events(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_window_get_events(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_focus(int /*long*/ window, int timestamp);
-public static final void gdk_window_focus(int /*long*/ window, int timestamp) {
-	lock.lock();
-	try {
-		_gdk_window_focus(window, timestamp);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_freeze_updates(int /*long*/ window);
-public static final void gdk_window_freeze_updates(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_freeze_updates(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_get_frame_extents(int /*long*/ window, GdkRectangle rect);
-public static final void gdk_window_get_frame_extents(int /*long*/ window, GdkRectangle rect) {
-	lock.lock();
-	try {
-		_gdk_window_get_frame_extents(window, rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_get_internal_paint_info(int /*long*/ window, int /*long*/ [] real_drawable, int[] x_offset, int[] y_offset);
-public static final void gdk_window_get_internal_paint_info(int /*long*/ window, int /*long*/ [] real_drawable, int[] x_offset, int[] y_offset) {
-	lock.lock();
-	try {
-		_gdk_window_get_internal_paint_info(window, real_drawable, x_offset, y_offset);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gdk_window_get_origin(int /*long*/ window, int[] x, int[] y);
-public static final int gdk_window_get_origin(int /*long*/ window, int[] x, int[] y) {
-	lock.lock();
-	try {
-		return _gdk_window_get_origin(window, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_get_parent(int /*long*/ window);
-public static final int /*long*/ gdk_window_get_parent(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gdk_window_get_parent(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_get_pointer(int /*long*/ window, int[] x, int[] y, int[] mask);
-public static final int /*long*/ gdk_window_get_pointer(int /*long*/ window, int[] x, int[] y, int[] mask) {
-	lock.lock();
-	try {
-		return _gdk_window_get_pointer(window, x, y, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_get_user_data(int /*long*/ window, int /*long*/[] data);
-public static final void gdk_window_get_user_data(int /*long*/ window, int /*long*/[] data) {
-	lock.lock();
-	try {
-		_gdk_window_get_user_data(window, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_hide(int /*long*/ window);
-public static final void gdk_window_hide(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_hide(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_invalidate_rect(int /*long*/ window, GdkRectangle rectangle, boolean invalidate_children);
-public static final void gdk_window_invalidate_rect(int /*long*/ window, GdkRectangle rectangle, boolean invalidate_children) {
-	lock.lock();
-	try {
-		_gdk_window_invalidate_rect(window, rectangle, invalidate_children);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_invalidate_region(int /*long*/ window, int /*long*/ region, boolean invalidate_children);
-public static final void gdk_window_invalidate_region(int /*long*/ window, int /*long*/ region, boolean invalidate_children) {
-	lock.lock();
-	try {
-		_gdk_window_invalidate_region(window, region, invalidate_children);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_move(int /*long*/ window, int x, int y);
-public static final void gdk_window_move(int /*long*/ window, int x, int y) {
-	lock.lock();
-	try {
-		_gdk_window_move(window, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gdk_window_new(int /*long*/ parent, GdkWindowAttr attributes, int attributes_mask);
-public static final int /*long*/ gdk_window_new(int /*long*/ parent, GdkWindowAttr attributes, int attributes_mask) {
-	lock.lock();
-	try {
-		return _gdk_window_new(parent, attributes, attributes_mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_lower(int /*long*/ window);
-public static final void gdk_window_lower(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_lower(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_process_all_updates();
-public static final void gdk_window_process_all_updates() {
-	lock.lock();
-	try {
-		_gdk_window_process_all_updates();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_process_updates(int /*long*/ window, boolean update_children);
-public static final void gdk_window_process_updates(int /*long*/ window, boolean update_children) {
-	lock.lock();
-	try {
-		_gdk_window_process_updates(window, update_children);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_raise(int /*long*/ window);
-public static final void gdk_window_raise(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_raise(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_resize(int /*long*/ window, int width, int height);
-public static final void gdk_window_resize(int /*long*/ window, int width, int height) {
-	lock.lock();
-	try {
-		_gdk_window_resize(window, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_scroll(int /*long*/ window, int dx, int dy);
-public static final void gdk_window_scroll(int /*long*/ window, int dx, int dy) {
-	lock.lock();
-	try {
-		_gdk_window_scroll(window, dx, dy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_accept_focus(int /*long*/ window, boolean accept_focus);
-public static final void gdk_window_set_accept_focus(int /*long*/ window, boolean accept_focus) {
-	lock.lock();
-	try {
-		_gdk_window_set_accept_focus(window, accept_focus);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_back_pixmap(int /*long*/ window, int /*long*/ pixmap, boolean parent_relative);
-public static final void gdk_window_set_back_pixmap(int /*long*/ window, int /*long*/ pixmap, boolean parent_relative) {
-	lock.lock();
-	try {
-		_gdk_window_set_back_pixmap(window, pixmap, parent_relative);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_cursor(int /*long*/ window, int /*long*/ cursor);
-public static final void gdk_window_set_cursor(int /*long*/ window, int /*long*/ cursor) {
-	lock.lock();
-	try {
-		_gdk_window_set_cursor(window, cursor);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_debug_updates(boolean setting);
-public static final void gdk_window_set_debug_updates(boolean setting) {	
-	lock.lock();
-	try {
-		_gdk_window_set_debug_updates(setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_decorations(int /*long*/ window, int decorations);
-public static final void gdk_window_set_decorations(int /*long*/ window, int decorations) {
-	lock.lock();
-	try {
-		_gdk_window_set_decorations(window, decorations);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_events(int /*long*/ window, int event_mask);
-public static final void gdk_window_set_events(int /*long*/ window, int event_mask) {
-	lock.lock();
-	try {
-		_gdk_window_set_events(window, event_mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_icon(int /*long*/ window, int /*long*/ icon_window, int /*long*/ pixmap, int /*long*/ mask);
-public static final void gdk_window_set_icon(int /*long*/ window, int /*long*/ icon_window, int /*long*/ pixmap, int /*long*/ mask) {
-	lock.lock();
-	try {
-		_gdk_window_set_icon(window, icon_window, pixmap, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_icon_list(int /*long*/ window, int /*long*/ pixbufs);
-public static final void gdk_window_set_icon_list(int /*long*/ window, int /*long*/ pixbufs) {
-	lock.lock();
-	try {
-		_gdk_window_set_icon_list(window, pixbufs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_keep_above(int /*long*/ window, boolean setting);
-public static final void gdk_window_set_keep_above(int /*long*/ window, boolean setting) {
-	lock.lock();
-	try {
-		_gdk_window_set_keep_above(window, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_override_redirect(int /*long*/ window, boolean override_redirect);
-public static final void gdk_window_set_override_redirect(int /*long*/ window, boolean override_redirect) {
-	lock.lock();
-	try {
-		_gdk_window_set_override_redirect(window, override_redirect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_set_user_data(int /*long*/ window, int /*long*/ user_data);
-public static final void gdk_window_set_user_data(int /*long*/ window, int /*long*/ user_data) {
-	lock.lock();
-	try {
-		_gdk_window_set_user_data(window, user_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_shape_combine_region (int /*long*/ window, int /*long*/  shape_region, int offset_x,  int offset_y);
-public static final void gdk_window_shape_combine_region (int /*long*/ window, int /*long*/  shape_region, int offset_x,  int offset_y) {
-	lock.lock();
-	try {
-		_gdk_window_shape_combine_region(window, shape_region, offset_x, offset_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_show(int /*long*/ window);
-public static final void gdk_window_show(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_show(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_show_unraised(int /*long*/ window);
-public static final void gdk_window_show_unraised(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_show_unraised(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gdk_window_thaw_updates(int /*long*/ window);
-public static final void gdk_window_thaw_updates(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gdk_window_thaw_updates(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_accel_group_new();
-public static final int /*long*/ gtk_accel_group_new() {
-	lock.lock();
-	try {
-		return _gtk_accel_group_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_accel_groups_activate(int /*long*/ accelGroup, int accelKey, int accelMods);
-public static final boolean gtk_accel_groups_activate(int /*long*/ accelGroup, int accelKey, int accelMods) {
-	lock.lock();
-	try {
-		return _gtk_accel_groups_activate(accelGroup, accelKey, accelMods);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_accel_label_set_accel_widget(int /*long*/ accel_label, int /*long*/ accel_widget);
-public static final void gtk_accel_label_set_accel_widget(int /*long*/ accel_label, int /*long*/ accel_widget) {
-	lock.lock();
-	try {
-		_gtk_accel_label_set_accel_widget(accel_label, accel_widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_adjustment_changed(int /*long*/ adjustment);
-public static final void gtk_adjustment_changed(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		_gtk_adjustment_changed(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size);
-public static final int /*long*/ gtk_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size) {
-	lock.lock();
-	try {
-		return _gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_adjustment_set_value(int /*long*/ adjustment, double value);
-public static final void gtk_adjustment_set_value(int /*long*/ adjustment, double value) {
-	lock.lock();
-	try {
-		_gtk_adjustment_set_value(adjustment, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_adjustment_value_changed(int /*long*/ adjustment);
-public static final void gtk_adjustment_value_changed(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		_gtk_adjustment_value_changed(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_arrow_new(int arrow_type, int shadow_type);
-public static final int /*long*/ gtk_arrow_new(int arrow_type, int shadow_type) {
-	lock.lock();
-	try {
-		return _gtk_arrow_new(arrow_type, shadow_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_arrow_set(int /*long*/ arrow, int arrow_type, int shadow_type);
-public static final void gtk_arrow_set(int /*long*/ arrow, int arrow_type, int shadow_type) {
-	lock.lock();
-	try {
-		_gtk_arrow_set(arrow, arrow_type, shadow_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_bin_get_child(int /*long*/ bin);
-public static final int /*long*/ gtk_bin_get_child(int /*long*/ bin) {
-	lock.lock();
-	try {
-		return _gtk_bin_get_child(bin);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_box_set_spacing(int /*long*/ box, int spacing);
-public static final void gtk_box_set_spacing(int /*long*/ box, int spacing) {
-	lock.lock();
-	try {
-		_gtk_box_set_spacing(box, spacing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_box_set_child_packing(int /*long*/ box, int /*long*/ child, boolean expand, boolean fill, int padding, int pack_type);
-public static final void gtk_box_set_child_packing(int /*long*/ box, int /*long*/ child, boolean expand, boolean fill, int padding, int pack_type) {
-	lock.lock();
-	try {
-		_gtk_box_set_child_packing(box, child, expand, fill, padding, pack_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_button_clicked(int /*long*/ button);
-public static final void gtk_button_clicked(int /*long*/ button) {
-	lock.lock();
-	try {
-		_gtk_button_clicked(button);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_button_get_relief(int /*long*/ button);
-public static final int gtk_button_get_relief(int /*long*/ button) {
-	lock.lock();
-	try {
-		return _gtk_button_get_relief(button);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_button_new();
-public static final int /*long*/ gtk_button_new() {
-	lock.lock();
-	try {
-		return _gtk_button_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_button_set_relief(int /*long*/ button, int newstyle);
-public static final void gtk_button_set_relief(int /*long*/ button, int newstyle) {
-	lock.lock();
-	try {
-		_gtk_button_set_relief(button, newstyle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_cell_renderer_get_size(int /*long*/ cell, int /*long*/ widget, GdkRectangle area, int[] x_offset, int[] y_offset, int[] width, int[] height);
-public static final void gtk_cell_renderer_get_size(int /*long*/ cell, int /*long*/ widget, GdkRectangle area, int[] x_offset, int[] y_offset, int[] width, int[] height) {
-	lock.lock();
-	try {
-		_gtk_cell_renderer_get_size(cell, widget, area, x_offset, y_offset, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_cell_renderer_pixbuf_new();
-public static final int /*long*/ gtk_cell_renderer_pixbuf_new() {
-	lock.lock();
-	try {
-		return _gtk_cell_renderer_pixbuf_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_cell_renderer_text_new();
-public static final int /*long*/ gtk_cell_renderer_text_new() {
-	lock.lock();
-	try {
-		return _gtk_cell_renderer_text_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_cell_renderer_toggle_new();
-public static final int /*long*/ gtk_cell_renderer_toggle_new() {
-	lock.lock();
-	try {
-		return _gtk_cell_renderer_toggle_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_check_button_new();
-public static final int /*long*/ gtk_check_button_new() {
-	lock.lock();
-	try {
-		return _gtk_check_button_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_check_menu_item_get_active(int /*long*/ check_menu_item);
-public static final boolean gtk_check_menu_item_get_active(int /*long*/ check_menu_item) {
-	lock.lock();
-	try {
-		return _gtk_check_menu_item_get_active(check_menu_item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_check_menu_item_new_with_label(byte[] label);
-public static final int /*long*/ gtk_check_menu_item_new_with_label(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_check_menu_item_new_with_label(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_check_menu_item_set_active(int /*long*/ wid, boolean active);
-public static final void gtk_check_menu_item_set_active(int /*long*/ wid, boolean active) {
-	lock.lock();
-	try {
-		_gtk_check_menu_item_set_active(wid, active);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_check_version(int required_major, int required_minor, int required_micro);
-public static final int /*long*/ gtk_check_version(int required_major, int required_minor, int required_micro) {
-	lock.lock();
-	try {
-		return _gtk_check_version(required_major, required_minor, required_micro);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_clipboard_clear(int /*long*/ clipboard);
-public static final void gtk_clipboard_clear(int /*long*/ clipboard) {
-	lock.lock();
-	try {
-		_gtk_clipboard_clear(clipboard);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_clipboard_get(int /*long*/ selection);
-public static final int /*long*/ gtk_clipboard_get(int /*long*/ selection) {
-	lock.lock();
-	try {
-		return _gtk_clipboard_get(selection);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_clipboard_set_with_data(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data);
-public static final boolean gtk_clipboard_set_with_data(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data) {
-	lock.lock();
-	try {
-		return _gtk_clipboard_set_with_data(clipboard, target, n_targets, get_func, clear_func, user_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_clipboard_wait_for_contents(int /*long*/ clipboard, int /*long*/ target);
-public static final int /*long*/ gtk_clipboard_wait_for_contents(int /*long*/ clipboard, int /*long*/ target) {
-	lock.lock();
-	try {
-		return _gtk_clipboard_wait_for_contents(clipboard, target);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_color_selection_dialog_new(byte[] title);
-public static final int /*long*/ gtk_color_selection_dialog_new(byte[] title) {
-	lock.lock();
-	try {
-		return _gtk_color_selection_dialog_new(title);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_color_selection_get_current_color(int /*long*/ colorsel, GdkColor color);
-public static final void gtk_color_selection_get_current_color(int /*long*/ colorsel, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_color_selection_get_current_color(colorsel, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_color_selection_set_current_color(int /*long*/ colorsel, GdkColor color);
-public static final void gtk_color_selection_set_current_color(int /*long*/ colorsel, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_color_selection_set_current_color(colorsel, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_color_selection_set_has_palette(int /*long*/ colorsel, boolean has_palette);
-public static final void gtk_color_selection_set_has_palette(int /*long*/ colorsel, boolean has_palette) {
-	lock.lock();
-	try {
-		_gtk_color_selection_set_has_palette(colorsel, has_palette);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_combo_disable_activate(int /*long*/ combo);
-public static final void gtk_combo_disable_activate(int /*long*/ combo) {
-	lock.lock();
-	try {
-		_gtk_combo_disable_activate(combo);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_combo_new();
-public static final int /*long*/ gtk_combo_new() {
-	lock.lock();
-	try {
-		return _gtk_combo_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_combo_set_case_sensitive(int /*long*/ combo, boolean val);
-public static final void gtk_combo_set_case_sensitive(int /*long*/ combo, boolean val) {
-	lock.lock();
-	try {
-		_gtk_combo_set_case_sensitive(combo, val);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_combo_set_popdown_strings(int /*long*/ combo, int /*long*/ strings);
-public static final void gtk_combo_set_popdown_strings(int /*long*/ combo, int /*long*/ strings) {
-	lock.lock();
-	try {
-		_gtk_combo_set_popdown_strings(combo, strings);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_container_add(int /*long*/ container, int /*long*/ widget);
-public static final void gtk_container_add(int /*long*/ container, int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_container_add(container, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_container_forall(int /*long*/ container, int /*long*/ callback, int /*long*/ callback_data);
-public static final void gtk_container_forall(int /*long*/ container, int /*long*/ callback, int /*long*/ callback_data) {
-	lock.lock();
-	try {
-		_gtk_container_forall(container, callback, callback_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_container_get_border_width(int /*long*/ container);
-public static final int gtk_container_get_border_width(int /*long*/ container) {
-	lock.lock();
-	try {
-		return _gtk_container_get_border_width(container);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_container_get_children(int /*long*/ container);
-public static final int /*long*/ gtk_container_get_children(int /*long*/ container) {
-	lock.lock();
-	try {
-		return _gtk_container_get_children(container);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_container_remove(int /*long*/ container, int /*long*/ widget);
-public static final void gtk_container_remove(int /*long*/ container, int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_container_remove(container, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_container_resize_children(int /*long*/ container);
-public static final void gtk_container_resize_children(int /*long*/ container) {
-	lock.lock();
-	try {
-		_gtk_container_resize_children(container);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_container_set_border_width(int /*long*/ container, int border_width);
-public static final void gtk_container_set_border_width(int /*long*/ container, int border_width) {
-	lock.lock();
-	try {
-		_gtk_container_set_border_width(container, border_width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_dialog_add_button(int /*long*/ dialog, byte[]  button_text, int response_id);
-public static final int /*long*/ gtk_dialog_add_button(int /*long*/ dialog, byte[]  button_text, int response_id) {
-	lock.lock();
-	try {
-		return _gtk_dialog_add_button(dialog, button_text, response_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_dialog_run(int /*long*/ dialog);
-public static final int gtk_dialog_run(int /*long*/ dialog) {
-	lock.lock();
-	try {
-		return _gtk_dialog_run(dialog);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_drag_begin(int /*long*/ widget, int /*long*/ targets, int actions, int button, int /*long*/ event);
-public static final int /*long*/ gtk_drag_begin(int /*long*/ widget, int /*long*/ targets, int actions, int button, int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gtk_drag_begin(widget, targets, actions, button, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_drag_check_threshold(int /*long*/ widget, int start_x, int start_y, int current_x, int current_y);
-public static final boolean gtk_drag_check_threshold(int /*long*/ widget, int start_x, int start_y, int current_x, int current_y) {
-	lock.lock();
-	try {
-		return _gtk_drag_check_threshold(widget, start_x, start_y, current_x, current_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_drag_dest_find_target(int /*long*/ widget, int /*long*/ context, int /*long*/ target_list);
-public static final int /*long*/ gtk_drag_dest_find_target(int /*long*/ widget, int /*long*/ context, int /*long*/ target_list) {
-	lock.lock();
-	try {
-		return _gtk_drag_dest_find_target(widget, context, target_list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_drag_dest_set(int /*long*/ widget, int flags, int /*long*/ targets, int n_targets, int actions);
-public static final void gtk_drag_dest_set(int /*long*/ widget, int flags, int /*long*/ targets, int n_targets, int actions) {
-	lock.lock();
-	try {
-		_gtk_drag_dest_set(widget, flags, targets, n_targets, actions);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_drag_dest_unset(int /*long*/ widget);
-public static final void gtk_drag_dest_unset(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_drag_dest_unset(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_drag_finish(int /*long*/ context, boolean success, boolean delete, int time);
-public static final void gtk_drag_finish(int /*long*/ context, boolean success, boolean delete, int time) {
-	lock.lock();
-	try {
-		_gtk_drag_finish(context, success, delete, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_drag_get_data(int /*long*/ widget, int /*long*/ context, int /*long*/ target, int time);
-public static final void gtk_drag_get_data(int /*long*/ widget, int /*long*/ context, int /*long*/ target, int time) {
-	lock.lock();
-	try {
-		_gtk_drag_get_data(widget, context, target, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_drag_set_icon_pixbuf(int /*long*/ context, int /*long*/ pixbuf, int hot_x, int hot_y);
-public static final void gtk_drag_set_icon_pixbuf(int /*long*/ context, int /*long*/ pixbuf, int hot_x, int hot_y) {
-	lock.lock();
-	try {
-		_gtk_drag_set_icon_pixbuf(context, pixbuf, hot_x, hot_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_drawing_area_new();
-public static final int /*long*/ gtk_drawing_area_new() {
-	lock.lock();
-	try {
-		return _gtk_drawing_area_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_copy_clipboard(int /*long*/ editable);
-public static final void gtk_editable_copy_clipboard(int /*long*/ editable) {
-	lock.lock();
-	try {
-		_gtk_editable_copy_clipboard(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_cut_clipboard(int /*long*/ editable);
-public static final void gtk_editable_cut_clipboard(int /*long*/ editable) {
-	lock.lock();
-	try {
-		_gtk_editable_cut_clipboard(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_delete_selection(int /*long*/ editable);
-public static final void gtk_editable_delete_selection(int /*long*/ editable) {
-	lock.lock();
-	try {
-		_gtk_editable_delete_selection(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_delete_text(int /*long*/ editable, int start_pos, int end_pos);
-public static final void gtk_editable_delete_text(int /*long*/ editable, int start_pos, int end_pos) {
-	lock.lock();
-	try {
-		_gtk_editable_delete_text(editable, start_pos, end_pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_editable_get_chars(int /*long*/ editable, int start_pos, int end_pos);
-public static final int /*long*/ gtk_editable_get_chars(int /*long*/ editable, int start_pos, int end_pos) {
-	lock.lock();
-	try {
-		return _gtk_editable_get_chars(editable, start_pos, end_pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_editable_get_editable(int /*long*/ editable);
-public static final boolean gtk_editable_get_editable(int /*long*/ editable) {
-	lock.lock();
-	try {
-		return _gtk_editable_get_editable(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_editable_get_position(int /*long*/ editable);
-public static final int gtk_editable_get_position(int /*long*/ editable) {
-	lock.lock();
-	try {
-		return _gtk_editable_get_position(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_editable_get_selection_bounds(int /*long*/ editable, int[] start, int[] end);
-public static final boolean gtk_editable_get_selection_bounds(int /*long*/ editable, int[] start, int[] end) {
-	lock.lock();
-	try {
-		return _gtk_editable_get_selection_bounds(editable, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_insert_text(int /*long*/ editable, byte[] new_text, int new_text_length, int[] position);
-public static final void gtk_editable_insert_text(int /*long*/ editable, byte[] new_text, int new_text_length, int[] position) {
-	lock.lock();
-	try {
-		_gtk_editable_insert_text(editable, new_text, new_text_length, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_paste_clipboard(int /*long*/ editable);
-public static final void gtk_editable_paste_clipboard(int /*long*/ editable) {
-	lock.lock();
-	try {
-		_gtk_editable_paste_clipboard(editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_select_region(int /*long*/ editable, int start, int end);
-public static final void gtk_editable_select_region(int /*long*/ editable, int start, int end) {
-	lock.lock();
-	try {
-		_gtk_editable_select_region(editable, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_set_editable(int /*long*/ entry, boolean editable);
-public static final void gtk_editable_set_editable(int /*long*/ entry, boolean editable) {
-	lock.lock();
-	try {
-		_gtk_editable_set_editable(entry, editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_editable_set_position(int /*long*/ editable, int position);
-public static final void gtk_editable_set_position(int /*long*/ editable, int position) {
-	lock.lock();
-	try {
-		_gtk_editable_set_position(editable, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native char _gtk_entry_get_invisible_char(int /*long*/ entry);
-public static final char gtk_entry_get_invisible_char(int /*long*/ entry) {
-	lock.lock();
-	try {
-		return _gtk_entry_get_invisible_char(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_entry_get_layout (int /*long*/ entry);
-public static final int /*long*/ gtk_entry_get_layout (int /*long*/ entry) {
-	lock.lock();
-	try {
-		return _gtk_entry_get_layout(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_get_layout_offsets (int /*long*/ layout, int[] x, int[] y);
-public static final void gtk_entry_get_layout_offsets (int /*long*/ layout, int[] x, int[] y) {
-	lock.lock();
-	try {
-		_gtk_entry_get_layout_offsets(layout, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_entry_text_index_to_layout_index (int /*long*/ entry, int index);
-public static final int gtk_entry_text_index_to_layout_index (int /*long*/ entry, int index) {
-	lock.lock();
-	try {
-		return _gtk_entry_text_index_to_layout_index(entry, index);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_entry_get_max_length(int /*long*/ entry);
-public static final int gtk_entry_get_max_length(int /*long*/ entry) {
-	lock.lock();
-	try {
-		return _gtk_entry_get_max_length(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_entry_get_text(int /*long*/ entry);
-public static final int /*long*/ gtk_entry_get_text(int /*long*/ entry) {
-	lock.lock();
-	try {
-		return _gtk_entry_get_text(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_entry_get_visibility(int /*long*/ entry);
-public static final boolean gtk_entry_get_visibility(int /*long*/ entry) {
-	lock.lock();
-	try {
-		return _gtk_entry_get_visibility(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_entry_new();
-public static final int /*long*/ gtk_entry_new() {
-	lock.lock();
-	try {
-		return _gtk_entry_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_activates_default(int /*long*/ entry, boolean setting);
-public static final void gtk_entry_set_activates_default(int /*long*/ entry, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_entry_set_activates_default(entry, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_alignment(int /*long*/ entry, float xalign);
-public static final void gtk_entry_set_alignment(int /*long*/ entry, float xalign) {
-	lock.lock();
-	try {
-		_gtk_entry_set_alignment(entry, xalign);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_has_frame(int /*long*/ entry, boolean setting);
-public static final void gtk_entry_set_has_frame(int /*long*/ entry, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_entry_set_has_frame(entry, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_invisible_char(int /*long*/ entry, char ch);
-public static final void gtk_entry_set_invisible_char(int /*long*/ entry, char ch) {
-	lock.lock();
-	try {
-		_gtk_entry_set_invisible_char(entry, ch);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_max_length(int /*long*/ entry, int max);
-public static final void gtk_entry_set_max_length(int /*long*/ entry, int max) {
-	lock.lock();
-	try {
-		_gtk_entry_set_max_length(entry, max);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_text(int /*long*/ entry, byte[] text);
-public static final void gtk_entry_set_text(int /*long*/ entry, byte[] text) {
-	lock.lock();
-	try {
-		_gtk_entry_set_text(entry, text);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_entry_set_visibility(int /*long*/ entry, boolean visible);
-public static final void gtk_entry_set_visibility(int /*long*/ entry, boolean visible) {
-	lock.lock();
-	try {
-		_gtk_entry_set_visibility(entry, visible);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_events_pending();
-public static final int gtk_events_pending() {
-	lock.lock();
-	try {
-		return _gtk_events_pending();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_expander_get_expanded(int /*long*/ expander);
-public static final boolean gtk_expander_get_expanded(int /*long*/ expander) {
-	lock.lock();
-	try {
-		return _gtk_expander_get_expanded(expander);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_expander_get_label_widget(int /*long*/ expander);
-public static final int /*long*/ gtk_expander_get_label_widget(int /*long*/ expander) {
-	lock.lock();
-	try {
-		return _gtk_expander_get_label_widget(expander);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_expander_new(byte[] label);
-public static final int /*long*/ gtk_expander_new(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_expander_new(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_expander_set_expanded(int /*long*/ expander, boolean expanded);
-public static final void gtk_expander_set_expanded(int /*long*/ expander, boolean expanded) {
-	lock.lock();
-	try {
-		_gtk_expander_set_expanded(expander, expanded);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_expander_set_label(int /*long*/ expander, byte[] label);
-public static final void gtk_expander_set_label(int /*long*/ expander, byte[] label) {
-	lock.lock();
-	try {
-		_gtk_expander_set_label(expander, label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_expander_set_label_widget(int /*long*/ expander, int /*long*/ label_widget);
-public static final void  gtk_expander_set_label_widget(int /*long*/ expander, int /*long*/ label_widget) {
-	lock.lock();
-	try {
-		_gtk_expander_set_label_widget(expander, label_widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_add_filter(int /*long*/ chooser, int /*long*/ filter);
-public static final void gtk_file_chooser_add_filter(int /*long*/ chooser, int /*long*/ filter) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_add_filter(chooser, filter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_chooser_dialog_new(byte[] title, int /*long*/ parent, int action, int /*long*/ first_button_text, int first_button_id, int /*long*/ second_button_text, int second_button_id, int /*long*/ terminator);
-public static final int /*long*/ gtk_file_chooser_dialog_new(byte[] title, int /*long*/ parent, int action, int /*long*/ first_button_text, int first_button_id, int /*long*/ second_button_text, int second_button_id, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		return _gtk_file_chooser_dialog_new(title, parent, action, first_button_text, first_button_id, second_button_text, second_button_id, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_chooser_get_current_folder(int /*long*/ chooser);
-public static final int /*long*/ gtk_file_chooser_get_current_folder(int /*long*/ chooser) {
-	lock.lock();
-	try {
-		return _gtk_file_chooser_get_current_folder(chooser);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_chooser_get_filename(int /*long*/ chooser);
-public static final int /*long*/ gtk_file_chooser_get_filename(int /*long*/ chooser) {
-	lock.lock();
-	try {
-		return _gtk_file_chooser_get_filename(chooser);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_chooser_get_filenames(int /*long*/ chooser);
-public static final int /*long*/ gtk_file_chooser_get_filenames(int /*long*/ chooser) {
-	lock.lock();
-	try {
-		return _gtk_file_chooser_get_filenames(chooser);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_set_current_folder(int /*long*/ chooser, byte[] filename);
-public static final void gtk_file_chooser_set_current_folder(int /*long*/ chooser, byte[] filename) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_set_current_folder(chooser, filename);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_set_current_name(int /*long*/ chooser, byte[] name);
-public static final void gtk_file_chooser_set_current_name(int /*long*/ chooser, byte[] name) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_set_current_name(chooser, name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_set_extra_widget(int /*long*/ chooser, int /*long*/ extra_widget);
-public static final void gtk_file_chooser_set_extra_widget(int /*long*/ chooser, int /*long*/ extra_widget) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_set_extra_widget(chooser, extra_widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_set_filename(int /*long*/ chooser, byte[] name);
-public static final void gtk_file_chooser_set_filename(int /*long*/ chooser, byte[] name) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_set_filename(chooser, name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_chooser_set_select_multiple(int /*long*/ chooser, boolean select_multiple);
-public static final void gtk_file_chooser_set_select_multiple(int /*long*/ chooser, boolean select_multiple) {
-	lock.lock();
-	try {
-		_gtk_file_chooser_set_select_multiple(chooser, select_multiple);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_filter_add_pattern(int /*long*/ filter, byte[] pattern);
-public static final void gtk_file_filter_add_pattern(int /*long*/ filter, byte[] pattern) {
-	lock.lock();
-	try {
-		_gtk_file_filter_add_pattern(filter, pattern);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_filter_new();
-public static final int /*long*/ gtk_file_filter_new() {
-	lock.lock();
-	try {
-		return _gtk_file_filter_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_filter_set_name(int /*long*/ filter, byte[] name);
-public static final void gtk_file_filter_set_name(int /*long*/ filter, byte[] name) {
-	lock.lock();
-	try {
-		_gtk_file_filter_set_name(filter, name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_selection_get_filename(int /*long*/ filesel);
-public static final int /*long*/ gtk_file_selection_get_filename(int /*long*/ filesel) {
-	lock.lock();
-	try {
-		return _gtk_file_selection_get_filename(filesel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_selection_get_selections(int /*long*/ filesel);
-public static final int /*long*/ gtk_file_selection_get_selections(int /*long*/ filesel) {
-	lock.lock();
-	try {
-		return _gtk_file_selection_get_selections(filesel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_selection_hide_fileop_buttons(int /*long*/ filesel);
-public static final void gtk_file_selection_hide_fileop_buttons(int /*long*/ filesel) {
-	lock.lock();
-	try {
-		_gtk_file_selection_hide_fileop_buttons(filesel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_file_selection_new(byte[] title);
-public static final int /*long*/ gtk_file_selection_new(byte[] title) {
-	lock.lock();
-	try {
-		return _gtk_file_selection_new(title);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_selection_set_filename(int /*long*/ filesel, int /*long*/ filename);
-public static final void gtk_file_selection_set_filename(int /*long*/ filesel, int /*long*/ filename) {
-	lock.lock();
-	try {
-		_gtk_file_selection_set_filename(filesel, filename);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_file_selection_set_select_multiple(int /*long*/ filesel, boolean select_multiple);
-public static final void gtk_file_selection_set_select_multiple(int /*long*/ filesel, boolean select_multiple) {
-	lock.lock();
-	try {
-		_gtk_file_selection_set_select_multiple(filesel, select_multiple);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_fixed_move(int /*long*/ fixed, int /*long*/ widget, int x, int y);
-public static final void gtk_fixed_move(int /*long*/ fixed, int /*long*/ widget, int x, int y) {
-	lock.lock();
-	try {
-		_gtk_fixed_move(fixed, widget, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_fixed_new();
-public static final int /*long*/ gtk_fixed_new() {
-	lock.lock();
-	try {
-		return _gtk_fixed_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_fixed_set_has_window(int /*long*/ fixed, boolean has_window);
-public static final void gtk_fixed_set_has_window(int /*long*/ fixed, boolean has_window) {
-	lock.lock();
-	try {
-		_gtk_fixed_set_has_window(fixed, has_window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_font_selection_dialog_get_font_name(int /*long*/ fsd);
-public static final int /*long*/ gtk_font_selection_dialog_get_font_name(int /*long*/ fsd) {
-	lock.lock();
-	try {
-		return _gtk_font_selection_dialog_get_font_name(fsd);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_font_selection_dialog_new(byte[] title);
-public static final int /*long*/ gtk_font_selection_dialog_new(byte[] title) {
-	lock.lock();
-	try {
-		return _gtk_font_selection_dialog_new(title);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_font_selection_dialog_set_font_name(int /*long*/ fsd, byte[] fontname);
-public static final boolean gtk_font_selection_dialog_set_font_name(int /*long*/ fsd, byte[] fontname) {
-	lock.lock();
-	try {
-		return _gtk_font_selection_dialog_set_font_name(fsd, fontname);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_frame_new(byte[] label);
-public static final int /*long*/ gtk_frame_new(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_frame_new(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_frame_get_label_widget(int /*long*/ frame);
-public static final int /*long*/ gtk_frame_get_label_widget(int /*long*/ frame) {
-	lock.lock();
-	try {
-		return _gtk_frame_get_label_widget(frame);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_frame_set_label(int /*long*/ frame, byte[] label);
-public static final void gtk_frame_set_label(int /*long*/ frame, byte[] label) {
-	lock.lock();
-	try {
-		_gtk_frame_set_label(frame, label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_frame_set_label_widget(int /*long*/ frame, int /*long*/ label_widget);
-public static final void gtk_frame_set_label_widget(int /*long*/ frame, int /*long*/ label_widget) {
-	lock.lock();
-	try {
-		_gtk_frame_set_label_widget(frame, label_widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_frame_set_shadow_type(int /*long*/ frame, int type);
-public static final void gtk_frame_set_shadow_type(int /*long*/ frame, int type) {
-	lock.lock();
-	try {
-		_gtk_frame_set_shadow_type(frame, type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_get_current_event();
-public static final int /*long*/ gtk_get_current_event() {
-	lock.lock();
-	try {
-		return _gtk_get_current_event();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_get_current_event_state (int[] state);
-public static final boolean gtk_get_current_event_state (int[] state) {
-	lock.lock();
-	try {
-		return _gtk_get_current_event_state(state);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_get_current_event_time();
-public static final int gtk_get_current_event_time() {
-	lock.lock();
-	try {
-		return _gtk_get_current_event_time();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_get_default_language();
-public static final int /*long*/ gtk_get_default_language() {
-	lock.lock();
-	try {
-		return _gtk_get_default_language();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_get_event_widget(int /*long*/ event);
-public static final int /*long*/ gtk_get_event_widget(int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gtk_get_event_widget(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_grab_add(int /*long*/ widget);
-public static final void gtk_grab_add(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_grab_add(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_grab_get_current();
-public static final int /*long*/ gtk_grab_get_current() {
-	lock.lock();
-	try {
-		return _gtk_grab_get_current();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_grab_remove(int /*long*/ widget);
-public static final void gtk_grab_remove(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_grab_remove(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_hbox_new(boolean homogeneous, int spacing);
-public static final int /*long*/ gtk_hbox_new(boolean homogeneous, int spacing) {
-	lock.lock();
-	try {
-		return _gtk_hbox_new(homogeneous, spacing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_hscale_new(int /*long*/ adjustment);
-public static final int /*long*/ gtk_hscale_new(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		return _gtk_hscale_new(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_hscrollbar_new(int /*long*/ adjustment);
-public static final int /*long*/ gtk_hscrollbar_new(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		return _gtk_hscrollbar_new(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_hseparator_new();
-public static final int /*long*/ gtk_hseparator_new() {
-	lock.lock();
-	try {
-		return _gtk_hseparator_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_icon_factory_lookup_default(byte[] stock_id);
-public static final int /*long*/ gtk_icon_factory_lookup_default(byte[] stock_id) {
-	lock.lock();
-	try {
-		return _gtk_icon_factory_lookup_default(stock_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_icon_source_free(int /*long*/ source);
-public static final void gtk_icon_source_free(int /*long*/ source) {
-	lock.lock();
-	try {
-		_gtk_icon_source_free(source);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_icon_source_new();
-public static final int /*long*/ gtk_icon_source_new() {
-	lock.lock();
-	try {
-		return _gtk_icon_source_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_icon_source_set_pixbuf(int /*long*/ source, int /*long*/ pixbuf);
-public static final void gtk_icon_source_set_pixbuf(int /*long*/ source, int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		_gtk_icon_source_set_pixbuf(source, pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_icon_set_render_icon(int /*long*/ icon_set, int /*long*/ style, int direction, int state, int size, int /*long*/ widget, int /*long*/ detail);
-public static final int /*long*/ gtk_icon_set_render_icon(int /*long*/ icon_set, int /*long*/ style, int direction, int state, int size, int /*long*/ widget, int /*long*/ detail) {
-	lock.lock();
-	try {
-		return _gtk_icon_set_render_icon(icon_set, style, direction, state, size, widget, detail);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_im_context_filter_keypress(int /*long*/ context, int /*long*/ event);
-public static final boolean gtk_im_context_filter_keypress(int /*long*/ context, int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gtk_im_context_filter_keypress(context, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_focus_in(int /*long*/ context);
-public static final void gtk_im_context_focus_in(int /*long*/ context) {
-	lock.lock();
-	try {
-		_gtk_im_context_focus_in(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_focus_out(int /*long*/ context);
-public static final void gtk_im_context_focus_out(int /*long*/ context) {
-	lock.lock();
-	try {
-		_gtk_im_context_focus_out(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_get_preedit_string(int /*long*/ context, int /*long*/[] str, int /*long*/[] attrs, int[] cursor_pos);
-public static final void gtk_im_context_get_preedit_string(int /*long*/ context, int /*long*/[] str, int /*long*/[] attrs, int[] cursor_pos) {
-	lock.lock();
-	try {
-		_gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_im_context_get_type();
-public static final int /*long*/ gtk_im_context_get_type() {
-	lock.lock();
-	try {
-		return _gtk_im_context_get_type();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_reset(int /*long*/ context);
-public static final void gtk_im_context_reset(int /*long*/ context) {
-	lock.lock();
-	try {
-		_gtk_im_context_reset(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_set_client_window(int /*long*/ context, int /*long*/ window);
-public static final void gtk_im_context_set_client_window(int /*long*/ context, int /*long*/ window) {
-	lock.lock();
-	try {
-		_gtk_im_context_set_client_window(context, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_context_set_cursor_location(int /*long*/ context, GdkRectangle area);
-public static final void gtk_im_context_set_cursor_location(int /*long*/ context, GdkRectangle area) {
-	lock.lock();
-	try {
-		_gtk_im_context_set_cursor_location(context, area);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_im_multicontext_append_menuitems (int /*long*/ context, int /*long*/ menushell);
-public static final void gtk_im_multicontext_append_menuitems (int /*long*/ context, int /*long*/ menushell) {
-	lock.lock();
-	try {
-		_gtk_im_multicontext_append_menuitems(context, menushell);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_im_multicontext_new();
-public static final int /*long*/ gtk_im_multicontext_new() {
-	lock.lock();
-	try {
-		return _gtk_im_multicontext_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_image_menu_item_new_with_label(byte[] label);
-public static final int /*long*/ gtk_image_menu_item_new_with_label(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_image_menu_item_new_with_label(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_image_menu_item_set_image(int /*long*/ menu_item, int /*long*/ image);
-public static final void gtk_image_menu_item_set_image(int /*long*/ menu_item, int /*long*/ image) {
-	lock.lock();
-	try {
-		_gtk_image_menu_item_set_image(menu_item, image);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_image_new();
-public static final int /*long*/ gtk_image_new() {
-	lock.lock();
-	try {
-		return _gtk_image_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_image_new_from_pixbuf(int /*long*/ pixbuf); 
-public static final int /*long*/ gtk_image_new_from_pixbuf(int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		return _gtk_image_new_from_pixbuf(pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_image_new_from_pixmap(int /*long*/ pixmap, int /*long*/ mask);
-public static final int /*long*/ gtk_image_new_from_pixmap(int /*long*/ pixmap, int /*long*/ mask) {
-	lock.lock();
-	try {
-		return _gtk_image_new_from_pixmap(pixmap, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_image_set_from_pixbuf(int /*long*/ image, int /*long*/ pixbuf);
-public static final void gtk_image_set_from_pixbuf(int /*long*/ image, int /*long*/ pixbuf) {
-	lock.lock();
-	try {
-		_gtk_image_set_from_pixbuf(image, pixbuf);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_image_set_from_pixmap(int /*long*/ image, int /*long*/ pixmap, int /*long*/ mask);
-public static final void gtk_image_set_from_pixmap(int /*long*/ image, int /*long*/ pixmap, int /*long*/ mask) {
-	lock.lock();
-	try {
-		_gtk_image_set_from_pixmap(image, pixmap, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_init_check(int /*long*/[] argc, int /*long*/[] argv);
-public static final boolean gtk_init_check(int /*long*/[] argc, int /*long*/[] argv) {
-	lock.lock();
-	try {
-		return _gtk_init_check(argc, argv);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_label_get_layout(int /*long*/ label);
-public static final int /*long*/ gtk_label_get_layout(int /*long*/ label) {
-	lock.lock();
-	try {
-		return _gtk_label_get_layout(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_label_get_mnemonic_keyval(int /*long*/ label);
-public static final int gtk_label_get_mnemonic_keyval(int /*long*/ label) {
-	lock.lock();
-	try {
-		return _gtk_label_get_mnemonic_keyval(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_label_new(byte[] label);
-public static final int /*long*/ gtk_label_new(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_label_new(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_label_new_with_mnemonic(byte[] str);
-public static final int /*long*/ gtk_label_new_with_mnemonic(byte[] str) {
-	lock.lock();
-	try {
-		return _gtk_label_new_with_mnemonic(str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_attributes(int /*long*/ label, int /*long*/ attrs);
-public static final void gtk_label_set_attributes(int /*long*/ label, int /*long*/ attrs) {
-	lock.lock();
-	try {
-		_gtk_label_set_attributes(label, attrs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_justify(int /*long*/ label, int jtype);
-public static final void gtk_label_set_justify(int /*long*/ label, int jtype) {
-	lock.lock();
-	try {
-		_gtk_label_set_justify(label, jtype);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_line_wrap(int /*long*/ label, boolean wrap);
-public static final void gtk_label_set_line_wrap(int /*long*/ label, boolean wrap) {
-	lock.lock();
-	try {
-		_gtk_label_set_line_wrap(label, wrap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_text(int /*long*/ label, int /*long*/ str);
-public static final void gtk_label_set_text(int /*long*/ label, int /*long*/ str) {
-	lock.lock();
-	try {
-		_gtk_label_set_text(label, str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_text(int /*long*/ label, byte[] str);
-public static final void gtk_label_set_text(int /*long*/ label, byte[] str) {
-	lock.lock();
-	try {
-		_gtk_label_set_text(label, str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_label_set_text_with_mnemonic(int /*long*/ label, byte[] str);
-public static final void gtk_label_set_text_with_mnemonic(int /*long*/ label, byte[] str) {
-	lock.lock();
-	try {
-		_gtk_label_set_text_with_mnemonic(label, str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_append_items(int /*long*/ list, int /*long*/ items);
-public static final void gtk_list_append_items(int /*long*/ list, int /*long*/ items) {
-	lock.lock();
-	try {
-		_gtk_list_append_items(list, items);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_clear_items(int /*long*/ list, int start, int end);
-public static final void gtk_list_clear_items(int /*long*/ list, int start, int end) {
-	lock.lock();
-	try {
-		_gtk_list_clear_items(list, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_insert_items(int /*long*/ list, int /*long*/ items, int position);
-public static final void gtk_list_insert_items(int /*long*/ list, int /*long*/ items, int position) {
-	lock.lock();
-	try {
-		_gtk_list_insert_items(list, items, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_list_item_new_with_label(byte[] label);
-public static final int /*long*/ gtk_list_item_new_with_label(byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_list_item_new_with_label(label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_remove_items(int /*long*/ list, int /*long*/ items);
-public static final void gtk_list_remove_items(int /*long*/ list, int /*long*/ items) {
-	lock.lock();
-	try {
-		_gtk_list_remove_items(list, items);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_select_item(int /*long*/ list, int item);
-public static final void gtk_list_select_item(int /*long*/ list, int item) {
-	lock.lock();
-	try {
-		_gtk_list_select_item(list, item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_unselect_all(int /*long*/ list);
-public static final void gtk_list_unselect_all(int /*long*/ list) {
-	lock.lock();
-	try {
-		_gtk_list_unselect_all(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_unselect_item(int /*long*/ list, int item);
-public static final void gtk_list_unselect_item(int /*long*/ list, int item) {
-	lock.lock();
-	try {
-		_gtk_list_unselect_item(list, item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_append(int /*long*/ list_store, int /*long*/ iter);
-public static final void gtk_list_store_append(int /*long*/ list_store, int /*long*/ iter) {
-	lock.lock();
-	try {
-		_gtk_list_store_append(list_store, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_clear(int /*long*/ store);
-public static final void gtk_list_store_clear(int /*long*/ store) {
-	lock.lock();
-	try {
-		_gtk_list_store_clear(store);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_insert(int /*long*/ list_store, int /*long*/ iter, int position);
-public static final void gtk_list_store_insert(int /*long*/ list_store, int /*long*/ iter, int position) {
-	lock.lock();
-	try {
-		_gtk_list_store_insert(list_store, iter, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_list_store_newv(int numColumns, int /*long*/[] types);
-public static final int /*long*/ gtk_list_store_newv(int numColumns, int /*long*/[] types) {
-	lock.lock();
-	try {
-		return _gtk_list_store_newv(numColumns, types);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_remove(int /*long*/ list_store, int /*long*/ iter);
-public static final void gtk_list_store_remove(int /*long*/ list_store, int /*long*/ iter) {
-	lock.lock();
-	try {
-		_gtk_list_store_remove(list_store, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator);
-public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_list_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator);
-public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_list_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator);
-public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_list_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator);
-public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_list_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, boolean value, int /*long*/ terminator);
-public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ iter, int column, boolean value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_list_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_major_version();
-public static final int gtk_major_version() {
-	lock.lock();
-	try {
-		return _gtk_major_version();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_minor_version();
-public static final int gtk_minor_version() {
-	lock.lock();
-	try {
-		return _gtk_minor_version();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_micro_version();
-public static final int gtk_micro_version() {
-	lock.lock();
-	try {
-		return _gtk_micro_version();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_main();
-public static final void gtk_main() {
-	lock.lock();
-	try {
-		_gtk_main();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_main_iteration();
-public static final int gtk_main_iteration() {
-	lock.lock();
-	try {
-		return _gtk_main_iteration();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_main_do_event(int /*long*/ event);
-public static final void gtk_main_do_event(int /*long*/ event) {
-	lock.lock();
-	try {
-		_gtk_main_do_event(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_menu_bar_new();
-public static final int /*long*/ gtk_menu_bar_new() {
-	lock.lock();
-	try {
-		return _gtk_menu_bar_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_item_remove_submenu(int /*long*/ menu_item);
-public static final void gtk_menu_item_remove_submenu(int /*long*/ menu_item) {
-	lock.lock();
-	try {
-		_gtk_menu_item_remove_submenu(menu_item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_item_set_submenu(int /*long*/ menu_item, int /*long*/ submenu);
-public static final void gtk_menu_item_set_submenu(int /*long*/ menu_item, int /*long*/ submenu) {
-	lock.lock();
-	try {
-		_gtk_menu_item_set_submenu(menu_item, submenu);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_menu_new();
-public static final int /*long*/ gtk_menu_new() {
-	lock.lock();
-	try {
-		return _gtk_menu_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_popdown(int /*long*/ menu);
-public static final void gtk_menu_popdown(int /*long*/ menu) {
-	lock.lock();
-	try {
-		_gtk_menu_popdown(menu);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_popup(int /*long*/ menu, int /*long*/ parent_menu_shell, int /*long*/ parent_menu_item, int /*long*/ func, int /*long*/ data, int button, int activate_time);
-public static final void gtk_menu_popup(int /*long*/ menu, int /*long*/ parent_menu_shell, int /*long*/ parent_menu_item, int /*long*/ func, int /*long*/ data, int button, int activate_time) {
-	lock.lock();
-	try {
-		_gtk_menu_popup(menu, parent_menu_shell, parent_menu_item, func, data, button, activate_time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_shell_deactivate(int /*long*/ menu_shell);
-public static final void gtk_menu_shell_deactivate(int /*long*/ menu_shell) {
-	lock.lock();
-	try {
-		_gtk_menu_shell_deactivate(menu_shell);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_shell_insert(int /*long*/ menu_shell, int /*long*/ child, int position);
-public static final void gtk_menu_shell_insert(int /*long*/ menu_shell, int /*long*/ child, int position) {
-	lock.lock();
-	try {
-		_gtk_menu_shell_insert(menu_shell, child, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_menu_shell_select_item(int /*long*/ menu_shell, int /*long*/ menu_item);
-public static final void gtk_menu_shell_select_item(int /*long*/ menu_shell, int /*long*/ menu_item) {
-	lock.lock();
-	try {
-		_gtk_menu_shell_select_item(menu_shell, menu_item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_message_dialog_new(int /*long*/ parent, int flags, int type, int buttons, byte[] message_format);
-public static final int /*long*/ gtk_message_dialog_new(int /*long*/ parent, int flags, int type, int buttons, byte[] message_format) {
-	lock.lock();
-	try {
-		return _gtk_message_dialog_new(parent, flags, type, buttons, message_format);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_misc_set_alignment(int /*long*/ misc, float xalign, float yalign);
-public static final void gtk_misc_set_alignment(int /*long*/ misc, float xalign, float yalign) {
-	lock.lock();
-	try {
-		_gtk_misc_set_alignment(misc, xalign, yalign);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_notebook_get_current_page(int /*long*/ notebook);
-public static final int gtk_notebook_get_current_page(int /*long*/ notebook) {
-	lock.lock();
-	try {
-		return _gtk_notebook_get_current_page(notebook);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_notebook_get_scrollable(int /*long*/ notebook);
-public static final boolean gtk_notebook_get_scrollable(int /*long*/ notebook) {
-	lock.lock();
-	try {
-		return _gtk_notebook_get_scrollable(notebook);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_insert_page(int /*long*/ notebook, int /*long*/ child, int /*long*/ tab_label, int position);
-public static final void gtk_notebook_insert_page(int /*long*/ notebook, int /*long*/ child, int /*long*/ tab_label, int position) {
-	lock.lock();
-	try {
-		_gtk_notebook_insert_page(notebook, child, tab_label, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_notebook_new();
-public static final int /*long*/ gtk_notebook_new() {
-	lock.lock();
-	try {
-		return _gtk_notebook_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_remove_page(int /*long*/ notebook, int page_num);
-public static final void gtk_notebook_remove_page(int /*long*/ notebook, int page_num) {
-	lock.lock();
-	try {
-		_gtk_notebook_remove_page(notebook, page_num);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_set_current_page(int /*long*/ notebook, int page_num);
-public static final void gtk_notebook_set_current_page(int /*long*/ notebook, int page_num) {
-	lock.lock();
-	try {
-		_gtk_notebook_set_current_page(notebook, page_num);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_set_scrollable(int /*long*/ notebook, boolean scrollable);
-public static final void gtk_notebook_set_scrollable(int /*long*/ notebook, boolean scrollable) {
-	lock.lock();
-	try {
-		_gtk_notebook_set_scrollable(notebook, scrollable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_set_show_tabs(int /*long*/ notebook, boolean show_tabs);
-public static final void gtk_notebook_set_show_tabs(int /*long*/ notebook, boolean show_tabs) {
-	lock.lock();
-	try {
-		_gtk_notebook_set_show_tabs(notebook, show_tabs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_notebook_set_tab_pos(int /*long*/ notebook, int pos);
-public static final void gtk_notebook_set_tab_pos(int /*long*/ notebook, int pos) {
-	lock.lock();
-	try {
-		_gtk_notebook_set_tab_pos(notebook, pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_object_sink(int /*long*/ object);
-public static final void gtk_object_sink(int /*long*/ object) {
-	lock.lock();
-	try {
-		_gtk_object_sink(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_handle(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation);
-public static final void gtk_paint_handle(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation) {
-	lock.lock();
-	try {
-		_gtk_paint_handle(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_flat_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_flat_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_flat_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_focus(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_focus(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_focus(style, window, state_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_option(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_option(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_option(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_slider(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation);
-public static final void gtk_paint_slider(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int orientation) {
-	lock.lock();
-	try {
-		_gtk_paint_slider(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_tab(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_tab(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_tab(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_arrow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int arrow_type, boolean fill, int x, int y, int width, int height);
-public static final void gtk_paint_arrow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int arrow_type, boolean fill, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_arrow(style, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-
-public static final native void _gtk_paint_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_box(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_box_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width);
-public static final void gtk_paint_box_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width) {
-	lock.lock();
-	try {
-		_gtk_paint_box_gap(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_check(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_check(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_check(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_expander(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int expander_style);
-public static final void gtk_paint_expander(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int expander_style) {
-	lock.lock();
-	try {
-		_gtk_paint_expander(style, window, state_type, area, widget, detail, x, y, expander_style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_extension(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side);
-public static final void gtk_paint_extension(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side) {
-	lock.lock();
-	try {
-		_gtk_paint_extension(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_hline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x1 , int x2, int y);
-public static final void gtk_paint_hline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x1 , int x2, int y) {
-	lock.lock();
-	try {
-		_gtk_paint_hline(style, window, state_type, area, widget, detail, x1, x2, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_layout(int /*long*/ style, int /*long*/ window, int state_type, boolean use_text, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int /*long*/ layout);
-public static final void gtk_paint_layout(int /*long*/ style, int /*long*/ window, int state_type, boolean use_text, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int /*long*/ layout) {
-	lock.lock();
-	try {
-		_gtk_paint_layout(style, window, state_type, use_text, area, widget, detail, x, y, layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_shadow_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width);
-public static final void gtk_paint_shadow_gap(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height, int gap_side, int gap_x, int gap_width) {
-	lock.lock();
-	try {
-		_gtk_paint_shadow_gap(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_shadow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height);
-public static final void gtk_paint_shadow(int /*long*/ style, int /*long*/ window, int state_type, int shadow_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int x , int y, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_paint_shadow(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_paint_vline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int y1 , int y2, int x);
-public static final void gtk_paint_vline(int /*long*/ style, int /*long*/ window, int state_type, GdkRectangle area, int /*long*/ widget, byte[] detail, int y1 , int y2, int x) {
-	lock.lock();
-	try {
-		_gtk_paint_vline(style, window, state_type, area, widget, detail, y1, y2, x);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_plug_get_id(int /*long*/ plug);
-public static final int /*long*/ gtk_plug_get_id(int /*long*/ plug) {
-	lock.lock();
-	try {
-		return _gtk_plug_get_id(plug);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_plug_new(int /*long*/ socket_id);
-public static final int /*long*/ gtk_plug_new(int /*long*/ socket_id) {
-	lock.lock();
-	try {
-		return _gtk_plug_new(socket_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_progress_bar_new();
-public static final int /*long*/ gtk_progress_bar_new() {
-	lock.lock();
-	try {
-		return _gtk_progress_bar_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_progress_bar_pulse(int /*long*/ pbar);
-public static final void gtk_progress_bar_pulse(int /*long*/ pbar) {
-	lock.lock();
-	try {
-		_gtk_progress_bar_pulse(pbar);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_progress_bar_set_fraction(int /*long*/ pbar, double fraction);
-public static final void gtk_progress_bar_set_fraction(int /*long*/ pbar, double fraction) {
-	lock.lock();
-	try {
-		_gtk_progress_bar_set_fraction(pbar, fraction);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_progress_bar_set_orientation(int /*long*/ pbar, int orientation);
-public static final void gtk_progress_bar_set_orientation(int /*long*/ pbar, int orientation) {
-	lock.lock();
-	try {
-		_gtk_progress_bar_set_orientation(pbar, orientation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_radio_button_get_group(int /*long*/ radio_button);
-public static final int /*long*/ gtk_radio_button_get_group(int /*long*/ radio_button) {
-	lock.lock();
-	try {
-		return _gtk_radio_button_get_group(radio_button);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_radio_button_new(int /*long*/ group);
-public static final int /*long*/ gtk_radio_button_new(int /*long*/ group) {
-	lock.lock();
-	try {
-		return _gtk_radio_button_new(group);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_radio_menu_item_get_group(int /*long*/ radio_menu_item);
-public static final int /*long*/ gtk_radio_menu_item_get_group(int /*long*/ radio_menu_item) {
-	lock.lock();
-	try {
-		return _gtk_radio_menu_item_get_group(radio_menu_item);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_radio_menu_item_new(int /*long*/ group);
-public static final int /*long*/ gtk_radio_menu_item_new(int /*long*/ group) {
-	lock.lock();
-	try {
-		return _gtk_radio_menu_item_new(group);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_radio_menu_item_new_with_label(int /*long*/ group, byte[] label);
-public static final int /*long*/ gtk_radio_menu_item_new_with_label(int /*long*/ group, byte[] label) {
-	lock.lock();
-	try {
-		return _gtk_radio_menu_item_new_with_label(group, label);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_range_get_adjustment(int /*long*/ range);
-public static final int /*long*/ gtk_range_get_adjustment(int /*long*/ range) {
-	lock.lock();
-	try {
-		return _gtk_range_get_adjustment(range);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_range_set_increments(int /*long*/ range, double step, double page);
-public static final void gtk_range_set_increments(int /*long*/ range, double step, double page) {
-	lock.lock();
-	try {
-		_gtk_range_set_increments(range, step, page);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_range_set_inverted(int /*long*/ range, boolean setting);
-public static final void gtk_range_set_inverted(int /*long*/ range, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_range_set_inverted(range, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_range_set_range(int /*long*/ range, double min, double max);
-public static final void gtk_range_set_range(int /*long*/ range, double min, double max) {
-	lock.lock();
-	try {
-		_gtk_range_set_range(range, min, max);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_range_set_value(int /*long*/ range, double value);
-public static final void gtk_range_set_value(int /*long*/ range, double value) {
-	lock.lock();
-	try {
-		_gtk_range_set_value(range, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_rc_parse_string(byte[] rc_string);
-public static final void gtk_rc_parse_string(byte[] rc_string) {
-	lock.lock();
-	try {
-		_gtk_rc_parse_string(rc_string);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_rc_style_get_bg_pixmap_name(int /*long*/ style, int index);
-public static final int /*long*/ gtk_rc_style_get_bg_pixmap_name(int /*long*/ style, int index) {
-	lock.lock();
-	try {
-		return _gtk_rc_style_get_bg_pixmap_name(style, index);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_rc_style_get_color_flags(int /*long*/ style, int index);
-public static final int gtk_rc_style_get_color_flags(int /*long*/ style, int index) {
-	lock.lock();
-	try {
-		return _gtk_rc_style_get_color_flags(style, index);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_rc_style_set_bg(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_rc_style_set_bg(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_rc_style_set_bg(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_rc_style_set_bg_pixmap_name(int /*long*/ style, int index, int /*long*/ name);
-public static final void gtk_rc_style_set_bg_pixmap_name(int /*long*/ style, int index, int /*long*/ name) {
-	lock.lock();
-	try {
-		_gtk_rc_style_set_bg_pixmap_name(style, index, name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_rc_style_set_color_flags(int /*long*/ style, int index, int flag);
-public static final void gtk_rc_style_set_color_flags(int /*long*/ style, int index, int flag) {
-	lock.lock();
-	try {
-		_gtk_rc_style_set_color_flags(style, index, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scale_set_digits(int /*long*/ scale, int digits);
-public static final void gtk_scale_set_digits(int /*long*/ scale, int digits) {
-	lock.lock();
-	try {
-		_gtk_scale_set_digits(scale, digits);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scale_set_draw_value(int /*long*/ scale, boolean draw_value);
-public static final void gtk_scale_set_draw_value(int /*long*/ scale, boolean draw_value) {
-	lock.lock();
-	try {
-		_gtk_scale_set_draw_value(scale, draw_value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scrolled_window_add_with_viewport(int /*long*/ scrolled_window, int /*long*/ child);
-public static final void gtk_scrolled_window_add_with_viewport(int /*long*/ scrolled_window, int /*long*/ child) {
-	lock.lock();
-	try {
-		_gtk_scrolled_window_add_with_viewport(scrolled_window, child);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_scrolled_window_get_hadjustment(int /*long*/ scrolled_window);
-public static final int /*long*/ gtk_scrolled_window_get_hadjustment(int /*long*/ scrolled_window) {
-	lock.lock();
-	try {
-		return _gtk_scrolled_window_get_hadjustment(scrolled_window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scrolled_window_get_policy(int /*long*/ scrolled_window, int[] hscrollbar_policy, int[] vscrollbar_policy);
-public static final void gtk_scrolled_window_get_policy(int /*long*/ scrolled_window, int[] hscrollbar_policy, int[] vscrollbar_policy) {
-	lock.lock();
-	try {
-		_gtk_scrolled_window_get_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_scrolled_window_get_shadow_type(int /*long*/ scrolled_window);
-public static final int gtk_scrolled_window_get_shadow_type(int /*long*/ scrolled_window) {
-	lock.lock();
-	try {
-		return _gtk_scrolled_window_get_shadow_type(scrolled_window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_scrolled_window_get_vadjustment(int /*long*/ scrolled_window);
-public static final int /*long*/ gtk_scrolled_window_get_vadjustment(int /*long*/ scrolled_window) {
-	lock.lock();
-	try {
-		return _gtk_scrolled_window_get_vadjustment(scrolled_window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_scrolled_window_new(int /*long*/ hadjustment, int /*long*/ vadjustment);
-public static final int /*long*/ gtk_scrolled_window_new(int /*long*/ hadjustment, int /*long*/ vadjustment) {
-	lock.lock();
-	try {
-		return _gtk_scrolled_window_new(hadjustment, vadjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scrolled_window_set_placement(int /*long*/ scrolled_window, int placement);
-public static final void gtk_scrolled_window_set_placement(int /*long*/ scrolled_window, int placement) {
-	lock.lock();
-	try {
-		_gtk_scrolled_window_set_placement(scrolled_window, placement);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scrolled_window_set_policy(int /*long*/ scrolled_window, int hscrollbar_policy, int vscrollbar_policy);
-public static final void gtk_scrolled_window_set_policy(int /*long*/ scrolled_window, int hscrollbar_policy, int vscrollbar_policy) {
-	lock.lock();
-	try {
-		_gtk_scrolled_window_set_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_scrolled_window_set_shadow_type(int /*long*/ scrolled_window, int type);
-public static final void gtk_scrolled_window_set_shadow_type(int /*long*/ scrolled_window, int type) {
-	lock.lock();
-	try {
-		_gtk_scrolled_window_set_shadow_type(scrolled_window, type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_settings_get_default();
-public static final int /*long*/ gtk_settings_get_default() {
-	lock.lock();
-	try {
-		return _gtk_settings_get_default();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_selection_data_free(int /*long*/ selection_data);
-public static final void gtk_selection_data_free(int /*long*/ selection_data) {
-	lock.lock();
-	try {
-		_gtk_selection_data_free(selection_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_selection_data_set(int /*long*/ selection_data, int /*long*/ type, int format, int /*long*/ data, int length);
-public static final void gtk_selection_data_set(int /*long*/ selection_data, int /*long*/ type, int format, int /*long*/ data, int length) {
-	lock.lock();
-	try {
-		_gtk_selection_data_set(selection_data, type, format, data, length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_separator_menu_item_new();
-public static final int /*long*/ gtk_separator_menu_item_new() {
-	lock.lock();
-	try {
-		return _gtk_separator_menu_item_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_set_locale();
-public static final int /*long*/ gtk_set_locale() {
-	lock.lock();
-	try {
-		return _gtk_set_locale();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_socket_get_id(int /*long*/ socket);
-public static final int /*long*/ gtk_socket_get_id(int /*long*/ socket) {
-	lock.lock();
-	try {
-		return _gtk_socket_get_id(socket);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_socket_new();
-public static final int /*long*/ gtk_socket_new() {
-	lock.lock();
-	try {
-		return _gtk_socket_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_spin_button_new(int /*long*/ adjustment, double climb_rate, int digits);
-public static final int /*long*/ gtk_spin_button_new(int /*long*/ adjustment, double climb_rate, int digits) {
-	lock.lock();
-	try {
-		return _gtk_spin_button_new(adjustment, climb_rate, digits);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_spin_button_get_adjustment(int /*long*/ spin_button);
-public static final int /*long*/ gtk_spin_button_get_adjustment(int /*long*/ spin_button) {
-	lock.lock();
-	try {
-		return _gtk_spin_button_get_adjustment(spin_button);
-	} finally {
-		lock.unlock();
-	}
-}
-
-public static final native int _gtk_spin_button_get_digits(int /*long*/ spin_button);
-public static final int gtk_spin_button_get_digits(int /*long*/ spin_button) {
-	lock.lock();
-	try {
-		return _gtk_spin_button_get_digits(spin_button);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_spin_button_set_digits(int /*long*/ spin_button, int digits);
-public static final void gtk_spin_button_set_digits(int /*long*/ spin_button, int digits) {
-	lock.lock();
-	try {
-		_gtk_spin_button_set_digits(spin_button, digits);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_spin_button_set_increments(int /*long*/ spin_button, double step, double page);
-public static final void gtk_spin_button_set_increments(int /*long*/ spin_button, double step, double page) {
-	lock.lock();
-	try {
-		_gtk_spin_button_set_increments(spin_button, step, page);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_spin_button_set_range(int /*long*/ spin_button, double max, double min);
-public static final void gtk_spin_button_set_range(int /*long*/ spin_button, double max, double min) {
-	lock.lock();
-	try {
-		_gtk_spin_button_set_range(spin_button, max, min);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_spin_button_set_value(int /*long*/ spin_button, double value);
-public static final void gtk_spin_button_set_value(int /*long*/ spin_button, double value) {
-	lock.lock();
-	try {
-		_gtk_spin_button_set_value(spin_button, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_spin_button_set_wrap(int /*long*/ spin_button, boolean wrap);
-public static final void gtk_spin_button_set_wrap(int /*long*/ spin_button, boolean wrap) {
-	lock.lock();
-	try {
-		_gtk_spin_button_set_wrap(spin_button, wrap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_base(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_base(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_base(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_black(int /*long*/ style, GdkColor color);
-public static final void gtk_style_get_black(int /*long*/ style, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_black(style, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_bg(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_bg(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_bg(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_dark(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_dark(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_dark(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_fg(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_fg(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_fg(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_fg_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_fg_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_fg_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_bg_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_bg_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_bg_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_light_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_light_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_light_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_dark_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_dark_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_dark_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_mid_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_mid_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_mid_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_text_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_text_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_text_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_text_aa_gc(int /*long*/ style, int index, int /*long*/[] gc);
-public static final void gtk_style_get_text_aa_gc(int /*long*/ style, int index, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_text_aa_gc(style, index, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_black_gc(int /*long*/ style, int /*long*/[] gc);
-public static final void gtk_style_get_black_gc(int /*long*/ style, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_black_gc(style, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_white_gc(int /*long*/ style, int /*long*/[] gc);
-public static final void gtk_style_get_white_gc(int /*long*/ style, int /*long*/[] gc) {
-	lock.lock();
-	try {
-		_gtk_style_get_white_gc(style, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_style_get_font_desc(int /*long*/ style);
-public static final int /*long*/ gtk_style_get_font_desc(int /*long*/ style) {
-	lock.lock();
-	try {
-		return _gtk_style_get_font_desc(style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_light(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_light(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_light(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_style_get_text(int /*long*/ style, int index, GdkColor color);
-public static final void gtk_style_get_text(int /*long*/ style, int index, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_style_get_text(style, index, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_style_get_xthickness(int /*long*/ style);
-public static final int gtk_style_get_xthickness(int /*long*/ style) {
-	lock.lock();
-	try {
-		return _gtk_style_get_xthickness(style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_style_get_ythickness(int /*long*/ style);
-public static final int gtk_style_get_ythickness(int /*long*/ style) {
-	lock.lock();
-	try {
-		return _gtk_style_get_ythickness(style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_style_render_icon(int /*long*/ style, int /*long*/ source, int direction, int state, int size, int /*long*/ widget, byte[] detail);
-public static final int /*long*/ gtk_style_render_icon(int /*long*/ style, int /*long*/ source, int direction, int state, int size, int /*long*/ widget, byte[] detail) {
-	lock.lock();
-	try {
-		return _gtk_style_render_icon(style, source, direction, state, size, widget, detail);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_target_list_new(int /*long*/ targets, int ntargets);
-public static final int /*long*/ gtk_target_list_new(int /*long*/ targets, int ntargets) {
-	lock.lock();
-	try {
-		return _gtk_target_list_new(targets, ntargets);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_target_list_unref(int /*long*/ list);
-public static final void gtk_target_list_unref(int /*long*/ list) {
-	lock.lock();
-	try {
-		_gtk_target_list_unref(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_copy_clipboard(int /*long*/ buffer, int /*long*/ clipboard);
-public static final void gtk_text_buffer_copy_clipboard(int /*long*/ buffer, int /*long*/ clipboard) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_copy_clipboard(buffer, clipboard);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_cut_clipboard(int /*long*/ buffer, int /*long*/ clipboard, boolean default_editable);
-public static final void gtk_text_buffer_cut_clipboard(int /*long*/ buffer, int /*long*/ clipboard, boolean default_editable) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_cut_clipboard(buffer, clipboard, default_editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_delete(int /*long*/ buffer, byte[] start, byte[] end);
-public static final void gtk_text_buffer_delete(int /*long*/ buffer, byte[] start, byte[] end) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_delete(buffer, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_get_bounds(int /*long*/ buffer, byte[] start, byte[] end);
-public static final void gtk_text_buffer_get_bounds(int /*long*/ buffer, byte[] start, byte[] end) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_get_bounds(buffer, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_text_buffer_get_char_count(int /*long*/ buffer);
-public static final int gtk_text_buffer_get_char_count(int /*long*/ buffer) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_char_count(buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_get_end_iter(int /*long*/ buffer, byte[] iter);
-public static final void gtk_text_buffer_get_end_iter(int /*long*/ buffer, byte[] iter) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_get_end_iter(buffer, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_buffer_get_insert(int /*long*/ buffer);
-public static final int /*long*/ gtk_text_buffer_get_insert(int /*long*/ buffer) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_insert(buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_get_iter_at_line(int /*long*/ buffer, byte[] iter, int line_number);
-public static final void gtk_text_buffer_get_iter_at_line(int /*long*/ buffer, byte[] iter, int line_number) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_get_iter_at_line(buffer, iter, line_number);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_get_iter_at_mark(int /*long*/ buffer, byte[] iter, int /*long*/ mark);
-public static final void gtk_text_buffer_get_iter_at_mark(int /*long*/ buffer, byte[] iter, int /*long*/ mark) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_get_iter_at_mark(buffer, iter, mark);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_get_iter_at_offset(int /*long*/ buffer, byte[] iter, int char_offset);
-public static final void gtk_text_buffer_get_iter_at_offset(int /*long*/ buffer, byte[] iter, int char_offset) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_get_iter_at_offset(buffer, iter, char_offset);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_text_buffer_get_line_count(int /*long*/ buffer);
-public static final int gtk_text_buffer_get_line_count(int /*long*/ buffer) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_line_count(buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_buffer_get_selection_bound(int /*long*/ buffer);
-public static final int /*long*/ gtk_text_buffer_get_selection_bound(int /*long*/ buffer) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_selection_bound(buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_text_buffer_get_selection_bounds(int /*long*/ buffer, byte[] start, byte[] end);
-public static final boolean gtk_text_buffer_get_selection_bounds(int /*long*/ buffer, byte[] start, byte[] end) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_selection_bounds(buffer, start, end);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_buffer_get_text(int /*long*/ buffer, byte[] start, byte[] end, boolean include_hidden_chars);
-public static final int /*long*/ gtk_text_buffer_get_text(int /*long*/ buffer, byte[] start, byte[] end, boolean include_hidden_chars) {
-	lock.lock();
-	try {
-		return _gtk_text_buffer_get_text(buffer, start, end, include_hidden_chars);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_insert(int /*long*/ buffer, byte[] iter, byte[] text, int len);
-public static final void gtk_text_buffer_insert(int /*long*/ buffer, byte[] iter, byte[] text, int len) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_insert(buffer, iter, text, len);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_insert(int /*long*/ buffer, int /*long*/ iter, byte[] text, int len);
-public static final void gtk_text_buffer_insert(int /*long*/ buffer, int /*long*/ iter, byte[] text, int len) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_insert(buffer, iter, text, len);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_move_mark(int /*long*/ buffer, int /*long*/ mark, byte[] where);
-public static final void gtk_text_buffer_move_mark(int /*long*/ buffer, int /*long*/ mark, byte[] where) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_move_mark(buffer, mark, where);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_paste_clipboard(int /*long*/ buffer, int /*long*/ clipboard, byte[] override_location, boolean default_editable);
-public static final void gtk_text_buffer_paste_clipboard(int /*long*/ buffer, int /*long*/ clipboard, byte[] override_location, boolean default_editable) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_paste_clipboard(buffer, clipboard, override_location, default_editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_place_cursor(int /*long*/ buffer, byte[] where);
-public static final void gtk_text_buffer_place_cursor(int /*long*/ buffer, byte[] where) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_place_cursor(buffer, where);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_buffer_set_text(int /*long*/ buffer, byte[] text, int len);
-public static final void gtk_text_buffer_set_text(int /*long*/ buffer, byte[] text, int len) {
-	lock.lock();
-	try {
-		_gtk_text_buffer_set_text(buffer, text, len);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_text_iter_get_line(byte[] iter);
-public static final int gtk_text_iter_get_line(byte[] iter) {
-	lock.lock();
-	try {
-		return _gtk_text_iter_get_line(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_text_iter_get_offset(byte[] iter);
-public static final int gtk_text_iter_get_offset(byte[] iter) {
-	lock.lock();
-	try {
-		return _gtk_text_iter_get_offset(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_buffer_to_window_coords(int /*long*/ text_view, int win, int buffer_x, int buffer_y, int[] window_x, int[] window_y);
-public static final void gtk_text_view_buffer_to_window_coords(int /*long*/ text_view, int win, int buffer_x, int buffer_y, int[] window_x, int[] window_y) {
-	lock.lock();
-	try {
-		_gtk_text_view_buffer_to_window_coords(text_view, win, buffer_x, buffer_y, window_x, window_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_view_get_buffer(int /*long*/ text_view);
-public static final int /*long*/ gtk_text_view_get_buffer(int /*long*/ text_view) {
-	lock.lock();
-	try {
-		return _gtk_text_view_get_buffer(text_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_text_view_get_editable(int /*long*/ text_view);
-public static final boolean gtk_text_view_get_editable(int /*long*/ text_view) {
-	lock.lock();
-	try {
-		return _gtk_text_view_get_editable(text_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_get_iter_at_location(int /*long*/ text_view, byte[] iter, int x, int y);
-public static final void gtk_text_view_get_iter_at_location(int /*long*/ text_view, byte[] iter, int x, int y) {
-	lock.lock();
-	try {
-		_gtk_text_view_get_iter_at_location(text_view, iter, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_get_iter_location(int /*long*/ text_view, byte[] iter, GdkRectangle location);
-public static final void gtk_text_view_get_iter_location(int /*long*/ text_view, byte[] iter, GdkRectangle location) {
-	lock.lock();
-	try {
-		_gtk_text_view_get_iter_location(text_view, iter, location);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_get_line_at_y(int /*long*/ text_view, byte[] target_iter, int y, int[] line_top);
-public static final void gtk_text_view_get_line_at_y(int /*long*/ text_view, byte[] target_iter, int y, int[] line_top) {
-	lock.lock();
-	try {
-		_gtk_text_view_get_line_at_y(text_view, target_iter, y, line_top);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_get_visible_rect(int /*long*/ text_view, GdkRectangle visible_rect);
-public static final void gtk_text_view_get_visible_rect(int /*long*/ text_view, GdkRectangle visible_rect) {
-	lock.lock();
-	try {
-		_gtk_text_view_get_visible_rect(text_view, visible_rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_view_get_window(int /*long*/ text_view, int win);
-public static final int /*long*/ gtk_text_view_get_window(int /*long*/ text_view, int win) {
-	lock.lock();
-	try {
-		return _gtk_text_view_get_window(text_view, win);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_text_view_new();
-public static final int /*long*/ gtk_text_view_new() {
-	lock.lock();
-	try {
-		return _gtk_text_view_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_scroll_mark_onscreen(int /*long*/ text_view, int /*long*/ mark);
-public static final void gtk_text_view_scroll_mark_onscreen(int /*long*/ text_view, int /*long*/ mark) {
-	lock.lock();
-	try {
-		_gtk_text_view_scroll_mark_onscreen(text_view, mark);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_text_view_scroll_to_iter(int /*long*/ text_view, byte[] iter, double within_margin, boolean use_align, double xalign, double yalign);
-public static final boolean gtk_text_view_scroll_to_iter(int /*long*/ text_view, byte[] iter, double within_margin, boolean use_align, double xalign, double yalign) {
-	lock.lock();
-	try {
-		return _gtk_text_view_scroll_to_iter(text_view, iter, within_margin, use_align, xalign, yalign);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_set_editable(int /*long*/ text_view, boolean setting);
-public static final void gtk_text_view_set_editable(int /*long*/ text_view, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_text_view_set_editable(text_view, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_set_justification(int /*long*/ text_view, int justification);
-public static final void gtk_text_view_set_justification(int /*long*/ text_view, int justification) {
-	lock.lock();
-	try {
-		_gtk_text_view_set_justification(text_view, justification);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_set_tabs(int /*long*/ text_view, int /*long*/ tabs);
-public static final void gtk_text_view_set_tabs(int /*long*/ text_view, int /*long*/ tabs) {
-	lock.lock();
-	try {
-		_gtk_text_view_set_tabs(text_view, tabs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_set_wrap_mode(int /*long*/ text_view, int wrap_mode);
-public static final void gtk_text_view_set_wrap_mode(int /*long*/ text_view, int wrap_mode) {
-	lock.lock();
-	try {
-		_gtk_text_view_set_wrap_mode(text_view, wrap_mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_text_view_window_to_buffer_coords(int /*long*/ text_view, int win, int window_x, int window_y, int[] buffer_x, int[] buffer_y);
-public static final void gtk_text_view_window_to_buffer_coords(int /*long*/ text_view,  int win, int window_x, int window_y, int[] buffer_x, int[] buffer_y) {
-	lock.lock();
-	try {
-		_gtk_text_view_window_to_buffer_coords(text_view, win, window_x, window_y, buffer_x, buffer_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_timeout_add(int interval, int /*long*/ function, int /*long*/ data);
-public static final int gtk_timeout_add(int interval, int /*long*/ function, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _gtk_timeout_add(interval, function, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_timeout_remove(int timeout_handler_id);
-public static final void gtk_timeout_remove(int timeout_handler_id) {
-	lock.lock();
-	try {
-		_gtk_timeout_remove(timeout_handler_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_toggle_button_get_active(int /*long*/ toggle_button);
-public static final boolean gtk_toggle_button_get_active(int /*long*/ toggle_button) {
-	lock.lock();
-	try {
-		return _gtk_toggle_button_get_active(toggle_button);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_toggle_button_new();
-public static final int /*long*/ gtk_toggle_button_new() {
-	lock.lock();
-	try {
-		return _gtk_toggle_button_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_toggle_button_set_active(int /*long*/ toggle_button, boolean is_active);
-public static final void gtk_toggle_button_set_active(int /*long*/ toggle_button, boolean is_active) {
-	lock.lock();
-	try {
-		_gtk_toggle_button_set_active(toggle_button, is_active);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_toggle_button_set_mode(int /*long*/ toggle_button, boolean draw_indicator);
-public static final void gtk_toggle_button_set_mode(int /*long*/ toggle_button, boolean draw_indicator) {
-	lock.lock();
-	try {
-		_gtk_toggle_button_set_mode(toggle_button, draw_indicator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_toolbar_insert_widget(int /*long*/ toolbar, int /*long*/ widget, byte[] tooltip_text, byte[] tooltip_private_text, int position);
-public static final void gtk_toolbar_insert_widget(int /*long*/ toolbar, int /*long*/ widget, byte[] tooltip_text, byte[] tooltip_private_text, int position) {
-	lock.lock();
-	try {
-		_gtk_toolbar_insert_widget(toolbar, widget, tooltip_text, tooltip_private_text, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_toolbar_new();
-public static final int /*long*/ gtk_toolbar_new() {
-	lock.lock();
-	try {
-		return _gtk_toolbar_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_toolbar_set_orientation(int /*long*/ toolbar, int orientation);
-public static final void gtk_toolbar_set_orientation(int /*long*/ toolbar, int orientation) {
-	lock.lock();
-	try {
-		_gtk_toolbar_set_orientation(toolbar, orientation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tooltips_data_get(int /*long*/ widget);
-public static final int /*long*/ gtk_tooltips_data_get(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_tooltips_data_get(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tooltips_disable(int /*long*/ tooltips);
-public static final void gtk_tooltips_disable(int /*long*/ tooltips) {
-	lock.lock();
-	try {
-		_gtk_tooltips_disable(tooltips);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tooltips_enable(int /*long*/ tooltips);
-public static final void gtk_tooltips_enable(int /*long*/ tooltips) {
-	lock.lock();
-	try {
-		_gtk_tooltips_enable(tooltips);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tooltips_new();
-public static final int /*long*/ gtk_tooltips_new() {
-	lock.lock();
-	try {
-		return _gtk_tooltips_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tooltips_force_window(int /*long*/ tooltips);
-public static final void gtk_tooltips_force_window(int /*long*/ tooltips) {
-	lock.lock();
-	try {
-		_gtk_tooltips_force_window(tooltips);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*/ widget, byte[] tip_text, byte[] tip_private);
-public static final void gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*/ widget, byte[] tip_text, byte[] tip_private) {
-	lock.lock();
-	try {
-		_gtk_tooltips_set_tip(tooltips, widget, tip_text, tip_private);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, int[] value, int /*long*/ terminator);
-public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, int[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, long[] value, int /*long*/ terminator);
-public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*/ iter, int column, long[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_model_get_iter(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ path);
-public static final boolean gtk_tree_model_get_iter(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_get_iter(tree_model, iter, path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_model_get_iter_first(int /*long*/ tree_model, int /*long*/ iter);
-public static final boolean gtk_tree_model_get_iter_first(int /*long*/ tree_model, int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_get_iter_first(tree_model, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_model_get_n_columns(int /*long*/ tree_model);
-public static final int gtk_tree_model_get_n_columns(int /*long*/ tree_model) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_get_n_columns(tree_model);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_model_get_path(int /*long*/ tree_model, int /*long*/ iter);
-public static final int /*long*/ gtk_tree_model_get_path(int /*long*/ tree_model, int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_get_path(tree_model, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_model_get_type();
-public static final int /*long*/ gtk_tree_model_get_type() {
-	lock.lock();
-	try {
-		return _gtk_tree_model_get_type();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_model_iter_children(int /*long*/ model, int /*long*/ iter, int /*long*/ parent);
-public static final boolean gtk_tree_model_iter_children(int /*long*/ model, int /*long*/ iter, int /*long*/ parent) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_iter_children(model, iter, parent);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_model_iter_n_children(int /*long*/ model, int /*long*/ iter);
-public static final int gtk_tree_model_iter_n_children(int /*long*/ model, int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_iter_n_children(model, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_model_iter_next(int /*long*/ model, int /*long*/ iter);
-public static final boolean gtk_tree_model_iter_next(int /*long*/ model, int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_iter_next(model, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_model_iter_nth_child(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ parent, int n);
-public static final boolean gtk_tree_model_iter_nth_child(int /*long*/ tree_model, int /*long*/ iter, int /*long*/ parent, int n) {
-	lock.lock();
-	try {
-		return _gtk_tree_model_iter_nth_child(tree_model, iter, parent, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_path_append_index(int /*long*/ path, int index);
-public static final void gtk_tree_path_append_index(int /*long*/ path, int index) {
-	lock.lock();
-	try {
-		_gtk_tree_path_append_index(path, index);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_compare(int /*long*/ a, int /*long*/ b);
-public static final int /*long*/ gtk_tree_path_compare(int /*long*/ a, int /*long*/ b) {
-	lock.lock();
-	try {
-		 return _gtk_tree_path_compare(a, b);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_path_down(int /*long*/ path);
-public static final void gtk_tree_path_down(int /*long*/ path) {
-	lock.lock();
-	try {
-		 _gtk_tree_path_down(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_path_free(int /*long*/ path);
-public static final void gtk_tree_path_free(int /*long*/ path) {
-	lock.lock();
-	try {
-		_gtk_tree_path_free(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_path_get_depth(int /*long*/ path);
-public static final int gtk_tree_path_get_depth(int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_get_depth(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_get_indices(int /*long*/ path);
-public static final int /*long*/ gtk_tree_path_get_indices(int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_get_indices(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_new();
-public static final int /*long*/ gtk_tree_path_new() {
-	lock.lock();
-	try {
-		return _gtk_tree_path_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_new_first();
-public static final int /*long*/ gtk_tree_path_new_first() {
-	lock.lock();
-	try {
-		return _gtk_tree_path_new_first();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_new_from_string(byte[] path);
-public static final int /*long*/ gtk_tree_path_new_from_string(byte[] path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_new_from_string(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_path_new_from_string(int /*long*/ path);
-public static final int /*long*/ gtk_tree_path_new_from_string(int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_new_from_string(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_path_next(int /*long*/ path);
-public static final void gtk_tree_path_next(int /*long*/ path) {
-	lock.lock();
-	try {
-		_gtk_tree_path_next(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_path_prev(int /*long*/ path);
-public static final boolean gtk_tree_path_prev(int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_prev(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_path_up(int /*long*/ path);
-public static final boolean gtk_tree_path_up(int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_path_up(path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_selection_count_selected_rows(int /*long*/ selection);
-public static final int gtk_tree_selection_count_selected_rows(int /*long*/ selection) {
-	lock.lock();
-	try {
-		return _gtk_tree_selection_count_selected_rows(selection);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_selection_get_selected(int /*long*/ selection, int /*long*/[] model, int /*long*/ iter);
-public static final boolean gtk_tree_selection_get_selected(int /*long*/ selection, int /*long*/[] model, int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _gtk_tree_selection_get_selected(selection, model, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_selection_get_selected_rows(int /*long*/ selection, int /*long*/[] model);
-public static final int /*long*/ gtk_tree_selection_get_selected_rows(int /*long*/ selection, int /*long*/[] model) {
-	lock.lock();
-	try {
-		return _gtk_tree_selection_get_selected_rows(selection, model);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_selection_path_is_selected(int /*long*/ selection, int /*long*/ path);
-public static final boolean gtk_tree_selection_path_is_selected(int /*long*/ selection, int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_selection_path_is_selected(selection, path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_select_all(int /*long*/ selection);
-public static final void gtk_tree_selection_select_all(int /*long*/ selection) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_select_all(selection);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_select_iter(int /*long*/ selection, int /*long*/ iter);
-public static final void gtk_tree_selection_select_iter(int /*long*/ selection, int /*long*/ iter) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_select_iter(selection, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_selected_foreach(int /*long*/ selection, int /*long*/ func, int /*long*/ data);
-public static final void gtk_tree_selection_selected_foreach(int /*long*/ selection, int /*long*/ func, int /*long*/ data) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_selected_foreach(selection, func, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_set_mode(int /*long*/ selection, int mode);
-public static final void gtk_tree_selection_set_mode(int /*long*/ selection, int mode) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_set_mode(selection, mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_unselect_all(int /*long*/ selection);
-public static final void gtk_tree_selection_unselect_all(int /*long*/ selection) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_unselect_all(selection);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_selection_unselect_iter(int /*long*/ selection, int /*long*/ iter);
-public static final void gtk_tree_selection_unselect_iter(int /*long*/ selection, int /*long*/ iter) {
-	lock.lock();
-	try {
-		_gtk_tree_selection_unselect_iter(selection, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_append(int /*long*/ store, int /*long*/ iter, int /*long*/ parent);
-public static final void gtk_tree_store_append(int /*long*/ store, int /*long*/ iter, int /*long*/ parent) {
-	lock.lock();
-	try {
-		_gtk_tree_store_append(store, iter, parent);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_clear(int /*long*/ store);
-public static final void gtk_tree_store_clear(int /*long*/ store) {
-	lock.lock();
-	try {
-		_gtk_tree_store_clear(store);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_insert(int /*long*/ store, int /*long*/ iter, int /*long*/ parent, int position);
-public static final void gtk_tree_store_insert(int /*long*/ store, int /*long*/ iter, int /*long*/ parent, int position) {
-	lock.lock();
-	try {
-		_gtk_tree_store_insert(store, iter, parent, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_store_newv(int numColumns, int /*long*/[] types);
-public static final int /*long*/ gtk_tree_store_newv(int numColumns, int /*long*/[] types) {
-	lock.lock();
-	try {
-		return _gtk_tree_store_newv(numColumns, types);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_remove(int /*long*/ store, int /*long*/ iter);
-public static final void gtk_tree_store_remove(int /*long*/ store, int /*long*/ iter) {
-	lock.lock();
-	try {
-		_gtk_tree_store_remove(store, iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator);
-public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, byte[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator);
-public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, int value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator);
-public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, long value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator);
-public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, GdkColor value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, boolean value, int /*long*/ terminator);
-public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ iter, int column, boolean value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_tree_store_set(store, iter, column, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_create_row_drag_icon(int /*long*/ view, int /*long*/ path);
-public static final int /*long*/ gtk_tree_view_create_row_drag_icon(int /*long*/ view, int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_create_row_drag_icon(view, path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_collapse_row(int /*long*/ view, int /*long*/ path);
-public static final boolean gtk_tree_view_collapse_row(int /*long*/ view, int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_collapse_row(view, path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_add_attribute(int /*long*/ treeColumn, int /*long*/ cellRenderer, byte[] attribute, int column);
-public static final void gtk_tree_view_column_add_attribute(int /*long*/ treeColumn, int /*long*/ cellRenderer, byte[] attribute, int column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_add_attribute(treeColumn, cellRenderer, attribute, column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_column_cell_get_position(int /*long*/ tree_column, int /*long*/ cell_renderer, int[] start_pos, int[] width);
-public static final boolean gtk_tree_view_column_cell_get_position(int /*long*/ tree_column, int /*long*/ cell_renderer, int[] start_pos, int[] width) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_cell_get_position(tree_column, cell_renderer, start_pos, width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_cell_get_size(int /*long*/ tree_column, GdkRectangle cell_area, int[] x_offset, int[] y_offset, int[] width, int[] height);
-public static final void gtk_tree_view_column_cell_get_size(int /*long*/ tree_column, GdkRectangle cell_area, int[] x_offset, int[] y_offset, int[] width, int[] height) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_cell_get_size(tree_column, cell_area, x_offset, y_offset, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_cell_set_cell_data(int /*long*/ tree_column, int /*long*/ tree_model, int /*long*/ iter, boolean is_expander, boolean is_expanded);
-public static final void gtk_tree_view_column_cell_set_cell_data(int /*long*/ tree_column, int /*long*/ tree_model, int /*long*/ iter, boolean is_expander, boolean is_expanded) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model, iter, is_expander, is_expanded);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_clear(int /*long*/ tree_column);
-public static final void gtk_tree_view_column_clear(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_clear(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_column_get_cell_renderers(int /*long*/ tree_column);
-public static final int /*long*/ gtk_tree_view_column_get_cell_renderers(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_cell_renderers(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_column_get_fixed_width(int /*long*/ column);
-public static final int gtk_tree_view_column_get_fixed_width(int /*long*/ column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_fixed_width(column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_column_get_reorderable(int /*long*/ column);
-public static final boolean gtk_tree_view_column_get_reorderable(int /*long*/ column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_reorderable(column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_column_get_resizable(int /*long*/ column);
-public static final boolean gtk_tree_view_column_get_resizable(int /*long*/ column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_resizable(column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_column_get_sizing(int /*long*/ tree_column);
-public static final int gtk_tree_view_column_get_sizing(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_sizing(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_column_get_spacing(int /*long*/ tree_column);
-public static final int gtk_tree_view_column_get_spacing(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_spacing(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_column_get_visible(int /*long*/ column);
-public static final boolean gtk_tree_view_column_get_visible(int /*long*/ column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_visible(column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_column_get_sort_indicator(int /*long*/ tree_column);
-public static final boolean gtk_tree_view_column_get_sort_indicator(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_sort_indicator(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_column_get_sort_order(int /*long*/ tree_column);
-public static final int gtk_tree_view_column_get_sort_order(int /*long*/ tree_column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_sort_order(tree_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_column_get_width(int /*long*/ column);
-public static final int gtk_tree_view_column_get_width(int /*long*/ column) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_get_width(column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_column_new();
-public static final int /*long*/ gtk_tree_view_column_new() {
-	lock.lock();
-	try {
-		return _gtk_tree_view_column_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_pack_start(int /*long*/ tree_column, int /*long*/ cell_renderer, boolean expand);
-public static final void gtk_tree_view_column_pack_start(int /*long*/ tree_column, int /*long*/ cell_renderer, boolean expand) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_pack_start(tree_column, cell_renderer, expand);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_pack_end(int /*long*/ tree_column, int /*long*/ cell_renderer, boolean expand);
-public static final void gtk_tree_view_column_pack_end(int /*long*/ tree_column, int /*long*/ cell_renderer, boolean expand) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_pack_end(tree_column, cell_renderer, expand);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_alignment(int /*long*/ tree_column, float xalign);
-public static final void gtk_tree_view_column_set_alignment(int /*long*/ tree_column, float xalign) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_alignment(tree_column, xalign);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_cell_data_func(int /*long*/ tree_column, int /*long*/ cell_renderer, int /*long*/ func, int /*long*/ func_data, int /*long*/ destroy);
-public static final void gtk_tree_view_column_set_cell_data_func(int /*long*/ tree_column, int /*long*/ cell_renderer, int /*long*/ func, int /*long*/ func_data, int /*long*/ destroy) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_clickable(int /*long*/ column, boolean clickable);
-public static final void gtk_tree_view_column_set_clickable(int /*long*/ column, boolean clickable) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_clickable(column, clickable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_fixed_width(int /*long*/ column, int fixed_width);
-public static final void gtk_tree_view_column_set_fixed_width(int /*long*/ column, int fixed_width) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_fixed_width(column, fixed_width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_min_width(int /*long*/ tree_column, int min_width);
-public static final void gtk_tree_view_column_set_min_width(int /*long*/ tree_column, int min_width) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_min_width(tree_column, min_width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_reorderable(int /*long*/ column, boolean reorderable);
-public static final void gtk_tree_view_column_set_reorderable(int /*long*/ column, boolean reorderable) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_reorderable(column, reorderable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_resizable(int /*long*/ column, boolean resizable);
-public static final void gtk_tree_view_column_set_resizable(int /*long*/ column, boolean resizable) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_resizable(column, resizable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_sizing(int /*long*/ column, int type);
-public static final void gtk_tree_view_column_set_sizing(int /*long*/ column, int type) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_sizing(column, type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_sort_indicator(int /*long*/ tree_column, boolean setting);
-public static final void gtk_tree_view_column_set_sort_indicator(int /*long*/ tree_column, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_sort_indicator(tree_column, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_sort_order(int /*long*/ tree_column, int order);
-public static final void gtk_tree_view_column_set_sort_order(int /*long*/ tree_column, int order) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_sort_order(tree_column, order);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_title(int /*long*/ tree_column, byte[] title);
-public static final void gtk_tree_view_column_set_title(int /*long*/ tree_column, byte[] title) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_title(tree_column, title);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_visible (int /*long*/ tree_column, boolean visible);
-public static final void gtk_tree_view_column_set_visible (int /*long*/ tree_column, boolean visible) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_visible(tree_column, visible);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_column_set_widget(int /*long*/ tree_column, int /*long*/ widget);
-public static final void gtk_tree_view_column_set_widget(int /*long*/ tree_column, int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_tree_view_column_set_widget(tree_column, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_drag_dest_row(int /*long*/ view, int /*long*/ path, int pos);
-public static final void gtk_tree_view_set_drag_dest_row(int /*long*/ view, int /*long*/ path, int pos) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_drag_dest_row(view, path, pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_enable_search (int /*long*/ view, boolean enable_search);
-public static final void gtk_tree_view_set_enable_search (int /*long*/ view, boolean enable_search) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_enable_search(view, enable_search);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_expand_row(int /*long*/ view, int /*long*/ path, boolean open_all);
-public static final boolean gtk_tree_view_expand_row(int /*long*/ view, int /*long*/ path, boolean open_all) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_expand_row(view, path, open_all);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_get_background_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect);
-public static final void gtk_tree_view_get_background_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect) {
-	lock.lock();
-	try {
-		_gtk_tree_view_get_background_area(tree_view, path, column, rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_get_bin_window(int /*long*/ tree_view);
-public static final int /*long*/ gtk_tree_view_get_bin_window(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_bin_window(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_get_cell_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect);
-public static final void gtk_tree_view_get_cell_area(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, GdkRectangle rect) {
-	lock.lock();
-	try {
-		_gtk_tree_view_get_cell_area(tree_view, path, column, rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/_gtk_tree_view_get_expander_column(int /*long*/ tree_view);
-public static final int /*long*/gtk_tree_view_get_expander_column(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_expander_column(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_get_column(int /*long*/ tree_view, int n);
-public static final int /*long*/ gtk_tree_view_get_column(int /*long*/ tree_view, int n) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_column(tree_view, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_get_columns(int /*long*/ tree_view);
-public static final int /*long*/ gtk_tree_view_get_columns(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_columns(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_get_cursor(int /*long*/ tree_view, int /*long*/[] path, int /*long*/[] focus_column);
-public static final void gtk_tree_view_get_cursor(int /*long*/ tree_view, int /*long*/[] path, int /*long*/[] focus_column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_get_cursor(tree_view, path, focus_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_get_headers_visible(int /*long*/ tree_view);
-public static final boolean gtk_tree_view_get_headers_visible(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_headers_visible(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_get_path_at_pos(int /*long*/ tree_view, int x, int y, int /*long*/[] path, int /*long*/[] column, int[] cell_x, int[] cell_y);
-public static final boolean gtk_tree_view_get_path_at_pos(int /*long*/ tree_view, int x, int y, int /*long*/[] path, int /*long*/[] column, int[] cell_x, int[] cell_y) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_path_at_pos(tree_view, x, y, path, column, cell_x, cell_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_get_rules_hint(int /*long*/ tree_view);
-public static final boolean gtk_tree_view_get_rules_hint(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_rules_hint(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_get_selection(int /*long*/ tree_view);
-public static final int /*long*/ gtk_tree_view_get_selection(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_get_selection(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_get_visible_rect(int /*long*/ tree_view, GdkRectangle visible_rect);
-public static final void gtk_tree_view_get_visible_rect(int /*long*/ tree_view, GdkRectangle visible_rect) {
-	lock.lock();
-	try {
-		_gtk_tree_view_get_visible_rect(tree_view, visible_rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_tree_view_insert_column(int /*long*/ tree_view, int /*long*/ column, int position);
-public static final int gtk_tree_view_insert_column(int /*long*/ tree_view, int /*long*/ column, int position) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_insert_column(tree_view, column, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_move_column_after(int /*long*/ tree_view, int /*long*/ column, int /*long*/ base_column);
-public static final void gtk_tree_view_move_column_after(int /*long*/ tree_view, int /*long*/ column, int /*long*/base_column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_move_column_after(tree_view, column, base_column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_tree_view_new_with_model(int /*long*/ model);
-public static final int /*long*/ gtk_tree_view_new_with_model(int /*long*/ model) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_new_with_model(model);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_remove_column(int /*long*/ tree_view, int /*long*/ column);
-public static final void gtk_tree_view_remove_column(int /*long*/ tree_view, int /*long*/ column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_remove_column(tree_view, column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_tree_view_row_expanded(int /*long*/ view, int /*long*/ path);
-public static final boolean gtk_tree_view_row_expanded(int /*long*/ view, int /*long*/ path) {
-	lock.lock();
-	try {
-		return _gtk_tree_view_row_expanded(view, path);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_scroll_to_cell(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, boolean use_align, float row_aligh, float column_align);
-public static final void gtk_tree_view_scroll_to_cell(int /*long*/ tree_view, int /*long*/ path, int /*long*/ column, boolean use_align, float row_aligh, float column_align) {
-	lock.lock();
-	try {
-		_gtk_tree_view_scroll_to_cell(tree_view, path, column, use_align, row_aligh, column_align);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_scroll_to_point (int /*long*/ tree_view, int tree_x, int tree_y);
-public static final void gtk_tree_view_scroll_to_point (int /*long*/ tree_view, int tree_x, int tree_y) {
-	lock.lock();
-	try {
-		_gtk_tree_view_scroll_to_point(tree_view, tree_x, tree_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_cursor(int /*long*/ tree_view, int /*long*/ path, int /*long*/ focus_column, boolean start_editing);
-public static final void gtk_tree_view_set_cursor(int /*long*/ tree_view, int /*long*/ path, int /*long*/ focus_column, boolean start_editing) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_cursor(tree_view, path, focus_column, start_editing);
-	} finally {
-		lock.unlock();
-	}
-} 
-public static final native void _gtk_tree_view_set_headers_visible(int /*long*/ tree_view, boolean visible);
-public static final void gtk_tree_view_set_headers_visible(int /*long*/ tree_view, boolean visible) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_headers_visible(tree_view, visible);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_model(int /*long*/ tree_view, int /*long*/ model);
-public static final void gtk_tree_view_set_model(int /*long*/ tree_view, int /*long*/ model) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_model(tree_view, model);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_rules_hint(int /*long*/ tree_view, boolean setting);
-public static final void gtk_tree_view_set_rules_hint(int /*long*/ tree_view, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_rules_hint(tree_view, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_set_search_column(int /*long*/ tree_view, int column);
-public static final void gtk_tree_view_set_search_column(int /*long*/ tree_view, int column) {
-	lock.lock();
-	try {
-		_gtk_tree_view_set_search_column(tree_view, column);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_view, int tx, int ty, int[] wx, int[] wy);
-public static final void gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_view, int tx, int ty, int[] wx, int[] wy) {
-	lock.lock();
-	try {
-		_gtk_tree_view_tree_to_widget_coords(tree_view, tx, ty, wx, wy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_unset_rows_drag_dest(int /*long*/ tree_view);
-public static final void gtk_tree_view_unset_rows_drag_dest(int /*long*/ tree_view) {
-	lock.lock();
-	try {
-		_gtk_tree_view_unset_rows_drag_dest(tree_view);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty);
-public static final void gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty) {
-	lock.lock();
-	try {
-		_gtk_tree_view_widget_to_tree_coords(tree_view, wx, wy, tx, ty);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_vbox_new(boolean homogeneous, int spacing);
-public static final int /*long*/ gtk_vbox_new(boolean homogeneous, int spacing) {
-	lock.lock();
-	try {
-		return _gtk_vbox_new(homogeneous, spacing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_vscale_new(int /*long*/ adjustment);
-public static final int /*long*/ gtk_vscale_new(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		return _gtk_vscale_new(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_vscrollbar_new(int /*long*/ adjustment);
-public static final int /*long*/ gtk_vscrollbar_new(int /*long*/ adjustment) {
-	lock.lock();
-	try {
-		return _gtk_vscrollbar_new(adjustment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_vseparator_new();
-public static final int /*long*/ gtk_vseparator_new() {
-	lock.lock();
-	try {
-		return _gtk_vseparator_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_add_accelerator(int /*long*/ widget, byte[] accel_signal, int /*long*/ accel_group, int accel_key, int accel_mods, int accel_flags);
-public static final void gtk_widget_add_accelerator(int /*long*/ widget, byte[] accel_signal, int /*long*/ accel_group, int accel_key, int accel_mods, int accel_flags) {
-	lock.lock();
-	try {
-		_gtk_widget_add_accelerator(widget, accel_signal, accel_group, accel_key, accel_mods, accel_flags);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_add_events(int /*long*/ widget, int events);
-public static final void gtk_widget_add_events(int /*long*/ widget, int events) {
-	lock.lock();
-	try {
-		_gtk_widget_add_events(widget, events);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_child_focus(int /*long*/ widget, int direction);
-public static final boolean gtk_widget_child_focus(int /*long*/ widget, int direction) {
-	lock.lock();
-	try {
-		return _gtk_widget_child_focus(widget, direction);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_create_pango_layout(int /*long*/ widget, byte[] text);
-public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ widget, byte[] text) {
-	lock.lock();
-	try {
-		return _gtk_widget_create_pango_layout(widget, text);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_create_pango_layout(int /*long*/ widget, int /*long*/ text);
-public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ widget, int /*long*/ text) {
-	lock.lock();
-	try {
-		return _gtk_widget_create_pango_layout(widget, text);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_destroy(int /*long*/ widget);
-public static final void gtk_widget_destroy(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_destroy(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_event(int /*long*/ widget, int /*long*/ event);
-public static final boolean gtk_widget_event(int /*long*/ widget, int /*long*/ event) {
-	lock.lock();
-	try {
-		return _gtk_widget_event(widget, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_accessible (int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_accessible (int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_accessible(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_get_child_visible (int /*long*/ widget);
-public static final boolean gtk_widget_get_child_visible (int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_child_visible(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_widget_get_default_direction();
-public static final int gtk_widget_get_default_direction() {
-	lock.lock();
-	try {
-		return _gtk_widget_get_default_direction();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_default_style();
-public static final int /*long*/ gtk_widget_get_default_style() {
-	lock.lock();
-	try {
-		return _gtk_widget_get_default_style();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_widget_get_direction(int /*long*/ widget);
-public static final int gtk_widget_get_direction(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_direction(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_widget_get_events(int /*long*/ widget);
-public static final int gtk_widget_get_events(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_events(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_modifier_style(int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_modifier_style(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_modifier_style(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_pango_context(int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_pango_context(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_pango_context(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_parent(int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_parent(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_parent(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_style(int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_style(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_style(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_get_size_request(int /*long*/ widget, int [] width, int [] height);
-public static final void gtk_widget_get_size_request(int /*long*/ widget, int [] width, int [] height) {
-	lock.lock();
-	try {
-		_gtk_widget_get_size_request(widget, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_widget_get_toplevel (int /*long*/ widget);
-public static final int /*long*/ gtk_widget_get_toplevel (int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_get_toplevel(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_grab_focus(int /*long*/ widget);
-public static final void gtk_widget_grab_focus(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_grab_focus(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_hide(int /*long*/ widget);
-public static final void gtk_widget_hide(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_hide(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_is_focus(int /*long*/ widget);
-public static final boolean gtk_widget_is_focus(int /*long*/ widget) {
-	lock.lock();
-	try {
-		return _gtk_widget_is_focus(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_map(int /*long*/ widget);
-public static final void gtk_widget_map(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_map(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_mnemonic_activate(int /*long*/ widget, boolean group_cycling);
-public static final boolean gtk_widget_mnemonic_activate(int /*long*/ widget, boolean group_cycling) {
-	lock.lock();
-	try {
-		return _gtk_widget_mnemonic_activate(widget, group_cycling);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_base(int /*long*/ widget, int state, GdkColor color);
-public static final void gtk_widget_modify_base(int /*long*/ widget, int state, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_base(widget, state, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_bg(int /*long*/ widget, int state, GdkColor color);
-public static final void gtk_widget_modify_bg(int /*long*/ widget, int state, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_bg(widget, state, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_fg(int /*long*/ widget, int state, GdkColor color);
-public static final void gtk_widget_modify_fg(int /*long*/ widget, int state, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_fg(widget, state, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_font(int /*long*/ widget, int /*long*/ pango_font_descr);
-public static final void gtk_widget_modify_font(int /*long*/ widget, int /*long*/ pango_font_descr) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_font(widget, pango_font_descr);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_style(int /*long*/ widget, int /*long*/ style);
-public static final void gtk_widget_modify_style(int /*long*/ widget, int /*long*/ style) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_style(widget, style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_modify_text(int /*long*/ widget, int state, GdkColor color);
-public static final void gtk_widget_modify_text(int /*long*/ widget, int state, GdkColor color) {
-	lock.lock();
-	try {
-		_gtk_widget_modify_text(widget, state, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_queue_resize(int /*long*/ widget);
-public static final void gtk_widget_queue_resize(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_queue_resize(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_realize(int /*long*/ widget);
-public static final void gtk_widget_realize(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_realize(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_remove_accelerator(int /*long*/ widget, int /*long*/ accel_group, int accel_key, int accel_mods);
-public static final void gtk_widget_remove_accelerator(int /*long*/ widget, int /*long*/ accel_group, int accel_key, int accel_mods) {
-	lock.lock();
-	try {
-		_gtk_widget_remove_accelerator(widget, accel_group, accel_key, accel_mods);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_reparent(int /*long*/ widget, int /*long*/ new_parent);
-public static final void gtk_widget_reparent(int /*long*/ widget, int /*long*/ new_parent) {
-	lock.lock();
-	try {
-		_gtk_widget_reparent(widget, new_parent);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_app_paintable(int /*long*/ widget, boolean app_paintable);
-public static final void gtk_widget_set_app_paintable(int /*long*/ widget, boolean app_paintable) {
-	lock.lock();
-	try {
-		_gtk_widget_set_app_paintable(widget, app_paintable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_default_direction(int dir);
-public static final void gtk_widget_set_default_direction(int dir) {
-	lock.lock();
-	try {
-		_gtk_widget_set_default_direction(dir);
-	} finally {
-		lock.unlock();
-	}
-} 
-public static final native void _gtk_widget_set_direction(int /*long*/ widget, int dir);
-public static final void gtk_widget_set_direction(int /*long*/ widget, int dir) {
-	lock.lock();
-	try {
-		_gtk_widget_set_direction(widget, dir);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_double_buffered(int /*long*/ widget, boolean double_buffered);
-public static final void gtk_widget_set_double_buffered(int /*long*/ widget, boolean double_buffered) {
-	lock.lock();
-	try {
-		_gtk_widget_set_double_buffered(widget, double_buffered);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_name(int /*long*/ widget, byte[] name);
-public static final void gtk_widget_set_name(int /*long*/ widget, byte[] name) {
-	lock.lock();
-	try {
-		_gtk_widget_set_name(widget, name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_redraw_on_allocate(int /*long*/ widget, boolean redraw);
-public static final void gtk_widget_set_redraw_on_allocate(int /*long*/ widget, boolean redraw) {
-	lock.lock();
-	try {
-		_gtk_widget_set_redraw_on_allocate(widget, redraw);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_sensitive(int /*long*/ widget, boolean sensitive);
-public static final void gtk_widget_set_sensitive(int /*long*/ widget, boolean sensitive) {
-	lock.lock();
-	try {
-		_gtk_widget_set_sensitive(widget, sensitive);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_size_request(int /*long*/ widget, int width, int height);
-public static final void gtk_widget_set_size_request(int /*long*/ widget, int width, int height) {
-	lock.lock();
-	try {
-		_gtk_widget_set_size_request(widget, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_state(int /*long*/ widget, int state);
-public static final void gtk_widget_set_state(int /*long*/ widget, int state) {
-	lock.lock();
-	try {
-		_gtk_widget_set_state(widget, state);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_style(int /*long*/ widget, int /*long*/ style);
-public static final void gtk_widget_set_style(int /*long*/ widget, int /*long*/ style) {
-	lock.lock();
-	try {
-		_gtk_widget_set_style(widget, style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_shape_combine_mask(int /*long*/ widget, int /*long*/ shape_mask, int offset_x, int offset_y);
-public static final void gtk_widget_shape_combine_mask(int /*long*/ widget, int /*long*/ shape_mask, int offset_x, int offset_y) {
-	lock.lock();
-	try {
-		_gtk_widget_shape_combine_mask(widget, shape_mask, offset_x, offset_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_show(int /*long*/ widget);
-public static final void gtk_widget_show(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_show(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_show_now(int /*long*/ widget);
-public static final void gtk_widget_show_now(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_show_now(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_size_allocate(int /*long*/ widget, GtkAllocation allocation);
-public static final void gtk_widget_size_allocate(int /*long*/ widget, GtkAllocation allocation) {
-	lock.lock();
-	try {
-		_gtk_widget_size_allocate(widget, allocation);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_size_request(int /*long*/ widget, GtkRequisition requisition);
-public static final void gtk_widget_size_request(int /*long*/ widget, GtkRequisition requisition) {
-	lock.lock();
-	try {
-		_gtk_widget_size_request(widget, requisition);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_style_get(int /*long*/ widget, byte[] property_name, int[] value, int /*long*/ terminator);
-public static final void gtk_widget_style_get(int /*long*/ widget, byte[] property_name, int[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_widget_style_get(widget, property_name, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_style_get(int /*long*/ widget, byte[] property_name, long[] value, int /*long*/ terminator);
-public static final void gtk_widget_style_get(int /*long*/ widget, byte[] property_name, long[] value, int /*long*/ terminator) {
-	lock.lock();
-	try {
-		_gtk_widget_style_get(widget, property_name, value, terminator);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_widget_translate_coordinates(int /*long*/ src_widget, int /*long*/ dest_widget, int src_x, int src_y, int[] dest_x, int[] dest_y);
-public static final boolean gtk_widget_translate_coordinates(int /*long*/ src_widget, int /*long*/ dest_widget, int src_x, int src_y, int[] dest_x, int[] dest_y) {
-	lock.lock();
-	try {
-		return _gtk_widget_translate_coordinates(src_widget, dest_widget, src_x, src_y, dest_x, dest_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_unrealize(int /*long*/ widget);
-public static final void gtk_widget_unrealize(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_widget_unrealize(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_window_activate_default(int /*long*/ window);
-public static final boolean gtk_window_activate_default(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gtk_window_activate_default(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_add_accel_group(int /*long*/ window, int /*long*/ accel_group);
-public static final void gtk_window_add_accel_group(int /*long*/ window, int /*long*/ accel_group) {
-	lock.lock();
-	try {
-		_gtk_window_add_accel_group(window, accel_group);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_deiconify(int /*long*/ handle);
-public static final void gtk_window_deiconify(int /*long*/ handle) {
-	lock.lock();
-	try {
-		_gtk_window_deiconify(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_window_get_focus(int /*long*/ window);
-public static final int /*long*/ gtk_window_get_focus(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gtk_window_get_focus(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_window_get_icon_list(int /*long*/ window);
-public static final int /*long*/ gtk_window_get_icon_list(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gtk_window_get_icon_list(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_window_get_modal(int /*long*/ window);
-public static final boolean gtk_window_get_modal(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gtk_window_get_modal(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_window_get_mnemonic_modifier(int /*long*/ window);
-public static final int gtk_window_get_mnemonic_modifier(int /*long*/ window) {
-	lock.lock();
-	try {
-		return _gtk_window_get_mnemonic_modifier(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_get_position(int /*long*/ handle, int[] x, int[] y);
-public static final void gtk_window_get_position(int /*long*/ handle, int[] x, int[] y) {
-	lock.lock();
-	try {
-		_gtk_window_get_position(handle, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_get_size(int /*long*/ handle, int[] x, int[] y);
-public static final void gtk_window_get_size(int /*long*/ handle, int[] x, int[] y) {
-	lock.lock();
-	try {
-		_gtk_window_get_size(handle, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_iconify(int /*long*/ handle);
-public static final void gtk_window_iconify(int /*long*/ handle) {
-	lock.lock();
-	try {
-		_gtk_window_iconify(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_maximize(int /*long*/ handle);
-public static final void gtk_window_maximize(int /*long*/ handle) {
-	lock.lock();
-	try {
-		_gtk_window_maximize(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_move(int /*long*/ handle, int x, int y);
-public static final void gtk_window_move(int /*long*/ handle, int x, int y) {
-	lock.lock();
-	try {
-		_gtk_window_move(handle, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gtk_window_new(int type);
-public static final int /*long*/ gtk_window_new(int type) {
-	lock.lock();
-	try {
-		return _gtk_window_new(type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_present(int /*long*/ window);
-public static final void gtk_window_present(int /*long*/ window) {
-	lock.lock();
-	try {
-		_gtk_window_present(window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_remove_accel_group(int /*long*/ window, int /*long*/ accel_group);
-public static final void gtk_window_remove_accel_group(int /*long*/ window, int /*long*/ accel_group) {
-	lock.lock();
-	try {
-		_gtk_window_remove_accel_group(window, accel_group);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_resize(int /*long*/ handle, int x, int y);
-public static final void gtk_window_resize(int /*long*/ handle, int x, int y) {
-	lock.lock();
-	try {
-		_gtk_window_resize(handle, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_default(int /*long*/ window, int /*long*/ widget);
-public static final void gtk_window_set_default(int /*long*/ window, int /*long*/ widget) {
-	lock.lock();
-	try {
-		_gtk_window_set_default(window, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_destroy_with_parent(int /*long*/ window, boolean setting);
-public static final void gtk_window_set_destroy_with_parent(int /*long*/ window, boolean setting) {
-	lock.lock();
-	try {
-		_gtk_window_set_destroy_with_parent(window, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_geometry_hints(int /*long*/ window, int /*long*/ geometry_widget, GdkGeometry geometry, int geom_mask);
-public static final void gtk_window_set_geometry_hints(int /*long*/ window, int /*long*/ geometry_widget, GdkGeometry geometry, int geom_mask) {
-	lock.lock();
-	try {
-		_gtk_window_set_geometry_hints(window, geometry_widget, geometry, geom_mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_icon_list(int /*long*/ window, int /*long*/ list);
-public static final void gtk_window_set_icon_list(int /*long*/ window, int /*long*/ list) {	
-	lock.lock();
-	try {
-		_gtk_window_set_icon_list(window, list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_modal(int /*long*/ window, boolean modal);
-public static final void gtk_window_set_modal(int /*long*/ window, boolean modal) {
-	lock.lock();
-	try {
-		_gtk_window_set_modal(window, modal);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_set_parent_window(int /*long*/ widget, int /*long*/ parent_window);
-public static final void gtk_widget_set_parent_window(int /*long*/ widget, int /*long*/ parent_window) {	
-	lock.lock();
-	try {
-		_gtk_widget_set_parent_window(widget, parent_window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_resizable(int /*long*/ window, boolean resizable);
-public static final void gtk_window_set_resizable(int /*long*/ window, boolean resizable) {
-	lock.lock();
-	try {
-		_gtk_window_set_resizable(window, resizable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_title(int /*long*/ window, byte[] title);
-public static final void gtk_window_set_title(int /*long*/ window, byte[] title) {
-	lock.lock();
-	try {
-		_gtk_window_set_title(window, title);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_type_hint(int /*long*/ window, int hint);
-public static final void gtk_window_set_type_hint(int /*long*/ window, int hint) {
-	lock.lock();
-	try {
-		_gtk_window_set_type_hint(window, hint);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_set_transient_for(int /*long*/ window, int /*long*/ parent);
-public static final void gtk_window_set_transient_for(int /*long*/ window, int /*long*/ parent) {
-	lock.lock();
-	try {
-		_gtk_window_set_transient_for(window, parent);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_window_unmaximize(int /*long*/ handle);
-public static final void gtk_window_unmaximize(int /*long*/ handle) {
-	lock.lock();
-	try {
-		_gtk_window_unmaximize(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void memmove(int /*long*/ dest, GInterfaceInfo src, int size);
-public static final native void memmove(int /*long*/ dest, GObjectClass src);
-public static final native void memmove(int /*long*/ dest, GTypeInfo src, int size);
-public static final native void memmove(int /*long*/ dest, GtkTargetEntry src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, GtkAdjustment src);
-public static final native void memmove(int /*long*/ dest, GdkEventButton src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, GtkWidgetClass src);
-public static final native void memmove(int /*long*/ dest, PangoAttribute src, int /*long*/ size);
-public static final native void memmove(GObjectClass  dest, int /*long*/ src);
-public static final native void memmove(GTypeQuery dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GtkColorSelectionDialog dest, int /*long*/ src);
-public static final native void memmove(GtkFileSelection dest, int /*long*/ src);
-public static final native void memmove(GdkDragContext dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GtkSelectionData dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GtkWidgetClass dest, int /*long*/ src);
-public static final native void memmove(GtkTargetPair dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GtkCombo dest, int /*long*/ src);
-public static final native void memmove(GtkAdjustment dest, int /*long*/ src);
-public static final native void memmove(GtkBorder dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkColor dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEvent dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventAny dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventButton dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventCrossing dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventExpose dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventFocus dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventKey dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventMotion dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventScroll dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventVisibility dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(GdkEventWindowState dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, GtkCellRendererClass src);
-public static final native void memmove(GtkCellRendererClass dest, int /*long*/ src);
-public static final native void memmove(GtkFixed dest, int /*long*/ src);
-public static final native void memmove(int /*long*/ dest, GtkFixed src);
-public static final native void memmove(GdkVisual dest, int /*long*/ src);
-public static final native void memmove(GdkImage dest, int /*long*/ src);
-public static final native void memmove(GdkRectangle dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(PangoAttribute dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(PangoItem dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(PangoLayoutLine dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(PangoLayoutRun dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(PangoLogAttr dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, int[] src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, long[] src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, byte[] src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, char[] src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, double[] src, int /*long*/ size);
-public static final native void memmove(int[] dest, byte[] src, int /*long*/ size);
-public static final native void memmove(byte[] dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(char[] dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(int[] dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(int /*long*/ dest, int /*long*/ src, int /*long*/ size);
-public static final native void memmove(long[] dest, int /*long*/ src, int /*long*/ size);
-public static final native void memset(int /*long*/ buffer, char c, int /*long*/ num);
-public static final native int /*long*/ _pango_attr_background_new (short red, short green, short blue);
-public static final int /*long*/ pango_attr_background_new (short red, short green, short blue) {
-	lock.lock();
-	try {
-		return _pango_attr_background_new(red, green, blue);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_font_desc_new(int /*long*/ desc);
-public static final int /*long*/ pango_attr_font_desc_new(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_attr_font_desc_new(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_foreground_new (short red, short green, short blue);
-public static final int /*long*/ pango_attr_foreground_new (short red, short green, short blue) {
-	lock.lock();
-	try {
-		return _pango_attr_foreground_new(red, green, blue);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_rise_new(int rise);
-public static final int /*long*/ pango_attr_rise_new(int rise) {
-	lock.lock();
-	try {
-		return _pango_attr_rise_new(rise);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_shape_new(PangoRectangle ink_rect, PangoRectangle logical_rect);
-public static final int /*long*/ pango_attr_shape_new(PangoRectangle ink_rect, PangoRectangle logical_rect) {
-	lock.lock();
-	try {
-		return _pango_attr_shape_new(ink_rect, logical_rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_attr_list_insert(int /*long*/ list, int /*long*/ attr);
-public static final void pango_attr_list_insert(int /*long*/ list, int /*long*/ attr) {
-	lock.lock();
-	try {
-		_pango_attr_list_insert(list, attr);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_attr_list_change(int /*long*/ list, int /*long*/ attr);
-public static final void pango_attr_list_change(int /*long*/ list, int /*long*/ attr) {
-	lock.lock();
-	try {
-		_pango_attr_list_change(list, attr);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_list_new();
-public static final int /*long*/ pango_attr_list_new() {
-	lock.lock();
-	try {
-		return _pango_attr_list_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_attr_list_unref(int /*long*/ list);
-public static final void pango_attr_list_unref(int /*long*/ list) {
-	lock.lock();
-	try {
-		_pango_attr_list_unref(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_strikethrough_new(boolean strikethrough);
-public static final int /*long*/ pango_attr_strikethrough_new(boolean strikethrough) {
-	lock.lock();
-	try {
-		return _pango_attr_strikethrough_new(strikethrough);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_underline_new(int underline);
-public static final int /*long*/ pango_attr_underline_new(int underline) {
-	lock.lock();
-	try {
-		return _pango_attr_underline_new(underline);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_attr_weight_new(int weight);
-public static final int /*long*/ pango_attr_weight_new(int weight) {
-	lock.lock();
-	try {
-		return _pango_attr_weight_new(weight);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_cairo_font_map_get_default();
-public static final int /*long*/ pango_cairo_font_map_get_default() {
-	lock.lock();
-	try {
-		return _pango_cairo_font_map_get_default();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_cairo_font_map_new();
-public static final int /*long*/ pango_cairo_font_map_new() {
-	lock.lock();
-	try {
-		return _pango_cairo_font_map_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_cairo_font_map_create_context(int /*long*/ fontmap);
-public static final int /*long*/ pango_cairo_font_map_create_context(int /*long*/ fontmap) {
-	lock.lock();
-	try {
-		return _pango_cairo_font_map_create_context(fontmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_cairo_create_layout(int /*long*/ cairo);
-public static final int /*long*/ pango_cairo_create_layout(int /*long*/ cairo) {
-	lock.lock();
-	try {
-		return _pango_cairo_create_layout(cairo);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_cairo_layout_path(int /*long*/ cairo, int /*long*/ layout);
-public static final void pango_cairo_layout_path(int /*long*/ cairo, int /*long*/ layout) {
-	lock.lock();
-	try {
-		_pango_cairo_layout_path(cairo, layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_cairo_show_layout(int /*long*/ cairo, int /*long*/ layout);
-public static final void pango_cairo_show_layout(int /*long*/ cairo, int /*long*/ layout) {
-	lock.lock();
-	try {
-		_pango_cairo_show_layout(cairo, layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_context_get_base_dir(int /*long*/ context);
-public static final int pango_context_get_base_dir(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _pango_context_get_base_dir(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_context_get_language(int /*long*/ context);
-public static final int /*long*/ pango_context_get_language(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _pango_context_get_language(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_context_get_metrics(int /*long*/ context, int /*long*/ desc, int /*long*/ language);
-public static final int /*long*/ pango_context_get_metrics(int /*long*/ context, int /*long*/ desc, int /*long*/ language) {
-	lock.lock();
-	try {
-		return _pango_context_get_metrics(context, desc, language);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_context_list_families(int /*long*/ context, int /*long*/[] families, int[] n_families);
-public static final void pango_context_list_families(int /*long*/ context, int /*long*/[] families, int[] n_families) {
-	lock.lock();
-	try {
-		_pango_context_list_families(context, families, n_families);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_context_set_base_dir(int /*long*/ context, int direction);
-public static final void pango_context_set_base_dir(int /*long*/ context, int direction) {
-	lock.lock();
-	try {
-		_pango_context_set_base_dir(context, direction);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_context_set_language(int /*long*/ context, int /*long*/ language);
-public static final void pango_context_set_language(int /*long*/ context, int /*long*/ language) {
-	lock.lock();
-	try {
-		_pango_context_set_language(context, language);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_description_copy(int /*long*/ desc);
-public static final int /*long*/ pango_font_description_copy(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_copy(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_free(int /*long*/ desc);
-public static final void pango_font_description_free(int /*long*/ desc) {
-	lock.lock();
-	try {
-		_pango_font_description_free(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_description_from_string(byte[] str);
-public static final int /*long*/ pango_font_description_from_string(byte[] str) {
-	lock.lock();
-	try {
-		return _pango_font_description_from_string(str);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_description_get_family(int /*long*/ desc);
-public static final int /*long*/ pango_font_description_get_family(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_get_family(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_description_get_size(int /*long*/ desc);
-public static final int pango_font_description_get_size(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_get_size(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_description_get_style(int /*long*/ desc);
-public static final int pango_font_description_get_style(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_get_style(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_description_get_weight(int /*long*/ desc);
-public static final int pango_font_description_get_weight(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_get_weight(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_description_new();
-public static final int /*long*/ pango_font_description_new() {
-	lock.lock();
-	try {
-		return _pango_font_description_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_set_family(int /*long*/ desc, byte[] family);
-public static final void pango_font_description_set_family(int /*long*/ desc, byte[] family) {
-	lock.lock();
-	try {
-		_pango_font_description_set_family(desc, family);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_set_size(int /*long*/ desc, int size);
-public static final void pango_font_description_set_size(int /*long*/ desc, int size) {
-	lock.lock();
-	try {
-		_pango_font_description_set_size(desc, size);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_set_stretch(int /*long*/ desc, int stretch);
-public static final void pango_font_description_set_stretch(int /*long*/ desc, int stretch) {
-	lock.lock();
-	try {
-		_pango_font_description_set_stretch(desc, stretch);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_set_style(int /*long*/ desc, int weight);
-public static final void pango_font_description_set_style(int /*long*/ desc, int weight) {
-	lock.lock();
-	try {
-		_pango_font_description_set_style(desc, weight);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_description_set_weight(int /*long*/ desc, int weight);
-public static final void pango_font_description_set_weight(int /*long*/ desc, int weight) {
-	lock.lock();
-	try {
-		_pango_font_description_set_weight(desc, weight);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_description_to_string(int /*long*/ desc);
-public static final int /*long*/ pango_font_description_to_string(int /*long*/ desc) {
-	lock.lock();
-	try {
-		return _pango_font_description_to_string(desc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_face_describe(int /*long*/ face);
-public static final int /*long*/ pango_font_face_describe(int /*long*/ face) {
-	lock.lock();
-	try {
-		return _pango_font_face_describe(face);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_family_get_name(int /*long*/ family);
-public static final int /*long*/ pango_font_family_get_name(int /*long*/ family) {
-	lock.lock();
-	try {
-		return _pango_font_family_get_name(family);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_family_list_faces(int /*long*/ family, int /*long*/[] faces, int[] n_faces);
-public static final void pango_font_family_list_faces(int /*long*/ family, int /*long*/[] faces, int[] n_faces) {
-	lock.lock();
-	try {
-		_pango_font_family_list_faces(family, faces, n_faces);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_font_get_metrics(int /*long*/ font, int /*long*/ language);
-public static final int /*long*/ pango_font_get_metrics(int /*long*/ font, int /*long*/ language) {
-	lock.lock();
-	try {
-		return _pango_font_get_metrics(font, language);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_metrics_get_approximate_char_width(int /*long*/ metrics);
-public static final int pango_font_metrics_get_approximate_char_width(int /*long*/ metrics) {
-	lock.lock();
-	try {
-		return _pango_font_metrics_get_approximate_char_width(metrics);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_metrics_get_ascent(int /*long*/ metrics);
-public static final int pango_font_metrics_get_ascent(int /*long*/ metrics) {
-	lock.lock();
-	try {
-		return _pango_font_metrics_get_ascent(metrics);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_font_metrics_get_descent(int /*long*/ metrics);
-public static final int pango_font_metrics_get_descent(int /*long*/ metrics) {
-	lock.lock();
-	try {
-		return _pango_font_metrics_get_descent(metrics);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_font_metrics_unref(int /*long*/ metrics);
-public static final void pango_font_metrics_unref(int /*long*/ metrics) {
-	lock.lock();
-	try {
-		_pango_font_metrics_unref(metrics);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_language_from_string(byte[] language);
-public static final int /*long*/ pango_language_from_string(byte[] language) {
-	lock.lock();
-	try {
-		return _pango_language_from_string(language);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_context_changed(int /*long*/ layout);
-public static final void pango_layout_context_changed(int /*long*/ layout) {
-	lock.lock();
-	try {
-		_pango_layout_context_changed(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_get_alignment(int /*long*/ layout);
-public static final int pango_layout_get_alignment(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_alignment(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_context(int /*long*/ layout);
-public static final int /*long*/ pango_layout_get_context(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_context(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_attributes(int /*long*/ layout);
-public static final int /*long*/ pango_layout_get_attributes(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_attributes(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_get_indent(int /*long*/ layout);
-public static final int pango_layout_get_indent(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_indent(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_iter(int /*long*/ layout);
-public static final int /*long*/ pango_layout_get_iter(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_iter(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _pango_layout_get_justify(int /*long*/ layout);
-public static final boolean pango_layout_get_justify(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_justify(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_line(int /*long*/ layout, int line);
-public static final int /*long*/ pango_layout_get_line(int /*long*/ layout, int line) {
-	lock.lock();
-	try {
-		return _pango_layout_get_line(layout, line);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_get_line_count(int /*long*/ layout);
-public static final int pango_layout_get_line_count(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_line_count(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_get_log_attrs(int /*long*/ layout, int /*long*/[] attrs, int[] n_attrs);
-public static final void pango_layout_get_log_attrs(int /*long*/ layout, int /*long*/[] attrs, int[] n_attrs) {
-	lock.lock();
-	try {
-		_pango_layout_get_log_attrs(layout, attrs, n_attrs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_get_size(int /*long*/ layout, int[] width, int[] height);
-public static final void pango_layout_get_size(int /*long*/ layout, int[] width, int[] height) {
-	lock.lock();
-	try {
-		_pango_layout_get_size(layout, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_get_spacing(int /*long*/ layout);
-public static final int pango_layout_get_spacing(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_spacing(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_tabs(int /*long*/ layout);
-public static final int /*long*/ pango_layout_get_tabs(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_tabs(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_get_text(int /*long*/ layout);
-public static final int /*long*/ pango_layout_get_text(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_text(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_get_width(int /*long*/ layout);
-public static final int pango_layout_get_width(int /*long*/ layout) {
-	lock.lock();
-	try {
-		return _pango_layout_get_width(layout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_index_to_pos(int /*long*/ layout, int index, PangoRectangle pos);
-public static final void pango_layout_index_to_pos(int /*long*/ layout, int index, PangoRectangle pos) {
-	lock.lock();
-	try {
-		_pango_layout_index_to_pos(layout, index, pos);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_iter_free(int /*long*/ iter);
-public static final void pango_layout_iter_free(int /*long*/ iter) {
-	lock.lock();
-	try {
-		_pango_layout_iter_free(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_iter_get_line_extents(int /*long*/ iter, PangoRectangle ink_rect, PangoRectangle logical_rect);
-public static final void pango_layout_iter_get_line_extents(int /*long*/ iter, PangoRectangle ink_rect, PangoRectangle logical_rect) {
-	lock.lock();
-	try {
-		_pango_layout_iter_get_line_extents(iter, ink_rect, logical_rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_layout_iter_get_index(int /*long*/ iter);
-public static final int pango_layout_iter_get_index(int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _pango_layout_iter_get_index(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_iter_get_run(int /*long*/ iter);
-public static final int /*long*/ pango_layout_iter_get_run(int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _pango_layout_iter_get_run(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _pango_layout_iter_next_line(int /*long*/ iter);
-public static final boolean pango_layout_iter_next_line(int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _pango_layout_iter_next_line(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _pango_layout_iter_next_run(int /*long*/ iter);
-public static final boolean pango_layout_iter_next_run(int /*long*/ iter) {
-	lock.lock();
-	try {
-		return _pango_layout_iter_next_run(iter);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_line_get_extents(int /*long*/ line, PangoRectangle ink_rect, PangoRectangle logical_rect);
-public static final void pango_layout_line_get_extents(int /*long*/ line, PangoRectangle ink_rect, PangoRectangle logical_rect) {
-	lock.lock();
-	try {
-		_pango_layout_line_get_extents(line, ink_rect, logical_rect);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _pango_layout_line_x_to_index(int /*long*/ line, int x_pos, int[] index_, int[] trailing);
-public static final boolean pango_layout_line_x_to_index(int /*long*/ line, int x_pos, int[] index_, int[] trailing) {
-	lock.lock();
-	try {
-		return _pango_layout_line_x_to_index(line, x_pos, index_, trailing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_layout_new(int /*long*/ context);
-public static final int /*long*/ pango_layout_new(int /*long*/ context) {
-	lock.lock();
-	try {
-		return _pango_layout_new(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_alignment (int /*long*/ layout, int alignment);
-public static final void pango_layout_set_alignment (int /*long*/ layout, int alignment) {
-	lock.lock();
-	try {
-		_pango_layout_set_alignment(layout, alignment);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_attributes(int /*long*/ layout, int /*long*/ attrs);
-public static final void pango_layout_set_attributes(int /*long*/ layout, int /*long*/ attrs) {
-	lock.lock();
-	try {
-		_pango_layout_set_attributes(layout, attrs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_auto_dir(int /*long*/ layout, boolean auto_dir);
-public static final void pango_layout_set_auto_dir(int /*long*/ layout, boolean auto_dir) {
-	lock.lock();
-	try {
-		_pango_layout_set_auto_dir(layout, auto_dir);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_font_description(int /*long*/ context, int /*long*/ descr);
-public static final void pango_layout_set_font_description(int /*long*/ context, int /*long*/ descr) {
-	lock.lock();
-	try {
-		_pango_layout_set_font_description(context, descr);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_indent(int /*long*/ layout, int indent);
-public static final void pango_layout_set_indent(int /*long*/ layout, int indent) {
-	lock.lock();
-	try {
-		_pango_layout_set_indent(layout, indent);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_justify(int /*long*/ layout, boolean justify);
-public static final void pango_layout_set_justify(int /*long*/ layout, boolean justify) {
-	lock.lock();
-	try {
-		_pango_layout_set_justify(layout, justify);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_single_paragraph_mode(int /*long*/ context, boolean setting);
-public static final void pango_layout_set_single_paragraph_mode(int /*long*/ context, boolean setting) {
-	lock.lock();
-	try {
-		_pango_layout_set_single_paragraph_mode(context, setting);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_spacing(int /*long*/ layout, int spacing);
-public static final void pango_layout_set_spacing(int /*long*/ layout, int spacing) {
-	lock.lock();
-	try {
-		_pango_layout_set_spacing(layout, spacing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_tabs(int /*long*/ layout, int /*long*/ tabs);
-public static final void pango_layout_set_tabs(int /*long*/ layout, int /*long*/ tabs) {
-	lock.lock();
-	try {
-		_pango_layout_set_tabs(layout, tabs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_text(int /*long*/ layout, byte[] text, int length);
-public static final void pango_layout_set_text(int /*long*/ layout, byte[] text, int length) {
-	lock.lock();
-	try {
-		_pango_layout_set_text(layout, text, length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_width(int /*long*/ layout, int width);
-public static final void pango_layout_set_width(int /*long*/ layout, int width) {
-	lock.lock();
-	try {
-		_pango_layout_set_width(layout, width);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_layout_set_wrap (int /*long*/ layout, int wrap);
-public static final void pango_layout_set_wrap (int /*long*/ layout, int wrap) {
-	lock.lock();
-	try {
-		_pango_layout_set_wrap(layout, wrap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _pango_layout_xy_to_index(int /*long*/ layout, int x, int y, int[] index, int[] trailing);
-public static final boolean pango_layout_xy_to_index(int /*long*/ layout, int x, int y, int[] index, int[] trailing) {
-	lock.lock();
-	try {
-		return _pango_layout_xy_to_index(layout, x, y, index, trailing);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _pango_tab_array_get_size(int /*long*/ tab_array);
-public static final int pango_tab_array_get_size(int /*long*/ tab_array) {
-	lock.lock();
-	try {
-		return _pango_tab_array_get_size(tab_array);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_tab_array_get_tabs(int /*long*/ tab_array, int /*long*/[] alignments, int /*long*/[] locations);
-public static final void pango_tab_array_get_tabs(int /*long*/ tab_array, int /*long*/[] alignments, int /*long*/[] locations) {
-	lock.lock();
-	try {
-		_pango_tab_array_get_tabs(tab_array, alignments, locations);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_tab_array_free(int /*long*/ tab_array);
-public static final void pango_tab_array_free(int /*long*/ tab_array) {
-	lock.lock();
-	try {
-		_pango_tab_array_free(tab_array);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _pango_tab_array_new(int initial_size, boolean positions_in_pixels);
-public static final int /*long*/ pango_tab_array_new(int initial_size, boolean positions_in_pixels) {
-	lock.lock();
-	try {
-		return _pango_tab_array_new(initial_size, positions_in_pixels);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _pango_tab_array_set_tab(int /*long*/ tab_array, int tab_index, int /*long*/ alignment, int location);
-public static final void pango_tab_array_set_tab(int /*long*/ tab_array, int tab_index, int /*long*/ alignment, int location) {
-	lock.lock();
-	try {
-		_pango_tab_array_set_tab(tab_array, tab_index, alignment, location);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _atk_object_add_relationship (int /*long*/ object, int relationship, int /*long*/ target);
-public static final boolean atk_object_add_relationship (int /*long*/ object, int relationship, int /*long*/ target) {
-	lock.lock();
-	try {
-		return _atk_object_add_relationship(object, relationship, target);
-	} finally {
-		lock.unlock();
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoAttribute.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoAttribute.java
deleted file mode 100644
index 81c49c3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoAttribute.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class PangoAttribute {
-	public int /*long*/ klass;
-	public int start_index;
-	public int end_index;
-	public static final int sizeof = OS.PangoAttribute_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoItem.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoItem.java
deleted file mode 100644
index c7c039f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoItem.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-public class PangoItem {
-	public int offset;
-	public int length;
-	public int num_chars;
-	public int /*long*/ analysis_shape_engine;
-	public int /*long*/ analysis_lang_engine;
-	public int /*long*/ analysis_font;
-	public byte analysis_level;
-	public int /*long*/ analysis_language;
-	public int /*long*/ analysis_extra_attrs;
-	public static final int sizeof = OS.PangoItem_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutLine.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
deleted file mode 100644
index dce8fb5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-public class PangoLayoutLine {
-	public int /*long*/ layout;
-	public int start_index;
-	public int length;
-	public int /*long*/ runs;
-	public static final int sizeof = OS.PangoLayoutLine_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutRun.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
deleted file mode 100644
index 9d9f9d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-public class PangoLayoutRun {
-	public int /*long*/ item;
-	public int /*long*/ glyphs;
-	public static final int sizeof = OS.PangoLayoutRun_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLogAttr.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLogAttr.java
deleted file mode 100644
index f4506a6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoLogAttr.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class PangoLogAttr {
-	public boolean is_line_break;
-	public boolean is_mandatory_break;
-	public boolean is_char_break;
-	public boolean is_white;
-	public boolean is_cursor_position;
-	public boolean is_word_start;
-	public boolean is_word_end;
-	public boolean is_sentence_boundary;
-	public boolean is_sentence_start;
-	public boolean is_sentence_end;
-	public static final int sizeof = OS.PangoLogAttr_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoRectangle.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoRectangle.java
deleted file mode 100644
index 74fccb9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/PangoRectangle.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class PangoRectangle {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public static final int sizeof = OS.PangoRectangle_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XAnyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XAnyEvent.java
deleted file mode 100644
index af533a5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XAnyEvent.java
+++ /dev/null
@@ -1,20 +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.internal.gtk;
-
- 
-public abstract class XAnyEvent extends XEvent {
-	public int /*long*/ serial;
-	public int send_event;
-	public int /*long*/ display;
-	public int /*long*/ window;
-	public static final int sizeof = OS.XAnyEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XButtonEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XButtonEvent.java
deleted file mode 100644
index cb3148f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XButtonEvent.java
+++ /dev/null
@@ -1,26 +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.internal.gtk;
-
- 
-public class XButtonEvent extends XAnyEvent {
-	public int root;
-	public int subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int state;
-	public int button;
-	public int same_screen;
-	public static final int sizeof = OS.XButtonEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XClientMessageEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
deleted file mode 100644
index e4047db..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
+++ /dev/null
@@ -1,24 +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.internal.gtk;
-
- 
-public class XClientMessageEvent {
-	public int type;
-	public int /*long*/ serial;
-	public boolean send_event;
-	public int /*long*/ display;
-	public int /*long*/ window;
-	public int /*long*/ message_type;
-	public int format;
-	public int /*long*/[] data = new int /*long*/[5];
-	public static final int sizeof = OS.XClientMessageEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XCrossingEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XCrossingEvent.java
deleted file mode 100644
index 4ed4b8c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XCrossingEvent.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.internal.gtk;
-
- 
-public class XCrossingEvent extends XAnyEvent {
-	public int /*long*/ root;
-	public int /*long*/ subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int mode;
-	public int detail;
-	public boolean same_screen;
-	public boolean focus;
-	public int state;
-	public static final int sizeof =  OS.XCrossingEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XEvent.java
deleted file mode 100644
index 83c43ba..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XEvent.java
+++ /dev/null
@@ -1,17 +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.internal.gtk;
-
- 
-public class XEvent {
-	public int type;
-	public static final int sizeof = OS.XEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XExposeEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XExposeEvent.java
deleted file mode 100644
index 62b1bf8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XExposeEvent.java
+++ /dev/null
@@ -1,21 +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.internal.gtk;
-
- 
-public class XExposeEvent extends XAnyEvent {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int count;
-	public static final int sizeof = OS.XExposeEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XFocusChangeEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XFocusChangeEvent.java
deleted file mode 100644
index 60be0c7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XFocusChangeEvent.java
+++ /dev/null
@@ -1,18 +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.internal.gtk;
-
- 
-public class XFocusChangeEvent extends XAnyEvent {
-	public int mode;
-	public int detail;
-	public static final int sizeof = OS.XFocusChangeEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
deleted file mode 100644
index 9509633..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
+++ /dev/null
@@ -1,29 +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.gtk;
-
- 
-public class XRenderPictureAttributes {
-	public boolean repeat;
-	public int /*long*/ alpha_map;
-	public int alpha_x_origin;
-	public int alpha_y_origin;
-	public int clip_x_origin;
-	public int clip_y_origin;
-	public int /*long*/ clip_mask;
-	public boolean graphics_exposures;
-	public int subwindow_mode;
-	public int poly_edge;
-	public int poly_mode;
-	public int /*long*/ dither;
-	public boolean component_alpha;
-	public static final int sizeof = OS.XRenderPictureAttributes_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XVisibilityEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XVisibilityEvent.java
deleted file mode 100644
index 6a06492..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XVisibilityEvent.java
+++ /dev/null
@@ -1,17 +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.internal.gtk;
-
- 
-public class XVisibilityEvent extends XAnyEvent {
-	public int state;
-	public static final int sizeof = OS.XVisibilityEvent_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XWindowChanges.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XWindowChanges.java
deleted file mode 100644
index 0862c60..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/XWindowChanges.java
+++ /dev/null
@@ -1,23 +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.internal.gtk;
-
- 
-public class XWindowChanges {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int /*long*/ sibling;
-	public int stack_mode;
-	public static final int sizeof = OS.XWindowChanges_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/package.html b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/package.html
deleted file mode 100644
index 93198b3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal GTK2 implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which represent the GTK2
-platform interface that the gtk variant of SWT is built from.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.sh b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.sh
deleted file mode 100644
index a90796a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.sh
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/sh
-#*******************************************************************************
-# 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
-#     Kevin Cornell (Rational Software Corporation)
-#     Tom Tromey (Red Hat, Inc.)
-#     Sridhar Bidigalu (ICS)
-#     Sumit Sarkar (Hewlett-Packard)
-#*******************************************************************************
-
-cd `dirname $0`
-
-if [ "${OS}" = "" ]; then
-	OS=`uname -s`
-fi
-if [ "${MODEL}" = "" ]; then
-	MODEL=`uname -m`
-fi
-
-case $OS in
-	"AIX")
-		case $MODEL in		
-		*) 
-			if [ "${JAVA_HOME}" = "" ]; then
-				JAVA_HOME=/bluebird/teamswt/swt-builddir/aixj9
-			fi
-			if [ "${MOTIF_HOME}" = "" ]; then
-				MOTIF_HOME=/usr
-			fi
-			if [ "${CDE_HOME}" = "" ]; then
-				CDE_HOME=/usr/dt
-			fi
-			OUTPUT_DIR=../../../org.eclipse.swt.motif.aix.ppc
-			makefile="make_aix.mak"
-			echo "Building AIX motif ppc version of SWT"
-		esac
-		;;
-	"Linux")
-		case $MODEL in
-		*) 
-			if [ "${JAVA_HOME}" = "" ]; then
-				JAVA_HOME=/bluebird/teamswt/swt-builddir/IBMJava2-141
-			fi
-			if [ "${MOTIF_HOME}" = "" ]; then
-				MOTIF_HOME=/bluebird/teamswt/swt-builddir/motif21
-			fi
-			if [ "${GECKO_SDK}" = "" ]; then
-				GECKO_SDK=/bluebird/teamswt/swt-builddir/mozilla/1.4/linux_gtk2/mozilla/dist/sdk
-				GECKO_INCLUDES="-include ${GECKO_SDK}/mozilla-config.h -I${GECKO_SDK}/../include/xpcom -I${GECKO_SDK}/../include/nspr -I${GECKO_SDK}/../include/embed_base -I${GECKO_SDK}/../include/embedstring -I${GECKO_SDK}/../include/string -I${GECKO_SDK}/../include/profdirserviceprovider"
-				GECKO_LIBS="${GECKO_SDK}/../lib/libembed_base_s.a ${GECKO_SDK}/../lib/libprofdirserviceprovider_s.a ${GECKO_SDK}/../lib/libembedstring.a ${GECKO_SDK}/../lib/libxpcomglue_s.a -L${GECKO_SDK}/../bin -L${GECKO_SDK}/../lib/ -lxpcom -lnspr4 -lplds4 -lplc4"
-				PROFILE14_INCLUDES="-include ${GECKO_SDK}/mozilla-config.h -I${GECKO_SDK}/../include/xpcom -I${GECKO_SDK}/../include/nspr -I${GECKO_SDK}/../include/string -I${GECKO_SDK}/../include/profdirserviceprovider"
-				PROFILE14_LIBS="${GECKO_SDK}/../lib/libembed_base_s.a ${GECKO_SDK}/../lib/libprofdirserviceprovider_s.a -L${GECKO_SDK}/../lib/ -lxpcom"
-			fi
-			if [ "${GECKO17_SDK}" = "" ]; then
-				GECKO17_SDK=/bluebird/teamswt/swt-builddir/mozilla/1.7/linux_gtk2/mozilla/dist/sdk
-				PROFILE17_INCLUDES="-include ${GECKO17_SDK}/include/mozilla-config.h -I${GECKO17_SDK}/../include/xpcom -I${GECKO17_SDK}/../include/nspr -I${GECKO17_SDK}/../include/string -I${GECKO17_SDK}/../include/profdirserviceprovider"
-				PROFILE17_LIBS="${GECKO17_SDK}/../lib/libembed_base_s.a ${GECKO17_SDK}/../lib/libprofdirserviceprovider_s.a -L${GECKO17_SDK}/../lib/ -lxpcom"
-			fi
-			if [ "${GECKO18_SDK}" = "" ]; then
-				GECKO18_SDK=/bluebird/teamswt/swt-builddir/mozilla/1.8/linux_gtk2/mozilla/dist/sdk
-				PROFILE18_INCLUDES="-include ${GECKO18_SDK}/include/mozilla-config.h -I${GECKO18_SDK}/../include/xpcom -I${GECKO18_SDK}/../include/nspr -I${GECKO18_SDK}/../include/string -I${GECKO18_SDK}/../include/profdirserviceprovider"
-				PROFILE18_LIBS="${GECKO18_SDK}/../lib/libembed_base_s.a ${GECKO18_SDK}/../lib/libprofdirserviceprovider_s.a -L${GECKO18_SDK}/../lib/ -lxpcom"
-			fi
-			OUTPUT_DIR=../../../org.eclipse.swt.motif.linux.x86
-			makefile="make_linux.mak"
-			echo "Building Linux motif x86 version of SWT"
-		esac
-		;;
-	"SunOS")
-		case $MODEL in
-		*) 
-			if [ "${JAVA_HOME}" = "" ]; then
-				JAVA_HOME=/usr/java
-			fi
-			if [ "${MOTIF_HOME}" = "" ]; then
-				MOTIF_HOME=/usr/dt
-			fi
-			if [ "${CDE_HOME}" = "" ]; then
-				CDE_HOME=/usr/dt		
-			fi
-			OUTPUT_DIR=../../../org.eclipse.swt.motif.solaris.sparc
-			PATH=/usr/ccs/bin:/opt/SUNWspro/bin:$PATH
-			export PATH
-			makefile="make_solaris.mak"
-			echo "Building Solaris motif sparc version of SWT"
-		esac
-		;;
-	"HP-UX")
-		case $MODEL in
-			"ia64")
-				if [ "${JAVA_HOME}" = "" ]; then
-					JAVA_HOME=/opt/jdk14101
-				fi
-				if [ "${MOTIF_HOME}" = "" ]; then
-					MOTIF_HOME=/usr
-				fi
-				if [ "${CDE_HOME}" = "" ]; then
-					CDE_HOME=/usr/dt
-				fi
-				OUTPUT_DIR=../../../org.eclipse.swt.motif.hpux.ia64_32
-				makefile="make_hpux_ia64_32.mak"
-				echo "Building HPUX motif 32 bit ia64 version of SWT"
-				;;
-			*)
-				if [ "${JAVA_HOME}" = "" ]; then
-					JAVA_HOME=/opt/jdk14101
-				fi
-				if [ "${MOTIF_HOME}" = "" ]; then
-					MOTIF_HOME=/usr
-				fi
-				if [ "${CDE_HOME}" = "" ]; then
-					CDE_HOME=/usr/dt
-				fi
-				OUTPUT_DIR=../../../org.eclipse.swt.motif.hpux.PA_RISC
-				makefile="make_hpux_PA_RISC.mak"
-				echo "Building HPUX motif risc version of SWT"
-				;;
-		esac
-		;;
-
-	*)
-		echo "Unknown OS -- build aborted"
-		;;
-esac
-
-export JAVA_HOME MOTIF_HOME CDE_HOME GECKO_SDK GECKO17_SDK GECKO18_SDK GECKO_INCLUDES GECKO_LIBS OUTPUT_DIR PROFILE14_INCLUDES PROFILE17_INCLUDES PROFILE18_INCLUDES PROFILE14_LIBS PROFILE17_LIBS PROFILE18_LIBS
-
-make -f $makefile $1 $2 $3 $4
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.xml b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.xml
deleted file mode 100644
index 2027a57..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/build.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_motif_lib" basedir="../../..">
-
-<target name="init">
-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />
-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-	
-<target name="build_motif_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.motif.aix.ppc" depth="infinite" />		
-	<eclipse.refreshLocal resource="org.eclipse.swt.motif.hpux.PA_RISC" depth="infinite" />		
-	<eclipse.refreshLocal resource="org.eclipse.swt.motif.linux.x86" depth="infinite" />		
-	<eclipse.refreshLocal resource="org.eclipse.swt.motif.solaris.sparc" depth="infinite" />		
-</target>
-
-<target name="clean">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_aix.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_aix.mak
deleted file mode 100644
index a5f3df4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_aix.mak
+++ /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
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-
-# Makefile for creating SWT libraries on AIX
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-CC=cc_r
-
-# This makefile expects the following environment variables set:
-#    JAVA_HOME  - The JDK > 1.3
-#    CDE_HOME - CDE includes and libraries
-#    MOTIF_HOME - Motif includes and libraries
-
-# Define the various DLL (shared) libraries to be made.
-
-SWT_PREFIX = swt
-WS_PREFIX = motif
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
-SWT_OBJS = swt.o callback.o os.o os_structs.o os_custom.o os_stats.o
-SWT_LIBS = -L$(MOTIF_HOME) -G -bnoentry -lc_r -lC_r -lm -bexpall -lXm -lMrm -lXt -lX11 -lXext -liconv -lXtst
-
-CDE_PREFIX = swt-cde
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
-CDE_OBJS = swt.o cde.o cde_structs.o cde_stats.o
-CDE_LIBS = -L$(CDE_HOME)/lib -bnoentry -bexpall -lDtSvc -lc -lXt -lX11
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#
-# The following CFLAGS are for compiling both the SWT library and the CDE
-# library.
-#
-CFLAGS = -O -s \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-DAIX -DMOTIF -DCDE \
-	-DNO_XPRINTING_EXTENSIONS -DNO_XINERAMA_EXTENSIONS \
-	-q mbcs -qlanglvl=extended -qmaxmem=8192 \
-	-I$(JAVA_HOME)/include \
-	-I$(MOTIF_HOME)/include \
-	-I$(CDE_HOME)/include
-
-all: make_swt make_cde
-
-make_swt: $(SWT_LIB)
-
-$(SWT_LIB): $(SWT_OBJS)
-	ld $(SWT_LIBS) -o $(SWT_LIB) $(SWT_OBJS)
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJS)
-	ld -o $@ $(CDE_OBJS) $(CDE_LIBS)
-
-install: all
-	cp *.a $(OUTPUT_DIR)
-
-clean:
-	rm -f *.o *.a *.so *.sl 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_PA_RISC.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_PA_RISC.mak
deleted file mode 100644
index 7215013..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_PA_RISC.mak
+++ /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
-#     Kevin Cornell (Rational Software Corporation)
-#     Sridhar Bidigalu (ICS)
-#*******************************************************************************
-
-# Makefile for SWT libraries on HP-UX PA_RISC architechture
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# This makefile expects the following environment variables set:
-#    JAVA_HOME  - The JDK > 1.3
-#    CDE_HOME - CDE includes and libraries
-#    MOTIF_HOME - Motif includes and libraries
-
-# Define the various DLL (shared) libraries to be made.
-
-SWT_PREFIX = swt
-WS_PREFIX = motif
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).sl
-SWT_OBJS = swt.o callback.o os.o os_structs.o os_custom.o os_stats.o
-SWT_LIBS = -L$(MOTIF_HOME)/lib -L/usr/lib -G -lXm -lXt -lX11 -lc -ldld -lm -lXp -lXtst
-
-CDE_PREFIX = swt-cde
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).sl
-CDE_OBJS = swt.o cde.o cde_structs.o cde_stats.o
-CDE_LIBS = -G -L$(CDE_HOME)/lib -lDtSvc
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#
-# The following CFLAGS are for compiling both the SWT library and the CDE
-# library.
-#
-CFLAGS = -Ae +z \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-DNO_XINERAMA_EXTENSIONS \
-	-D_HPUX -D_POSIX_C_SOURCE=199506L -DMOTIF -DCDE \
-	-I./ \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux \
-	-I$(MOTIF_HOME)/include \
-	-I$(CDE_HOME)/include \
-	+DAportable
-
-all: make_swt make_cde
-
-make_swt: $(SWT_LIB)
-
-$(SWT_LIB): $(SWT_OBJS)
-	ld +nodefaultrpath -b -z -o $@ $(SWT_OBJS) $(SWT_LIBS)
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJS)
-	ld +nodefaultrpath -b -z -o $@ $(CDE_OBJS) $(CDE_LIBS)
-
-install: all
-	cp *.sl $(OUTPUT_DIR)
-
-clean:
-	rm -f *.o *.a *.so *.sl 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_ia64_32.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_ia64_32.mak
deleted file mode 100644
index 0b323d7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_hpux_ia64_32.mak
+++ /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
-#     Kevin Cornell (Rational Software Corporation)
-#     Sridhar Bidigalu (ICS)
-#     Sumit Sarkar (Hewlett-Packard)
-#*******************************************************************************
-
-# Makefile for SWT libraries on HP-UX for 32 bit ia64 architecture
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# This makefile expects the following environment variables set:
-#    JAVA_HOME  - The JDK > 1.3
-#    CDE_HOME - CDE includes and libraries
-#    MOTIF_HOME - Motif includes and libraries
-
-# Define the various DLL (shared) libraries to be made.
-
-SWT_PREFIX = swt
-WS_PREFIX = motif
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-SWT_OBJS = swt.o callback.o os.o os_structs.o os_custom.o os_stats.o
-SWT_LIBS = -L$(MOTIF_HOME)/lib -L/usr/lib -G -lXm -lXt -lX11 -lc -ldld -lm -lXp -lXtst
-
-CDE_PREFIX = swt-cde
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CDE_OBJS = swt.o cde.o cde_structs.o cde_stats.o
-CDE_LIBS = -G -L$(CDE_HOME)/lib -L$(CDE_HOME)/lib/hpux32 -lDtSvc
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#
-# The following CFLAGS are for compiling both the SWT library and the CDE
-# library.
-#
-CFLAGS = -Ae +z \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-DNO_XINERAMA_EXTENSIONS \
-	-D_HPUX -D_POSIX_C_SOURCE=199506L -DMOTIF -DCDE \
-	-I./ \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux \
-	-I$(MOTIF_HOME)/include \
-	-I$(CDE_HOME)/include
-
-all: make_swt make_cde
-
-make_swt: $(SWT_LIB)
-
-$(SWT_LIB): $(SWT_OBJS)
-	ld +nodefaultrpath -b -z -o $@ $(SWT_OBJS) $(SWT_LIBS)
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJS)
-	ld +nodefaultrpath -b -z -o $@ $(CDE_OBJS) $(CDE_LIBS)
-
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-clean:
-	rm -f *.o *.a *.so *.sl 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_linux.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_linux.mak
deleted file mode 100644
index 8cd204b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_linux.mak
+++ /dev/null
@@ -1,203 +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
-#*******************************************************************************
-
-# Makefile for creating SWT libraries on Linux
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# This makefile expects the following environment variables set:
-#    JAVA_HOME  - The JDK > 1.3
-#    MOTIF_HOME - Motif includes and libraries
-
-# Define the various DLL (shared) libraries to be made.
-
-SWT_PREFIX = swt
-WS_PREFIX = motif
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-SWT_OBJS = swt.o callback.o os.o os_structs.o os_custom.o os_stats.o
-SWT_LIBS = -L$(MOTIF_HOME)/lib -lXm -L/usr/lib -L/usr/X11R6/lib \
-	           -rpath . -x -shared -lX11 -lm -lXext -lXt -lXp -ldl -lXinerama -lXtst
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-CFLAGS = -O -s -Wall -DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) -DLINUX -DMOTIF  -fpic \
-	-I$(JAVA_HOME)/include -I$(MOTIF_HOME)/include -I/usr/X11R6/include 
-
-# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
-GNOME_PREFIX = swt-gnome
-GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
-GNOME_CFLAGS = -O -Wall -DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) -DLINUX -DGTK -I$(JAVA_HOME)/include `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
-GNOME_LIBS = -shared -fpic -fPIC `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-
-AWT_PREFIX = swt-awt
-AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-AWT_OBJS = swt_awt.o
-AWT_LIBS = -L$(JAVA_HOME)/jre/bin -ljawt -shared
-
-GTK_PREFIX = swt-gtk
-GTK_LIB = lib$(GTK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GTK_OBJS = swt.o gtk.o
-GTK_CFLAGS = `pkg-config --cflags gtk+-2.0`
-GTK_LIBS = -x -shared `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0
-
-CAIRO_PREFIX = swt-cairo
-CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
-CAIROCFLAGS = `pkg-config --cflags cairo`
-CAIROLIBS = -shared -fpic -fPIC -s `pkg-config --libs-only-L cairo` -lcairo
-
-MOZILLA_PREFIX = swt-mozilla
-PROFILE14_PREFIX = swt-mozilla14-profile$(GCC_VERSION)
-PROFILE17_PREFIX = swt-mozilla17-profile$(GCC_VERSION)
-PROFILE18_PREFIX = swt-mozilla18-profile$(GCC_VERSION)
-MOZILLA_LIB = lib$(MOZILLA_PREFIX)$(GCC_VERSION)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE14_LIB = lib$(PROFILE14_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE17_LIB = lib$(PROFILE17_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-PROFILE18_LIB = lib$(PROFILE18_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
-PROFILE14_OBJECTS = xpcom14_profile.o
-PROFILE17_OBJECTS = xpcom17_profile.o
-PROFILE18_OBJECTS = xpcom18_profile.o
-MOZILLACFLAGS = -O \
-	-DXPCOM_GLUE=1 \
-	-DMOZILLA_STRICT_API=1 \
-	-fno-rtti \
-	-fno-exceptions \
-	-Wall \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-Wno-non-virtual-dtor \
-	-fPIC \
-	-I./ \
-	-I$(JAVA_HOME)/include \
-	-I$(JAVA_HOME)/include/linux \
-	${SWT_PTR_CFLAGS}
-MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic
-
-GLX_PREFIX = swt-glx
-GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-GLXCFLAGS = 
-GLXLIBS = -shared -fpic -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm
-
-all: make_swt make_awt make_gnome make_gtk make_glx
-
-make_swt: $(SWT_LIB)
-
-$(SWT_LIB): $(SWT_OBJS)
-	$(LD) -o $@ $(SWT_OBJS) $(SWT_LIBS)
-	
-swt.o: swt.c swt.h
-	$(CC) $(CFLAGS) -c swt.c
-os.o: os.c os.h swt.h os_custom.h
-	$(CC) $(CFLAGS) -c os.c
-os_structs.o: os_structs.c os_structs.h os.h swt.h
-	$(CC) $(CFLAGS) -c os_structs.c 
-os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
-	$(CC) $(CFLAGS) -c os_stats.c
-
-make_gnome: $(GNOME_LIB)
-
-$(GNOME_LIB): $(GNOME_OBJECTS)
-	gcc -o $@ $(GNOME_OBJECTS) $(GNOME_LIBS)
-
-gnome.o: gnome.c
-	gcc $(GNOME_CFLAGS) -c -o gnome.o gnome.c
-
-gnome_structs.o: gnome_structs.c
-	gcc $(GNOME_CFLAGS) -c -o gnome_structs.o gnome_structs.c
-
-gnome_stats.o: gnome_stats.c
-	gcc $(GNOME_CFLAGS) -c -o gnome_stats.o gnome_stats.c
-
-make_awt: $(AWT_LIB)
-
-$(AWT_LIB): $(AWT_OBJS)
-	ld -o $@ $(AWT_OBJS) $(AWT_LIBS)
-
-make_gtk: $(GTK_LIB)
-
-$(GTK_LIB): $(GTK_OBJS)
-	ld -o $@ $(GTK_OBJS) $(GTK_LIBS)
-
-gtk.o: gtk.c
-	$(CC) $(CFLAGS) $(GTK_CFLAGS) -c -o gtk.o gtk.c
-
-make_cairo: $(CAIRO_LIB)
-
-$(CAIRO_LIB): $(CAIRO_OBJECTS)
-	$(LD) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
-
-cairo.o: cairo.c cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
-cairo_custom.o: cairo_custom.c cairo_structs.h cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_custom.c
-cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c
-cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
-	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c
-
-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB)
-
-$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
-	$(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS}
-
-xpcom.o: xpcom.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom.cpp
-xpcom_structs.o: xpcom_structs.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_structs.cpp
-xpcom_custom.o: xpcom_custom.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_custom.cpp
-xpcom_stats.o: xpcom_stats.cpp
-	$(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp
-
-$(PROFILE14_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE17_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE18_OBJECTS): xpcom_profile.cpp
-	$(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp	
-
-$(PROFILE14_LIB): $(PROFILE14_OBJECTS)
-	$(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS}
-
-$(PROFILE17_LIB): $(PROFILE17_OBJECTS)
-	$(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS}
-
-$(PROFILE18_LIB): $(PROFILE18_OBJECTS)
-	$(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS}
-
-make_glx: $(GLX_LIB)
-
-$(GLX_LIB): $(GLX_OBJECTS)
-	$(LD) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
-
-glx.o: glx.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
-
-glx_structs.o: glx_structs.c 
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c
-	
-glx_stats.o: glx_stats.c glx_stats.h
-	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c
-
-
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-clean:
-	rm -f *.o *.a *.so *.sl 
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_solaris.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_solaris.mak
deleted file mode 100644
index 22104c0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/make_solaris.mak
+++ /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
-#     Kevin Cornell (Rational Software Corporation)
-#*******************************************************************************
-
-# Makefile for SWT libraries on Solaris
-
-include make_common.mak
-
-SWT_VERSION=$(maj_ver)$(min_ver)
-
-# This makefile expects the following environment variables set:
-#    JAVA_HOME  - The JDK > 1.3
-#    CDE_HOME - CDE includes and libraries
-#    MOTIF_HOME - Motif includes and libraries
-
-# Define the various DLL (shared) libraries to be made.
-
-SWT_PREFIX = swt
-WS_PREFIX = motif
-SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-SWT_OBJS = swt.o callback.o os.o os_structs.o os_custom.o os_stats.o
-SWT_LIBS = -L$(MOTIF_HOME)/lib -L/usr/lib -R/usr/openwin/lib -G -lXm -lXt -lX11 -lXp -lXtst
-
-CDE_PREFIX = swt-cde
-CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-CDE_OBJS = swt.o cde.o cde_structs.o cde_stats.o
-CDE_LIBS = -G -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lDtSvc
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#
-# The following CFLAGS are for compiling both the SWT library and the CDE
-# library.
-#
-# Note:
-#   The flag -xarch=generic ensure the compiled modules will be targeted
-#   for 32-bit architectures. If this flag is not
-#
-CFLAGS = -O -s \
-	-DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) \
-	-DNO_XINERAMA_EXTENSIONS \
-	-DSOLARIS -DMOTIF -DCDE \
-	-I./ \
-	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris \
-	-I$(MOTIF_HOME)/include \
-	-I$(CDE_HOME)/include
-
-all: make_swt make_cde
-
-make_swt: $(SWT_LIB)
-
-$(SWT_LIB): $(SWT_OBJS)
-	ld -o $@ $(SWT_OBJS) $(SWT_LIBS)
-
-make_cde: $(CDE_LIB)
-
-$(CDE_LIB): $(CDE_OBJS)
-	ld -o $@ $(CDE_OBJS) $(CDE_LIBS)
-
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-clean:
-	rm -f *.o *.a *.so *.sl 
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/mozilla_exports b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/mozilla_exports
deleted file mode 100644
index 3db4f5c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/mozilla_exports
+++ /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
-#*******************************************************************************
-EXPORTED {
-  global:
-    JNI_OnLoad;
-    Java_org_eclipse_swt*;
-  local: *;
-};
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.c
deleted file mode 100644
index 5e9cd70..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.c
+++ /dev/null
@@ -1,6437 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_motif_OS_##func
-
-#ifndef NO_CODESET
-JNIEXPORT jint JNICALL OS_NATIVE(CODESET)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CODESET_FUNC);
-	rc = (jint)CODESET;
-	OS_NATIVE_EXIT(env, that, CODESET_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FD_1ISSET
-JNIEXPORT jboolean JNICALL OS_NATIVE(FD_1ISSET)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, FD_1ISSET_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)FD_ISSET(arg0, (fd_set *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FD_1ISSET_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FD_1SET
-JNIEXPORT void JNICALL OS_NATIVE(FD_1SET)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, FD_1SET_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	FD_SET(arg0, (fd_set *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, FD_1SET_FUNC);
-}
-#endif
-
-#ifndef NO_FD_1ZERO
-JNIEXPORT void JNICALL OS_NATIVE(FD_1ZERO)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, FD_1ZERO_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	FD_ZERO((fd_set *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FD_1ZERO_FUNC);
-}
-#endif
-
-#ifndef NO_LC_1CTYPE
-JNIEXPORT jint JNICALL OS_NATIVE(LC_1CTYPE)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LC_1CTYPE_FUNC);
-	rc = (jint)LC_CTYPE;
-	OS_NATIVE_EXIT(env, that, LC_1CTYPE_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MB_1CUR_1MAX
-JNIEXPORT jint JNICALL OS_NATIVE(MB_1CUR_1MAX)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MB_1CUR_1MAX_FUNC);
-	rc = (jint)MB_CUR_MAX;
-	OS_NATIVE_EXIT(env, that, MB_1CUR_1MAX_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_XRenderPictureAttributes_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XRenderPictureAttributes_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, XRenderPictureAttributes_1sizeof_FUNC);
-	rc = (jint)XRenderPictureAttributes_sizeof();
-	OS_NATIVE_EXIT(env, that, XRenderPictureAttributes_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1Call
-JNIEXPORT jint JNICALL OS_NATIVE(_1Call)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1Call_FUNC);
-	rc = (jint)((jint (*)())arg0)(arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1Call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1ConnectionNumber
-JNIEXPORT jint JNICALL OS_NATIVE(_1ConnectionNumber)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1ConnectionNumber_FUNC);
-	rc = (jint)ConnectionNumber(arg0);
-	OS_NATIVE_EXIT(env, that, _1ConnectionNumber_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XAllocColor
-JNIEXPORT jint JNICALL OS_NATIVE(_1XAllocColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	XColor _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XAllocColor_FUNC);
-	if (arg2) if ((lparg2 = getXColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)XAllocColor((Display *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setXColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1XAllocColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XBell
-JNIEXPORT void JNICALL OS_NATIVE(_1XBell)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XBell_FUNC);
-	XBell((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XBell_FUNC);
-}
-#endif
-
-#ifndef NO__1XBlackPixel
-JNIEXPORT jint JNICALL OS_NATIVE(_1XBlackPixel)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XBlackPixel_FUNC);
-	rc = (jint)XBlackPixel((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XBlackPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XChangeActivePointerGrab
-JNIEXPORT jint JNICALL OS_NATIVE(_1XChangeActivePointerGrab)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XChangeActivePointerGrab_FUNC);
-	rc = (jint)XChangeActivePointerGrab((Display *)arg0, arg1, (Cursor)arg2, (Time)arg3);
-	OS_NATIVE_EXIT(env, that, _1XChangeActivePointerGrab_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XChangeProperty
-JNIEXPORT void JNICALL OS_NATIVE(_1XChangeProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6, jint arg7)
-{
-	jint *lparg6=NULL;
-	OS_NATIVE_ENTER(env, that, _1XChangeProperty_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	XChangeProperty((Display *)arg0, (Window)arg1, (Atom)arg2, (Atom)arg3, arg4, arg5, (unsigned char *)lparg6, arg7);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, _1XChangeProperty_FUNC);
-}
-#endif
-
-#ifndef NO__1XChangeWindowAttributes
-JNIEXPORT void JNICALL OS_NATIVE(_1XChangeWindowAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	XSetWindowAttributes _arg3, *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XChangeWindowAttributes_FUNC);
-	if (arg3) if ((lparg3 = getXSetWindowAttributesFields(env, arg3, &_arg3)) == NULL) goto fail;
-	XChangeWindowAttributes((Display *)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setXSetWindowAttributesFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1XChangeWindowAttributes_FUNC);
-}
-#endif
-
-#ifndef NO__1XCheckIfEvent
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCheckIfEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckIfEvent_FUNC);
-	rc = (jint)XCheckIfEvent((Display *)arg0, (XEvent *)arg1, (Bool (*)())arg2, (XPointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1XCheckIfEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCheckMaskEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XCheckMaskEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckMaskEvent_FUNC);
-	rc = (jboolean)XCheckMaskEvent((Display *)arg0, arg1, (XEvent *)arg2);
-	OS_NATIVE_EXIT(env, that, _1XCheckMaskEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCheckWindowEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XCheckWindowEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCheckWindowEvent_FUNC);
-	rc = (jboolean)XCheckWindowEvent((Display *)arg0, (Window)arg1, arg2, (XEvent *)arg3);
-	OS_NATIVE_EXIT(env, that, _1XCheckWindowEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XClearArea
-JNIEXPORT void JNICALL OS_NATIVE(_1XClearArea)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jboolean arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XClearArea_FUNC);
-	XClearArea((Display *)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XClearArea_FUNC);
-}
-#endif
-
-#ifndef NO__1XClipBox
-JNIEXPORT void JNICALL OS_NATIVE(_1XClipBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	XRectangle _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XClipBox_FUNC);
-	if (arg1) if ((lparg1 = getXRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	XClipBox((Region)arg0, (XRectangle *)lparg1);
-fail:
-	if (arg1 && lparg1) setXRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1XClipBox_FUNC);
-}
-#endif
-
-#ifndef NO__1XCloseDisplay
-JNIEXPORT void JNICALL OS_NATIVE(_1XCloseDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XCloseDisplay_FUNC);
-	XCloseDisplay((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XCloseDisplay_FUNC);
-}
-#endif
-
-#ifndef NO__1XCopyArea
-JNIEXPORT void JNICALL OS_NATIVE(_1XCopyArea)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	OS_NATIVE_ENTER(env, that, _1XCopyArea_FUNC);
-	XCopyArea((Display *)arg0, arg1, arg2, (GC)arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-	OS_NATIVE_EXIT(env, that, _1XCopyArea_FUNC);
-}
-#endif
-
-#ifndef NO__1XCopyPlane
-JNIEXPORT void JNICALL OS_NATIVE(_1XCopyPlane)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	OS_NATIVE_ENTER(env, that, _1XCopyPlane_FUNC);
-	XCopyPlane((Display *)arg0, arg1, arg2, (GC)arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-	OS_NATIVE_EXIT(env, that, _1XCopyPlane_FUNC);
-}
-#endif
-
-#ifndef NO__1XCreateBitmapFromData
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateBitmapFromData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jint arg4)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateBitmapFromData_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XCreateBitmapFromData((Display *)arg0, arg1, (char *)lparg2, arg3, arg4);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XCreateBitmapFromData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateColormap
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateColormap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateColormap_FUNC);
-	rc = (jint)XCreateColormap((Display *)arg0, (Window)arg1, (Visual *)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XCreateColormap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateFontCursor
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateFontCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateFontCursor_FUNC);
-	rc = (jint)XCreateFontCursor((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XCreateFontCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateGC
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateGC)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	XGCValues _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateGC_FUNC);
-	if (arg3) if ((lparg3 = getXGCValuesFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)XCreateGC((Display *)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setXGCValuesFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1XCreateGC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateImage
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateImage_FUNC);
-	rc = (jint)XCreateImage((Display *)arg0, (Visual *)arg1, arg2, arg3, arg4, (char *)arg5, arg6, arg7, arg8, arg9);
-	OS_NATIVE_EXIT(env, that, _1XCreateImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreatePixmap
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreatePixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreatePixmap_FUNC);
-	rc = (jint)XCreatePixmap((Display *)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1XCreatePixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreatePixmapCursor
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreatePixmapCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jobject arg4, jint arg5, jint arg6)
-{
-	XColor _arg3, *lparg3=NULL;
-	XColor _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreatePixmapCursor_FUNC);
-	if (arg3) if ((lparg3 = getXColorFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getXColorFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)XCreatePixmapCursor((Display *)arg0, (Pixmap)arg1, (Pixmap)arg2, lparg3, lparg4, arg5, arg6);
-fail:
-	if (arg4 && lparg4) setXColorFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setXColorFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1XCreatePixmapCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateRegion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateRegion)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateRegion_FUNC);
-	rc = (jint)XCreateRegion();
-	OS_NATIVE_EXIT(env, that, _1XCreateRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XCreateWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XCreateWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jlong arg10, jobject arg11)
-{
-	XSetWindowAttributes _arg11, *lparg11=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XCreateWindow_FUNC);
-	if (arg11) if ((lparg11 = getXSetWindowAttributesFields(env, arg11, &_arg11)) == NULL) goto fail;
-	rc = (jint)XCreateWindow((Display *)arg0, (Window)arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, (Visual *)arg9, arg10, (XSetWindowAttributes *)lparg11);
-fail:
-	if (arg11 && lparg11) setXSetWindowAttributesFields(env, arg11, lparg11);
-	OS_NATIVE_EXIT(env, that, _1XCreateWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultColormap
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultColormap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultColormap_FUNC);
-	rc = (jint)XDefaultColormap((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDefaultColormap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultColormapOfScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultColormapOfScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultColormapOfScreen_FUNC);
-	rc = (jint)XDefaultColormapOfScreen((Screen *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultColormapOfScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultDepthOfScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultDepthOfScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultDepthOfScreen_FUNC);
-	rc = (jint)XDefaultDepthOfScreen((Screen *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultDepthOfScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultGCOfScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultGCOfScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultGCOfScreen_FUNC);
-	rc = (jint)XDefaultGCOfScreen((Screen *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultGCOfScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultRootWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultRootWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultRootWindow_FUNC);
-	rc = (jint)XDefaultRootWindow((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultRootWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultScreen_FUNC);
-	rc = (jint)XDefaultScreen((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultScreenOfDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultScreenOfDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultScreenOfDisplay_FUNC);
-	rc = (jint)XDefaultScreenOfDisplay((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDefaultScreenOfDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefaultVisual
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDefaultVisual)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDefaultVisual_FUNC);
-	rc = (jint)XDefaultVisual((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDefaultVisual_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDefineCursor
-JNIEXPORT void JNICALL OS_NATIVE(_1XDefineCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XDefineCursor_FUNC);
-	XDefineCursor((Display *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XDefineCursor_FUNC);
-}
-#endif
-
-#ifndef NO__1XDestroyImage
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDestroyImage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDestroyImage_FUNC);
-	rc = (jint)XDestroyImage((XImage *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDestroyImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDestroyRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XDestroyRegion)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XDestroyRegion_FUNC);
-	XDestroyRegion((Region)arg0);
-	OS_NATIVE_EXIT(env, that, _1XDestroyRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XDestroyWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XDestroyWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XDestroyWindow_FUNC);
-	XDestroyWindow((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XDestroyWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XDisplayHeight
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDisplayHeight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDisplayHeight_FUNC);
-	rc = (jint)XDisplayHeight((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDisplayHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDisplayHeightMM
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDisplayHeightMM)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDisplayHeightMM_FUNC);
-	rc = (jint)XDisplayHeightMM((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDisplayHeightMM_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDisplayWidth
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDisplayWidth)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDisplayWidth_FUNC);
-	rc = (jint)XDisplayWidth((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDisplayWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDisplayWidthMM
-JNIEXPORT jint JNICALL OS_NATIVE(_1XDisplayWidthMM)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XDisplayWidthMM_FUNC);
-	rc = (jint)XDisplayWidthMM((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XDisplayWidthMM_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XDrawArc
-JNIEXPORT void JNICALL OS_NATIVE(_1XDrawArc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	OS_NATIVE_ENTER(env, that, _1XDrawArc_FUNC);
-	XDrawArc((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1XDrawArc_FUNC);
-}
-#endif
-
-#ifndef NO__1XDrawLine
-JNIEXPORT void JNICALL OS_NATIVE(_1XDrawLine)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XDrawLine_FUNC);
-	XDrawLine((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XDrawLine_FUNC);
-}
-#endif
-
-#ifndef NO__1XDrawLines
-JNIEXPORT void JNICALL OS_NATIVE(_1XDrawLines)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshortArray arg3, jint arg4, jint arg5)
-{
-	jshort *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XDrawLines_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	XDrawLines((Display *)arg0, (Drawable)arg1, (GC)arg2, (XPoint *)lparg3, arg4, arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XDrawLines_FUNC);
-}
-#endif
-
-#ifndef NO__1XDrawPoint
-JNIEXPORT void JNICALL OS_NATIVE(_1XDrawPoint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1XDrawPoint_FUNC);
-	XDrawPoint((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1XDrawPoint_FUNC);
-}
-#endif
-
-#ifndef NO__1XDrawRectangle
-JNIEXPORT void JNICALL OS_NATIVE(_1XDrawRectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XDrawRectangle_FUNC);
-	XDrawRectangle((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XDrawRectangle_FUNC);
-}
-#endif
-
-#ifndef NO__1XEmptyRegion
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XEmptyRegion)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XEmptyRegion_FUNC);
-	rc = (jboolean)XEmptyRegion((Region)arg0);
-	OS_NATIVE_EXIT(env, that, _1XEmptyRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XEventsQueued
-JNIEXPORT jint JNICALL OS_NATIVE(_1XEventsQueued)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XEventsQueued_FUNC);
-	rc = (jint)XEventsQueued((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XEventsQueued_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFillArc
-JNIEXPORT void JNICALL OS_NATIVE(_1XFillArc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	OS_NATIVE_ENTER(env, that, _1XFillArc_FUNC);
-	XFillArc((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1XFillArc_FUNC);
-}
-#endif
-
-#ifndef NO__1XFillPolygon
-JNIEXPORT jint JNICALL OS_NATIVE(_1XFillPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshortArray arg3, jint arg4, jint arg5, jint arg6)
-{
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFillPolygon_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XFillPolygon((Display *)arg0, (Drawable)arg1, (GC)arg2, (XPoint *)lparg3, arg4, arg5, arg6);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XFillPolygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFillRectangle
-JNIEXPORT void JNICALL OS_NATIVE(_1XFillRectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XFillRectangle_FUNC);
-	XFillRectangle((Display *)arg0, (Drawable)arg1, (GC)arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XFillRectangle_FUNC);
-}
-#endif
-
-#ifndef NO__1XFilterEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XFilterEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFilterEvent_FUNC);
-	rc = (jboolean)XFilterEvent((XEvent *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFilterEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFlush
-JNIEXPORT void JNICALL OS_NATIVE(_1XFlush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFlush_FUNC);
-	XFlush((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFlush_FUNC);
-}
-#endif
-
-#ifndef NO__1XFontsOfFontSet
-JNIEXPORT jint JNICALL OS_NATIVE(_1XFontsOfFontSet)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFontsOfFontSet_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 = (jint)XFontsOfFontSet((XFontSet)arg0, (XFontStruct ***)lparg1, (char ***)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XFontsOfFontSet_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFree
-JNIEXPORT jint JNICALL OS_NATIVE(_1XFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFree_FUNC);
-	rc = (jint)XFree((char *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFreeColormap
-JNIEXPORT jint JNICALL OS_NATIVE(_1XFreeColormap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFreeColormap_FUNC);
-	rc = (jint)XFreeColormap((Display *)arg0, (Colormap)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFreeColormap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFreeColors
-JNIEXPORT jint JNICALL OS_NATIVE(_1XFreeColors)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jint arg4)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XFreeColors_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XFreeColors((Display *)arg0, arg1, (unsigned long *)lparg2, arg3, arg4);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XFreeColors_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XFreeCursor
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeCursor_FUNC);
-	XFreeCursor((Display *)arg0, (Cursor)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFreeCursor_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreeFont
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeFont)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeFont_FUNC);
-	XFreeFont((Display *)arg0, (XFontStruct *)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFreeFont_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreeFontNames
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeFontNames)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeFontNames_FUNC);
-	XFreeFontNames((char **)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFreeFontNames_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreeGC
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeGC)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeGC_FUNC);
-	XFreeGC((Display *)arg0, (GC)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFreeGC_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreeModifiermap
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeModifiermap)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeModifiermap_FUNC);
-	XFreeModifiermap((XModifierKeymap *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFreeModifiermap_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreePixmap
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreePixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreePixmap_FUNC);
-	XFreePixmap((Display *)arg0, (Pixmap)arg1);
-	OS_NATIVE_EXIT(env, that, _1XFreePixmap_FUNC);
-}
-#endif
-
-#ifndef NO__1XFreeStringList
-JNIEXPORT void JNICALL OS_NATIVE(_1XFreeStringList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XFreeStringList_FUNC);
-	XFreeStringList((char **)arg0);
-	OS_NATIVE_EXIT(env, that, _1XFreeStringList_FUNC);
-}
-#endif
-
-#ifndef NO__1XGetGCValues
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetGCValues)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	XGCValues _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetGCValues_FUNC);
-	if (arg3) if ((lparg3 = getXGCValuesFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)XGetGCValues((Display *)arg0, (GC)arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setXGCValuesFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, _1XGetGCValues_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetGeometry
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetGeometry)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6, jintArray arg7, jintArray arg8)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetGeometry_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)XGetGeometry((Display *)arg0, (Drawable)arg1, (Window *)lparg2, (int *)lparg3, (int *)lparg4, (unsigned int *)lparg5, (unsigned int *)lparg6, (unsigned int *)lparg7, (unsigned int *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XGetGeometry_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetIconSizes
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetIconSizes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetIconSizes_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XGetIconSizes((Display *)arg0, (Window)arg1, (XIconSize **)lparg2, (int *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XGetIconSizes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetImage
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetImage_FUNC);
-	rc = (jint)XGetImage((Display *)arg0, (Drawable)arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	OS_NATIVE_EXIT(env, that, _1XGetImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetInputFocus
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetInputFocus)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetInputFocus_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 = (jint)XGetInputFocus((Display *)arg0, (Window *)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XGetInputFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetModifierMapping
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetModifierMapping)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetModifierMapping_FUNC);
-	rc = (jint)XGetModifierMapping((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XGetModifierMapping_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetWindowAttributes
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XGetWindowAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	XWindowAttributes _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetWindowAttributes_FUNC);
-	if (arg2) if ((lparg2 = getXWindowAttributesFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)XGetWindowAttributes((Display *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setXWindowAttributesFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1XGetWindowAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGetWindowProperty
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGetWindowProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jboolean arg5, jint arg6, jintArray arg7, jintArray arg8, jintArray arg9, jintArray arg10, jintArray arg11)
-{
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint *lparg9=NULL;
-	jint *lparg10=NULL;
-	jint *lparg11=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGetWindowProperty_FUNC);
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	if (arg10) if ((lparg10 = (*env)->GetIntArrayElements(env, arg10, NULL)) == NULL) goto fail;
-	if (arg11) if ((lparg11 = (*env)->GetIntArrayElements(env, arg11, NULL)) == NULL) goto fail;
-	rc = (jint)XGetWindowProperty((Display *)arg0, (Window)arg1, (Atom)arg2, arg3, arg4, (Bool)arg5, (Atom)arg6, (Atom *)lparg7, (int *)lparg8, (unsigned long *)lparg9, (unsigned long *)lparg10, (unsigned char **)lparg11);
-fail:
-	if (arg11 && lparg11) (*env)->ReleaseIntArrayElements(env, arg11, lparg11, 0);
-	if (arg10 && lparg10) (*env)->ReleaseIntArrayElements(env, arg10, lparg10, 0);
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	OS_NATIVE_EXIT(env, that, _1XGetWindowProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGrabKeyboard
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGrabKeyboard)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGrabKeyboard_FUNC);
-	rc = (jint)XGrabKeyboard((Display *)arg0, arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1XGrabKeyboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XGrabPointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1XGrabPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XGrabPointer_FUNC);
-	rc = (jint)XGrabPointer((Display *)arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1XGrabPointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XInitThreads
-JNIEXPORT jint JNICALL OS_NATIVE(_1XInitThreads)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XInitThreads_FUNC);
-	rc = (jint)XInitThreads();
-	OS_NATIVE_EXIT(env, that, _1XInitThreads_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XInternAtom
-JNIEXPORT jint JNICALL OS_NATIVE(_1XInternAtom)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jboolean arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XInternAtom_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XInternAtom((Display *)arg0, (char *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XInternAtom_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XIntersectRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XIntersectRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XIntersectRegion_FUNC);
-	XIntersectRegion((Region)arg0, (Region)arg1, (Region)arg2);
-	OS_NATIVE_EXIT(env, that, _1XIntersectRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XKeysymToKeycode
-JNIEXPORT jint JNICALL OS_NATIVE(_1XKeysymToKeycode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XKeysymToKeycode_FUNC);
-	rc = (jint)XKeysymToKeycode((Display *)arg0, (KeySym)arg1);
-	OS_NATIVE_EXIT(env, that, _1XKeysymToKeycode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XKeysymToString
-JNIEXPORT jint JNICALL OS_NATIVE(_1XKeysymToString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XKeysymToString_FUNC);
-	rc = (jint)XKeysymToString(arg0);
-	OS_NATIVE_EXIT(env, that, _1XKeysymToString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XListFonts
-JNIEXPORT jint JNICALL OS_NATIVE(_1XListFonts)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XListFonts_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XListFonts((Display *)arg0, (char *)lparg1, arg2, (int *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XListFonts_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XListProperties
-JNIEXPORT jint JNICALL OS_NATIVE(_1XListProperties)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XListProperties_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XListProperties((Display *)arg0, (Window)arg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XListProperties_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XLocaleOfFontSet
-JNIEXPORT jint JNICALL OS_NATIVE(_1XLocaleOfFontSet)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XLocaleOfFontSet_FUNC);
-	rc = (jint)XLocaleOfFontSet((XFontSet)arg0);
-	OS_NATIVE_EXIT(env, that, _1XLocaleOfFontSet_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XLookupString
-JNIEXPORT jint JNICALL OS_NATIVE(_1XLookupString)
-	(JNIEnv *env, jclass that, jobject arg0, jbyteArray arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	XKeyEvent _arg0, *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XLookupString_FUNC);
-	if (arg0) if ((lparg0 = getXKeyEventFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XLookupString((XKeyEvent *)lparg0, (char *)lparg1, arg2, (KeySym *)lparg3, (XComposeStatus *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setXKeyEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, _1XLookupString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XLowerWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XLowerWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XLowerWindow_FUNC);
-	rc = (jint)XLowerWindow((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XLowerWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XMapWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XMapWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XMapWindow_FUNC);
-	XMapWindow((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XMapWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XMoveResizeWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XMoveResizeWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1XMoveResizeWindow_FUNC);
-	XMoveResizeWindow((Display *)arg0, (Window)arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1XMoveResizeWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XOffsetRegion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XOffsetRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XOffsetRegion_FUNC);
-	rc = (jint)XOffsetRegion((Region)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XOffsetRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XOpenDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1XOpenDisplay)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XOpenDisplay_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)XOpenDisplay((char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XOpenDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XPointInRegion
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XPointInRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XPointInRegion_FUNC);
-	rc = (jboolean)XPointInRegion((Region)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XPointInRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XPolygonRegion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XPolygonRegion)
-	(JNIEnv *env, jclass that, jshortArray arg0, jint arg1, jint arg2)
-{
-	jshort *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XPolygonRegion_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)XPolygonRegion((XPoint *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XPolygonRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XPutImage
-JNIEXPORT jint JNICALL OS_NATIVE(_1XPutImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XPutImage_FUNC);
-	rc = (jint)XPutImage((Display *)arg0, (Drawable)arg1, (GC)arg2, (XImage *)arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-	OS_NATIVE_EXIT(env, that, _1XPutImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XQueryBestCursor
-JNIEXPORT jint JNICALL OS_NATIVE(_1XQueryBestCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XQueryBestCursor_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)XQueryBestCursor((Display *)arg0, arg1, arg2, arg3, (unsigned int *)lparg4, (unsigned int *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XQueryBestCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XQueryColor
-JNIEXPORT jint JNICALL OS_NATIVE(_1XQueryColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	XColor _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XQueryColor_FUNC);
-	if (arg2) if ((lparg2 = getXColorFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)XQueryColor((Display *)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setXColorFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1XQueryColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XQueryPointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1XQueryPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6, jintArray arg7, jintArray arg8)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XQueryPointer_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)XQueryPointer((Display *)arg0, (Window)arg1, (Window *)lparg2, (Window *)lparg3, (int *)lparg4, (int *)lparg5, (int *)lparg6, (int *)lparg7, (unsigned int *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XQueryPointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XQueryTree
-JNIEXPORT jint JNICALL OS_NATIVE(_1XQueryTree)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XQueryTree_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)XQueryTree((Display *)arg0, (Window)arg1, (Window *)lparg2, (Window *)lparg3, (Window **)lparg4, (unsigned int *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XQueryTree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRaiseWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRaiseWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRaiseWindow_FUNC);
-	rc = (jint)XRaiseWindow((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XRaiseWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XReconfigureWMWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XReconfigureWMWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	XWindowChanges _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XReconfigureWMWindow_FUNC);
-	if (arg4) if ((lparg4 = getXWindowChangesFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)XReconfigureWMWindow((Display *)arg0, (Window)arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) setXWindowChangesFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1XReconfigureWMWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRectInRegion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRectInRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRectInRegion_FUNC);
-	rc = (jint)XRectInRegion((Region)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1XRectInRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderComposite
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderComposite)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
-{
-	OS_NATIVE_ENTER(env, that, _1XRenderComposite_FUNC);
-/*
-	XRenderComposite(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderComposite_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderComposite");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderComposite_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderCreatePicture
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderCreatePicture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	XRenderPictureAttributes _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderCreatePicture_FUNC);
-	if (arg4) if ((lparg4 = getXRenderPictureAttributesFields(env, arg4, &_arg4)) == NULL) goto fail;
-/*
-	rc = (jint)XRenderCreatePicture(arg0, arg1, arg2, arg3, lparg4);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint, jint, jint, XRenderPictureAttributes *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderCreatePicture_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderCreatePicture");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1, arg2, arg3, lparg4);
-		}
-	}
-fail:
-	if (arg4 && lparg4) setXRenderPictureAttributesFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1XRenderCreatePicture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFindStandardFormat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderFindStandardFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderFindStandardFormat_FUNC);
-/*
-	rc = (jint)XRenderFindStandardFormat(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFindStandardFormat_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFindStandardFormat");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFindStandardFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFindVisualFormat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderFindVisualFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderFindVisualFormat_FUNC);
-/*
-	rc = (jint)XRenderFindVisualFormat(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFindVisualFormat_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFindVisualFormat");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFindVisualFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderFreePicture
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderFreePicture)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XRenderFreePicture_FUNC);
-/*
-	XRenderFreePicture(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderFreePicture_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderFreePicture");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderFreePicture_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderQueryExtension
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XRenderQueryExtension)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderQueryExtension_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)XRenderQueryExtension(arg0, lparg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jboolean (*FPTR)(jint, jint *, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderQueryExtension_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderQueryExtension");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jboolean)(*fptr)(arg0, lparg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderQueryExtension_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderQueryVersion
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRenderQueryVersion)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRenderQueryVersion_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 = (jint)XRenderQueryVersion(arg0, lparg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(jint, jint *, jint *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderQueryVersion_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderQueryVersion");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)(arg0, lparg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderQueryVersion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XRenderSetPictureClipRectangles
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderSetPictureClipRectangles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jshortArray arg4, jint arg5)
-{
-	jshort *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1XRenderSetPictureClipRectangles_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-/*
-	XRenderSetPictureClipRectangles(arg0, arg1, arg2, arg3, lparg4, arg5);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint, jint, jshort *, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderSetPictureClipRectangles_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderSetPictureClipRectangles");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, arg2, arg3, lparg4, arg5);
-		}
-	}
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderSetPictureClipRectangles_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderSetPictureClipRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderSetPictureClipRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XRenderSetPictureClipRegion_FUNC);
-/*
-	XRenderSetPictureClipRegion(arg0, arg1, arg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderSetPictureClipRegion_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderSetPictureClipRegion");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, _1XRenderSetPictureClipRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XRenderSetPictureTransform
-JNIEXPORT void JNICALL OS_NATIVE(_1XRenderSetPictureTransform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1XRenderSetPictureTransform_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-/*
-	XRenderSetPictureTransform(arg0, arg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef void (*FPTR)(jint, jint, jint *);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(XRenderSetPictureTransform_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "XRenderSetPictureTransform");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XRenderSetPictureTransform_FUNC);
-}
-#endif
-
-#ifndef NO__1XReparentWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XReparentWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XReparentWindow_FUNC);
-	rc = (jint)XReparentWindow((Display *)arg0, (Window)arg1, (Window)arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, _1XReparentWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XResizeWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XResizeWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XResizeWindow_FUNC);
-	XResizeWindow((Display *)arg0, (Window)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XResizeWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XRootWindowOfScreen
-JNIEXPORT jint JNICALL OS_NATIVE(_1XRootWindowOfScreen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XRootWindowOfScreen_FUNC);
-	rc = (jint)XRootWindowOfScreen((Screen *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XRootWindowOfScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSelectInput
-JNIEXPORT void JNICALL OS_NATIVE(_1XSelectInput)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSelectInput_FUNC);
-	XSelectInput((Display *)arg0, (Window)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSelectInput_FUNC);
-}
-#endif
-
-#ifndef NO__1XSendEvent
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSendEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSendEvent_FUNC);
-	rc = (jint)XSendEvent((Display *)arg0, (Window)arg1, (Bool)arg2, (long)arg3, (XEvent *)arg4);
-	OS_NATIVE_EXIT(env, that, _1XSendEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetBackground
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetBackground)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetBackground_FUNC);
-	XSetBackground((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetBackground_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetClipMask
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetClipMask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetClipMask_FUNC);
-	XSetClipMask((Display *)arg0, (GC)arg1, (Pixmap)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetClipMask_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetClipRectangles
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetClipRectangles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jint arg6)
-{
-	XRectangle _arg4, *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1XSetClipRectangles_FUNC);
-	if (arg4) if ((lparg4 = getXRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	XSetClipRectangles((Display *)arg0, (GC)arg1, arg2, arg3, (XRectangle *)lparg4, arg5, arg6);
-fail:
-	if (arg4 && lparg4) setXRectangleFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1XSetClipRectangles_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetDashes
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetDashes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetDashes_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XSetDashes((Display *)arg0, (GC)arg1, arg2, (char *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XSetDashes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetErrorHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetErrorHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetErrorHandler_FUNC);
-	rc = (jint)XSetErrorHandler((XErrorHandler)arg0);
-	OS_NATIVE_EXIT(env, that, _1XSetErrorHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetFillRule
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetFillRule)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetFillRule_FUNC);
-	XSetFillRule((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetFillRule_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetFillStyle
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetFillStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetFillStyle_FUNC);
-	XSetFillStyle((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetFillStyle_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetForeground
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetForeground)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetForeground_FUNC);
-	XSetForeground((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetForeground_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetFunction
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetFunction)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetFunction_FUNC);
-	XSetFunction((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetFunction_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetGraphicsExposures
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetGraphicsExposures)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetGraphicsExposures_FUNC);
-	XSetGraphicsExposures((Display *)arg0, (GC)arg1, (Bool)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetGraphicsExposures_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetIOErrorHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetIOErrorHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetIOErrorHandler_FUNC);
-	rc = (jint)XSetIOErrorHandler((XIOErrorHandler)arg0);
-	OS_NATIVE_EXIT(env, that, _1XSetIOErrorHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetInputFocus
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetInputFocus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetInputFocus_FUNC);
-	rc = (jint)XSetInputFocus((Display *)arg0, (Window)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XSetInputFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetLineAttributes
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSetLineAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSetLineAttributes_FUNC);
-	rc = (jint)XSetLineAttributes((Display *)arg0, (GC)arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1XSetLineAttributes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XSetRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetRegion_FUNC);
-	XSetRegion((Display *)arg0, (GC)arg1, (Region)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetStipple
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetStipple)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetStipple_FUNC);
-	XSetStipple((Display *)arg0, (GC)arg1, (Pixmap)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetStipple_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetSubwindowMode
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetSubwindowMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetSubwindowMode_FUNC);
-	XSetSubwindowMode((Display *)arg0, (GC)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetSubwindowMode_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetTSOrigin
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetTSOrigin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetTSOrigin_FUNC);
-	XSetTSOrigin((Display *)arg0, (GC)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XSetTSOrigin_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetTile
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetTile)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetTile_FUNC);
-	XSetTile((Display *)arg0, (GC)arg1, (Pixmap)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetTile_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetWMNormalHints
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetWMNormalHints)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	XSizeHints _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1XSetWMNormalHints_FUNC);
-	if (arg2) if ((lparg2 = getXSizeHintsFields(env, arg2, &_arg2)) == NULL) goto fail;
-	XSetWMNormalHints((Display *)arg0, (Window)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setXSizeHintsFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, _1XSetWMNormalHints_FUNC);
-}
-#endif
-
-#ifndef NO__1XSetWindowBackgroundPixmap
-JNIEXPORT void JNICALL OS_NATIVE(_1XSetWindowBackgroundPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSetWindowBackgroundPixmap_FUNC);
-	XSetWindowBackgroundPixmap((Display *)arg0, (Window)arg1, (Pixmap)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSetWindowBackgroundPixmap_FUNC);
-}
-#endif
-
-#ifndef NO__1XShapeCombineMask
-JNIEXPORT void JNICALL OS_NATIVE(_1XShapeCombineMask)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XShapeCombineMask_FUNC);
-	XShapeCombineMask((Display *)arg0, (Window)arg1, arg2, arg3, arg4, (Pixmap)arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XShapeCombineMask_FUNC);
-}
-#endif
-
-#ifndef NO__1XShapeCombineRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XShapeCombineRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	OS_NATIVE_ENTER(env, that, _1XShapeCombineRegion_FUNC);
-	XShapeCombineRegion((Display *)arg0, (Window)arg1, arg2, arg3, arg4, (Region)arg5, arg6);
-	OS_NATIVE_EXIT(env, that, _1XShapeCombineRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XSubtractRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XSubtractRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XSubtractRegion_FUNC);
-	XSubtractRegion((Region)arg0, (Region)arg1, (Region)arg2);
-	OS_NATIVE_EXIT(env, that, _1XSubtractRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XSync
-JNIEXPORT void JNICALL OS_NATIVE(_1XSync)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XSync_FUNC);
-	XSync((Display *)arg0, (Bool)arg1);
-	OS_NATIVE_EXIT(env, that, _1XSync_FUNC);
-}
-#endif
-
-#ifndef NO__1XSynchronize
-JNIEXPORT jint JNICALL OS_NATIVE(_1XSynchronize)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XSynchronize_FUNC);
-	rc = (jint)XSynchronize((Display *)arg0, (Bool)arg1);
-	OS_NATIVE_EXIT(env, that, _1XSynchronize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XTestFakeButtonEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeButtonEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeButtonEvent_FUNC);
-	XTestFakeButtonEvent((Display *)arg0, arg1, (Bool)arg2, (unsigned long)arg3);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeButtonEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XTestFakeKeyEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeKeyEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeKeyEvent_FUNC);
-	XTestFakeKeyEvent((Display *)arg0, arg1, (Bool)arg2, (unsigned long)arg3);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeKeyEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XTestFakeMotionEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XTestFakeMotionEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1XTestFakeMotionEvent_FUNC);
-	XTestFakeMotionEvent((Display *)arg0, arg1, arg2, arg3, (unsigned long)arg4);
-	OS_NATIVE_EXIT(env, that, _1XTestFakeMotionEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XTranslateCoordinates
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XTranslateCoordinates)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5, jintArray arg6, jintArray arg7)
-{
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XTranslateCoordinates_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jboolean)XTranslateCoordinates((Display *)arg0, (Window)arg1, (Window)arg2, arg3, arg4, lparg5, lparg6, (Window *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, _1XTranslateCoordinates_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XUndefineCursor
-JNIEXPORT void JNICALL OS_NATIVE(_1XUndefineCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XUndefineCursor_FUNC);
-	XUndefineCursor((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XUndefineCursor_FUNC);
-}
-#endif
-
-#ifndef NO__1XUngrabKeyboard
-JNIEXPORT jint JNICALL OS_NATIVE(_1XUngrabKeyboard)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XUngrabKeyboard_FUNC);
-	rc = (jint)XUngrabKeyboard((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XUngrabKeyboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XUngrabPointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1XUngrabPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XUngrabPointer_FUNC);
-	rc = (jint)XUngrabPointer((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XUngrabPointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XUnionRectWithRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XUnionRectWithRegion)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XRectangle _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1XUnionRectWithRegion_FUNC);
-	if (arg0) if ((lparg0 = getXRectangleFields(env, arg0, &_arg0)) == NULL) goto fail;
-	XUnionRectWithRegion((XRectangle *)lparg0, (Region)arg1, (Region)arg2);
-fail:
-	if (arg0 && lparg0) setXRectangleFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, _1XUnionRectWithRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XUnionRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XUnionRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XUnionRegion_FUNC);
-	XUnionRegion((Region)arg0, (Region)arg1, (Region)arg2);
-	OS_NATIVE_EXIT(env, that, _1XUnionRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XUnmapWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XUnmapWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XUnmapWindow_FUNC);
-	XUnmapWindow((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XUnmapWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XWarpPointer
-JNIEXPORT jint JNICALL OS_NATIVE(_1XWarpPointer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XWarpPointer_FUNC);
-	rc = (jint)XWarpPointer((Display *)arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, _1XWarpPointer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XWhitePixel
-JNIEXPORT jint JNICALL OS_NATIVE(_1XWhitePixel)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XWhitePixel_FUNC);
-	rc = (jint)XWhitePixel((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XWhitePixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XWithdrawWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XWithdrawWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XWithdrawWindow_FUNC);
-	XWithdrawWindow((Display *)arg0, (Window)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XWithdrawWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XineramaIsActive
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XineramaIsActive)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XineramaIsActive_FUNC);
-	rc = (jboolean)XineramaIsActive((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XineramaIsActive_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XineramaQueryScreens
-JNIEXPORT jint JNICALL OS_NATIVE(_1XineramaQueryScreens)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XineramaQueryScreens_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XineramaQueryScreens((Display *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XineramaQueryScreens_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmAddWMProtocolCallback
-JNIEXPORT void JNICALL OS_NATIVE(_1XmAddWMProtocolCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XmAddWMProtocolCallback_FUNC);
-	XmAddWMProtocolCallback((Widget)arg0, (Atom)arg1, (XtCallbackProc)arg2, (XtPointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1XmAddWMProtocolCallback_FUNC);
-}
-#endif
-
-#ifndef NO__1XmChangeColor
-JNIEXPORT void JNICALL OS_NATIVE(_1XmChangeColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmChangeColor_FUNC);
-	XmChangeColor((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmChangeColor_FUNC);
-}
-#endif
-
-#ifndef NO__1XmClipboardCopy
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardCopy)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jbyteArray arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardCopy_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardCopy((Display *)arg0, (Window)arg1, arg2, (char *)lparg3, (char *)lparg4, arg5, arg6, (void *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardEndCopy
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardEndCopy)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardEndCopy_FUNC);
-	rc = (jint)XmClipboardEndCopy((Display *)arg0, (Window)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardEndCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardEndRetrieve
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardEndRetrieve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardEndRetrieve_FUNC);
-	rc = (jint)XmClipboardEndRetrieve((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardEndRetrieve_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardInquireCount
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardInquireCount)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardInquireCount_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardInquireCount((Display *)arg0, (Window)arg1, (int *)lparg2, (unsigned long *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardInquireCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardInquireFormat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardInquireFormat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4, jintArray arg5)
-{
-	jbyte *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardInquireFormat_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardInquireFormat((Display *)arg0, (Window)arg1, arg2, (char *)lparg3, arg4, (unsigned long *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardInquireFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardInquireLength
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardInquireLength)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jintArray arg3)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardInquireLength_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardInquireLength((Display *)arg0, (Window)arg1, (char *)lparg2, (unsigned long *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardInquireLength_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardRetrieve
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardRetrieve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jintArray arg5, jintArray arg6)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardRetrieve_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardRetrieve((Display *)arg0, (Window)arg1, (char *)lparg2, (char *)lparg3, arg4, (unsigned long *)lparg5, (long *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardRetrieve_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardStartCopy
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardStartCopy)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardStartCopy_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)XmClipboardStartCopy((Display *)arg0, (Window)arg1, (XmString)arg2, arg3, (Widget)arg4, (XmCutPasteProc)arg5, (long *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardStartCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmClipboardStartRetrieve
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmClipboardStartRetrieve)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmClipboardStartRetrieve_FUNC);
-	rc = (jint)XmClipboardStartRetrieve((Display *)arg0, (Window)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XmClipboardStartRetrieve_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmComboBoxAddItem
-JNIEXPORT void JNICALL OS_NATIVE(_1XmComboBoxAddItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XmComboBoxAddItem_FUNC);
-	XmComboBoxAddItem((Widget)arg0, (XmString)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XmComboBoxAddItem_FUNC);
-}
-#endif
-
-#ifndef NO__1XmComboBoxDeletePos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmComboBoxDeletePos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmComboBoxDeletePos_FUNC);
-	XmComboBoxDeletePos((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmComboBoxDeletePos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmComboBoxSelectItem
-JNIEXPORT void JNICALL OS_NATIVE(_1XmComboBoxSelectItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmComboBoxSelectItem_FUNC);
-	XmComboBoxSelectItem((Widget)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmComboBoxSelectItem_FUNC);
-}
-#endif
-
-#ifndef NO__1XmCreateArrowButton
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateArrowButton)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateArrowButton_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateArrowButton((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateArrowButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateCascadeButtonGadget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateCascadeButtonGadget)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateCascadeButtonGadget_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateCascadeButtonGadget((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateCascadeButtonGadget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateComboBox
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateComboBox)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateComboBox_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateComboBox((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateComboBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateDialogShell
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateDialogShell)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateDialogShell_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateDialogShell((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateDialogShell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateDrawingArea
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateDrawingArea)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateDrawingArea_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateDrawingArea((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateDrawingArea_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateDrawnButton
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateDrawnButton)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateDrawnButton_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateDrawnButton((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateDrawnButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateErrorDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateErrorDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateErrorDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateErrorDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateErrorDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateFileSelectionDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateFileSelectionDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateFileSelectionDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateFileSelectionDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateFileSelectionDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateForm
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateForm)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateForm_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateForm((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateForm_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateFrame
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateFrame)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateFrame_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateFrame((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateInformationDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateInformationDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateInformationDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateInformationDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateInformationDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateLabel
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateLabel)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateLabel_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateLabel((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateLabel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateList
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateList)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateList_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateList((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateMainWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateMainWindow)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateMainWindow_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateMainWindow((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateMainWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateMenuBar
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateMenuBar)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateMenuBar_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateMenuBar((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateMenuBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateMessageDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateMessageDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateMessageDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateMessageDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateMessageDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreatePopupMenu
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreatePopupMenu)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreatePopupMenu_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreatePopupMenu((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreatePopupMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreatePulldownMenu
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreatePulldownMenu)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreatePulldownMenu_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreatePulldownMenu((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreatePulldownMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreatePushButton
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreatePushButton)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreatePushButton_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreatePushButton((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreatePushButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreatePushButtonGadget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreatePushButtonGadget)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreatePushButtonGadget_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreatePushButtonGadget((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreatePushButtonGadget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateQuestionDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateQuestionDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateQuestionDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateQuestionDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateQuestionDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateScale
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateScale)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateScale_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateScale((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateScale_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateScrollBar
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateScrollBar)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateScrollBar_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateScrollBar((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateScrollBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateScrolledList
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateScrolledList)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateScrolledList_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateScrolledList((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateScrolledList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateScrolledText
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateScrolledText)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateScrolledText_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateScrolledText((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateScrolledText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateSeparator
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateSeparator)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateSeparator_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateSeparator((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateSeparator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateSeparatorGadget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateSeparatorGadget)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateSeparatorGadget_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateSeparatorGadget((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateSeparatorGadget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateSimpleSpinBox
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateSimpleSpinBox)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateSimpleSpinBox_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateSimpleSpinBox((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateSimpleSpinBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateTextField
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateTextField)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateTextField_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateTextField((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateTextField_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateToggleButton
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateToggleButton)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateToggleButton_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateToggleButton((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateToggleButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateToggleButtonGadget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateToggleButtonGadget)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateToggleButtonGadget_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateToggleButtonGadget((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateToggleButtonGadget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateWarningDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateWarningDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateWarningDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateWarningDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateWarningDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmCreateWorkingDialog
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmCreateWorkingDialog)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmCreateWorkingDialog_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmCreateWorkingDialog((Widget)arg0, (String)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmCreateWorkingDialog_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmDestroyPixmap
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmDestroyPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmDestroyPixmap_FUNC);
-	rc = (jboolean)XmDestroyPixmap((Screen *)arg0, (Pixmap)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmDestroyPixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmDragCancel
-JNIEXPORT void JNICALL OS_NATIVE(_1XmDragCancel)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmDragCancel_FUNC);
-	XmDragCancel((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmDragCancel_FUNC);
-}
-#endif
-
-#ifndef NO__1XmDragStart
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmDragStart)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmDragStart_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmDragStart((Widget)arg0, (XEvent *)arg1, (ArgList)lparg2, (Cardinal)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmDragStart_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmDropSiteRegister
-JNIEXPORT void JNICALL OS_NATIVE(_1XmDropSiteRegister)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmDropSiteRegister_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmDropSiteRegister((Widget)arg0, (ArgList)lparg1, (Cardinal)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmDropSiteRegister_FUNC);
-}
-#endif
-
-#ifndef NO__1XmDropSiteUnregister
-JNIEXPORT void JNICALL OS_NATIVE(_1XmDropSiteUnregister)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmDropSiteUnregister_FUNC);
-	XmDropSiteUnregister((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmDropSiteUnregister_FUNC);
-}
-#endif
-
-#ifndef NO__1XmDropSiteUpdate
-JNIEXPORT void JNICALL OS_NATIVE(_1XmDropSiteUpdate)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmDropSiteUpdate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmDropSiteUpdate((Widget)arg0, (ArgList)lparg1, (Cardinal)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmDropSiteUpdate_FUNC);
-}
-#endif
-
-#ifndef NO__1XmDropTransferAdd
-JNIEXPORT void JNICALL OS_NATIVE(_1XmDropTransferAdd)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmDropTransferAdd_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmDropTransferAdd((Widget)arg0, (XmDropTransferEntryRec *)lparg1, (Cardinal)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmDropTransferAdd_FUNC);
-}
-#endif
-
-#ifndef NO__1XmDropTransferStart
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmDropTransferStart)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmDropTransferStart_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmDropTransferStart((Widget)arg0, (ArgList)lparg1, (Cardinal)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmDropTransferStart_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFileSelectionBoxGetChild
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFileSelectionBoxGetChild)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFileSelectionBoxGetChild_FUNC);
-	rc = (jint)XmFileSelectionBoxGetChild((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmFileSelectionBoxGetChild_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListAppendEntry
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFontListAppendEntry)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListAppendEntry_FUNC);
-	rc = (jint)XmFontListAppendEntry((XmFontList)arg0, (XmFontListEntry)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmFontListAppendEntry_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListCopy
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFontListCopy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListCopy_FUNC);
-	rc = (jint)XmFontListCopy((XmFontList)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListEntryFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmFontListEntryFree)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmFontListEntryFree_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	XmFontListEntryFree((XmFontListEntry *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListEntryFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmFontListEntryGetFont
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFontListEntryGetFont)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListEntryGetFont_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmFontListEntryGetFont((XmFontListEntry)arg0, (XmFontType *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListEntryGetFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListEntryLoad
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFontListEntryLoad)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListEntryLoad_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XmFontListEntryLoad((Display *)arg0, (char *)lparg1, arg2, (char *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListEntryLoad_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmFontListFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmFontListFree_FUNC);
-	XmFontListFree((XmFontList)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmFontListFreeFontContext
-JNIEXPORT void JNICALL OS_NATIVE(_1XmFontListFreeFontContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmFontListFreeFontContext_FUNC);
-	XmFontListFreeFontContext((XmFontContext)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListFreeFontContext_FUNC);
-}
-#endif
-
-#ifndef NO__1XmFontListInitFontContext
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmFontListInitFontContext)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1)
-{
-	jint *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListInitFontContext_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)XmFontListInitFontContext((XmFontContext *)lparg0, (XmFontList)arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListInitFontContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmFontListNextEntry
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmFontListNextEntry)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmFontListNextEntry_FUNC);
-	rc = (jint)XmFontListNextEntry((XmFontContext)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmFontListNextEntry_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetAtomName
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetAtomName)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetAtomName_FUNC);
-	rc = (jint)XmGetAtomName((Display *)arg0, (Atom)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmGetAtomName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetDragContext
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetDragContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetDragContext_FUNC);
-	rc = (jint)XmGetDragContext((Widget)arg0, (Time)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmGetDragContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetFocusWidget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetFocusWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetFocusWidget_FUNC);
-	rc = (jint)XmGetFocusWidget((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmGetFocusWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetPixmap
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetPixmap)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetPixmap_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmGetPixmap((Screen *)arg0, (char *)lparg1, (Pixel)arg2, (Pixel)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmGetPixmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetPixmapByDepth
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetPixmapByDepth)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jint arg4)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetPixmapByDepth_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmGetPixmapByDepth((Screen *)arg0, (char *)lparg1, arg2, arg3, arg4);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmGetPixmapByDepth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmGetXmDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmGetXmDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmGetXmDisplay_FUNC);
-	rc = (jint)XmGetXmDisplay((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmGetXmDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmImMbLookupString
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmImMbLookupString)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2, jint arg3, jintArray arg4, jintArray arg5)
-{
-	XKeyEvent _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmImMbLookupString_FUNC);
-	if (arg1) if ((lparg1 = getXKeyEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)XmImMbLookupString((Widget)arg0, (XKeyPressedEvent *)lparg1, (char *)lparg2, arg3, (KeySym *)lparg4, (int *)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setXKeyEventFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1XmImMbLookupString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmImRegister
-JNIEXPORT void JNICALL OS_NATIVE(_1XmImRegister)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmImRegister_FUNC);
-	XmImRegister((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmImRegister_FUNC);
-}
-#endif
-
-#ifndef NO__1XmImSetFocusValues
-JNIEXPORT void JNICALL OS_NATIVE(_1XmImSetFocusValues)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmImSetFocusValues_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmImSetFocusValues((Widget)arg0, (ArgList)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmImSetFocusValues_FUNC);
-}
-#endif
-
-#ifndef NO__1XmImSetValues
-JNIEXPORT void JNICALL OS_NATIVE(_1XmImSetValues)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmImSetValues_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmImSetValues((Widget)arg0, (ArgList)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmImSetValues_FUNC);
-}
-#endif
-
-#ifndef NO__1XmImUnregister
-JNIEXPORT void JNICALL OS_NATIVE(_1XmImUnregister)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmImUnregister_FUNC);
-	XmImUnregister((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmImUnregister_FUNC);
-}
-#endif
-
-#ifndef NO__1XmImUnsetFocus
-JNIEXPORT void JNICALL OS_NATIVE(_1XmImUnsetFocus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmImUnsetFocus_FUNC);
-	XmImUnsetFocus((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmImUnsetFocus_FUNC);
-}
-#endif
-
-#ifndef NO__1XmInternAtom
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmInternAtom)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jboolean arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmInternAtom_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmInternAtom((Display *)arg0, (String)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmInternAtom_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListAddItemUnselected
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListAddItemUnselected)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListAddItemUnselected_FUNC);
-	XmListAddItemUnselected((Widget)arg0, (XmString)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XmListAddItemUnselected_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeleteAllItems
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeleteAllItems)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListDeleteAllItems_FUNC);
-	XmListDeleteAllItems((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmListDeleteAllItems_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeleteItemsPos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeleteItemsPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListDeleteItemsPos_FUNC);
-	XmListDeleteItemsPos((Widget)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XmListDeleteItemsPos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeletePos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeletePos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListDeletePos_FUNC);
-	XmListDeletePos((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListDeletePos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeletePositions
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeletePositions)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmListDeletePositions_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmListDeletePositions((Widget)arg0, (int *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmListDeletePositions_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeselectAllItems
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeselectAllItems)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListDeselectAllItems_FUNC);
-	XmListDeselectAllItems((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmListDeselectAllItems_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListDeselectPos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListDeselectPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListDeselectPos_FUNC);
-	XmListDeselectPos((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListDeselectPos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListGetKbdItemPos
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmListGetKbdItemPos)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmListGetKbdItemPos_FUNC);
-	rc = (jint)XmListGetKbdItemPos((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmListGetKbdItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListGetSelectedPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmListGetSelectedPos)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmListGetSelectedPos_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)XmListGetSelectedPos((Widget)arg0, (int **)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmListGetSelectedPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListItemPos
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmListItemPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmListItemPos_FUNC);
-	rc = (jint)XmListItemPos((Widget)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListPosSelected
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmListPosSelected)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmListPosSelected_FUNC);
-	rc = (jboolean)XmListPosSelected((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListPosSelected_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListReplaceItemsPosUnselected
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListReplaceItemsPosUnselected)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmListReplaceItemsPosUnselected_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmListReplaceItemsPosUnselected((Widget)arg0, (XmString *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmListReplaceItemsPosUnselected_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListSelectPos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListSelectPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListSelectPos_FUNC);
-	XmListSelectPos((Widget)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XmListSelectPos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListSetKbdItemPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmListSetKbdItemPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmListSetKbdItemPos_FUNC);
-	rc = (jboolean)XmListSetKbdItemPos((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListSetKbdItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmListSetPos
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListSetPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListSetPos_FUNC);
-	XmListSetPos((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmListSetPos_FUNC);
-}
-#endif
-
-#ifndef NO__1XmListUpdateSelectedList
-JNIEXPORT void JNICALL OS_NATIVE(_1XmListUpdateSelectedList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmListUpdateSelectedList_FUNC);
-	XmListUpdateSelectedList((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmListUpdateSelectedList_FUNC);
-}
-#endif
-
-#ifndef NO__1XmMainWindowSetAreas
-JNIEXPORT void JNICALL OS_NATIVE(_1XmMainWindowSetAreas)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1XmMainWindowSetAreas_FUNC);
-	XmMainWindowSetAreas((Widget)arg0, (Widget)arg1, (Widget)arg2, (Widget)arg3, (Widget)arg4, (Widget)arg5);
-	OS_NATIVE_EXIT(env, that, _1XmMainWindowSetAreas_FUNC);
-}
-#endif
-
-#ifndef NO__1XmMessageBoxGetChild
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmMessageBoxGetChild)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmMessageBoxGetChild_FUNC);
-	rc = (jint)XmMessageBoxGetChild((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmMessageBoxGetChild_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmParseMappingCreate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmParseMappingCreate)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmParseMappingCreate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)XmParseMappingCreate((ArgList)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmParseMappingCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmParseMappingFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmParseMappingFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmParseMappingFree_FUNC);
-	XmParseMappingFree((XmParseMapping)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmParseMappingFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmProcessTraversal
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmProcessTraversal)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmProcessTraversal_FUNC);
-	rc = (jboolean)XmProcessTraversal((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmProcessTraversal_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmRenderTableAddRenditions
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmRenderTableAddRenditions)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmRenderTableAddRenditions_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmRenderTableAddRenditions((XmRenderTable)arg0, (XmRendition *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmRenderTableAddRenditions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmRenderTableFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmRenderTableFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmRenderTableFree_FUNC);
-	XmRenderTableFree((XmRenderTable)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmRenderTableFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmRenditionCreate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmRenditionCreate)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmRenditionCreate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmRenditionCreate((Widget)arg0, (XmStringTag)lparg1, (ArgList)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmRenditionCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmRenditionFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmRenditionFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmRenditionFree_FUNC);
-	XmRenditionFree((XmRendition)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmRenditionFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringBaseline
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringBaseline)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringBaseline_FUNC);
-	rc = (jint)XmStringBaseline((XmRenderTable)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmStringBaseline_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringCompare
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmStringCompare)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringCompare_FUNC);
-	rc = (jboolean)XmStringCompare((XmString)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmStringCompare_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringComponentCreate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringComponentCreate)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringComponentCreate_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringComponentCreate(arg0, arg1, (XtPointer)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringComponentCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringConcat
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringConcat)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringConcat_FUNC);
-	rc = (jint)XmStringConcat((XmString)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmStringConcat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringCreate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringCreate)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringCreate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringCreate((char *)lparg0, (char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringCreateLocalized
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringCreateLocalized)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringCreateLocalized_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringCreateLocalized((char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringCreateLocalized_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringDraw
-JNIEXPORT void JNICALL OS_NATIVE(_1XmStringDraw)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jobject arg10)
-{
-	XRectangle _arg10, *lparg10=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmStringDraw_FUNC);
-	if (arg10) if ((lparg10 = getXRectangleFields(env, arg10, &_arg10)) == NULL) goto fail;
-	XmStringDraw((Display *)arg0, (Window)arg1, (XmFontList)arg2, (XmString)arg3, (GC)arg4, arg5, arg6, arg7, arg8, arg9, lparg10);
-fail:
-	if (arg10 && lparg10) setXRectangleFields(env, arg10, lparg10);
-	OS_NATIVE_EXIT(env, that, _1XmStringDraw_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringDrawImage
-JNIEXPORT void JNICALL OS_NATIVE(_1XmStringDrawImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jobject arg10)
-{
-	XRectangle _arg10, *lparg10=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmStringDrawImage_FUNC);
-	if (arg10) if ((lparg10 = getXRectangleFields(env, arg10, &_arg10)) == NULL) goto fail;
-	XmStringDrawImage((Display *)arg0, (Window)arg1, (XmFontList)arg2, (XmString)arg3, (GC)arg4, arg5, arg6, arg7, arg8, arg9, lparg10);
-fail:
-	if (arg10 && lparg10) setXRectangleFields(env, arg10, lparg10);
-	OS_NATIVE_EXIT(env, that, _1XmStringDrawImage_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringDrawUnderline
-JNIEXPORT void JNICALL OS_NATIVE(_1XmStringDrawUnderline)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jobject arg10, jint arg11)
-{
-	XRectangle _arg10, *lparg10=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmStringDrawUnderline_FUNC);
-	if (arg10) if ((lparg10 = getXRectangleFields(env, arg10, &_arg10)) == NULL) goto fail;
-	XmStringDrawUnderline((Display *)arg0, (Window)arg1, (XmFontList)arg2, (XmString)arg3, (GC)arg4, arg5, arg6, arg7, arg8, arg9, lparg10, (XmString)arg11);
-fail:
-	if (arg10 && lparg10) setXRectangleFields(env, arg10, lparg10);
-	OS_NATIVE_EXIT(env, that, _1XmStringDrawUnderline_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringEmpty
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmStringEmpty)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringEmpty_FUNC);
-	rc = (jboolean)XmStringEmpty((XmString)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmStringEmpty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringExtent
-JNIEXPORT void JNICALL OS_NATIVE(_1XmStringExtent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2, jshortArray arg3)
-{
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmStringExtent_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	XmStringExtent((XmRenderTable)arg0, (XmString)arg1, (Dimension *)lparg2, (Dimension *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringExtent_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmStringFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmStringFree_FUNC);
-	XmStringFree((XmString)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmStringFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmStringGenerate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringGenerate)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringGenerate_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringGenerate((XtPointer)lparg0, (XmStringTag)lparg1, arg2, (XmStringTag)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringGenerate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringHeight
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringHeight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringHeight_FUNC);
-	rc = (jint)XmStringHeight((XmFontList)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmStringHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringParseText
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringParseText)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jbyteArray arg2, jint arg3, jintArray arg4, jint arg5, jint arg6)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringParseText_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringParseText((XtPointer)lparg0, (XtPointer *)arg1, (XmStringTag)lparg2, arg3, (XmParseTable)lparg4, arg5, (XtPointer)arg6);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringParseText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringUnparse
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringUnparse)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jintArray arg4, jint arg5, jint arg6)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringUnparse_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XmStringUnparse((XmString)arg0, (XmStringTag)lparg1, arg2, arg3, (XmParseTable)lparg4, arg5, arg6);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmStringUnparse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmStringWidth
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmStringWidth)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmStringWidth_FUNC);
-	rc = (jint)XmStringWidth((XmFontList)arg0, (XmString)arg1);
-	OS_NATIVE_EXIT(env, that, _1XmStringWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTabCreate
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTabCreate)
-	(JNIEnv *env, jclass that, jint arg0, jbyte arg1, jbyte arg2, jbyte arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTabCreate_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XmTabCreate(arg0, arg1, arg2, arg3, (char *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTabCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTabFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTabFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTabFree_FUNC);
-	XmTabFree((XmTab)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTabFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTabListFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTabListFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTabListFree_FUNC);
-	XmTabListFree((XmTabList)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTabListFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTabListInsertTabs
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTabListInsertTabs)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTabListInsertTabs_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XmTabListInsertTabs((XmTabList)arg0, (XmTab *)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTabListInsertTabs_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextClearSelection
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextClearSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextClearSelection_FUNC);
-	XmTextClearSelection((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextClearSelection_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextCopy
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextCopy)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextCopy_FUNC);
-	rc = (jboolean)XmTextCopy((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextCut
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextCut)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextCut_FUNC);
-	rc = (jboolean)XmTextCut((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextCut_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextDisableRedisplay
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextDisableRedisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextDisableRedisplay_FUNC);
-	XmTextDisableRedisplay((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextDisableRedisplay_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextEnableRedisplay
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextEnableRedisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextEnableRedisplay_FUNC);
-	XmTextEnableRedisplay((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextEnableRedisplay_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextFieldPaste
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextFieldPaste)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextFieldPaste_FUNC);
-	rc = (jboolean)XmTextFieldPaste((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextFieldPaste_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetInsertionPosition
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetInsertionPosition)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetInsertionPosition_FUNC);
-	rc = (jint)XmTextGetInsertionPosition((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetInsertionPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetLastPosition
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetLastPosition)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetLastPosition_FUNC);
-	rc = (jint)XmTextGetLastPosition((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetLastPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetMaxLength
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetMaxLength)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetMaxLength_FUNC);
-	rc = (jint)XmTextGetMaxLength((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetMaxLength_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetSelection
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetSelection)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetSelection_FUNC);
-	rc = (jint)XmTextGetSelection((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetSelectionPosition
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextGetSelectionPosition)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetSelectionPosition_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)XmTextGetSelectionPosition((Widget)arg0, (XmTextPosition *)lparg1, (XmTextPosition *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetSelectionPosition_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetString
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetString_FUNC);
-	rc = (jint)XmTextGetString((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetSubstring
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetSubstring)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetSubstring_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XmTextGetSubstring((Widget)arg0, arg1, arg2, arg3, (char *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetSubstring_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextGetSubstringWcs
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextGetSubstringWcs)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextGetSubstringWcs_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XmTextGetSubstringWcs((Widget)arg0, (XmTextPosition)arg1, arg2, arg3, (wchar_t *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextGetSubstringWcs_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextInsert
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextInsert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmTextInsert_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	XmTextInsert((Widget)arg0, arg1, (char *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextInsert_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextPaste
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextPaste)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextPaste_FUNC);
-	rc = (jboolean)XmTextPaste((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmTextPaste_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextPosToXY
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmTextPosToXY)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2, jshortArray arg3)
-{
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextPosToXY_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jboolean)XmTextPosToXY((Widget)arg0, (XmTextPosition)arg1, (Position *)lparg2, (Position *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextPosToXY_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmTextReplace
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextReplace)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmTextReplace_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	XmTextReplace((Widget)arg0, arg1, arg2, (char *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextReplace_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextScroll
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextScroll)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextScroll_FUNC);
-	XmTextScroll((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextScroll_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetEditable
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetEditable)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextSetEditable_FUNC);
-	XmTextSetEditable((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetEditable_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetHighlight
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetHighlight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextSetHighlight_FUNC);
-	XmTextSetHighlight((Widget)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetHighlight_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetInsertionPosition
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetInsertionPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextSetInsertionPosition_FUNC);
-	XmTextSetInsertionPosition((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetInsertionPosition_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetMaxLength
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetMaxLength)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextSetMaxLength_FUNC);
-	XmTextSetMaxLength((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetMaxLength_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetSelection
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextSetSelection_FUNC);
-	XmTextSetSelection((Widget)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetSelection_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextSetString
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextSetString)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XmTextSetString_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XmTextSetString((Widget)arg0, (char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XmTextSetString_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextShowPosition
-JNIEXPORT void JNICALL OS_NATIVE(_1XmTextShowPosition)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XmTextShowPosition_FUNC);
-	XmTextShowPosition((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XmTextShowPosition_FUNC);
-}
-#endif
-
-#ifndef NO__1XmTextXYToPos
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmTextXYToPos)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmTextXYToPos_FUNC);
-	rc = (jint)XmTextXYToPos((Widget)arg0, (Position)arg1, (Position)arg2);
-	OS_NATIVE_EXIT(env, that, _1XmTextXYToPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmUpdateDisplay
-JNIEXPORT void JNICALL OS_NATIVE(_1XmUpdateDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XmUpdateDisplay_FUNC);
-	XmUpdateDisplay((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XmUpdateDisplay_FUNC);
-}
-#endif
-
-#ifndef NO__1XmWidgetGetDisplayRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XmWidgetGetDisplayRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	XRectangle _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmWidgetGetDisplayRect_FUNC);
-	if (arg1) if ((lparg1 = getXRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)XmWidgetGetDisplayRect((Widget)arg0, (XRectangle *)lparg1);
-fail:
-	if (arg1 && lparg1) setXRectangleFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1XmWidgetGetDisplayRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmbTextListToTextProperty
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmbTextListToTextProperty)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	XTextProperty _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmbTextListToTextProperty_FUNC);
-	if (arg4) if ((lparg4 = getXTextPropertyFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)XmbTextListToTextProperty((Display *)arg0, (char **)arg1, arg2, (XICCEncodingStyle)arg3, lparg4);
-fail:
-	if (arg4 && lparg4) setXTextPropertyFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, _1XmbTextListToTextProperty_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XmbTextPropertyToTextList
-JNIEXPORT jint JNICALL OS_NATIVE(_1XmbTextPropertyToTextList)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jintArray arg2, jintArray arg3)
-{
-	XTextProperty _arg1, *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XmbTextPropertyToTextList_FUNC);
-	if (arg1) if ((lparg1 = getXTextPropertyFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XmbTextPropertyToTextList((Display *)arg0, lparg1, (char ***)lparg2, (int *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setXTextPropertyFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1XmbTextPropertyToTextList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpCancelJob
-JNIEXPORT void JNICALL OS_NATIVE(_1XpCancelJob)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XpCancelJob_FUNC);
-	XpCancelJob((Display *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XpCancelJob_FUNC);
-}
-#endif
-
-#ifndef NO__1XpCreateContext
-JNIEXPORT jint JNICALL OS_NATIVE(_1XpCreateContext)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XpCreateContext_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XpCreateContext((Display *)arg0, (char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XpCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpDestroyContext
-JNIEXPORT void JNICALL OS_NATIVE(_1XpDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XpDestroyContext_FUNC);
-	XpDestroyContext((Display *)arg0, (XPContext)arg1);
-	OS_NATIVE_EXIT(env, that, _1XpDestroyContext_FUNC);
-}
-#endif
-
-#ifndef NO__1XpEndJob
-JNIEXPORT void JNICALL OS_NATIVE(_1XpEndJob)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XpEndJob_FUNC);
-	XpEndJob((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XpEndJob_FUNC);
-}
-#endif
-
-#ifndef NO__1XpEndPage
-JNIEXPORT void JNICALL OS_NATIVE(_1XpEndPage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XpEndPage_FUNC);
-	XpEndPage((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XpEndPage_FUNC);
-}
-#endif
-
-#ifndef NO__1XpFreePrinterList
-JNIEXPORT void JNICALL OS_NATIVE(_1XpFreePrinterList)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XpFreePrinterList_FUNC);
-	XpFreePrinterList((XPPrinterList)arg0);
-	OS_NATIVE_EXIT(env, that, _1XpFreePrinterList_FUNC);
-}
-#endif
-
-#ifndef NO__1XpGetOneAttribute
-JNIEXPORT jint JNICALL OS_NATIVE(_1XpGetOneAttribute)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyte arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XpGetOneAttribute_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XpGetOneAttribute((Display *)arg0, (XPContext)arg1, (XPAttributes)arg2, (char *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XpGetOneAttribute_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpGetPageDimensions
-JNIEXPORT jint JNICALL OS_NATIVE(_1XpGetPageDimensions)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2, jshortArray arg3, jobject arg4)
-{
-	jshort *lparg2=NULL;
-	jshort *lparg3=NULL;
-	XRectangle _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XpGetPageDimensions_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getXRectangleFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)XpGetPageDimensions((Display *)arg0, (XPContext)arg1, (unsigned short *)lparg2, (unsigned short *)lparg3, (XRectangle *)lparg4);
-fail:
-	if (arg4 && lparg4) setXRectangleFields(env, arg4, lparg4);
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, _1XpGetPageDimensions_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpGetPrinterList
-JNIEXPORT jint JNICALL OS_NATIVE(_1XpGetPrinterList)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XpGetPrinterList_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)XpGetPrinterList((Display *)arg0, (char *)lparg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XpGetPrinterList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpGetScreenOfContext
-JNIEXPORT jint JNICALL OS_NATIVE(_1XpGetScreenOfContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XpGetScreenOfContext_FUNC);
-	rc = (jint)XpGetScreenOfContext((Display *)arg0, (XPContext)arg1);
-	OS_NATIVE_EXIT(env, that, _1XpGetScreenOfContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XpSetAttributes
-JNIEXPORT void JNICALL OS_NATIVE(_1XpSetAttributes)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyte arg2, jbyteArray arg3, jbyte arg4)
-{
-	jbyte *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XpSetAttributes_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	XpSetAttributes((Display *)arg0, (XPContext)arg1, (XPAttributes)arg2, (char *)lparg3, (XPAttrReplacement)arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XpSetAttributes_FUNC);
-}
-#endif
-
-#ifndef NO__1XpSetContext
-JNIEXPORT void JNICALL OS_NATIVE(_1XpSetContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XpSetContext_FUNC);
-	XpSetContext((Display *)arg0, (XPContext)arg1);
-	OS_NATIVE_EXIT(env, that, _1XpSetContext_FUNC);
-}
-#endif
-
-#ifndef NO__1XpStartJob
-JNIEXPORT void JNICALL OS_NATIVE(_1XpStartJob)
-	(JNIEnv *env, jclass that, jint arg0, jbyte arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XpStartJob_FUNC);
-	XpStartJob((Display *)arg0, (XPSaveData)arg1);
-	OS_NATIVE_EXIT(env, that, _1XpStartJob_FUNC);
-}
-#endif
-
-#ifndef NO__1XpStartPage
-JNIEXPORT void JNICALL OS_NATIVE(_1XpStartPage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XpStartPage_FUNC);
-	XpStartPage((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XpStartPage_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAddCallback
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAddCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAddCallback_FUNC);
-	XtAddCallback((Widget)arg0, (String)arg1, (XtCallbackProc)arg2, (XtPointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1XtAddCallback_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAddEventHandler
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAddEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAddEventHandler_FUNC);
-	XtAddEventHandler((Widget)arg0, arg1, arg2, (XtEventHandler)arg3, (XtPointer)arg4);
-	OS_NATIVE_EXIT(env, that, _1XtAddEventHandler_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAddExposureToRegion
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAddExposureToRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAddExposureToRegion_FUNC);
-	XtAddExposureToRegion((XEvent *)arg0, (Region)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAddExposureToRegion_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppAddInput
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppAddInput)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppAddInput_FUNC);
-	rc = (jint)XtAppAddInput((XtAppContext)arg0, arg1, (XtPointer)arg2, (XtInputCallbackProc)arg3, (XtPointer)arg4);
-	OS_NATIVE_EXIT(env, that, _1XtAppAddInput_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppAddTimeOut
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppAddTimeOut)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppAddTimeOut_FUNC);
-	rc = (jint)XtAppAddTimeOut((XtAppContext)arg0, arg1, (XtTimerCallbackProc)arg2, (XtPointer)arg3);
-	OS_NATIVE_EXIT(env, that, _1XtAppAddTimeOut_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppCreateShell
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppCreateShell)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jint arg2, jint arg3, jintArray arg4, jint arg5)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppCreateShell_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XtAppCreateShell((String)lparg0, (String)lparg1, (WidgetClass)arg2, (Display *)arg3, (ArgList)lparg4, arg5);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XtAppCreateShell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppGetSelectionTimeout
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppGetSelectionTimeout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppGetSelectionTimeout_FUNC);
-	rc = (jint)XtAppGetSelectionTimeout((XtAppContext)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtAppGetSelectionTimeout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppNextEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAppNextEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAppNextEvent_FUNC);
-	XtAppNextEvent((XtAppContext)arg0, (XEvent *)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppNextEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppPeekEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtAppPeekEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppPeekEvent_FUNC);
-	rc = (jboolean)XtAppPeekEvent((XtAppContext)arg0, (XEvent *)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppPeekEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppPending
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppPending)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppPending_FUNC);
-	rc = (jint)XtAppPending((XtAppContext)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtAppPending_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppProcessEvent
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAppProcessEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAppProcessEvent_FUNC);
-	XtAppProcessEvent((XtAppContext)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppProcessEvent_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppSetErrorHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppSetErrorHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppSetErrorHandler_FUNC);
-	rc = (jint)XtAppSetErrorHandler((XtAppContext)arg0, (XtErrorHandler)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppSetErrorHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtAppSetFallbackResources
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAppSetFallbackResources)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAppSetFallbackResources_FUNC);
-	XtAppSetFallbackResources((XtAppContext)arg0, (String *)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppSetFallbackResources_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppSetSelectionTimeout
-JNIEXPORT void JNICALL OS_NATIVE(_1XtAppSetSelectionTimeout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtAppSetSelectionTimeout_FUNC);
-	XtAppSetSelectionTimeout((XtAppContext)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppSetSelectionTimeout_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppSetWarningHandler
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtAppSetWarningHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtAppSetWarningHandler_FUNC);
-	rc = (jint)XtAppSetWarningHandler((XtAppContext)arg0, (XtErrorHandler)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtAppSetWarningHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtBuildEventMask
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtBuildEventMask)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtBuildEventMask_FUNC);
-	rc = (jint)XtBuildEventMask((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtBuildEventMask_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtCallActionProc
-JNIEXPORT void JNICALL OS_NATIVE(_1XtCallActionProc)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	OS_NATIVE_ENTER(env, that, _1XtCallActionProc_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	XtCallActionProc((Widget)arg0, (String)lparg1, (XEvent *)arg2, (String *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XtCallActionProc_FUNC);
-}
-#endif
-
-#ifndef NO__1XtClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtClass)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtClass_FUNC);
-	rc = (jint)XtClass((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtConfigureWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtConfigureWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1XtConfigureWidget_FUNC);
-	XtConfigureWidget((Widget)arg0, arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, _1XtConfigureWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtCreateApplicationContext
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtCreateApplicationContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtCreateApplicationContext_FUNC);
-	rc = (jint)XtCreateApplicationContext();
-	OS_NATIVE_EXIT(env, that, _1XtCreateApplicationContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtCreatePopupShell
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtCreatePopupShell)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtCreatePopupShell_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)XtCreatePopupShell((String)lparg0, (WidgetClass)arg1, (Widget)arg2, (ArgList)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XtCreatePopupShell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtDestroyApplicationContext
-JNIEXPORT void JNICALL OS_NATIVE(_1XtDestroyApplicationContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtDestroyApplicationContext_FUNC);
-	XtDestroyApplicationContext((XtAppContext)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtDestroyApplicationContext_FUNC);
-}
-#endif
-
-#ifndef NO__1XtDestroyWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtDestroyWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtDestroyWidget_FUNC);
-	XtDestroyWidget((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtDestroyWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtDisownSelection
-JNIEXPORT void JNICALL OS_NATIVE(_1XtDisownSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XtDisownSelection_FUNC);
-	XtDisownSelection((Widget)arg0, (Atom)arg1, (Time)arg2);
-	OS_NATIVE_EXIT(env, that, _1XtDisownSelection_FUNC);
-}
-#endif
-
-#ifndef NO__1XtDispatchEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtDispatchEvent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtDispatchEvent_FUNC);
-	rc = (jboolean)XtDispatchEvent((XEvent *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtDispatchEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtDisplay)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtDisplay_FUNC);
-	rc = (jint)XtDisplay((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtDisplayToApplicationContext
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtDisplayToApplicationContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtDisplayToApplicationContext_FUNC);
-	rc = (jint)XtDisplayToApplicationContext((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtDisplayToApplicationContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtFree
-JNIEXPORT void JNICALL OS_NATIVE(_1XtFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtFree_FUNC);
-	XtFree((char *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtFree_FUNC);
-}
-#endif
-
-#ifndef NO__1XtGetMultiClickTime
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtGetMultiClickTime)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtGetMultiClickTime_FUNC);
-	rc = (jint)XtGetMultiClickTime((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtGetMultiClickTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtGetSelectionValue
-JNIEXPORT void JNICALL OS_NATIVE(_1XtGetSelectionValue)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1XtGetSelectionValue_FUNC);
-	XtGetSelectionValue((Widget)arg0, (Atom)arg1, (Atom)arg2, (XtSelectionCallbackProc)arg3, (XtPointer)arg4, (Time)arg5);
-	OS_NATIVE_EXIT(env, that, _1XtGetSelectionValue_FUNC);
-}
-#endif
-
-#ifndef NO__1XtInsertEventHandler
-JNIEXPORT void JNICALL OS_NATIVE(_1XtInsertEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, _1XtInsertEventHandler_FUNC);
-	XtInsertEventHandler((Widget)arg0, (EventMask)arg1, (Boolean)arg2, (XtEventHandler)arg3, (XtPointer)arg4, (XtListPosition)arg5);
-	OS_NATIVE_EXIT(env, that, _1XtInsertEventHandler_FUNC);
-}
-#endif
-
-#ifndef NO__1XtIsManaged
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtIsManaged)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtIsManaged_FUNC);
-	rc = (jboolean)XtIsManaged((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtIsManaged_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtIsRealized
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtIsRealized)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtIsRealized_FUNC);
-	rc = (jboolean)XtIsRealized((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtIsRealized_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtIsSubclass
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtIsSubclass)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtIsSubclass_FUNC);
-	rc = (jboolean)XtIsSubclass((Widget)arg0, (WidgetClass)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtIsSubclass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtIsTopLevelShell
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtIsTopLevelShell)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtIsTopLevelShell_FUNC);
-	rc = (jboolean)XtIsTopLevelShell((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtIsTopLevelShell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtLastTimestampProcessed
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtLastTimestampProcessed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtLastTimestampProcessed_FUNC);
-	rc = (jint)XtLastTimestampProcessed((Display *)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtLastTimestampProcessed_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtMalloc
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtMalloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtMalloc_FUNC);
-	rc = (jint)XtMalloc(arg0);
-	OS_NATIVE_EXIT(env, that, _1XtMalloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtManageChild
-JNIEXPORT void JNICALL OS_NATIVE(_1XtManageChild)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtManageChild_FUNC);
-	XtManageChild((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtManageChild_FUNC);
-}
-#endif
-
-#ifndef NO__1XtMapWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtMapWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtMapWidget_FUNC);
-	XtMapWidget((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtMapWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtMoveWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtMoveWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XtMoveWidget_FUNC);
-	XtMoveWidget((Widget)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, _1XtMoveWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtNameToWidget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtNameToWidget)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtNameToWidget_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)XtNameToWidget((Widget)arg0, (String)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XtNameToWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtOpenDisplay
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtOpenDisplay)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jint arg5, jintArray arg6, jint arg7)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtOpenDisplay_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)XtOpenDisplay((XtAppContext)arg0, (String)lparg1, (String)lparg2, (String)lparg3, (XrmOptionDescRec *)arg4, arg5, (int *)lparg6, (char **)arg7);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XtOpenDisplay_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtOverrideTranslations
-JNIEXPORT void JNICALL OS_NATIVE(_1XtOverrideTranslations)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtOverrideTranslations_FUNC);
-	XtOverrideTranslations((Widget)arg0, (XtTranslations)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtOverrideTranslations_FUNC);
-}
-#endif
-
-#ifndef NO__1XtOwnSelection
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtOwnSelection)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtOwnSelection_FUNC);
-	rc = (jboolean)XtOwnSelection((Widget)arg0, (Atom)arg1, (Time)arg2, (XtConvertSelectionProc)arg3, (XtLoseSelectionProc)arg4, (XtSelectionDoneProc)arg5);
-	OS_NATIVE_EXIT(env, that, _1XtOwnSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtParent
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtParent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtParent_FUNC);
-	rc = (jint)XtParent((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtParseTranslationTable
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtParseTranslationTable)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtParseTranslationTable_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)XtParseTranslationTable((String)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1XtParseTranslationTable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtPopdown
-JNIEXPORT void JNICALL OS_NATIVE(_1XtPopdown)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtPopdown_FUNC);
-	XtPopdown((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtPopdown_FUNC);
-}
-#endif
-
-#ifndef NO__1XtPopup
-JNIEXPORT void JNICALL OS_NATIVE(_1XtPopup)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtPopup_FUNC);
-	XtPopup((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XtPopup_FUNC);
-}
-#endif
-
-#ifndef NO__1XtQueryGeometry
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtQueryGeometry)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	XtWidgetGeometry _arg1, *lparg1=NULL;
-	XtWidgetGeometry _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtQueryGeometry_FUNC);
-	if (arg1) if ((lparg1 = getXtWidgetGeometryFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getXtWidgetGeometryFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)XtQueryGeometry((Widget)arg0, (XtWidgetGeometry *)lparg1, (XtWidgetGeometry *)lparg2);
-fail:
-	if (arg2 && lparg2) setXtWidgetGeometryFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setXtWidgetGeometryFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, _1XtQueryGeometry_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtRealizeWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtRealizeWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtRealizeWidget_FUNC);
-	XtRealizeWidget((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtRealizeWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtRegisterDrawable
-JNIEXPORT void JNICALL OS_NATIVE(_1XtRegisterDrawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, _1XtRegisterDrawable_FUNC);
-	XtRegisterDrawable((Display *)arg0, (Drawable)arg1, (Widget)arg2);
-	OS_NATIVE_EXIT(env, that, _1XtRegisterDrawable_FUNC);
-}
-#endif
-
-#ifndef NO__1XtRemoveEventHandler
-JNIEXPORT void JNICALL OS_NATIVE(_1XtRemoveEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jint arg3, jint arg4)
-{
-	OS_NATIVE_ENTER(env, that, _1XtRemoveEventHandler_FUNC);
-	XtRemoveEventHandler((Widget)arg0, arg1, arg2, (XtEventHandler)arg3, (XtPointer)arg4);
-	OS_NATIVE_EXIT(env, that, _1XtRemoveEventHandler_FUNC);
-}
-#endif
-
-#ifndef NO__1XtRemoveInput
-JNIEXPORT void JNICALL OS_NATIVE(_1XtRemoveInput)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtRemoveInput_FUNC);
-	XtRemoveInput((XtInputId)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtRemoveInput_FUNC);
-}
-#endif
-
-#ifndef NO__1XtRemoveTimeOut
-JNIEXPORT void JNICALL OS_NATIVE(_1XtRemoveTimeOut)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtRemoveTimeOut_FUNC);
-	XtRemoveTimeOut(arg0);
-	OS_NATIVE_EXIT(env, that, _1XtRemoveTimeOut_FUNC);
-}
-#endif
-
-#ifndef NO__1XtResizeWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtResizeWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, _1XtResizeWidget_FUNC);
-	XtResizeWidget((Widget)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, _1XtResizeWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtResizeWindow
-JNIEXPORT void JNICALL OS_NATIVE(_1XtResizeWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtResizeWindow_FUNC);
-	XtResizeWindow((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtResizeWindow_FUNC);
-}
-#endif
-
-#ifndef NO__1XtSetLanguageProc
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtSetLanguageProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtSetLanguageProc_FUNC);
-	rc = (jint)XtSetLanguageProc((XtAppContext)arg0, (XtLanguageProc)arg1, (XtPointer)arg2);
-	OS_NATIVE_EXIT(env, that, _1XtSetLanguageProc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtSetMappedWhenManaged
-JNIEXPORT void JNICALL OS_NATIVE(_1XtSetMappedWhenManaged)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtSetMappedWhenManaged_FUNC);
-	XtSetMappedWhenManaged((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1XtSetMappedWhenManaged_FUNC);
-}
-#endif
-
-#ifndef NO__1XtSetValues
-JNIEXPORT void JNICALL OS_NATIVE(_1XtSetValues)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, _1XtSetValues_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	XtSetValues((Widget)arg0, (ArgList)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1XtSetValues_FUNC);
-}
-#endif
-
-#ifndef NO__1XtToolkitInitialize
-JNIEXPORT void JNICALL OS_NATIVE(_1XtToolkitInitialize)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, _1XtToolkitInitialize_FUNC);
-	XtToolkitInitialize();
-	OS_NATIVE_EXIT(env, that, _1XtToolkitInitialize_FUNC);
-}
-#endif
-
-#ifndef NO__1XtToolkitThreadInitialize
-JNIEXPORT jboolean JNICALL OS_NATIVE(_1XtToolkitThreadInitialize)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtToolkitThreadInitialize_FUNC);
-	rc = (jboolean)XtToolkitThreadInitialize();
-	OS_NATIVE_EXIT(env, that, _1XtToolkitThreadInitialize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtTranslateCoords
-JNIEXPORT void JNICALL OS_NATIVE(_1XtTranslateCoords)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jshort arg2, jshortArray arg3, jshortArray arg4)
-{
-	jshort *lparg3=NULL;
-	jshort *lparg4=NULL;
-	OS_NATIVE_ENTER(env, that, _1XtTranslateCoords_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetShortArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	XtTranslateCoords((Widget)arg0, arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseShortArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, _1XtTranslateCoords_FUNC);
-}
-#endif
-
-#ifndef NO__1XtUnmanageChild
-JNIEXPORT void JNICALL OS_NATIVE(_1XtUnmanageChild)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtUnmanageChild_FUNC);
-	XtUnmanageChild((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtUnmanageChild_FUNC);
-}
-#endif
-
-#ifndef NO__1XtUnmapWidget
-JNIEXPORT void JNICALL OS_NATIVE(_1XtUnmapWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, _1XtUnmapWidget_FUNC);
-	XtUnmapWidget((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtUnmapWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtUnregisterDrawable
-JNIEXPORT void JNICALL OS_NATIVE(_1XtUnregisterDrawable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1XtUnregisterDrawable_FUNC);
-	XtUnregisterDrawable((Display *)arg0, (Drawable)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtUnregisterDrawable_FUNC);
-}
-#endif
-
-#ifndef NO__1XtWindow
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtWindow_FUNC);
-	rc = (jint)XtWindow((Widget)arg0);
-	OS_NATIVE_EXIT(env, that, _1XtWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtWindowToWidget
-JNIEXPORT jint JNICALL OS_NATIVE(_1XtWindowToWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1XtWindowToWidget_FUNC);
-	rc = (jint)XtWindowToWidget((Display *)arg0, (Window)arg1);
-	OS_NATIVE_EXIT(env, that, _1XtWindowToWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1_1XmSetMenuTraversal
-JNIEXPORT void JNICALL OS_NATIVE(_1_1XmSetMenuTraversal)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	OS_NATIVE_ENTER(env, that, _1_1XmSetMenuTraversal_FUNC);
-	_XmSetMenuTraversal((Widget)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, _1_1XmSetMenuTraversal_FUNC);
-}
-#endif
-
-#ifndef NO__1applicationShellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1applicationShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1applicationShellWidgetClass_FUNC);
-	rc = (jint)applicationShellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1applicationShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlclose
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlclose)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlclose_FUNC);
-	rc = (jint)dlclose((void *)arg0);
-	OS_NATIVE_EXIT(env, that, _1dlclose_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlopen
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlopen)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlopen_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)dlopen((const char *)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, _1dlopen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1dlsym
-JNIEXPORT jint JNICALL OS_NATIVE(_1dlsym)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1dlsym_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)dlsym((void *)arg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, _1dlsym_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1overrideShellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1overrideShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1overrideShellWidgetClass_FUNC);
-	rc = (jint)overrideShellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1overrideShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1shellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1shellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1shellWidgetClass_FUNC);
-	rc = (jint)shellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1shellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1topLevelShellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1topLevelShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1topLevelShellWidgetClass_FUNC);
-	rc = (jint)topLevelShellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1topLevelShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1transientShellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1transientShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1transientShellWidgetClass_FUNC);
-	rc = (jint)transientShellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1transientShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1xmMenuShellWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(_1xmMenuShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, _1xmMenuShellWidgetClass_FUNC);
-	rc = (jint)xmMenuShellWidgetClass;
-	OS_NATIVE_EXIT(env, that, _1xmMenuShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_close
-JNIEXPORT jint JNICALL OS_NATIVE(close)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, close_FUNC);
-	rc = (jint)close(arg0);
-	OS_NATIVE_EXIT(env, that, close_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_fd_1set_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(fd_1set_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, fd_1set_1sizeof_FUNC);
-	rc = (jint)fd_set_sizeof();
-	OS_NATIVE_EXIT(env, that, fd_1set_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_getenv
-JNIEXPORT jint JNICALL OS_NATIVE(getenv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, getenv_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)getenv((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, getenv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_iconv
-JNIEXPORT jint JNICALL OS_NATIVE(iconv)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, iconv_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;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)iconv((iconv_t)arg0, (void *)lparg1, (size_t *)lparg2, (char **)lparg3, (size_t *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, iconv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_iconv_1close
-JNIEXPORT jint JNICALL OS_NATIVE(iconv_1close)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, iconv_1close_FUNC);
-	rc = (jint)iconv_close((iconv_t)arg0);
-	OS_NATIVE_EXIT(env, that, iconv_1close_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_iconv_1open
-JNIEXPORT jint JNICALL OS_NATIVE(iconv_1open)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, iconv_1open_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)iconv_open((const char *)lparg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, iconv_1open_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_localeconv_1decimal_1point
-JNIEXPORT jint JNICALL OS_NATIVE(localeconv_1decimal_1point)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, localeconv_1decimal_1point_FUNC);
-	rc = (jint)localeconv_decimal_point();
-	OS_NATIVE_EXIT(env, that, localeconv_1decimal_1point_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XButtonEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXButtonEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XClientMessageEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXClientMessageEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XConfigureEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXConfigureEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XExposeEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXExposeEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XImage_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XImage_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XImage _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XImage_2I_FUNC);
-	if (arg1) if ((lparg1 = getXImageFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XImage_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XKeyEvent _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I_FUNC);
-	if (arg1) if ((lparg1 = getXKeyEventFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XmDragProcCallbackStruct _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I_FUNC);
-	if (arg1) if ((lparg1 = getXmDragProcCallbackStructFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XmSpinBoxCallbackStruct _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I_FUNC);
-	if (arg1) if ((lparg1 = getXmSpinBoxCallbackStructFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XmTextBlockRec _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I_FUNC);
-	if (arg1) if ((lparg1 = getXmTextBlockRecFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	XmTextVerifyCallbackStruct _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I_FUNC);
-	if (arg1) if ((lparg1 = getXmTextVerifyCallbackStructFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3BI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3CI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3CI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3II_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3SI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3SI)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jint arg2)
-{
-	jshort *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3SI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3SI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_Visual_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_Visual_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	Visual _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_Visual_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setVisualFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_Visual_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XAnyEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXAnyEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XButtonEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXButtonEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XCharStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXCharStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XClientMessageEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXClientMessageEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XConfigureEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXConfigureEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XCreateWindowEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXCreateWindowEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XCrossingEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXCrossingEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XDestroyWindowEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXDestroyWindowEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = getXEventFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XExposeEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXExposeEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XFocusChangeEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXFocusChangeEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XFontStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXFontStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XIconSize _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXIconSizeFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XImage_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XImage_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XImage _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XImage_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXImageFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XImage_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XKeyEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXKeyEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XModifierKeymap _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXModifierKeymapFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XMotionEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXMotionEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XPropertyEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXPropertyEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XReparentEvent _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXReparentEventFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XineramaScreenInfo _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXineramaScreenInfoFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmAnyCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmAnyCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmDragProcCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmDragProcCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmDropFinishCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmDropFinishCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmDropProcCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmDropProcCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmSpinBoxCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmSpinBoxCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmTextBlockRec _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmTextBlockRecFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	XmTextVerifyCallbackStruct _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setXmTextVerifyCallbackStructFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3BII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3BII_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3CII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3CII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3CII_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3CII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3III
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3III_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3III_FUNC);
-}
-#endif
-
-#ifndef NO_nl_1langinfo
-JNIEXPORT jint JNICALL OS_NATIVE(nl_1langinfo)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, nl_1langinfo_FUNC);
-	rc = (jint)nl_langinfo(arg0);
-	OS_NATIVE_EXIT(env, that, nl_1langinfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_pipe
-JNIEXPORT jint JNICALL OS_NATIVE(pipe)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, pipe_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)pipe((int *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, pipe_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_read
-JNIEXPORT jint JNICALL OS_NATIVE(read)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, read_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)read(arg0, (char *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, read_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_select
-JNIEXPORT jint JNICALL OS_NATIVE(select)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jbyteArray arg3, jintArray arg4)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, select_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)select(arg0, (fd_set *)lparg1, (fd_set *)lparg2, (fd_set *)lparg3, (struct timeval *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, select_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_setlocale
-JNIEXPORT jint JNICALL OS_NATIVE(setlocale)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, setlocale_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)setlocale(arg0, (char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, setlocale_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL OS_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((char *)arg0);
-	OS_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_write
-JNIEXPORT jint JNICALL OS_NATIVE(write)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, write_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)write(arg0, (char *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, write_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.h
deleted file mode 100644
index cf20476..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os.h
+++ /dev/null
@@ -1,84 +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_os_H
-#define INC_os_H
-
-#define NDEBUG
-
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/IntrinsicP.h>
-#include <X11/Intrinsic.h>
-#include <X11/Shell.h>
-#include <X11/keysym.h>
-#include <X11/extensions/shape.h>
-#include <X11/extensions/Print.h>
-#if !(defined _HPUX || defined AIX)
-#include <X11/extensions/Xrender.h>
-#else
-#define NO_XRenderPictureAttributes
-#define NO__1XRenderCreatePicture
-#endif
-#if !(defined _HPUX || defined SOLARIS)
-#include <X11/extensions/XTest.h>
-#endif
-
-#ifdef NO_XINERAMA_EXTENSIONS
-#define NO_XineramaScreenInfo
-#define NO__1XineramaIsActive
-#define NO__1XineramaQueryScreens
-#define NO_memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II
-#else
-#include <X11/extensions/Xinerama.h>
-#endif /* NO_XINERAMA_EXTENSIONS */
-
-#include <Xm/XmAll.h>
-#include <Mrm/MrmPublic.h>
-
-#ifndef _XmSetMenuTraversal
-void _XmSetMenuTraversal(Widget wid, int traversalOn);
-#endif
-
-#include <dlfcn.h>
-#include <stdio.h>
-#include <assert.h>
-#include <langinfo.h>
-#include <locale.h>
-#include <iconv.h>
-#include <stdlib.h>
-#include <unistd.h>
-#ifdef	_HPUX
-#include <sys/time.h>
-#else
-#include <sys/select.h>
-#endif
-
-#ifdef NO_XPRINTING_EXTENSIONS
-#define NO__1XpCancelJob
-#define NO__1XpCreateContext
-#define NO__1XpDestroyContext
-#define NO__1XpEndJob
-#define NO__1XpEndPage
-#define NO__1XpFreePrinterList
-#define NO__1XpGetOneAttribute
-#define NO__1XpGetPageDimensions
-#define NO__1XpGetPrinterList
-#define NO__1XpGetScreenOfContext
-#define NO__1XpSetAttributes
-#define NO__1XpSetContext
-#define NO__1XpStartJob
-#define NO__1XpStartPage
-#endif
-
-#include "os_custom.h"
-
-#endif /* INC_os_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.c
deleted file mode 100644
index 7dc8905..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.c
+++ /dev/null
@@ -1,80 +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 "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_motif_OS_##func
-
-static int RESOURCES_START;
-static int RESOURCES_END;
-
-#ifndef NO_setResourceMem
-JNIEXPORT void JNICALL OS_NATIVE(setResourceMem)
-  (JNIEnv *env, jclass that, jint start, jint end)
-{
-	OS_NATIVE_ENTER(env, that, setResourceMem_FUNC)
-    RESOURCES_START = start;
-    RESOURCES_END = end;
-	OS_NATIVE_EXIT(env, that, setResourceMem_FUNC)
-}
-#endif
-
-#ifndef NO__1XtGetValues
-#define MAX_ARGS 32
-JNIEXPORT void JNICALL OS_NATIVE(_1XtGetValues)
-  (JNIEnv *env, jclass that, jint widget, jintArray argList, jint numArgs)
-{
-	jint *argList1=NULL;
-
-	int valueBuff[MAX_ARGS];
-	int zeroBuff[MAX_ARGS];
-	int *values = valueBuff;
-	int *zeros = zeroBuff;
-	int i;
-
-	OS_NATIVE_ENTER(env, that, _1XtGetValues_FUNC)
-	if (argList) if ((argList1 = (*env)->GetIntArrayElements(env, argList, NULL)) == NULL) goto failTag;
-	if (numArgs > MAX_ARGS) {
-		if ((values = (int *) XtMalloc (numArgs * sizeof(int))) == NULL) goto failTag;
-		if ((zeros = (int *) XtMalloc (numArgs * sizeof(int))) == NULL) goto failTag;
-	}
-	for (i = 0; i < numArgs; i++) {   
-		zeros[i] = values[i] = 0;
-		if (argList1[i * 2 + 1] == 0) {
-			if ((RESOURCES_START <= argList1[i*2]) && (argList1[i*2] <= RESOURCES_END)) {
-				zeros[i] = 1;
-				argList1[i * 2 + 1] = (int)&values[i];
-			}
-		}
-	}
-	XtGetValues((Widget)widget, (ArgList)argList1, numArgs);
-	for (i = 0; i < numArgs; i++) {   
-		if (zeros[i]) {
-			char* charPtr = (char *)(argList1[i*2] - 1);
-			switch ((int)*charPtr) {
-				case 1: argList1[i * 2 + 1] = *(char *)(&values[i]); break;
-				case 2: argList1[i * 2 + 1] = *(short *)(&values[i]); break;
-				default:
-					argList1[i * 2 + 1] = values[i];
-			}
-		}
-	}
-failTag:
-	if (numArgs > MAX_ARGS) {
-		if (values) XtFree((char *)values);
-		if (zeros) XtFree((char *)zeros);
-	}
-	if (argList && argList1)(*env)->ReleaseIntArrayElements(env, argList, argList1, 0);
-	OS_NATIVE_EXIT(env, that, _1XtGetValues_FUNC)
-}
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.h
deleted file mode 100644
index 80526a8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_custom.h
+++ /dev/null
@@ -1,27 +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
- *******************************************************************************/
- 
-/* Special sizeof's */
-#define fd_set_sizeof() sizeof(fd_set)
-#define localeconv_decimal_point() localeconv()->decimal_point
-
-/* Libraries for dynamic loaded functions */
-#define XRenderQueryExtension_LIB "libXrender.so"
-#define XRenderQueryVersion_LIB "libXrender.so"
-#define XRenderFindStandardFormat_LIB "libXrender.so"
-#define XRenderFindVisualFormat_LIB "libXrender.so"
-#define XRenderComposite_LIB "libXrender.so"
-#define XRenderCreatePicture_LIB "libXrender.so"
-#define XRenderFreePicture_LIB "libXrender.so"
-#define XRenderSetPictureClipRectangles_LIB "libXrender.so"
-#define XRenderSetPictureClipRegion_LIB "libXrender.so"
-#define XRenderSetPictureTransform_LIB "libXrender.so"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.c
deleted file mode 100644
index a28a2a8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.c
+++ /dev/null
@@ -1,511 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_stats.h"
-
-#ifdef NATIVE_STATS
-
-int OS_nativeFunctionCount = 469;
-int OS_nativeFunctionCallCount[469];
-char * OS_nativeFunctionNames[] = {
-	"CODESET",
-	"FD_1ISSET",
-	"FD_1SET",
-	"FD_1ZERO",
-	"LC_1CTYPE",
-	"MB_1CUR_1MAX",
-	"MonitorEnter",
-	"MonitorExit",
-	"XRenderPictureAttributes_1sizeof",
-	"_1Call",
-	"_1ConnectionNumber",
-	"_1XAllocColor",
-	"_1XBell",
-	"_1XBlackPixel",
-	"_1XChangeActivePointerGrab",
-	"_1XChangeProperty",
-	"_1XChangeWindowAttributes",
-	"_1XCheckIfEvent",
-	"_1XCheckMaskEvent",
-	"_1XCheckWindowEvent",
-	"_1XClearArea",
-	"_1XClipBox",
-	"_1XCloseDisplay",
-	"_1XCopyArea",
-	"_1XCopyPlane",
-	"_1XCreateBitmapFromData",
-	"_1XCreateColormap",
-	"_1XCreateFontCursor",
-	"_1XCreateGC",
-	"_1XCreateImage",
-	"_1XCreatePixmap",
-	"_1XCreatePixmapCursor",
-	"_1XCreateRegion",
-	"_1XCreateWindow",
-	"_1XDefaultColormap",
-	"_1XDefaultColormapOfScreen",
-	"_1XDefaultDepthOfScreen",
-	"_1XDefaultGCOfScreen",
-	"_1XDefaultRootWindow",
-	"_1XDefaultScreen",
-	"_1XDefaultScreenOfDisplay",
-	"_1XDefaultVisual",
-	"_1XDefineCursor",
-	"_1XDestroyImage",
-	"_1XDestroyRegion",
-	"_1XDestroyWindow",
-	"_1XDisplayHeight",
-	"_1XDisplayHeightMM",
-	"_1XDisplayWidth",
-	"_1XDisplayWidthMM",
-	"_1XDrawArc",
-	"_1XDrawLine",
-	"_1XDrawLines",
-	"_1XDrawPoint",
-	"_1XDrawRectangle",
-	"_1XEmptyRegion",
-	"_1XEventsQueued",
-	"_1XFillArc",
-	"_1XFillPolygon",
-	"_1XFillRectangle",
-	"_1XFilterEvent",
-	"_1XFlush",
-	"_1XFontsOfFontSet",
-	"_1XFree",
-	"_1XFreeColormap",
-	"_1XFreeColors",
-	"_1XFreeCursor",
-	"_1XFreeFont",
-	"_1XFreeFontNames",
-	"_1XFreeGC",
-	"_1XFreeModifiermap",
-	"_1XFreePixmap",
-	"_1XFreeStringList",
-	"_1XGetGCValues",
-	"_1XGetGeometry",
-	"_1XGetIconSizes",
-	"_1XGetImage",
-	"_1XGetInputFocus",
-	"_1XGetModifierMapping",
-	"_1XGetWindowAttributes",
-	"_1XGetWindowProperty",
-	"_1XGrabKeyboard",
-	"_1XGrabPointer",
-	"_1XInitThreads",
-	"_1XInternAtom",
-	"_1XIntersectRegion",
-	"_1XKeysymToKeycode",
-	"_1XKeysymToString",
-	"_1XListFonts",
-	"_1XListProperties",
-	"_1XLocaleOfFontSet",
-	"_1XLookupString",
-	"_1XLowerWindow",
-	"_1XMapWindow",
-	"_1XMoveResizeWindow",
-	"_1XOffsetRegion",
-	"_1XOpenDisplay",
-	"_1XPointInRegion",
-	"_1XPolygonRegion",
-	"_1XPutImage",
-	"_1XQueryBestCursor",
-	"_1XQueryColor",
-	"_1XQueryPointer",
-	"_1XQueryTree",
-	"_1XRaiseWindow",
-	"_1XReconfigureWMWindow",
-	"_1XRectInRegion",
-	"_1XRenderComposite",
-	"_1XRenderCreatePicture",
-	"_1XRenderFindStandardFormat",
-	"_1XRenderFindVisualFormat",
-	"_1XRenderFreePicture",
-	"_1XRenderQueryExtension",
-	"_1XRenderQueryVersion",
-	"_1XRenderSetPictureClipRectangles",
-	"_1XRenderSetPictureClipRegion",
-	"_1XRenderSetPictureTransform",
-	"_1XReparentWindow",
-	"_1XResizeWindow",
-	"_1XRootWindowOfScreen",
-	"_1XSelectInput",
-	"_1XSendEvent",
-	"_1XSetBackground",
-	"_1XSetClipMask",
-	"_1XSetClipRectangles",
-	"_1XSetDashes",
-	"_1XSetErrorHandler",
-	"_1XSetFillRule",
-	"_1XSetFillStyle",
-	"_1XSetForeground",
-	"_1XSetFunction",
-	"_1XSetGraphicsExposures",
-	"_1XSetIOErrorHandler",
-	"_1XSetInputFocus",
-	"_1XSetLineAttributes",
-	"_1XSetRegion",
-	"_1XSetStipple",
-	"_1XSetSubwindowMode",
-	"_1XSetTSOrigin",
-	"_1XSetTile",
-	"_1XSetWMNormalHints",
-	"_1XSetWindowBackgroundPixmap",
-	"_1XShapeCombineMask",
-	"_1XShapeCombineRegion",
-	"_1XSubtractRegion",
-	"_1XSync",
-	"_1XSynchronize",
-	"_1XTestFakeButtonEvent",
-	"_1XTestFakeKeyEvent",
-	"_1XTestFakeMotionEvent",
-	"_1XTranslateCoordinates",
-	"_1XUndefineCursor",
-	"_1XUngrabKeyboard",
-	"_1XUngrabPointer",
-	"_1XUnionRectWithRegion",
-	"_1XUnionRegion",
-	"_1XUnmapWindow",
-	"_1XWarpPointer",
-	"_1XWhitePixel",
-	"_1XWithdrawWindow",
-	"_1XineramaIsActive",
-	"_1XineramaQueryScreens",
-	"_1XmAddWMProtocolCallback",
-	"_1XmChangeColor",
-	"_1XmClipboardCopy",
-	"_1XmClipboardEndCopy",
-	"_1XmClipboardEndRetrieve",
-	"_1XmClipboardInquireCount",
-	"_1XmClipboardInquireFormat",
-	"_1XmClipboardInquireLength",
-	"_1XmClipboardRetrieve",
-	"_1XmClipboardStartCopy",
-	"_1XmClipboardStartRetrieve",
-	"_1XmComboBoxAddItem",
-	"_1XmComboBoxDeletePos",
-	"_1XmComboBoxSelectItem",
-	"_1XmCreateArrowButton",
-	"_1XmCreateCascadeButtonGadget",
-	"_1XmCreateComboBox",
-	"_1XmCreateDialogShell",
-	"_1XmCreateDrawingArea",
-	"_1XmCreateDrawnButton",
-	"_1XmCreateErrorDialog",
-	"_1XmCreateFileSelectionDialog",
-	"_1XmCreateForm",
-	"_1XmCreateFrame",
-	"_1XmCreateInformationDialog",
-	"_1XmCreateLabel",
-	"_1XmCreateList",
-	"_1XmCreateMainWindow",
-	"_1XmCreateMenuBar",
-	"_1XmCreateMessageDialog",
-	"_1XmCreatePopupMenu",
-	"_1XmCreatePulldownMenu",
-	"_1XmCreatePushButton",
-	"_1XmCreatePushButtonGadget",
-	"_1XmCreateQuestionDialog",
-	"_1XmCreateScale",
-	"_1XmCreateScrollBar",
-	"_1XmCreateScrolledList",
-	"_1XmCreateScrolledText",
-	"_1XmCreateSeparator",
-	"_1XmCreateSeparatorGadget",
-	"_1XmCreateSimpleSpinBox",
-	"_1XmCreateTextField",
-	"_1XmCreateToggleButton",
-	"_1XmCreateToggleButtonGadget",
-	"_1XmCreateWarningDialog",
-	"_1XmCreateWorkingDialog",
-	"_1XmDestroyPixmap",
-	"_1XmDragCancel",
-	"_1XmDragStart",
-	"_1XmDropSiteRegister",
-	"_1XmDropSiteUnregister",
-	"_1XmDropSiteUpdate",
-	"_1XmDropTransferAdd",
-	"_1XmDropTransferStart",
-	"_1XmFileSelectionBoxGetChild",
-	"_1XmFontListAppendEntry",
-	"_1XmFontListCopy",
-	"_1XmFontListEntryFree",
-	"_1XmFontListEntryGetFont",
-	"_1XmFontListEntryLoad",
-	"_1XmFontListFree",
-	"_1XmFontListFreeFontContext",
-	"_1XmFontListInitFontContext",
-	"_1XmFontListNextEntry",
-	"_1XmGetAtomName",
-	"_1XmGetDragContext",
-	"_1XmGetFocusWidget",
-	"_1XmGetPixmap",
-	"_1XmGetPixmapByDepth",
-	"_1XmGetXmDisplay",
-	"_1XmImMbLookupString",
-	"_1XmImRegister",
-	"_1XmImSetFocusValues",
-	"_1XmImSetValues",
-	"_1XmImUnregister",
-	"_1XmImUnsetFocus",
-	"_1XmInternAtom",
-	"_1XmListAddItemUnselected",
-	"_1XmListDeleteAllItems",
-	"_1XmListDeleteItemsPos",
-	"_1XmListDeletePos",
-	"_1XmListDeletePositions",
-	"_1XmListDeselectAllItems",
-	"_1XmListDeselectPos",
-	"_1XmListGetKbdItemPos",
-	"_1XmListGetSelectedPos",
-	"_1XmListItemPos",
-	"_1XmListPosSelected",
-	"_1XmListReplaceItemsPosUnselected",
-	"_1XmListSelectPos",
-	"_1XmListSetKbdItemPos",
-	"_1XmListSetPos",
-	"_1XmListUpdateSelectedList",
-	"_1XmMainWindowSetAreas",
-	"_1XmMessageBoxGetChild",
-	"_1XmParseMappingCreate",
-	"_1XmParseMappingFree",
-	"_1XmProcessTraversal",
-	"_1XmRenderTableAddRenditions",
-	"_1XmRenderTableFree",
-	"_1XmRenditionCreate",
-	"_1XmRenditionFree",
-	"_1XmStringBaseline",
-	"_1XmStringCompare",
-	"_1XmStringComponentCreate",
-	"_1XmStringConcat",
-	"_1XmStringCreate",
-	"_1XmStringCreateLocalized",
-	"_1XmStringDraw",
-	"_1XmStringDrawImage",
-	"_1XmStringDrawUnderline",
-	"_1XmStringEmpty",
-	"_1XmStringExtent",
-	"_1XmStringFree",
-	"_1XmStringGenerate",
-	"_1XmStringHeight",
-	"_1XmStringParseText",
-	"_1XmStringUnparse",
-	"_1XmStringWidth",
-	"_1XmTabCreate",
-	"_1XmTabFree",
-	"_1XmTabListFree",
-	"_1XmTabListInsertTabs",
-	"_1XmTextClearSelection",
-	"_1XmTextCopy",
-	"_1XmTextCut",
-	"_1XmTextDisableRedisplay",
-	"_1XmTextEnableRedisplay",
-	"_1XmTextFieldPaste",
-	"_1XmTextGetInsertionPosition",
-	"_1XmTextGetLastPosition",
-	"_1XmTextGetMaxLength",
-	"_1XmTextGetSelection",
-	"_1XmTextGetSelectionPosition",
-	"_1XmTextGetString",
-	"_1XmTextGetSubstring",
-	"_1XmTextGetSubstringWcs",
-	"_1XmTextInsert",
-	"_1XmTextPaste",
-	"_1XmTextPosToXY",
-	"_1XmTextReplace",
-	"_1XmTextScroll",
-	"_1XmTextSetEditable",
-	"_1XmTextSetHighlight",
-	"_1XmTextSetInsertionPosition",
-	"_1XmTextSetMaxLength",
-	"_1XmTextSetSelection",
-	"_1XmTextSetString",
-	"_1XmTextShowPosition",
-	"_1XmTextXYToPos",
-	"_1XmUpdateDisplay",
-	"_1XmWidgetGetDisplayRect",
-	"_1XmbTextListToTextProperty",
-	"_1XmbTextPropertyToTextList",
-	"_1XpCancelJob",
-	"_1XpCreateContext",
-	"_1XpDestroyContext",
-	"_1XpEndJob",
-	"_1XpEndPage",
-	"_1XpFreePrinterList",
-	"_1XpGetOneAttribute",
-	"_1XpGetPageDimensions",
-	"_1XpGetPrinterList",
-	"_1XpGetScreenOfContext",
-	"_1XpSetAttributes",
-	"_1XpSetContext",
-	"_1XpStartJob",
-	"_1XpStartPage",
-	"_1XtAddCallback",
-	"_1XtAddEventHandler",
-	"_1XtAddExposureToRegion",
-	"_1XtAppAddInput",
-	"_1XtAppAddTimeOut",
-	"_1XtAppCreateShell",
-	"_1XtAppGetSelectionTimeout",
-	"_1XtAppNextEvent",
-	"_1XtAppPeekEvent",
-	"_1XtAppPending",
-	"_1XtAppProcessEvent",
-	"_1XtAppSetErrorHandler",
-	"_1XtAppSetFallbackResources",
-	"_1XtAppSetSelectionTimeout",
-	"_1XtAppSetWarningHandler",
-	"_1XtBuildEventMask",
-	"_1XtCallActionProc",
-	"_1XtClass",
-	"_1XtConfigureWidget",
-	"_1XtCreateApplicationContext",
-	"_1XtCreatePopupShell",
-	"_1XtDestroyApplicationContext",
-	"_1XtDestroyWidget",
-	"_1XtDisownSelection",
-	"_1XtDispatchEvent",
-	"_1XtDisplay",
-	"_1XtDisplayToApplicationContext",
-	"_1XtFree",
-	"_1XtGetMultiClickTime",
-	"_1XtGetSelectionValue",
-	"_1XtGetValues",
-	"_1XtInsertEventHandler",
-	"_1XtIsManaged",
-	"_1XtIsRealized",
-	"_1XtIsSubclass",
-	"_1XtIsTopLevelShell",
-	"_1XtLastTimestampProcessed",
-	"_1XtMalloc",
-	"_1XtManageChild",
-	"_1XtMapWidget",
-	"_1XtMoveWidget",
-	"_1XtNameToWidget",
-	"_1XtOpenDisplay",
-	"_1XtOverrideTranslations",
-	"_1XtOwnSelection",
-	"_1XtParent",
-	"_1XtParseTranslationTable",
-	"_1XtPopdown",
-	"_1XtPopup",
-	"_1XtQueryGeometry",
-	"_1XtRealizeWidget",
-	"_1XtRegisterDrawable",
-	"_1XtRemoveEventHandler",
-	"_1XtRemoveInput",
-	"_1XtRemoveTimeOut",
-	"_1XtResizeWidget",
-	"_1XtResizeWindow",
-	"_1XtSetLanguageProc",
-	"_1XtSetMappedWhenManaged",
-	"_1XtSetValues",
-	"_1XtToolkitInitialize",
-	"_1XtToolkitThreadInitialize",
-	"_1XtTranslateCoords",
-	"_1XtUnmanageChild",
-	"_1XtUnmapWidget",
-	"_1XtUnregisterDrawable",
-	"_1XtWindow",
-	"_1XtWindowToWidget",
-	"_1_1XmSetMenuTraversal",
-	"_1applicationShellWidgetClass",
-	"_1dlclose",
-	"_1dlopen",
-	"_1dlsym",
-	"_1overrideShellWidgetClass",
-	"_1shellWidgetClass",
-	"_1topLevelShellWidgetClass",
-	"_1transientShellWidgetClass",
-	"_1xmMenuShellWidgetClass",
-	"close",
-	"fd_1set_1sizeof",
-	"getenv",
-	"iconv",
-	"iconv_1close",
-	"iconv_1open",
-	"localeconv_1decimal_1point",
-	"memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XImage_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I",
-	"memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I",
-	"memmove__I_3BI",
-	"memmove__I_3CI",
-	"memmove__I_3II",
-	"memmove__I_3SI",
-	"memmove__Lorg_eclipse_swt_internal_motif_Visual_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XImage_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II",
-	"memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II",
-	"memmove___3BII",
-	"memmove___3CII",
-	"memmove___3III",
-	"nl_1langinfo",
-	"pipe",
-	"read",
-	"select",
-	"setResourceMem",
-	"setlocale",
-	"strlen",
-	"write",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return OS_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return OS_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.h
deleted file mode 100644
index d8420e0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_stats.h
+++ /dev/null
@@ -1,493 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int OS_nativeFunctionCount;
-extern int OS_nativeFunctionCallCount[];
-extern char* OS_nativeFunctionNames[];
-#define OS_NATIVE_ENTER(env, that, func) OS_nativeFunctionCallCount[func]++;
-#define OS_NATIVE_EXIT(env, that, func) 
-#else
-#define OS_NATIVE_ENTER(env, that, func) 
-#define OS_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	CODESET_FUNC,
-	FD_1ISSET_FUNC,
-	FD_1SET_FUNC,
-	FD_1ZERO_FUNC,
-	LC_1CTYPE_FUNC,
-	MB_1CUR_1MAX_FUNC,
-	MonitorEnter_FUNC,
-	MonitorExit_FUNC,
-	XRenderPictureAttributes_1sizeof_FUNC,
-	_1Call_FUNC,
-	_1ConnectionNumber_FUNC,
-	_1XAllocColor_FUNC,
-	_1XBell_FUNC,
-	_1XBlackPixel_FUNC,
-	_1XChangeActivePointerGrab_FUNC,
-	_1XChangeProperty_FUNC,
-	_1XChangeWindowAttributes_FUNC,
-	_1XCheckIfEvent_FUNC,
-	_1XCheckMaskEvent_FUNC,
-	_1XCheckWindowEvent_FUNC,
-	_1XClearArea_FUNC,
-	_1XClipBox_FUNC,
-	_1XCloseDisplay_FUNC,
-	_1XCopyArea_FUNC,
-	_1XCopyPlane_FUNC,
-	_1XCreateBitmapFromData_FUNC,
-	_1XCreateColormap_FUNC,
-	_1XCreateFontCursor_FUNC,
-	_1XCreateGC_FUNC,
-	_1XCreateImage_FUNC,
-	_1XCreatePixmap_FUNC,
-	_1XCreatePixmapCursor_FUNC,
-	_1XCreateRegion_FUNC,
-	_1XCreateWindow_FUNC,
-	_1XDefaultColormap_FUNC,
-	_1XDefaultColormapOfScreen_FUNC,
-	_1XDefaultDepthOfScreen_FUNC,
-	_1XDefaultGCOfScreen_FUNC,
-	_1XDefaultRootWindow_FUNC,
-	_1XDefaultScreen_FUNC,
-	_1XDefaultScreenOfDisplay_FUNC,
-	_1XDefaultVisual_FUNC,
-	_1XDefineCursor_FUNC,
-	_1XDestroyImage_FUNC,
-	_1XDestroyRegion_FUNC,
-	_1XDestroyWindow_FUNC,
-	_1XDisplayHeight_FUNC,
-	_1XDisplayHeightMM_FUNC,
-	_1XDisplayWidth_FUNC,
-	_1XDisplayWidthMM_FUNC,
-	_1XDrawArc_FUNC,
-	_1XDrawLine_FUNC,
-	_1XDrawLines_FUNC,
-	_1XDrawPoint_FUNC,
-	_1XDrawRectangle_FUNC,
-	_1XEmptyRegion_FUNC,
-	_1XEventsQueued_FUNC,
-	_1XFillArc_FUNC,
-	_1XFillPolygon_FUNC,
-	_1XFillRectangle_FUNC,
-	_1XFilterEvent_FUNC,
-	_1XFlush_FUNC,
-	_1XFontsOfFontSet_FUNC,
-	_1XFree_FUNC,
-	_1XFreeColormap_FUNC,
-	_1XFreeColors_FUNC,
-	_1XFreeCursor_FUNC,
-	_1XFreeFont_FUNC,
-	_1XFreeFontNames_FUNC,
-	_1XFreeGC_FUNC,
-	_1XFreeModifiermap_FUNC,
-	_1XFreePixmap_FUNC,
-	_1XFreeStringList_FUNC,
-	_1XGetGCValues_FUNC,
-	_1XGetGeometry_FUNC,
-	_1XGetIconSizes_FUNC,
-	_1XGetImage_FUNC,
-	_1XGetInputFocus_FUNC,
-	_1XGetModifierMapping_FUNC,
-	_1XGetWindowAttributes_FUNC,
-	_1XGetWindowProperty_FUNC,
-	_1XGrabKeyboard_FUNC,
-	_1XGrabPointer_FUNC,
-	_1XInitThreads_FUNC,
-	_1XInternAtom_FUNC,
-	_1XIntersectRegion_FUNC,
-	_1XKeysymToKeycode_FUNC,
-	_1XKeysymToString_FUNC,
-	_1XListFonts_FUNC,
-	_1XListProperties_FUNC,
-	_1XLocaleOfFontSet_FUNC,
-	_1XLookupString_FUNC,
-	_1XLowerWindow_FUNC,
-	_1XMapWindow_FUNC,
-	_1XMoveResizeWindow_FUNC,
-	_1XOffsetRegion_FUNC,
-	_1XOpenDisplay_FUNC,
-	_1XPointInRegion_FUNC,
-	_1XPolygonRegion_FUNC,
-	_1XPutImage_FUNC,
-	_1XQueryBestCursor_FUNC,
-	_1XQueryColor_FUNC,
-	_1XQueryPointer_FUNC,
-	_1XQueryTree_FUNC,
-	_1XRaiseWindow_FUNC,
-	_1XReconfigureWMWindow_FUNC,
-	_1XRectInRegion_FUNC,
-	_1XRenderComposite_FUNC,
-	_1XRenderCreatePicture_FUNC,
-	_1XRenderFindStandardFormat_FUNC,
-	_1XRenderFindVisualFormat_FUNC,
-	_1XRenderFreePicture_FUNC,
-	_1XRenderQueryExtension_FUNC,
-	_1XRenderQueryVersion_FUNC,
-	_1XRenderSetPictureClipRectangles_FUNC,
-	_1XRenderSetPictureClipRegion_FUNC,
-	_1XRenderSetPictureTransform_FUNC,
-	_1XReparentWindow_FUNC,
-	_1XResizeWindow_FUNC,
-	_1XRootWindowOfScreen_FUNC,
-	_1XSelectInput_FUNC,
-	_1XSendEvent_FUNC,
-	_1XSetBackground_FUNC,
-	_1XSetClipMask_FUNC,
-	_1XSetClipRectangles_FUNC,
-	_1XSetDashes_FUNC,
-	_1XSetErrorHandler_FUNC,
-	_1XSetFillRule_FUNC,
-	_1XSetFillStyle_FUNC,
-	_1XSetForeground_FUNC,
-	_1XSetFunction_FUNC,
-	_1XSetGraphicsExposures_FUNC,
-	_1XSetIOErrorHandler_FUNC,
-	_1XSetInputFocus_FUNC,
-	_1XSetLineAttributes_FUNC,
-	_1XSetRegion_FUNC,
-	_1XSetStipple_FUNC,
-	_1XSetSubwindowMode_FUNC,
-	_1XSetTSOrigin_FUNC,
-	_1XSetTile_FUNC,
-	_1XSetWMNormalHints_FUNC,
-	_1XSetWindowBackgroundPixmap_FUNC,
-	_1XShapeCombineMask_FUNC,
-	_1XShapeCombineRegion_FUNC,
-	_1XSubtractRegion_FUNC,
-	_1XSync_FUNC,
-	_1XSynchronize_FUNC,
-	_1XTestFakeButtonEvent_FUNC,
-	_1XTestFakeKeyEvent_FUNC,
-	_1XTestFakeMotionEvent_FUNC,
-	_1XTranslateCoordinates_FUNC,
-	_1XUndefineCursor_FUNC,
-	_1XUngrabKeyboard_FUNC,
-	_1XUngrabPointer_FUNC,
-	_1XUnionRectWithRegion_FUNC,
-	_1XUnionRegion_FUNC,
-	_1XUnmapWindow_FUNC,
-	_1XWarpPointer_FUNC,
-	_1XWhitePixel_FUNC,
-	_1XWithdrawWindow_FUNC,
-	_1XineramaIsActive_FUNC,
-	_1XineramaQueryScreens_FUNC,
-	_1XmAddWMProtocolCallback_FUNC,
-	_1XmChangeColor_FUNC,
-	_1XmClipboardCopy_FUNC,
-	_1XmClipboardEndCopy_FUNC,
-	_1XmClipboardEndRetrieve_FUNC,
-	_1XmClipboardInquireCount_FUNC,
-	_1XmClipboardInquireFormat_FUNC,
-	_1XmClipboardInquireLength_FUNC,
-	_1XmClipboardRetrieve_FUNC,
-	_1XmClipboardStartCopy_FUNC,
-	_1XmClipboardStartRetrieve_FUNC,
-	_1XmComboBoxAddItem_FUNC,
-	_1XmComboBoxDeletePos_FUNC,
-	_1XmComboBoxSelectItem_FUNC,
-	_1XmCreateArrowButton_FUNC,
-	_1XmCreateCascadeButtonGadget_FUNC,
-	_1XmCreateComboBox_FUNC,
-	_1XmCreateDialogShell_FUNC,
-	_1XmCreateDrawingArea_FUNC,
-	_1XmCreateDrawnButton_FUNC,
-	_1XmCreateErrorDialog_FUNC,
-	_1XmCreateFileSelectionDialog_FUNC,
-	_1XmCreateForm_FUNC,
-	_1XmCreateFrame_FUNC,
-	_1XmCreateInformationDialog_FUNC,
-	_1XmCreateLabel_FUNC,
-	_1XmCreateList_FUNC,
-	_1XmCreateMainWindow_FUNC,
-	_1XmCreateMenuBar_FUNC,
-	_1XmCreateMessageDialog_FUNC,
-	_1XmCreatePopupMenu_FUNC,
-	_1XmCreatePulldownMenu_FUNC,
-	_1XmCreatePushButton_FUNC,
-	_1XmCreatePushButtonGadget_FUNC,
-	_1XmCreateQuestionDialog_FUNC,
-	_1XmCreateScale_FUNC,
-	_1XmCreateScrollBar_FUNC,
-	_1XmCreateScrolledList_FUNC,
-	_1XmCreateScrolledText_FUNC,
-	_1XmCreateSeparator_FUNC,
-	_1XmCreateSeparatorGadget_FUNC,
-	_1XmCreateSimpleSpinBox_FUNC,
-	_1XmCreateTextField_FUNC,
-	_1XmCreateToggleButton_FUNC,
-	_1XmCreateToggleButtonGadget_FUNC,
-	_1XmCreateWarningDialog_FUNC,
-	_1XmCreateWorkingDialog_FUNC,
-	_1XmDestroyPixmap_FUNC,
-	_1XmDragCancel_FUNC,
-	_1XmDragStart_FUNC,
-	_1XmDropSiteRegister_FUNC,
-	_1XmDropSiteUnregister_FUNC,
-	_1XmDropSiteUpdate_FUNC,
-	_1XmDropTransferAdd_FUNC,
-	_1XmDropTransferStart_FUNC,
-	_1XmFileSelectionBoxGetChild_FUNC,
-	_1XmFontListAppendEntry_FUNC,
-	_1XmFontListCopy_FUNC,
-	_1XmFontListEntryFree_FUNC,
-	_1XmFontListEntryGetFont_FUNC,
-	_1XmFontListEntryLoad_FUNC,
-	_1XmFontListFree_FUNC,
-	_1XmFontListFreeFontContext_FUNC,
-	_1XmFontListInitFontContext_FUNC,
-	_1XmFontListNextEntry_FUNC,
-	_1XmGetAtomName_FUNC,
-	_1XmGetDragContext_FUNC,
-	_1XmGetFocusWidget_FUNC,
-	_1XmGetPixmap_FUNC,
-	_1XmGetPixmapByDepth_FUNC,
-	_1XmGetXmDisplay_FUNC,
-	_1XmImMbLookupString_FUNC,
-	_1XmImRegister_FUNC,
-	_1XmImSetFocusValues_FUNC,
-	_1XmImSetValues_FUNC,
-	_1XmImUnregister_FUNC,
-	_1XmImUnsetFocus_FUNC,
-	_1XmInternAtom_FUNC,
-	_1XmListAddItemUnselected_FUNC,
-	_1XmListDeleteAllItems_FUNC,
-	_1XmListDeleteItemsPos_FUNC,
-	_1XmListDeletePos_FUNC,
-	_1XmListDeletePositions_FUNC,
-	_1XmListDeselectAllItems_FUNC,
-	_1XmListDeselectPos_FUNC,
-	_1XmListGetKbdItemPos_FUNC,
-	_1XmListGetSelectedPos_FUNC,
-	_1XmListItemPos_FUNC,
-	_1XmListPosSelected_FUNC,
-	_1XmListReplaceItemsPosUnselected_FUNC,
-	_1XmListSelectPos_FUNC,
-	_1XmListSetKbdItemPos_FUNC,
-	_1XmListSetPos_FUNC,
-	_1XmListUpdateSelectedList_FUNC,
-	_1XmMainWindowSetAreas_FUNC,
-	_1XmMessageBoxGetChild_FUNC,
-	_1XmParseMappingCreate_FUNC,
-	_1XmParseMappingFree_FUNC,
-	_1XmProcessTraversal_FUNC,
-	_1XmRenderTableAddRenditions_FUNC,
-	_1XmRenderTableFree_FUNC,
-	_1XmRenditionCreate_FUNC,
-	_1XmRenditionFree_FUNC,
-	_1XmStringBaseline_FUNC,
-	_1XmStringCompare_FUNC,
-	_1XmStringComponentCreate_FUNC,
-	_1XmStringConcat_FUNC,
-	_1XmStringCreate_FUNC,
-	_1XmStringCreateLocalized_FUNC,
-	_1XmStringDraw_FUNC,
-	_1XmStringDrawImage_FUNC,
-	_1XmStringDrawUnderline_FUNC,
-	_1XmStringEmpty_FUNC,
-	_1XmStringExtent_FUNC,
-	_1XmStringFree_FUNC,
-	_1XmStringGenerate_FUNC,
-	_1XmStringHeight_FUNC,
-	_1XmStringParseText_FUNC,
-	_1XmStringUnparse_FUNC,
-	_1XmStringWidth_FUNC,
-	_1XmTabCreate_FUNC,
-	_1XmTabFree_FUNC,
-	_1XmTabListFree_FUNC,
-	_1XmTabListInsertTabs_FUNC,
-	_1XmTextClearSelection_FUNC,
-	_1XmTextCopy_FUNC,
-	_1XmTextCut_FUNC,
-	_1XmTextDisableRedisplay_FUNC,
-	_1XmTextEnableRedisplay_FUNC,
-	_1XmTextFieldPaste_FUNC,
-	_1XmTextGetInsertionPosition_FUNC,
-	_1XmTextGetLastPosition_FUNC,
-	_1XmTextGetMaxLength_FUNC,
-	_1XmTextGetSelection_FUNC,
-	_1XmTextGetSelectionPosition_FUNC,
-	_1XmTextGetString_FUNC,
-	_1XmTextGetSubstring_FUNC,
-	_1XmTextGetSubstringWcs_FUNC,
-	_1XmTextInsert_FUNC,
-	_1XmTextPaste_FUNC,
-	_1XmTextPosToXY_FUNC,
-	_1XmTextReplace_FUNC,
-	_1XmTextScroll_FUNC,
-	_1XmTextSetEditable_FUNC,
-	_1XmTextSetHighlight_FUNC,
-	_1XmTextSetInsertionPosition_FUNC,
-	_1XmTextSetMaxLength_FUNC,
-	_1XmTextSetSelection_FUNC,
-	_1XmTextSetString_FUNC,
-	_1XmTextShowPosition_FUNC,
-	_1XmTextXYToPos_FUNC,
-	_1XmUpdateDisplay_FUNC,
-	_1XmWidgetGetDisplayRect_FUNC,
-	_1XmbTextListToTextProperty_FUNC,
-	_1XmbTextPropertyToTextList_FUNC,
-	_1XpCancelJob_FUNC,
-	_1XpCreateContext_FUNC,
-	_1XpDestroyContext_FUNC,
-	_1XpEndJob_FUNC,
-	_1XpEndPage_FUNC,
-	_1XpFreePrinterList_FUNC,
-	_1XpGetOneAttribute_FUNC,
-	_1XpGetPageDimensions_FUNC,
-	_1XpGetPrinterList_FUNC,
-	_1XpGetScreenOfContext_FUNC,
-	_1XpSetAttributes_FUNC,
-	_1XpSetContext_FUNC,
-	_1XpStartJob_FUNC,
-	_1XpStartPage_FUNC,
-	_1XtAddCallback_FUNC,
-	_1XtAddEventHandler_FUNC,
-	_1XtAddExposureToRegion_FUNC,
-	_1XtAppAddInput_FUNC,
-	_1XtAppAddTimeOut_FUNC,
-	_1XtAppCreateShell_FUNC,
-	_1XtAppGetSelectionTimeout_FUNC,
-	_1XtAppNextEvent_FUNC,
-	_1XtAppPeekEvent_FUNC,
-	_1XtAppPending_FUNC,
-	_1XtAppProcessEvent_FUNC,
-	_1XtAppSetErrorHandler_FUNC,
-	_1XtAppSetFallbackResources_FUNC,
-	_1XtAppSetSelectionTimeout_FUNC,
-	_1XtAppSetWarningHandler_FUNC,
-	_1XtBuildEventMask_FUNC,
-	_1XtCallActionProc_FUNC,
-	_1XtClass_FUNC,
-	_1XtConfigureWidget_FUNC,
-	_1XtCreateApplicationContext_FUNC,
-	_1XtCreatePopupShell_FUNC,
-	_1XtDestroyApplicationContext_FUNC,
-	_1XtDestroyWidget_FUNC,
-	_1XtDisownSelection_FUNC,
-	_1XtDispatchEvent_FUNC,
-	_1XtDisplay_FUNC,
-	_1XtDisplayToApplicationContext_FUNC,
-	_1XtFree_FUNC,
-	_1XtGetMultiClickTime_FUNC,
-	_1XtGetSelectionValue_FUNC,
-	_1XtGetValues_FUNC,
-	_1XtInsertEventHandler_FUNC,
-	_1XtIsManaged_FUNC,
-	_1XtIsRealized_FUNC,
-	_1XtIsSubclass_FUNC,
-	_1XtIsTopLevelShell_FUNC,
-	_1XtLastTimestampProcessed_FUNC,
-	_1XtMalloc_FUNC,
-	_1XtManageChild_FUNC,
-	_1XtMapWidget_FUNC,
-	_1XtMoveWidget_FUNC,
-	_1XtNameToWidget_FUNC,
-	_1XtOpenDisplay_FUNC,
-	_1XtOverrideTranslations_FUNC,
-	_1XtOwnSelection_FUNC,
-	_1XtParent_FUNC,
-	_1XtParseTranslationTable_FUNC,
-	_1XtPopdown_FUNC,
-	_1XtPopup_FUNC,
-	_1XtQueryGeometry_FUNC,
-	_1XtRealizeWidget_FUNC,
-	_1XtRegisterDrawable_FUNC,
-	_1XtRemoveEventHandler_FUNC,
-	_1XtRemoveInput_FUNC,
-	_1XtRemoveTimeOut_FUNC,
-	_1XtResizeWidget_FUNC,
-	_1XtResizeWindow_FUNC,
-	_1XtSetLanguageProc_FUNC,
-	_1XtSetMappedWhenManaged_FUNC,
-	_1XtSetValues_FUNC,
-	_1XtToolkitInitialize_FUNC,
-	_1XtToolkitThreadInitialize_FUNC,
-	_1XtTranslateCoords_FUNC,
-	_1XtUnmanageChild_FUNC,
-	_1XtUnmapWidget_FUNC,
-	_1XtUnregisterDrawable_FUNC,
-	_1XtWindow_FUNC,
-	_1XtWindowToWidget_FUNC,
-	_1_1XmSetMenuTraversal_FUNC,
-	_1applicationShellWidgetClass_FUNC,
-	_1dlclose_FUNC,
-	_1dlopen_FUNC,
-	_1dlsym_FUNC,
-	_1overrideShellWidgetClass_FUNC,
-	_1shellWidgetClass_FUNC,
-	_1topLevelShellWidgetClass_FUNC,
-	_1transientShellWidgetClass_FUNC,
-	_1xmMenuShellWidgetClass_FUNC,
-	close_FUNC,
-	fd_1set_1sizeof_FUNC,
-	getenv_FUNC,
-	iconv_FUNC,
-	iconv_1close_FUNC,
-	iconv_1open_FUNC,
-	localeconv_1decimal_1point_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XButtonEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XClientMessageEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XConfigureEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XExposeEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XImage_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XKeyEvent_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XmTextBlockRec_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2I_FUNC,
-	memmove__I_3BI_FUNC,
-	memmove__I_3CI_FUNC,
-	memmove__I_3II_FUNC,
-	memmove__I_3SI_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_Visual_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XAnyEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XButtonEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XCharStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XClientMessageEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XConfigureEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XCreateWindowEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XCrossingEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XDestroyWindowEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XExposeEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XFocusChangeEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XFontStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XIconSize_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XImage_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XKeyEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XModifierKeymap_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XMotionEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XPropertyEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XReparentEvent_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XineramaScreenInfo_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmAnyCallbackStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmDragProcCallbackStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmDropFinishCallbackStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmDropProcCallbackStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmSpinBoxCallbackStruct_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmTextBlockRec_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_motif_XmTextVerifyCallbackStruct_2II_FUNC,
-	memmove___3BII_FUNC,
-	memmove___3CII_FUNC,
-	memmove___3III_FUNC,
-	nl_1langinfo_FUNC,
-	pipe_FUNC,
-	read_FUNC,
-	select_FUNC,
-	setResourceMem_FUNC,
-	setlocale_FUNC,
-	strlen_FUNC,
-	write_FUNC,
-} OS_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.c
deleted file mode 100644
index 96a1999..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.c
+++ /dev/null
@@ -1,2125 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-
-#ifndef NO_Visual
-typedef struct Visual_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ext_data, visualid, c_class, red_mask, green_mask, blue_mask, bits_per_rgb, map_entries;
-} Visual_FID_CACHE;
-
-Visual_FID_CACHE VisualFc;
-
-void cacheVisualFields(JNIEnv *env, jobject lpObject)
-{
-	if (VisualFc.cached) return;
-	VisualFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	VisualFc.ext_data = (*env)->GetFieldID(env, VisualFc.clazz, "ext_data", "I");
-	VisualFc.visualid = (*env)->GetFieldID(env, VisualFc.clazz, "visualid", "I");
-	VisualFc.c_class = (*env)->GetFieldID(env, VisualFc.clazz, "c_class", "I");
-	VisualFc.red_mask = (*env)->GetFieldID(env, VisualFc.clazz, "red_mask", "I");
-	VisualFc.green_mask = (*env)->GetFieldID(env, VisualFc.clazz, "green_mask", "I");
-	VisualFc.blue_mask = (*env)->GetFieldID(env, VisualFc.clazz, "blue_mask", "I");
-	VisualFc.bits_per_rgb = (*env)->GetFieldID(env, VisualFc.clazz, "bits_per_rgb", "I");
-	VisualFc.map_entries = (*env)->GetFieldID(env, VisualFc.clazz, "map_entries", "I");
-	VisualFc.cached = 1;
-}
-
-Visual *getVisualFields(JNIEnv *env, jobject lpObject, Visual *lpStruct)
-{
-	if (!VisualFc.cached) cacheVisualFields(env, lpObject);
-	lpStruct->ext_data = (XExtData *)(*env)->GetIntField(env, lpObject, VisualFc.ext_data);
-	lpStruct->visualid = (*env)->GetIntField(env, lpObject, VisualFc.visualid);
-	lpStruct->class = (*env)->GetIntField(env, lpObject, VisualFc.c_class);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, VisualFc.red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, VisualFc.green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, VisualFc.blue_mask);
-	lpStruct->bits_per_rgb = (*env)->GetIntField(env, lpObject, VisualFc.bits_per_rgb);
-	lpStruct->map_entries = (*env)->GetIntField(env, lpObject, VisualFc.map_entries);
-	return lpStruct;
-}
-
-void setVisualFields(JNIEnv *env, jobject lpObject, Visual *lpStruct)
-{
-	if (!VisualFc.cached) cacheVisualFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, VisualFc.ext_data, (jint)lpStruct->ext_data);
-	(*env)->SetIntField(env, lpObject, VisualFc.visualid, (jint)lpStruct->visualid);
-	(*env)->SetIntField(env, lpObject, VisualFc.c_class, (jint)lpStruct->class);
-	(*env)->SetIntField(env, lpObject, VisualFc.red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, VisualFc.green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, VisualFc.blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, VisualFc.bits_per_rgb, (jint)lpStruct->bits_per_rgb);
-	(*env)->SetIntField(env, lpObject, VisualFc.map_entries, (jint)lpStruct->map_entries);
-}
-#endif
-
-#ifndef NO_XAnyEvent
-typedef struct XAnyEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, window;
-} XAnyEvent_FID_CACHE;
-
-XAnyEvent_FID_CACHE XAnyEventFc;
-
-void cacheXAnyEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XAnyEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XAnyEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XAnyEventFc.serial = (*env)->GetFieldID(env, XAnyEventFc.clazz, "serial", "I");
-	XAnyEventFc.send_event = (*env)->GetFieldID(env, XAnyEventFc.clazz, "send_event", "I");
-	XAnyEventFc.display = (*env)->GetFieldID(env, XAnyEventFc.clazz, "display", "I");
-	XAnyEventFc.window = (*env)->GetFieldID(env, XAnyEventFc.clazz, "window", "I");
-	XAnyEventFc.cached = 1;
-}
-
-XAnyEvent *getXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct)
-{
-	if (!XAnyEventFc.cached) cacheXAnyEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XAnyEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XAnyEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XAnyEventFc.display);
-	lpStruct->window = (*env)->GetIntField(env, lpObject, XAnyEventFc.window);
-	return lpStruct;
-}
-
-void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct)
-{
-	if (!XAnyEventFc.cached) cacheXAnyEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XAnyEventFc.window, (jint)lpStruct->window);
-}
-#endif
-
-#ifndef NO_XButtonEvent
-typedef struct XButtonEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, state, button, same_screen;
-} XButtonEvent_FID_CACHE;
-
-XButtonEvent_FID_CACHE XButtonEventFc;
-
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XButtonEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XButtonEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XButtonEventFc.root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "root", "I");
-	XButtonEventFc.subwindow = (*env)->GetFieldID(env, XButtonEventFc.clazz, "subwindow", "I");
-	XButtonEventFc.time = (*env)->GetFieldID(env, XButtonEventFc.clazz, "time", "I");
-	XButtonEventFc.x = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x", "I");
-	XButtonEventFc.y = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y", "I");
-	XButtonEventFc.x_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x_root", "I");
-	XButtonEventFc.y_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y_root", "I");
-	XButtonEventFc.state = (*env)->GetFieldID(env, XButtonEventFc.clazz, "state", "I");
-	XButtonEventFc.button = (*env)->GetFieldID(env, XButtonEventFc.clazz, "button", "I");
-	XButtonEventFc.same_screen = (*env)->GetFieldID(env, XButtonEventFc.clazz, "same_screen", "I");
-	XButtonEventFc.cached = 1;
-}
-
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
-	if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XButtonEventFc.root);
-	lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XButtonEventFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XButtonEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XButtonEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XButtonEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.y_root);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XButtonEventFc.state);
-	lpStruct->button = (*env)->GetIntField(env, lpObject, XButtonEventFc.button);
-	lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XButtonEventFc.same_screen);
-	return lpStruct;
-}
-
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
-	if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.button, (jint)lpStruct->button);
-	(*env)->SetIntField(env, lpObject, XButtonEventFc.same_screen, (jint)lpStruct->same_screen);
-}
-#endif
-
-#ifndef NO_XCharStruct
-typedef struct XCharStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lbearing, rbearing, width, ascent, descent, attributes;
-} XCharStruct_FID_CACHE;
-
-XCharStruct_FID_CACHE XCharStructFc;
-
-void cacheXCharStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XCharStructFc.cached) return;
-	XCharStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XCharStructFc.lbearing = (*env)->GetFieldID(env, XCharStructFc.clazz, "lbearing", "S");
-	XCharStructFc.rbearing = (*env)->GetFieldID(env, XCharStructFc.clazz, "rbearing", "S");
-	XCharStructFc.width = (*env)->GetFieldID(env, XCharStructFc.clazz, "width", "S");
-	XCharStructFc.ascent = (*env)->GetFieldID(env, XCharStructFc.clazz, "ascent", "S");
-	XCharStructFc.descent = (*env)->GetFieldID(env, XCharStructFc.clazz, "descent", "S");
-	XCharStructFc.attributes = (*env)->GetFieldID(env, XCharStructFc.clazz, "attributes", "S");
-	XCharStructFc.cached = 1;
-}
-
-XCharStruct *getXCharStructFields(JNIEnv *env, jobject lpObject, XCharStruct *lpStruct)
-{
-	if (!XCharStructFc.cached) cacheXCharStructFields(env, lpObject);
-	lpStruct->lbearing = (*env)->GetShortField(env, lpObject, XCharStructFc.lbearing);
-	lpStruct->rbearing = (*env)->GetShortField(env, lpObject, XCharStructFc.rbearing);
-	lpStruct->width = (*env)->GetShortField(env, lpObject, XCharStructFc.width);
-	lpStruct->ascent = (*env)->GetShortField(env, lpObject, XCharStructFc.ascent);
-	lpStruct->descent = (*env)->GetShortField(env, lpObject, XCharStructFc.descent);
-	lpStruct->attributes = (*env)->GetShortField(env, lpObject, XCharStructFc.attributes);
-	return lpStruct;
-}
-
-void setXCharStructFields(JNIEnv *env, jobject lpObject, XCharStruct *lpStruct)
-{
-	if (!XCharStructFc.cached) cacheXCharStructFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.lbearing, (jshort)lpStruct->lbearing);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.rbearing, (jshort)lpStruct->rbearing);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.width, (jshort)lpStruct->width);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.ascent, (jshort)lpStruct->ascent);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.descent, (jshort)lpStruct->descent);
-	(*env)->SetShortField(env, lpObject, XCharStructFc.attributes, (jshort)lpStruct->attributes);
-}
-#endif
-
-#ifndef NO_XClientMessageEvent
-typedef struct XClientMessageEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID message_type, format, data;
-} XClientMessageEvent_FID_CACHE;
-
-XClientMessageEvent_FID_CACHE XClientMessageEventFc;
-
-void cacheXClientMessageEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XClientMessageEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XClientMessageEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XClientMessageEventFc.message_type = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "message_type", "I");
-	XClientMessageEventFc.format = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "format", "I");
-	XClientMessageEventFc.data = (*env)->GetFieldID(env, XClientMessageEventFc.clazz, "data", "[I");
-	XClientMessageEventFc.cached = 1;
-}
-
-XClientMessageEvent *getXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct)
-{
-	if (!XClientMessageEventFc.cached) cacheXClientMessageEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->message_type = (Atom)(*env)->GetIntField(env, lpObject, XClientMessageEventFc.message_type);
-	lpStruct->format = (*env)->GetIntField(env, lpObject, XClientMessageEventFc.format);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, XClientMessageEventFc.data);
-	(*env)->GetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data.l) / 4, (jint *)lpStruct->data.l);
-	}
-	return lpStruct;
-}
-
-void setXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct)
-{
-	if (!XClientMessageEventFc.cached) cacheXClientMessageEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.message_type, (jint)lpStruct->message_type);
-	(*env)->SetIntField(env, lpObject, XClientMessageEventFc.format, (jint)lpStruct->format);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, XClientMessageEventFc.data);
-	(*env)->SetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->data.l) / 4, (jint *)lpStruct->data.l);
-	}
-}
-#endif
-
-#ifndef NO_XColor
-typedef struct XColor_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pixel, red, green, blue, flags, pad;
-} XColor_FID_CACHE;
-
-XColor_FID_CACHE XColorFc;
-
-void cacheXColorFields(JNIEnv *env, jobject lpObject)
-{
-	if (XColorFc.cached) return;
-	XColorFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XColorFc.pixel = (*env)->GetFieldID(env, XColorFc.clazz, "pixel", "I");
-	XColorFc.red = (*env)->GetFieldID(env, XColorFc.clazz, "red", "S");
-	XColorFc.green = (*env)->GetFieldID(env, XColorFc.clazz, "green", "S");
-	XColorFc.blue = (*env)->GetFieldID(env, XColorFc.clazz, "blue", "S");
-	XColorFc.flags = (*env)->GetFieldID(env, XColorFc.clazz, "flags", "B");
-	XColorFc.pad = (*env)->GetFieldID(env, XColorFc.clazz, "pad", "B");
-	XColorFc.cached = 1;
-}
-
-XColor *getXColorFields(JNIEnv *env, jobject lpObject, XColor *lpStruct)
-{
-	if (!XColorFc.cached) cacheXColorFields(env, lpObject);
-	lpStruct->pixel = (*env)->GetIntField(env, lpObject, XColorFc.pixel);
-	lpStruct->red = (*env)->GetShortField(env, lpObject, XColorFc.red);
-	lpStruct->green = (*env)->GetShortField(env, lpObject, XColorFc.green);
-	lpStruct->blue = (*env)->GetShortField(env, lpObject, XColorFc.blue);
-	lpStruct->flags = (*env)->GetByteField(env, lpObject, XColorFc.flags);
-	lpStruct->pad = (*env)->GetByteField(env, lpObject, XColorFc.pad);
-	return lpStruct;
-}
-
-void setXColorFields(JNIEnv *env, jobject lpObject, XColor *lpStruct)
-{
-	if (!XColorFc.cached) cacheXColorFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XColorFc.pixel, (jint)lpStruct->pixel);
-	(*env)->SetShortField(env, lpObject, XColorFc.red, (jshort)lpStruct->red);
-	(*env)->SetShortField(env, lpObject, XColorFc.green, (jshort)lpStruct->green);
-	(*env)->SetShortField(env, lpObject, XColorFc.blue, (jshort)lpStruct->blue);
-	(*env)->SetByteField(env, lpObject, XColorFc.flags, (jbyte)lpStruct->flags);
-	(*env)->SetByteField(env, lpObject, XColorFc.pad, (jbyte)lpStruct->pad);
-}
-#endif
-
-#ifndef NO_XConfigureEvent
-typedef struct XConfigureEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, event, window, x, y, width, height, border_width, above, override_redirect;
-} XConfigureEvent_FID_CACHE;
-
-XConfigureEvent_FID_CACHE XConfigureEventFc;
-
-void cacheXConfigureEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XConfigureEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XConfigureEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XConfigureEventFc.serial = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "serial", "I");
-	XConfigureEventFc.send_event = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "send_event", "I");
-	XConfigureEventFc.display = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "display", "I");
-	XConfigureEventFc.event = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "event", "I");
-	XConfigureEventFc.window = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "window", "I");
-	XConfigureEventFc.x = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "x", "I");
-	XConfigureEventFc.y = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "y", "I");
-	XConfigureEventFc.width = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "width", "I");
-	XConfigureEventFc.height = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "height", "I");
-	XConfigureEventFc.border_width = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "border_width", "I");
-	XConfigureEventFc.above = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "above", "I");
-	XConfigureEventFc.override_redirect = (*env)->GetFieldID(env, XConfigureEventFc.clazz, "override_redirect", "I");
-	XConfigureEventFc.cached = 1;
-}
-
-XConfigureEvent *getXConfigureEventFields(JNIEnv *env, jobject lpObject, XConfigureEvent *lpStruct)
-{
-	if (!XConfigureEventFc.cached) cacheXConfigureEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XConfigureEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XConfigureEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XConfigureEventFc.display);
-	lpStruct->event = (Window)(*env)->GetIntField(env, lpObject, XConfigureEventFc.event);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XConfigureEventFc.window);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XConfigureEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XConfigureEventFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XConfigureEventFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XConfigureEventFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XConfigureEventFc.border_width);
-	lpStruct->above = (Window)(*env)->GetIntField(env, lpObject, XConfigureEventFc.above);
-	lpStruct->override_redirect = (*env)->GetIntField(env, lpObject, XConfigureEventFc.override_redirect);
-	return lpStruct;
-}
-
-void setXConfigureEventFields(JNIEnv *env, jobject lpObject, XConfigureEvent *lpStruct)
-{
-	if (!XConfigureEventFc.cached) cacheXConfigureEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.event, (jint)lpStruct->event);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.window, (jint)lpStruct->window);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.above, (jint)lpStruct->above);
-	(*env)->SetIntField(env, lpObject, XConfigureEventFc.override_redirect, (jint)lpStruct->override_redirect);
-}
-#endif
-
-#ifndef NO_XCreateWindowEvent
-typedef struct XCreateWindowEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, parent, window, x, y, width, height, border_width, override_redirect;
-} XCreateWindowEvent_FID_CACHE;
-
-XCreateWindowEvent_FID_CACHE XCreateWindowEventFc;
-
-void cacheXCreateWindowEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XCreateWindowEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XCreateWindowEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XCreateWindowEventFc.serial = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "serial", "I");
-	XCreateWindowEventFc.send_event = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "send_event", "I");
-	XCreateWindowEventFc.display = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "display", "I");
-	XCreateWindowEventFc.parent = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "parent", "I");
-	XCreateWindowEventFc.window = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "window", "I");
-	XCreateWindowEventFc.x = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "x", "I");
-	XCreateWindowEventFc.y = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "y", "I");
-	XCreateWindowEventFc.width = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "width", "I");
-	XCreateWindowEventFc.height = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "height", "I");
-	XCreateWindowEventFc.border_width = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "border_width", "I");
-	XCreateWindowEventFc.override_redirect = (*env)->GetFieldID(env, XCreateWindowEventFc.clazz, "override_redirect", "I");
-	XCreateWindowEventFc.cached = 1;
-}
-
-XCreateWindowEvent *getXCreateWindowEventFields(JNIEnv *env, jobject lpObject, XCreateWindowEvent *lpStruct)
-{
-	if (!XCreateWindowEventFc.cached) cacheXCreateWindowEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XCreateWindowEventFc.display);
-	lpStruct->parent = (Window)(*env)->GetIntField(env, lpObject, XCreateWindowEventFc.parent);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XCreateWindowEventFc.window);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.border_width);
-	lpStruct->override_redirect = (*env)->GetIntField(env, lpObject, XCreateWindowEventFc.override_redirect);
-	return lpStruct;
-}
-
-void setXCreateWindowEventFields(JNIEnv *env, jobject lpObject, XCreateWindowEvent *lpStruct)
-{
-	if (!XCreateWindowEventFc.cached) cacheXCreateWindowEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.parent, (jint)lpStruct->parent);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.window, (jint)lpStruct->window);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XCreateWindowEventFc.override_redirect, (jint)lpStruct->override_redirect);
-}
-#endif
-
-#ifndef NO_XCrossingEvent
-typedef struct XCrossingEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, mode, detail, same_screen, focus, state;
-} XCrossingEvent_FID_CACHE;
-
-XCrossingEvent_FID_CACHE XCrossingEventFc;
-
-void cacheXCrossingEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XCrossingEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XCrossingEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XCrossingEventFc.root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "root", "I");
-	XCrossingEventFc.subwindow = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "subwindow", "I");
-	XCrossingEventFc.time = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "time", "I");
-	XCrossingEventFc.x = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "x", "I");
-	XCrossingEventFc.y = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "y", "I");
-	XCrossingEventFc.x_root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "x_root", "I");
-	XCrossingEventFc.y_root = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "y_root", "I");
-	XCrossingEventFc.mode = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "mode", "I");
-	XCrossingEventFc.detail = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "detail", "I");
-	XCrossingEventFc.same_screen = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "same_screen", "I");
-	XCrossingEventFc.focus = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "focus", "I");
-	XCrossingEventFc.state = (*env)->GetFieldID(env, XCrossingEventFc.clazz, "state", "I");
-	XCrossingEventFc.cached = 1;
-}
-
-XCrossingEvent *getXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct)
-{
-	if (!XCrossingEventFc.cached) cacheXCrossingEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XCrossingEventFc.root);
-	lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XCrossingEventFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XCrossingEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XCrossingEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XCrossingEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XCrossingEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XCrossingEventFc.y_root);
-	lpStruct->mode = (*env)->GetIntField(env, lpObject, XCrossingEventFc.mode);
-	lpStruct->detail = (*env)->GetIntField(env, lpObject, XCrossingEventFc.detail);
-	lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XCrossingEventFc.same_screen);
-	lpStruct->focus = (*env)->GetIntField(env, lpObject, XCrossingEventFc.focus);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XCrossingEventFc.state);
-	return lpStruct;
-}
-
-void setXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct)
-{
-	if (!XCrossingEventFc.cached) cacheXCrossingEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.detail, (jint)lpStruct->detail);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.same_screen, (jint)lpStruct->same_screen);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.focus, (jint)lpStruct->focus);
-	(*env)->SetIntField(env, lpObject, XCrossingEventFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_XDestroyWindowEvent
-typedef struct XDestroyWindowEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, event, window;
-} XDestroyWindowEvent_FID_CACHE;
-
-XDestroyWindowEvent_FID_CACHE XDestroyWindowEventFc;
-
-void cacheXDestroyWindowEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XDestroyWindowEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XDestroyWindowEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XDestroyWindowEventFc.serial = (*env)->GetFieldID(env, XDestroyWindowEventFc.clazz, "serial", "I");
-	XDestroyWindowEventFc.send_event = (*env)->GetFieldID(env, XDestroyWindowEventFc.clazz, "send_event", "I");
-	XDestroyWindowEventFc.display = (*env)->GetFieldID(env, XDestroyWindowEventFc.clazz, "display", "I");
-	XDestroyWindowEventFc.event = (*env)->GetFieldID(env, XDestroyWindowEventFc.clazz, "event", "I");
-	XDestroyWindowEventFc.window = (*env)->GetFieldID(env, XDestroyWindowEventFc.clazz, "window", "I");
-	XDestroyWindowEventFc.cached = 1;
-}
-
-XDestroyWindowEvent *getXDestroyWindowEventFields(JNIEnv *env, jobject lpObject, XDestroyWindowEvent *lpStruct)
-{
-	if (!XDestroyWindowEventFc.cached) cacheXDestroyWindowEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XDestroyWindowEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XDestroyWindowEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XDestroyWindowEventFc.display);
-	lpStruct->event = (Window)(*env)->GetIntField(env, lpObject, XDestroyWindowEventFc.event);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XDestroyWindowEventFc.window);
-	return lpStruct;
-}
-
-void setXDestroyWindowEventFields(JNIEnv *env, jobject lpObject, XDestroyWindowEvent *lpStruct)
-{
-	if (!XDestroyWindowEventFc.cached) cacheXDestroyWindowEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XDestroyWindowEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XDestroyWindowEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XDestroyWindowEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XDestroyWindowEventFc.event, (jint)lpStruct->event);
-	(*env)->SetIntField(env, lpObject, XDestroyWindowEventFc.window, (jint)lpStruct->window);
-}
-#endif
-
-#ifndef NO_XEvent
-typedef struct XEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type;
-} XEvent_FID_CACHE;
-
-XEvent_FID_CACHE XEventFc;
-
-void cacheXEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XEventFc.cached) return;
-	XEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XEventFc.type = (*env)->GetFieldID(env, XEventFc.clazz, "type", "I");
-	XEventFc.cached = 1;
-}
-
-XEvent *getXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct)
-{
-	if (!XEventFc.cached) cacheXEventFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, XEventFc.type);
-	return lpStruct;
-}
-
-void setXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct)
-{
-	if (!XEventFc.cached) cacheXEventFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XEventFc.type, (jint)lpStruct->type);
-}
-#endif
-
-#ifndef NO_XExposeEvent
-typedef struct XExposeEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height, count;
-} XExposeEvent_FID_CACHE;
-
-XExposeEvent_FID_CACHE XExposeEventFc;
-
-void cacheXExposeEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XExposeEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XExposeEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XExposeEventFc.x = (*env)->GetFieldID(env, XExposeEventFc.clazz, "x", "I");
-	XExposeEventFc.y = (*env)->GetFieldID(env, XExposeEventFc.clazz, "y", "I");
-	XExposeEventFc.width = (*env)->GetFieldID(env, XExposeEventFc.clazz, "width", "I");
-	XExposeEventFc.height = (*env)->GetFieldID(env, XExposeEventFc.clazz, "height", "I");
-	XExposeEventFc.count = (*env)->GetFieldID(env, XExposeEventFc.clazz, "count", "I");
-	XExposeEventFc.cached = 1;
-}
-
-XExposeEvent *getXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct)
-{
-	if (!XExposeEventFc.cached) cacheXExposeEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XExposeEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XExposeEventFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XExposeEventFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XExposeEventFc.height);
-	lpStruct->count = (*env)->GetIntField(env, lpObject, XExposeEventFc.count);
-	return lpStruct;
-}
-
-void setXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct)
-{
-	if (!XExposeEventFc.cached) cacheXExposeEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XExposeEventFc.count, (jint)lpStruct->count);
-}
-#endif
-
-#ifndef NO_XFocusChangeEvent
-typedef struct XFocusChangeEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mode, detail;
-} XFocusChangeEvent_FID_CACHE;
-
-XFocusChangeEvent_FID_CACHE XFocusChangeEventFc;
-
-void cacheXFocusChangeEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XFocusChangeEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XFocusChangeEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XFocusChangeEventFc.mode = (*env)->GetFieldID(env, XFocusChangeEventFc.clazz, "mode", "I");
-	XFocusChangeEventFc.detail = (*env)->GetFieldID(env, XFocusChangeEventFc.clazz, "detail", "I");
-	XFocusChangeEventFc.cached = 1;
-}
-
-XFocusChangeEvent *getXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct)
-{
-	if (!XFocusChangeEventFc.cached) cacheXFocusChangeEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->mode = (*env)->GetIntField(env, lpObject, XFocusChangeEventFc.mode);
-	lpStruct->detail = (*env)->GetIntField(env, lpObject, XFocusChangeEventFc.detail);
-	return lpStruct;
-}
-
-void setXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct)
-{
-	if (!XFocusChangeEventFc.cached) cacheXFocusChangeEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XFocusChangeEventFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, XFocusChangeEventFc.detail, (jint)lpStruct->detail);
-}
-#endif
-
-#ifndef NO_XFontStruct
-typedef struct XFontStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ext_data, fid, direction, min_char_or_byte2, max_char_or_byte2, min_byte1, max_byte1, all_chars_exist, default_char, n_properties, properties, min_bounds_lbearing, min_bounds_rbearing, min_bounds_width, min_bounds_ascent, min_bounds_descent, min_bounds_attributes, max_bounds_lbearing, max_bounds_rbearing, max_bounds_width, max_bounds_ascent, max_bounds_descent, max_bounds_attributes, per_char, ascent, descent;
-} XFontStruct_FID_CACHE;
-
-XFontStruct_FID_CACHE XFontStructFc;
-
-void cacheXFontStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XFontStructFc.cached) return;
-	XFontStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XFontStructFc.ext_data = (*env)->GetFieldID(env, XFontStructFc.clazz, "ext_data", "I");
-	XFontStructFc.fid = (*env)->GetFieldID(env, XFontStructFc.clazz, "fid", "I");
-	XFontStructFc.direction = (*env)->GetFieldID(env, XFontStructFc.clazz, "direction", "I");
-	XFontStructFc.min_char_or_byte2 = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_char_or_byte2", "I");
-	XFontStructFc.max_char_or_byte2 = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_char_or_byte2", "I");
-	XFontStructFc.min_byte1 = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_byte1", "I");
-	XFontStructFc.max_byte1 = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_byte1", "I");
-	XFontStructFc.all_chars_exist = (*env)->GetFieldID(env, XFontStructFc.clazz, "all_chars_exist", "I");
-	XFontStructFc.default_char = (*env)->GetFieldID(env, XFontStructFc.clazz, "default_char", "I");
-	XFontStructFc.n_properties = (*env)->GetFieldID(env, XFontStructFc.clazz, "n_properties", "I");
-	XFontStructFc.properties = (*env)->GetFieldID(env, XFontStructFc.clazz, "properties", "I");
-	XFontStructFc.min_bounds_lbearing = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_lbearing", "S");
-	XFontStructFc.min_bounds_rbearing = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_rbearing", "S");
-	XFontStructFc.min_bounds_width = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_width", "S");
-	XFontStructFc.min_bounds_ascent = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_ascent", "S");
-	XFontStructFc.min_bounds_descent = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_descent", "S");
-	XFontStructFc.min_bounds_attributes = (*env)->GetFieldID(env, XFontStructFc.clazz, "min_bounds_attributes", "S");
-	XFontStructFc.max_bounds_lbearing = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_lbearing", "S");
-	XFontStructFc.max_bounds_rbearing = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_rbearing", "S");
-	XFontStructFc.max_bounds_width = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_width", "S");
-	XFontStructFc.max_bounds_ascent = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_ascent", "S");
-	XFontStructFc.max_bounds_descent = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_descent", "S");
-	XFontStructFc.max_bounds_attributes = (*env)->GetFieldID(env, XFontStructFc.clazz, "max_bounds_attributes", "S");
-	XFontStructFc.per_char = (*env)->GetFieldID(env, XFontStructFc.clazz, "per_char", "I");
-	XFontStructFc.ascent = (*env)->GetFieldID(env, XFontStructFc.clazz, "ascent", "I");
-	XFontStructFc.descent = (*env)->GetFieldID(env, XFontStructFc.clazz, "descent", "I");
-	XFontStructFc.cached = 1;
-}
-
-XFontStruct *getXFontStructFields(JNIEnv *env, jobject lpObject, XFontStruct *lpStruct)
-{
-	if (!XFontStructFc.cached) cacheXFontStructFields(env, lpObject);
-	lpStruct->ext_data = (XExtData *)(*env)->GetIntField(env, lpObject, XFontStructFc.ext_data);
-	lpStruct->fid = (*env)->GetIntField(env, lpObject, XFontStructFc.fid);
-	lpStruct->direction = (*env)->GetIntField(env, lpObject, XFontStructFc.direction);
-	lpStruct->min_char_or_byte2 = (*env)->GetIntField(env, lpObject, XFontStructFc.min_char_or_byte2);
-	lpStruct->max_char_or_byte2 = (*env)->GetIntField(env, lpObject, XFontStructFc.max_char_or_byte2);
-	lpStruct->min_byte1 = (*env)->GetIntField(env, lpObject, XFontStructFc.min_byte1);
-	lpStruct->max_byte1 = (*env)->GetIntField(env, lpObject, XFontStructFc.max_byte1);
-	lpStruct->all_chars_exist = (*env)->GetIntField(env, lpObject, XFontStructFc.all_chars_exist);
-	lpStruct->default_char = (*env)->GetIntField(env, lpObject, XFontStructFc.default_char);
-	lpStruct->n_properties = (*env)->GetIntField(env, lpObject, XFontStructFc.n_properties);
-	lpStruct->properties = (XFontProp *)(*env)->GetIntField(env, lpObject, XFontStructFc.properties);
-	lpStruct->min_bounds.lbearing = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_lbearing);
-	lpStruct->min_bounds.rbearing = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_rbearing);
-	lpStruct->min_bounds.width = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_width);
-	lpStruct->min_bounds.ascent = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_ascent);
-	lpStruct->min_bounds.descent = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_descent);
-	lpStruct->min_bounds.attributes = (*env)->GetShortField(env, lpObject, XFontStructFc.min_bounds_attributes);
-	lpStruct->max_bounds.lbearing = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_lbearing);
-	lpStruct->max_bounds.rbearing = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_rbearing);
-	lpStruct->max_bounds.width = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_width);
-	lpStruct->max_bounds.ascent = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_ascent);
-	lpStruct->max_bounds.descent = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_descent);
-	lpStruct->max_bounds.attributes = (*env)->GetShortField(env, lpObject, XFontStructFc.max_bounds_attributes);
-	lpStruct->per_char = (XCharStruct *)(*env)->GetIntField(env, lpObject, XFontStructFc.per_char);
-	lpStruct->ascent = (*env)->GetIntField(env, lpObject, XFontStructFc.ascent);
-	lpStruct->descent = (*env)->GetIntField(env, lpObject, XFontStructFc.descent);
-	return lpStruct;
-}
-
-void setXFontStructFields(JNIEnv *env, jobject lpObject, XFontStruct *lpStruct)
-{
-	if (!XFontStructFc.cached) cacheXFontStructFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.ext_data, (jint)lpStruct->ext_data);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.fid, (jint)lpStruct->fid);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.direction, (jint)lpStruct->direction);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.min_char_or_byte2, (jint)lpStruct->min_char_or_byte2);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.max_char_or_byte2, (jint)lpStruct->max_char_or_byte2);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.min_byte1, (jint)lpStruct->min_byte1);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.max_byte1, (jint)lpStruct->max_byte1);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.all_chars_exist, (jint)lpStruct->all_chars_exist);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.default_char, (jint)lpStruct->default_char);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.n_properties, (jint)lpStruct->n_properties);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.properties, (jint)lpStruct->properties);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_lbearing, (jshort)lpStruct->min_bounds.lbearing);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_rbearing, (jshort)lpStruct->min_bounds.rbearing);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_width, (jshort)lpStruct->min_bounds.width);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_ascent, (jshort)lpStruct->min_bounds.ascent);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_descent, (jshort)lpStruct->min_bounds.descent);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.min_bounds_attributes, (jshort)lpStruct->min_bounds.attributes);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_lbearing, (jshort)lpStruct->max_bounds.lbearing);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_rbearing, (jshort)lpStruct->max_bounds.rbearing);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_width, (jshort)lpStruct->max_bounds.width);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_ascent, (jshort)lpStruct->max_bounds.ascent);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_descent, (jshort)lpStruct->max_bounds.descent);
-	(*env)->SetShortField(env, lpObject, XFontStructFc.max_bounds_attributes, (jshort)lpStruct->max_bounds.attributes);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.per_char, (jint)lpStruct->per_char);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.ascent, (jint)lpStruct->ascent);
-	(*env)->SetIntField(env, lpObject, XFontStructFc.descent, (jint)lpStruct->descent);
-}
-#endif
-
-#ifndef NO_XGCValues
-typedef struct XGCValues_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID function, plane_mask, foreground, background, line_width, line_style, cap_style, join_style, fill_style, fill_rule, arc_mode, tile, stipple, ts_x_origin, ts_y_origin, font, subwindow_mode, graphics_exposures, clip_x_origin, clip_y_origin, clip_mask, dash_offset, dashes;
-} XGCValues_FID_CACHE;
-
-XGCValues_FID_CACHE XGCValuesFc;
-
-void cacheXGCValuesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XGCValuesFc.cached) return;
-	XGCValuesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XGCValuesFc.function = (*env)->GetFieldID(env, XGCValuesFc.clazz, "function", "I");
-	XGCValuesFc.plane_mask = (*env)->GetFieldID(env, XGCValuesFc.clazz, "plane_mask", "I");
-	XGCValuesFc.foreground = (*env)->GetFieldID(env, XGCValuesFc.clazz, "foreground", "I");
-	XGCValuesFc.background = (*env)->GetFieldID(env, XGCValuesFc.clazz, "background", "I");
-	XGCValuesFc.line_width = (*env)->GetFieldID(env, XGCValuesFc.clazz, "line_width", "I");
-	XGCValuesFc.line_style = (*env)->GetFieldID(env, XGCValuesFc.clazz, "line_style", "I");
-	XGCValuesFc.cap_style = (*env)->GetFieldID(env, XGCValuesFc.clazz, "cap_style", "I");
-	XGCValuesFc.join_style = (*env)->GetFieldID(env, XGCValuesFc.clazz, "join_style", "I");
-	XGCValuesFc.fill_style = (*env)->GetFieldID(env, XGCValuesFc.clazz, "fill_style", "I");
-	XGCValuesFc.fill_rule = (*env)->GetFieldID(env, XGCValuesFc.clazz, "fill_rule", "I");
-	XGCValuesFc.arc_mode = (*env)->GetFieldID(env, XGCValuesFc.clazz, "arc_mode", "I");
-	XGCValuesFc.tile = (*env)->GetFieldID(env, XGCValuesFc.clazz, "tile", "I");
-	XGCValuesFc.stipple = (*env)->GetFieldID(env, XGCValuesFc.clazz, "stipple", "I");
-	XGCValuesFc.ts_x_origin = (*env)->GetFieldID(env, XGCValuesFc.clazz, "ts_x_origin", "I");
-	XGCValuesFc.ts_y_origin = (*env)->GetFieldID(env, XGCValuesFc.clazz, "ts_y_origin", "I");
-	XGCValuesFc.font = (*env)->GetFieldID(env, XGCValuesFc.clazz, "font", "I");
-	XGCValuesFc.subwindow_mode = (*env)->GetFieldID(env, XGCValuesFc.clazz, "subwindow_mode", "I");
-	XGCValuesFc.graphics_exposures = (*env)->GetFieldID(env, XGCValuesFc.clazz, "graphics_exposures", "I");
-	XGCValuesFc.clip_x_origin = (*env)->GetFieldID(env, XGCValuesFc.clazz, "clip_x_origin", "I");
-	XGCValuesFc.clip_y_origin = (*env)->GetFieldID(env, XGCValuesFc.clazz, "clip_y_origin", "I");
-	XGCValuesFc.clip_mask = (*env)->GetFieldID(env, XGCValuesFc.clazz, "clip_mask", "I");
-	XGCValuesFc.dash_offset = (*env)->GetFieldID(env, XGCValuesFc.clazz, "dash_offset", "I");
-	XGCValuesFc.dashes = (*env)->GetFieldID(env, XGCValuesFc.clazz, "dashes", "B");
-	XGCValuesFc.cached = 1;
-}
-
-XGCValues *getXGCValuesFields(JNIEnv *env, jobject lpObject, XGCValues *lpStruct)
-{
-	if (!XGCValuesFc.cached) cacheXGCValuesFields(env, lpObject);
-	lpStruct->function = (*env)->GetIntField(env, lpObject, XGCValuesFc.function);
-	lpStruct->plane_mask = (*env)->GetIntField(env, lpObject, XGCValuesFc.plane_mask);
-	lpStruct->foreground = (*env)->GetIntField(env, lpObject, XGCValuesFc.foreground);
-	lpStruct->background = (*env)->GetIntField(env, lpObject, XGCValuesFc.background);
-	lpStruct->line_width = (*env)->GetIntField(env, lpObject, XGCValuesFc.line_width);
-	lpStruct->line_style = (*env)->GetIntField(env, lpObject, XGCValuesFc.line_style);
-	lpStruct->cap_style = (*env)->GetIntField(env, lpObject, XGCValuesFc.cap_style);
-	lpStruct->join_style = (*env)->GetIntField(env, lpObject, XGCValuesFc.join_style);
-	lpStruct->fill_style = (*env)->GetIntField(env, lpObject, XGCValuesFc.fill_style);
-	lpStruct->fill_rule = (*env)->GetIntField(env, lpObject, XGCValuesFc.fill_rule);
-	lpStruct->arc_mode = (*env)->GetIntField(env, lpObject, XGCValuesFc.arc_mode);
-	lpStruct->tile = (*env)->GetIntField(env, lpObject, XGCValuesFc.tile);
-	lpStruct->stipple = (*env)->GetIntField(env, lpObject, XGCValuesFc.stipple);
-	lpStruct->ts_x_origin = (*env)->GetIntField(env, lpObject, XGCValuesFc.ts_x_origin);
-	lpStruct->ts_y_origin = (*env)->GetIntField(env, lpObject, XGCValuesFc.ts_y_origin);
-	lpStruct->font = (*env)->GetIntField(env, lpObject, XGCValuesFc.font);
-	lpStruct->subwindow_mode = (*env)->GetIntField(env, lpObject, XGCValuesFc.subwindow_mode);
-	lpStruct->graphics_exposures = (*env)->GetIntField(env, lpObject, XGCValuesFc.graphics_exposures);
-	lpStruct->clip_x_origin = (*env)->GetIntField(env, lpObject, XGCValuesFc.clip_x_origin);
-	lpStruct->clip_y_origin = (*env)->GetIntField(env, lpObject, XGCValuesFc.clip_y_origin);
-	lpStruct->clip_mask = (*env)->GetIntField(env, lpObject, XGCValuesFc.clip_mask);
-	lpStruct->dash_offset = (*env)->GetIntField(env, lpObject, XGCValuesFc.dash_offset);
-	lpStruct->dashes = (*env)->GetByteField(env, lpObject, XGCValuesFc.dashes);
-	return lpStruct;
-}
-
-void setXGCValuesFields(JNIEnv *env, jobject lpObject, XGCValues *lpStruct)
-{
-	if (!XGCValuesFc.cached) cacheXGCValuesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.function, (jint)lpStruct->function);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.plane_mask, (jint)lpStruct->plane_mask);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.foreground, (jint)lpStruct->foreground);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.background, (jint)lpStruct->background);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.line_width, (jint)lpStruct->line_width);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.line_style, (jint)lpStruct->line_style);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.cap_style, (jint)lpStruct->cap_style);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.join_style, (jint)lpStruct->join_style);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.fill_style, (jint)lpStruct->fill_style);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.fill_rule, (jint)lpStruct->fill_rule);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.arc_mode, (jint)lpStruct->arc_mode);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.tile, (jint)lpStruct->tile);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.stipple, (jint)lpStruct->stipple);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.ts_x_origin, (jint)lpStruct->ts_x_origin);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.ts_y_origin, (jint)lpStruct->ts_y_origin);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.font, (jint)lpStruct->font);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.subwindow_mode, (jint)lpStruct->subwindow_mode);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.graphics_exposures, (jint)lpStruct->graphics_exposures);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.clip_x_origin, (jint)lpStruct->clip_x_origin);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.clip_y_origin, (jint)lpStruct->clip_y_origin);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.clip_mask, (jint)lpStruct->clip_mask);
-	(*env)->SetIntField(env, lpObject, XGCValuesFc.dash_offset, (jint)lpStruct->dash_offset);
-	(*env)->SetByteField(env, lpObject, XGCValuesFc.dashes, (jbyte)lpStruct->dashes);
-}
-#endif
-
-#ifndef NO_XIconSize
-typedef struct XIconSize_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID min_width, min_height, max_width, max_height, width_inc, height_inc;
-} XIconSize_FID_CACHE;
-
-XIconSize_FID_CACHE XIconSizeFc;
-
-void cacheXIconSizeFields(JNIEnv *env, jobject lpObject)
-{
-	if (XIconSizeFc.cached) return;
-	XIconSizeFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XIconSizeFc.min_width = (*env)->GetFieldID(env, XIconSizeFc.clazz, "min_width", "I");
-	XIconSizeFc.min_height = (*env)->GetFieldID(env, XIconSizeFc.clazz, "min_height", "I");
-	XIconSizeFc.max_width = (*env)->GetFieldID(env, XIconSizeFc.clazz, "max_width", "I");
-	XIconSizeFc.max_height = (*env)->GetFieldID(env, XIconSizeFc.clazz, "max_height", "I");
-	XIconSizeFc.width_inc = (*env)->GetFieldID(env, XIconSizeFc.clazz, "width_inc", "I");
-	XIconSizeFc.height_inc = (*env)->GetFieldID(env, XIconSizeFc.clazz, "height_inc", "I");
-	XIconSizeFc.cached = 1;
-}
-
-XIconSize *getXIconSizeFields(JNIEnv *env, jobject lpObject, XIconSize *lpStruct)
-{
-	if (!XIconSizeFc.cached) cacheXIconSizeFields(env, lpObject);
-	lpStruct->min_width = (*env)->GetIntField(env, lpObject, XIconSizeFc.min_width);
-	lpStruct->min_height = (*env)->GetIntField(env, lpObject, XIconSizeFc.min_height);
-	lpStruct->max_width = (*env)->GetIntField(env, lpObject, XIconSizeFc.max_width);
-	lpStruct->max_height = (*env)->GetIntField(env, lpObject, XIconSizeFc.max_height);
-	lpStruct->width_inc = (*env)->GetIntField(env, lpObject, XIconSizeFc.width_inc);
-	lpStruct->height_inc = (*env)->GetIntField(env, lpObject, XIconSizeFc.height_inc);
-	return lpStruct;
-}
-
-void setXIconSizeFields(JNIEnv *env, jobject lpObject, XIconSize *lpStruct)
-{
-	if (!XIconSizeFc.cached) cacheXIconSizeFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.min_width, (jint)lpStruct->min_width);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.min_height, (jint)lpStruct->min_height);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.max_width, (jint)lpStruct->max_width);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.max_height, (jint)lpStruct->max_height);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.width_inc, (jint)lpStruct->width_inc);
-	(*env)->SetIntField(env, lpObject, XIconSizeFc.height_inc, (jint)lpStruct->height_inc);
-}
-#endif
-
-#ifndef NO_XImage
-typedef struct XImage_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID width, height, xoffset, format, data, byte_order, bitmap_unit, bitmap_bit_order, bitmap_pad, depth, bytes_per_line, bits_per_pixel, red_mask, green_mask, blue_mask, obdata, create_image, destroy_image, get_pixel, put_pixel, sub_image, add_pixel;
-} XImage_FID_CACHE;
-
-XImage_FID_CACHE XImageFc;
-
-void cacheXImageFields(JNIEnv *env, jobject lpObject)
-{
-	if (XImageFc.cached) return;
-	XImageFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XImageFc.width = (*env)->GetFieldID(env, XImageFc.clazz, "width", "I");
-	XImageFc.height = (*env)->GetFieldID(env, XImageFc.clazz, "height", "I");
-	XImageFc.xoffset = (*env)->GetFieldID(env, XImageFc.clazz, "xoffset", "I");
-	XImageFc.format = (*env)->GetFieldID(env, XImageFc.clazz, "format", "I");
-	XImageFc.data = (*env)->GetFieldID(env, XImageFc.clazz, "data", "I");
-	XImageFc.byte_order = (*env)->GetFieldID(env, XImageFc.clazz, "byte_order", "I");
-	XImageFc.bitmap_unit = (*env)->GetFieldID(env, XImageFc.clazz, "bitmap_unit", "I");
-	XImageFc.bitmap_bit_order = (*env)->GetFieldID(env, XImageFc.clazz, "bitmap_bit_order", "I");
-	XImageFc.bitmap_pad = (*env)->GetFieldID(env, XImageFc.clazz, "bitmap_pad", "I");
-	XImageFc.depth = (*env)->GetFieldID(env, XImageFc.clazz, "depth", "I");
-	XImageFc.bytes_per_line = (*env)->GetFieldID(env, XImageFc.clazz, "bytes_per_line", "I");
-	XImageFc.bits_per_pixel = (*env)->GetFieldID(env, XImageFc.clazz, "bits_per_pixel", "I");
-	XImageFc.red_mask = (*env)->GetFieldID(env, XImageFc.clazz, "red_mask", "I");
-	XImageFc.green_mask = (*env)->GetFieldID(env, XImageFc.clazz, "green_mask", "I");
-	XImageFc.blue_mask = (*env)->GetFieldID(env, XImageFc.clazz, "blue_mask", "I");
-	XImageFc.obdata = (*env)->GetFieldID(env, XImageFc.clazz, "obdata", "I");
-	XImageFc.create_image = (*env)->GetFieldID(env, XImageFc.clazz, "create_image", "I");
-	XImageFc.destroy_image = (*env)->GetFieldID(env, XImageFc.clazz, "destroy_image", "I");
-	XImageFc.get_pixel = (*env)->GetFieldID(env, XImageFc.clazz, "get_pixel", "I");
-	XImageFc.put_pixel = (*env)->GetFieldID(env, XImageFc.clazz, "put_pixel", "I");
-	XImageFc.sub_image = (*env)->GetFieldID(env, XImageFc.clazz, "sub_image", "I");
-	XImageFc.add_pixel = (*env)->GetFieldID(env, XImageFc.clazz, "add_pixel", "I");
-	XImageFc.cached = 1;
-}
-
-XImage *getXImageFields(JNIEnv *env, jobject lpObject, XImage *lpStruct)
-{
-	if (!XImageFc.cached) cacheXImageFields(env, lpObject);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XImageFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XImageFc.height);
-	lpStruct->xoffset = (*env)->GetIntField(env, lpObject, XImageFc.xoffset);
-	lpStruct->format = (*env)->GetIntField(env, lpObject, XImageFc.format);
-	lpStruct->data = (char *)(*env)->GetIntField(env, lpObject, XImageFc.data);
-	lpStruct->byte_order = (*env)->GetIntField(env, lpObject, XImageFc.byte_order);
-	lpStruct->bitmap_unit = (*env)->GetIntField(env, lpObject, XImageFc.bitmap_unit);
-	lpStruct->bitmap_bit_order = (*env)->GetIntField(env, lpObject, XImageFc.bitmap_bit_order);
-	lpStruct->bitmap_pad = (*env)->GetIntField(env, lpObject, XImageFc.bitmap_pad);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, XImageFc.depth);
-	lpStruct->bytes_per_line = (*env)->GetIntField(env, lpObject, XImageFc.bytes_per_line);
-	lpStruct->bits_per_pixel = (*env)->GetIntField(env, lpObject, XImageFc.bits_per_pixel);
-	lpStruct->red_mask = (*env)->GetIntField(env, lpObject, XImageFc.red_mask);
-	lpStruct->green_mask = (*env)->GetIntField(env, lpObject, XImageFc.green_mask);
-	lpStruct->blue_mask = (*env)->GetIntField(env, lpObject, XImageFc.blue_mask);
-	lpStruct->obdata = (XPointer)(*env)->GetIntField(env, lpObject, XImageFc.obdata);
-	lpStruct->f.create_image = (XImage *(*)())(*env)->GetIntField(env, lpObject, XImageFc.create_image);
-	lpStruct->f.destroy_image = (int(*)())(*env)->GetIntField(env, lpObject, XImageFc.destroy_image);
-	lpStruct->f.get_pixel = (unsigned long(*)())(*env)->GetIntField(env, lpObject, XImageFc.get_pixel);
-	lpStruct->f.put_pixel = (int(*)())(*env)->GetIntField(env, lpObject, XImageFc.put_pixel);
-	lpStruct->f.sub_image = (XImage *(*)())(*env)->GetIntField(env, lpObject, XImageFc.sub_image);
-	lpStruct->f.add_pixel = (int(*)())(*env)->GetIntField(env, lpObject, XImageFc.add_pixel);
-	return lpStruct;
-}
-
-void setXImageFields(JNIEnv *env, jobject lpObject, XImage *lpStruct)
-{
-	if (!XImageFc.cached) cacheXImageFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XImageFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XImageFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XImageFc.xoffset, (jint)lpStruct->xoffset);
-	(*env)->SetIntField(env, lpObject, XImageFc.format, (jint)lpStruct->format);
-	(*env)->SetIntField(env, lpObject, XImageFc.data, (jint)lpStruct->data);
-	(*env)->SetIntField(env, lpObject, XImageFc.byte_order, (jint)lpStruct->byte_order);
-	(*env)->SetIntField(env, lpObject, XImageFc.bitmap_unit, (jint)lpStruct->bitmap_unit);
-	(*env)->SetIntField(env, lpObject, XImageFc.bitmap_bit_order, (jint)lpStruct->bitmap_bit_order);
-	(*env)->SetIntField(env, lpObject, XImageFc.bitmap_pad, (jint)lpStruct->bitmap_pad);
-	(*env)->SetIntField(env, lpObject, XImageFc.depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, XImageFc.bytes_per_line, (jint)lpStruct->bytes_per_line);
-	(*env)->SetIntField(env, lpObject, XImageFc.bits_per_pixel, (jint)lpStruct->bits_per_pixel);
-	(*env)->SetIntField(env, lpObject, XImageFc.red_mask, (jint)lpStruct->red_mask);
-	(*env)->SetIntField(env, lpObject, XImageFc.green_mask, (jint)lpStruct->green_mask);
-	(*env)->SetIntField(env, lpObject, XImageFc.blue_mask, (jint)lpStruct->blue_mask);
-	(*env)->SetIntField(env, lpObject, XImageFc.obdata, (jint)lpStruct->obdata);
-	(*env)->SetIntField(env, lpObject, XImageFc.create_image, (jint)lpStruct->f.create_image);
-	(*env)->SetIntField(env, lpObject, XImageFc.destroy_image, (jint)lpStruct->f.destroy_image);
-	(*env)->SetIntField(env, lpObject, XImageFc.get_pixel, (jint)lpStruct->f.get_pixel);
-	(*env)->SetIntField(env, lpObject, XImageFc.put_pixel, (jint)lpStruct->f.put_pixel);
-	(*env)->SetIntField(env, lpObject, XImageFc.sub_image, (jint)lpStruct->f.sub_image);
-	(*env)->SetIntField(env, lpObject, XImageFc.add_pixel, (jint)lpStruct->f.add_pixel);
-}
-#endif
-
-#ifndef NO_XKeyEvent
-typedef struct XKeyEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, state, keycode, same_screen;
-} XKeyEvent_FID_CACHE;
-
-XKeyEvent_FID_CACHE XKeyEventFc;
-
-void cacheXKeyEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XKeyEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XKeyEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XKeyEventFc.root = (*env)->GetFieldID(env, XKeyEventFc.clazz, "root", "I");
-	XKeyEventFc.subwindow = (*env)->GetFieldID(env, XKeyEventFc.clazz, "subwindow", "I");
-	XKeyEventFc.time = (*env)->GetFieldID(env, XKeyEventFc.clazz, "time", "I");
-	XKeyEventFc.x = (*env)->GetFieldID(env, XKeyEventFc.clazz, "x", "I");
-	XKeyEventFc.y = (*env)->GetFieldID(env, XKeyEventFc.clazz, "y", "I");
-	XKeyEventFc.x_root = (*env)->GetFieldID(env, XKeyEventFc.clazz, "x_root", "I");
-	XKeyEventFc.y_root = (*env)->GetFieldID(env, XKeyEventFc.clazz, "y_root", "I");
-	XKeyEventFc.state = (*env)->GetFieldID(env, XKeyEventFc.clazz, "state", "I");
-	XKeyEventFc.keycode = (*env)->GetFieldID(env, XKeyEventFc.clazz, "keycode", "I");
-	XKeyEventFc.same_screen = (*env)->GetFieldID(env, XKeyEventFc.clazz, "same_screen", "I");
-	XKeyEventFc.cached = 1;
-}
-
-XKeyEvent *getXKeyEventFields(JNIEnv *env, jobject lpObject, XKeyEvent *lpStruct)
-{
-	if (!XKeyEventFc.cached) cacheXKeyEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XKeyEventFc.root);
-	lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XKeyEventFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XKeyEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XKeyEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XKeyEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XKeyEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XKeyEventFc.y_root);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XKeyEventFc.state);
-	lpStruct->keycode = (*env)->GetIntField(env, lpObject, XKeyEventFc.keycode);
-	lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XKeyEventFc.same_screen);
-	return lpStruct;
-}
-
-void setXKeyEventFields(JNIEnv *env, jobject lpObject, XKeyEvent *lpStruct)
-{
-	if (!XKeyEventFc.cached) cacheXKeyEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.keycode, (jint)lpStruct->keycode);
-	(*env)->SetIntField(env, lpObject, XKeyEventFc.same_screen, (jint)lpStruct->same_screen);
-}
-#endif
-
-#ifndef NO_XModifierKeymap
-typedef struct XModifierKeymap_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID max_keypermod, modifiermap;
-} XModifierKeymap_FID_CACHE;
-
-XModifierKeymap_FID_CACHE XModifierKeymapFc;
-
-void cacheXModifierKeymapFields(JNIEnv *env, jobject lpObject)
-{
-	if (XModifierKeymapFc.cached) return;
-	XModifierKeymapFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XModifierKeymapFc.max_keypermod = (*env)->GetFieldID(env, XModifierKeymapFc.clazz, "max_keypermod", "I");
-	XModifierKeymapFc.modifiermap = (*env)->GetFieldID(env, XModifierKeymapFc.clazz, "modifiermap", "I");
-	XModifierKeymapFc.cached = 1;
-}
-
-XModifierKeymap *getXModifierKeymapFields(JNIEnv *env, jobject lpObject, XModifierKeymap *lpStruct)
-{
-	if (!XModifierKeymapFc.cached) cacheXModifierKeymapFields(env, lpObject);
-	lpStruct->max_keypermod = (*env)->GetIntField(env, lpObject, XModifierKeymapFc.max_keypermod);
-	lpStruct->modifiermap = (KeyCode *)(*env)->GetIntField(env, lpObject, XModifierKeymapFc.modifiermap);
-	return lpStruct;
-}
-
-void setXModifierKeymapFields(JNIEnv *env, jobject lpObject, XModifierKeymap *lpStruct)
-{
-	if (!XModifierKeymapFc.cached) cacheXModifierKeymapFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XModifierKeymapFc.max_keypermod, (jint)lpStruct->max_keypermod);
-	(*env)->SetIntField(env, lpObject, XModifierKeymapFc.modifiermap, (jint)lpStruct->modifiermap);
-}
-#endif
-
-#ifndef NO_XMotionEvent
-typedef struct XMotionEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID root, subwindow, time, x, y, x_root, y_root, state, is_hint, same_screen;
-} XMotionEvent_FID_CACHE;
-
-XMotionEvent_FID_CACHE XMotionEventFc;
-
-void cacheXMotionEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XMotionEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XMotionEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XMotionEventFc.root = (*env)->GetFieldID(env, XMotionEventFc.clazz, "root", "I");
-	XMotionEventFc.subwindow = (*env)->GetFieldID(env, XMotionEventFc.clazz, "subwindow", "I");
-	XMotionEventFc.time = (*env)->GetFieldID(env, XMotionEventFc.clazz, "time", "I");
-	XMotionEventFc.x = (*env)->GetFieldID(env, XMotionEventFc.clazz, "x", "I");
-	XMotionEventFc.y = (*env)->GetFieldID(env, XMotionEventFc.clazz, "y", "I");
-	XMotionEventFc.x_root = (*env)->GetFieldID(env, XMotionEventFc.clazz, "x_root", "I");
-	XMotionEventFc.y_root = (*env)->GetFieldID(env, XMotionEventFc.clazz, "y_root", "I");
-	XMotionEventFc.state = (*env)->GetFieldID(env, XMotionEventFc.clazz, "state", "I");
-	XMotionEventFc.is_hint = (*env)->GetFieldID(env, XMotionEventFc.clazz, "is_hint", "I");
-	XMotionEventFc.same_screen = (*env)->GetFieldID(env, XMotionEventFc.clazz, "same_screen", "I");
-	XMotionEventFc.cached = 1;
-}
-
-XMotionEvent *getXMotionEventFields(JNIEnv *env, jobject lpObject, XMotionEvent *lpStruct)
-{
-	if (!XMotionEventFc.cached) cacheXMotionEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XMotionEventFc.root);
-	lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XMotionEventFc.subwindow);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XMotionEventFc.time);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XMotionEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XMotionEventFc.y);
-	lpStruct->x_root = (*env)->GetIntField(env, lpObject, XMotionEventFc.x_root);
-	lpStruct->y_root = (*env)->GetIntField(env, lpObject, XMotionEventFc.y_root);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XMotionEventFc.state);
-	lpStruct->is_hint = (*env)->GetIntField(env, lpObject, XMotionEventFc.is_hint);
-	lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XMotionEventFc.same_screen);
-	return lpStruct;
-}
-
-void setXMotionEventFields(JNIEnv *env, jobject lpObject, XMotionEvent *lpStruct)
-{
-	if (!XMotionEventFc.cached) cacheXMotionEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.subwindow, (jint)lpStruct->subwindow);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.x_root, (jint)lpStruct->x_root);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.y_root, (jint)lpStruct->y_root);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.is_hint, (jint)lpStruct->is_hint);
-	(*env)->SetIntField(env, lpObject, XMotionEventFc.same_screen, (jint)lpStruct->same_screen);
-}
-#endif
-
-#ifndef NO_XPropertyEvent
-typedef struct XPropertyEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID atom, time, state;
-} XPropertyEvent_FID_CACHE;
-
-XPropertyEvent_FID_CACHE XPropertyEventFc;
-
-void cacheXPropertyEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XPropertyEventFc.cached) return;
-	cacheXAnyEventFields(env, lpObject);
-	XPropertyEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XPropertyEventFc.atom = (*env)->GetFieldID(env, XPropertyEventFc.clazz, "atom", "I");
-	XPropertyEventFc.time = (*env)->GetFieldID(env, XPropertyEventFc.clazz, "time", "I");
-	XPropertyEventFc.state = (*env)->GetFieldID(env, XPropertyEventFc.clazz, "state", "I");
-	XPropertyEventFc.cached = 1;
-}
-
-XPropertyEvent *getXPropertyEventFields(JNIEnv *env, jobject lpObject, XPropertyEvent *lpStruct)
-{
-	if (!XPropertyEventFc.cached) cacheXPropertyEventFields(env, lpObject);
-	getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	lpStruct->atom = (*env)->GetIntField(env, lpObject, XPropertyEventFc.atom);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, XPropertyEventFc.time);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, XPropertyEventFc.state);
-	return lpStruct;
-}
-
-void setXPropertyEventFields(JNIEnv *env, jobject lpObject, XPropertyEvent *lpStruct)
-{
-	if (!XPropertyEventFc.cached) cacheXPropertyEventFields(env, lpObject);
-	setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XPropertyEventFc.atom, (jint)lpStruct->atom);
-	(*env)->SetIntField(env, lpObject, XPropertyEventFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, XPropertyEventFc.state, (jint)lpStruct->state);
-}
-#endif
-
-#ifndef NO_XRectangle
-typedef struct XRectangle_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height;
-} XRectangle_FID_CACHE;
-
-XRectangle_FID_CACHE XRectangleFc;
-
-void cacheXRectangleFields(JNIEnv *env, jobject lpObject)
-{
-	if (XRectangleFc.cached) return;
-	XRectangleFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XRectangleFc.x = (*env)->GetFieldID(env, XRectangleFc.clazz, "x", "S");
-	XRectangleFc.y = (*env)->GetFieldID(env, XRectangleFc.clazz, "y", "S");
-	XRectangleFc.width = (*env)->GetFieldID(env, XRectangleFc.clazz, "width", "S");
-	XRectangleFc.height = (*env)->GetFieldID(env, XRectangleFc.clazz, "height", "S");
-	XRectangleFc.cached = 1;
-}
-
-XRectangle *getXRectangleFields(JNIEnv *env, jobject lpObject, XRectangle *lpStruct)
-{
-	if (!XRectangleFc.cached) cacheXRectangleFields(env, lpObject);
-	lpStruct->x = (*env)->GetShortField(env, lpObject, XRectangleFc.x);
-	lpStruct->y = (*env)->GetShortField(env, lpObject, XRectangleFc.y);
-	lpStruct->width = (*env)->GetShortField(env, lpObject, XRectangleFc.width);
-	lpStruct->height = (*env)->GetShortField(env, lpObject, XRectangleFc.height);
-	return lpStruct;
-}
-
-void setXRectangleFields(JNIEnv *env, jobject lpObject, XRectangle *lpStruct)
-{
-	if (!XRectangleFc.cached) cacheXRectangleFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, XRectangleFc.x, (jshort)lpStruct->x);
-	(*env)->SetShortField(env, lpObject, XRectangleFc.y, (jshort)lpStruct->y);
-	(*env)->SetShortField(env, lpObject, XRectangleFc.width, (jshort)lpStruct->width);
-	(*env)->SetShortField(env, lpObject, XRectangleFc.height, (jshort)lpStruct->height);
-}
-#endif
-
-#ifndef NO_XRenderPictureAttributes
-typedef struct XRenderPictureAttributes_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID repeat, alpha_map, alpha_x_origin, alpha_y_origin, clip_x_origin, clip_y_origin, clip_mask, graphics_exposures, subwindow_mode, poly_edge, poly_mode, dither, component_alpha;
-} XRenderPictureAttributes_FID_CACHE;
-
-XRenderPictureAttributes_FID_CACHE XRenderPictureAttributesFc;
-
-void cacheXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XRenderPictureAttributesFc.cached) return;
-	XRenderPictureAttributesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XRenderPictureAttributesFc.repeat = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "repeat", "Z");
-	XRenderPictureAttributesFc.alpha_map = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_map", "I");
-	XRenderPictureAttributesFc.alpha_x_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_x_origin", "I");
-	XRenderPictureAttributesFc.alpha_y_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "alpha_y_origin", "I");
-	XRenderPictureAttributesFc.clip_x_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_x_origin", "I");
-	XRenderPictureAttributesFc.clip_y_origin = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_y_origin", "I");
-	XRenderPictureAttributesFc.clip_mask = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "clip_mask", "I");
-	XRenderPictureAttributesFc.graphics_exposures = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "graphics_exposures", "Z");
-	XRenderPictureAttributesFc.subwindow_mode = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "subwindow_mode", "I");
-	XRenderPictureAttributesFc.poly_edge = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "poly_edge", "I");
-	XRenderPictureAttributesFc.poly_mode = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "poly_mode", "I");
-	XRenderPictureAttributesFc.dither = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "dither", "I");
-	XRenderPictureAttributesFc.component_alpha = (*env)->GetFieldID(env, XRenderPictureAttributesFc.clazz, "component_alpha", "Z");
-	XRenderPictureAttributesFc.cached = 1;
-}
-
-XRenderPictureAttributes *getXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct)
-{
-	if (!XRenderPictureAttributesFc.cached) cacheXRenderPictureAttributesFields(env, lpObject);
-	lpStruct->repeat = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.repeat);
-	lpStruct->alpha_map = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_map);
-	lpStruct->alpha_x_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_x_origin);
-	lpStruct->alpha_y_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_y_origin);
-	lpStruct->clip_x_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_x_origin);
-	lpStruct->clip_y_origin = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_y_origin);
-	lpStruct->clip_mask = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.clip_mask);
-	lpStruct->graphics_exposures = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.graphics_exposures);
-	lpStruct->subwindow_mode = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.subwindow_mode);
-	lpStruct->poly_edge = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.poly_edge);
-	lpStruct->poly_mode = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.poly_mode);
-	lpStruct->dither = (*env)->GetIntField(env, lpObject, XRenderPictureAttributesFc.dither);
-	lpStruct->component_alpha = (*env)->GetBooleanField(env, lpObject, XRenderPictureAttributesFc.component_alpha);
-	return lpStruct;
-}
-
-void setXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct)
-{
-	if (!XRenderPictureAttributesFc.cached) cacheXRenderPictureAttributesFields(env, lpObject);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.repeat, (jboolean)lpStruct->repeat);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_map, (jint)lpStruct->alpha_map);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_x_origin, (jint)lpStruct->alpha_x_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.alpha_y_origin, (jint)lpStruct->alpha_y_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_x_origin, (jint)lpStruct->clip_x_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_y_origin, (jint)lpStruct->clip_y_origin);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.clip_mask, (jint)lpStruct->clip_mask);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.graphics_exposures, (jboolean)lpStruct->graphics_exposures);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.subwindow_mode, (jint)lpStruct->subwindow_mode);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.poly_edge, (jint)lpStruct->poly_edge);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.poly_mode, (jint)lpStruct->poly_mode);
-	(*env)->SetIntField(env, lpObject, XRenderPictureAttributesFc.dither, (jint)lpStruct->dither);
-	(*env)->SetBooleanField(env, lpObject, XRenderPictureAttributesFc.component_alpha, (jboolean)lpStruct->component_alpha);
-}
-#endif
-
-#ifndef NO_XReparentEvent
-typedef struct XReparentEvent_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID serial, send_event, display, event, window, parent, x, y, override_redirect;
-} XReparentEvent_FID_CACHE;
-
-XReparentEvent_FID_CACHE XReparentEventFc;
-
-void cacheXReparentEventFields(JNIEnv *env, jobject lpObject)
-{
-	if (XReparentEventFc.cached) return;
-	cacheXEventFields(env, lpObject);
-	XReparentEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XReparentEventFc.serial = (*env)->GetFieldID(env, XReparentEventFc.clazz, "serial", "I");
-	XReparentEventFc.send_event = (*env)->GetFieldID(env, XReparentEventFc.clazz, "send_event", "I");
-	XReparentEventFc.display = (*env)->GetFieldID(env, XReparentEventFc.clazz, "display", "I");
-	XReparentEventFc.event = (*env)->GetFieldID(env, XReparentEventFc.clazz, "event", "I");
-	XReparentEventFc.window = (*env)->GetFieldID(env, XReparentEventFc.clazz, "window", "I");
-	XReparentEventFc.parent = (*env)->GetFieldID(env, XReparentEventFc.clazz, "parent", "I");
-	XReparentEventFc.x = (*env)->GetFieldID(env, XReparentEventFc.clazz, "x", "I");
-	XReparentEventFc.y = (*env)->GetFieldID(env, XReparentEventFc.clazz, "y", "I");
-	XReparentEventFc.override_redirect = (*env)->GetFieldID(env, XReparentEventFc.clazz, "override_redirect", "I");
-	XReparentEventFc.cached = 1;
-}
-
-XReparentEvent *getXReparentEventFields(JNIEnv *env, jobject lpObject, XReparentEvent *lpStruct)
-{
-	if (!XReparentEventFc.cached) cacheXReparentEventFields(env, lpObject);
-	getXEventFields(env, lpObject, (XEvent *)lpStruct);
-	lpStruct->serial = (*env)->GetIntField(env, lpObject, XReparentEventFc.serial);
-	lpStruct->send_event = (*env)->GetIntField(env, lpObject, XReparentEventFc.send_event);
-	lpStruct->display = (Display *)(*env)->GetIntField(env, lpObject, XReparentEventFc.display);
-	lpStruct->event = (Window)(*env)->GetIntField(env, lpObject, XReparentEventFc.event);
-	lpStruct->window = (Window)(*env)->GetIntField(env, lpObject, XReparentEventFc.window);
-	lpStruct->parent = (Window)(*env)->GetIntField(env, lpObject, XReparentEventFc.parent);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XReparentEventFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XReparentEventFc.y);
-	lpStruct->override_redirect = (*env)->GetIntField(env, lpObject, XReparentEventFc.override_redirect);
-	return lpStruct;
-}
-
-void setXReparentEventFields(JNIEnv *env, jobject lpObject, XReparentEvent *lpStruct)
-{
-	if (!XReparentEventFc.cached) cacheXReparentEventFields(env, lpObject);
-	setXEventFields(env, lpObject, (XEvent *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.serial, (jint)lpStruct->serial);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.send_event, (jint)lpStruct->send_event);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.display, (jint)lpStruct->display);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.event, (jint)lpStruct->event);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.window, (jint)lpStruct->window);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.parent, (jint)lpStruct->parent);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XReparentEventFc.override_redirect, (jint)lpStruct->override_redirect);
-}
-#endif
-
-#ifndef NO_XSetWindowAttributes
-typedef struct XSetWindowAttributes_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID background_pixmap, background_pixel, border_pixmap, border_pixel, bit_gravity, win_gravity, backing_store, backing_planes, backing_pixel, save_under, event_mask, do_not_propagate_mask, override_redirect, colormap, cursor;
-} XSetWindowAttributes_FID_CACHE;
-
-XSetWindowAttributes_FID_CACHE XSetWindowAttributesFc;
-
-void cacheXSetWindowAttributesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XSetWindowAttributesFc.cached) return;
-	XSetWindowAttributesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XSetWindowAttributesFc.background_pixmap = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "background_pixmap", "I");
-	XSetWindowAttributesFc.background_pixel = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "background_pixel", "I");
-	XSetWindowAttributesFc.border_pixmap = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "border_pixmap", "I");
-	XSetWindowAttributesFc.border_pixel = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "border_pixel", "I");
-	XSetWindowAttributesFc.bit_gravity = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "bit_gravity", "I");
-	XSetWindowAttributesFc.win_gravity = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "win_gravity", "I");
-	XSetWindowAttributesFc.backing_store = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "backing_store", "I");
-	XSetWindowAttributesFc.backing_planes = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "backing_planes", "I");
-	XSetWindowAttributesFc.backing_pixel = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "backing_pixel", "I");
-	XSetWindowAttributesFc.save_under = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "save_under", "I");
-	XSetWindowAttributesFc.event_mask = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "event_mask", "I");
-	XSetWindowAttributesFc.do_not_propagate_mask = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "do_not_propagate_mask", "I");
-	XSetWindowAttributesFc.override_redirect = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "override_redirect", "I");
-	XSetWindowAttributesFc.colormap = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "colormap", "I");
-	XSetWindowAttributesFc.cursor = (*env)->GetFieldID(env, XSetWindowAttributesFc.clazz, "cursor", "I");
-	XSetWindowAttributesFc.cached = 1;
-}
-
-XSetWindowAttributes *getXSetWindowAttributesFields(JNIEnv *env, jobject lpObject, XSetWindowAttributes *lpStruct)
-{
-	if (!XSetWindowAttributesFc.cached) cacheXSetWindowAttributesFields(env, lpObject);
-	lpStruct->background_pixmap = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.background_pixmap);
-	lpStruct->background_pixel = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.background_pixel);
-	lpStruct->border_pixmap = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.border_pixmap);
-	lpStruct->border_pixel = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.border_pixel);
-	lpStruct->bit_gravity = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.bit_gravity);
-	lpStruct->win_gravity = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.win_gravity);
-	lpStruct->backing_store = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.backing_store);
-	lpStruct->backing_planes = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.backing_planes);
-	lpStruct->backing_pixel = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.backing_pixel);
-	lpStruct->save_under = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.save_under);
-	lpStruct->event_mask = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.event_mask);
-	lpStruct->do_not_propagate_mask = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.do_not_propagate_mask);
-	lpStruct->override_redirect = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.override_redirect);
-	lpStruct->colormap = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.colormap);
-	lpStruct->cursor = (*env)->GetIntField(env, lpObject, XSetWindowAttributesFc.cursor);
-	return lpStruct;
-}
-
-void setXSetWindowAttributesFields(JNIEnv *env, jobject lpObject, XSetWindowAttributes *lpStruct)
-{
-	if (!XSetWindowAttributesFc.cached) cacheXSetWindowAttributesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.background_pixmap, (jint)lpStruct->background_pixmap);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.background_pixel, (jint)lpStruct->background_pixel);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.border_pixmap, (jint)lpStruct->border_pixmap);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.border_pixel, (jint)lpStruct->border_pixel);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.bit_gravity, (jint)lpStruct->bit_gravity);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.win_gravity, (jint)lpStruct->win_gravity);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.backing_store, (jint)lpStruct->backing_store);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.backing_planes, (jint)lpStruct->backing_planes);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.backing_pixel, (jint)lpStruct->backing_pixel);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.save_under, (jint)lpStruct->save_under);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.event_mask, (jint)lpStruct->event_mask);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.do_not_propagate_mask, (jint)lpStruct->do_not_propagate_mask);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.override_redirect, (jint)lpStruct->override_redirect);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.colormap, (jint)lpStruct->colormap);
-	(*env)->SetIntField(env, lpObject, XSetWindowAttributesFc.cursor, (jint)lpStruct->cursor);
-}
-#endif
-
-#ifndef NO_XSizeHints
-typedef struct XSizeHints_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID flags, x, y, width, height, min_width, min_height, max_width, max_height, width_inc, height_inc, aspect_x, aspect_y, base_width, base_height, win_gravity;
-} XSizeHints_FID_CACHE;
-
-XSizeHints_FID_CACHE XSizeHintsFc;
-
-void cacheXSizeHintsFields(JNIEnv *env, jobject lpObject)
-{
-	if (XSizeHintsFc.cached) return;
-	XSizeHintsFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XSizeHintsFc.flags = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "flags", "I");
-	XSizeHintsFc.x = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "x", "I");
-	XSizeHintsFc.y = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "y", "I");
-	XSizeHintsFc.width = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "width", "I");
-	XSizeHintsFc.height = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "height", "I");
-	XSizeHintsFc.min_width = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "min_width", "I");
-	XSizeHintsFc.min_height = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "min_height", "I");
-	XSizeHintsFc.max_width = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "max_width", "I");
-	XSizeHintsFc.max_height = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "max_height", "I");
-	XSizeHintsFc.width_inc = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "width_inc", "I");
-	XSizeHintsFc.height_inc = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "height_inc", "I");
-	XSizeHintsFc.aspect_x = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "aspect_x", "I");
-	XSizeHintsFc.aspect_y = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "aspect_y", "I");
-	XSizeHintsFc.base_width = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "base_width", "I");
-	XSizeHintsFc.base_height = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "base_height", "I");
-	XSizeHintsFc.win_gravity = (*env)->GetFieldID(env, XSizeHintsFc.clazz, "win_gravity", "I");
-	XSizeHintsFc.cached = 1;
-}
-
-XSizeHints *getXSizeHintsFields(JNIEnv *env, jobject lpObject, XSizeHints *lpStruct)
-{
-	if (!XSizeHintsFc.cached) cacheXSizeHintsFields(env, lpObject);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, XSizeHintsFc.flags);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XSizeHintsFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XSizeHintsFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XSizeHintsFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XSizeHintsFc.height);
-	lpStruct->min_width = (*env)->GetIntField(env, lpObject, XSizeHintsFc.min_width);
-	lpStruct->min_height = (*env)->GetIntField(env, lpObject, XSizeHintsFc.min_height);
-	lpStruct->max_width = (*env)->GetIntField(env, lpObject, XSizeHintsFc.max_width);
-	lpStruct->max_height = (*env)->GetIntField(env, lpObject, XSizeHintsFc.max_height);
-	lpStruct->width_inc = (*env)->GetIntField(env, lpObject, XSizeHintsFc.width_inc);
-	lpStruct->height_inc = (*env)->GetIntField(env, lpObject, XSizeHintsFc.height_inc);
-	lpStruct->min_aspect.x = (*env)->GetIntField(env, lpObject, XSizeHintsFc.aspect_x);
-	lpStruct->min_aspect.y = (*env)->GetIntField(env, lpObject, XSizeHintsFc.aspect_y);
-	lpStruct->base_width = (*env)->GetIntField(env, lpObject, XSizeHintsFc.base_width);
-	lpStruct->base_height = (*env)->GetIntField(env, lpObject, XSizeHintsFc.base_height);
-	lpStruct->win_gravity = (*env)->GetIntField(env, lpObject, XSizeHintsFc.win_gravity);
-	return lpStruct;
-}
-
-void setXSizeHintsFields(JNIEnv *env, jobject lpObject, XSizeHints *lpStruct)
-{
-	if (!XSizeHintsFc.cached) cacheXSizeHintsFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.min_width, (jint)lpStruct->min_width);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.min_height, (jint)lpStruct->min_height);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.max_width, (jint)lpStruct->max_width);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.max_height, (jint)lpStruct->max_height);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.width_inc, (jint)lpStruct->width_inc);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.height_inc, (jint)lpStruct->height_inc);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.aspect_x, (jint)lpStruct->min_aspect.x);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.aspect_y, (jint)lpStruct->min_aspect.y);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.base_width, (jint)lpStruct->base_width);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.base_height, (jint)lpStruct->base_height);
-	(*env)->SetIntField(env, lpObject, XSizeHintsFc.win_gravity, (jint)lpStruct->win_gravity);
-}
-#endif
-
-#ifndef NO_XTextProperty
-typedef struct XTextProperty_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID value, encoding, format, nitems;
-} XTextProperty_FID_CACHE;
-
-XTextProperty_FID_CACHE XTextPropertyFc;
-
-void cacheXTextPropertyFields(JNIEnv *env, jobject lpObject)
-{
-	if (XTextPropertyFc.cached) return;
-	XTextPropertyFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XTextPropertyFc.value = (*env)->GetFieldID(env, XTextPropertyFc.clazz, "value", "I");
-	XTextPropertyFc.encoding = (*env)->GetFieldID(env, XTextPropertyFc.clazz, "encoding", "I");
-	XTextPropertyFc.format = (*env)->GetFieldID(env, XTextPropertyFc.clazz, "format", "I");
-	XTextPropertyFc.nitems = (*env)->GetFieldID(env, XTextPropertyFc.clazz, "nitems", "I");
-	XTextPropertyFc.cached = 1;
-}
-
-XTextProperty *getXTextPropertyFields(JNIEnv *env, jobject lpObject, XTextProperty *lpStruct)
-{
-	if (!XTextPropertyFc.cached) cacheXTextPropertyFields(env, lpObject);
-	lpStruct->value = (unsigned char *)(*env)->GetIntField(env, lpObject, XTextPropertyFc.value);
-	lpStruct->encoding = (*env)->GetIntField(env, lpObject, XTextPropertyFc.encoding);
-	lpStruct->format = (*env)->GetIntField(env, lpObject, XTextPropertyFc.format);
-	lpStruct->nitems = (*env)->GetIntField(env, lpObject, XTextPropertyFc.nitems);
-	return lpStruct;
-}
-
-void setXTextPropertyFields(JNIEnv *env, jobject lpObject, XTextProperty *lpStruct)
-{
-	if (!XTextPropertyFc.cached) cacheXTextPropertyFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XTextPropertyFc.value, (jint)lpStruct->value);
-	(*env)->SetIntField(env, lpObject, XTextPropertyFc.encoding, (jint)lpStruct->encoding);
-	(*env)->SetIntField(env, lpObject, XTextPropertyFc.format, (jint)lpStruct->format);
-	(*env)->SetIntField(env, lpObject, XTextPropertyFc.nitems, (jint)lpStruct->nitems);
-}
-#endif
-
-#ifndef NO_XWindowAttributes
-typedef struct XWindowAttributes_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height, border_width, depth, visual, root, c_class, bit_gravity, win_gravity, backing_store, backing_planes, backing_pixel, save_under, colormap, map_installed, map_state, all_event_masks, your_event_mask, do_not_propagate_mask, override_redirect, screen;
-} XWindowAttributes_FID_CACHE;
-
-XWindowAttributes_FID_CACHE XWindowAttributesFc;
-
-void cacheXWindowAttributesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XWindowAttributesFc.cached) return;
-	XWindowAttributesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XWindowAttributesFc.x = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "x", "I");
-	XWindowAttributesFc.y = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "y", "I");
-	XWindowAttributesFc.width = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "width", "I");
-	XWindowAttributesFc.height = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "height", "I");
-	XWindowAttributesFc.border_width = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "border_width", "I");
-	XWindowAttributesFc.depth = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "depth", "I");
-	XWindowAttributesFc.visual = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "visual", "I");
-	XWindowAttributesFc.root = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "root", "I");
-	XWindowAttributesFc.c_class = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "c_class", "I");
-	XWindowAttributesFc.bit_gravity = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "bit_gravity", "I");
-	XWindowAttributesFc.win_gravity = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "win_gravity", "I");
-	XWindowAttributesFc.backing_store = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "backing_store", "I");
-	XWindowAttributesFc.backing_planes = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "backing_planes", "I");
-	XWindowAttributesFc.backing_pixel = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "backing_pixel", "I");
-	XWindowAttributesFc.save_under = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "save_under", "I");
-	XWindowAttributesFc.colormap = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "colormap", "I");
-	XWindowAttributesFc.map_installed = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "map_installed", "I");
-	XWindowAttributesFc.map_state = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "map_state", "I");
-	XWindowAttributesFc.all_event_masks = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "all_event_masks", "I");
-	XWindowAttributesFc.your_event_mask = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "your_event_mask", "I");
-	XWindowAttributesFc.do_not_propagate_mask = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "do_not_propagate_mask", "I");
-	XWindowAttributesFc.override_redirect = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "override_redirect", "I");
-	XWindowAttributesFc.screen = (*env)->GetFieldID(env, XWindowAttributesFc.clazz, "screen", "I");
-	XWindowAttributesFc.cached = 1;
-}
-
-XWindowAttributes *getXWindowAttributesFields(JNIEnv *env, jobject lpObject, XWindowAttributes *lpStruct)
-{
-	if (!XWindowAttributesFc.cached) cacheXWindowAttributesFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.border_width);
-	lpStruct->depth = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.depth);
-	lpStruct->visual = (Visual *)(*env)->GetIntField(env, lpObject, XWindowAttributesFc.visual);
-	lpStruct->root = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.root);
-	lpStruct->class = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.c_class);
-	lpStruct->bit_gravity = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.bit_gravity);
-	lpStruct->win_gravity = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.win_gravity);
-	lpStruct->backing_store = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.backing_store);
-	lpStruct->backing_planes = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.backing_planes);
-	lpStruct->backing_pixel = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.backing_pixel);
-	lpStruct->save_under = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.save_under);
-	lpStruct->colormap = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.colormap);
-	lpStruct->map_installed = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.map_installed);
-	lpStruct->map_state = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.map_state);
-	lpStruct->all_event_masks = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.all_event_masks);
-	lpStruct->your_event_mask = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.your_event_mask);
-	lpStruct->do_not_propagate_mask = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.do_not_propagate_mask);
-	lpStruct->override_redirect = (*env)->GetIntField(env, lpObject, XWindowAttributesFc.override_redirect);
-	lpStruct->screen = (Screen *)(*env)->GetIntField(env, lpObject, XWindowAttributesFc.screen);
-	return lpStruct;
-}
-
-void setXWindowAttributesFields(JNIEnv *env, jobject lpObject, XWindowAttributes *lpStruct)
-{
-	if (!XWindowAttributesFc.cached) cacheXWindowAttributesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.depth, (jint)lpStruct->depth);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.visual, (jint)lpStruct->visual);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.root, (jint)lpStruct->root);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.c_class, (jint)lpStruct->class);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.bit_gravity, (jint)lpStruct->bit_gravity);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.win_gravity, (jint)lpStruct->win_gravity);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.backing_store, (jint)lpStruct->backing_store);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.backing_planes, (jint)lpStruct->backing_planes);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.backing_pixel, (jint)lpStruct->backing_pixel);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.save_under, (jint)lpStruct->save_under);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.colormap, (jint)lpStruct->colormap);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.map_installed, (jint)lpStruct->map_installed);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.map_state, (jint)lpStruct->map_state);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.all_event_masks, (jint)lpStruct->all_event_masks);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.your_event_mask, (jint)lpStruct->your_event_mask);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.do_not_propagate_mask, (jint)lpStruct->do_not_propagate_mask);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.override_redirect, (jint)lpStruct->override_redirect);
-	(*env)->SetIntField(env, lpObject, XWindowAttributesFc.screen, (jint)lpStruct->screen);
-}
-#endif
-
-#ifndef NO_XWindowChanges
-typedef struct XWindowChanges_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, width, height, border_width, sibling, stack_mode;
-} XWindowChanges_FID_CACHE;
-
-XWindowChanges_FID_CACHE XWindowChangesFc;
-
-void cacheXWindowChangesFields(JNIEnv *env, jobject lpObject)
-{
-	if (XWindowChangesFc.cached) return;
-	XWindowChangesFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XWindowChangesFc.x = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "x", "I");
-	XWindowChangesFc.y = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "y", "I");
-	XWindowChangesFc.width = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "width", "I");
-	XWindowChangesFc.height = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "height", "I");
-	XWindowChangesFc.border_width = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "border_width", "I");
-	XWindowChangesFc.sibling = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "sibling", "I");
-	XWindowChangesFc.stack_mode = (*env)->GetFieldID(env, XWindowChangesFc.clazz, "stack_mode", "I");
-	XWindowChangesFc.cached = 1;
-}
-
-XWindowChanges *getXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct)
-{
-	if (!XWindowChangesFc.cached) cacheXWindowChangesFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XWindowChangesFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XWindowChangesFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XWindowChangesFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XWindowChangesFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XWindowChangesFc.border_width);
-	lpStruct->sibling = (*env)->GetIntField(env, lpObject, XWindowChangesFc.sibling);
-	lpStruct->stack_mode = (*env)->GetIntField(env, lpObject, XWindowChangesFc.stack_mode);
-	return lpStruct;
-}
-
-void setXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct)
-{
-	if (!XWindowChangesFc.cached) cacheXWindowChangesFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.sibling, (jint)lpStruct->sibling);
-	(*env)->SetIntField(env, lpObject, XWindowChangesFc.stack_mode, (jint)lpStruct->stack_mode);
-}
-#endif
-
-#ifndef NO_XineramaScreenInfo
-typedef struct XineramaScreenInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID screen_number, x_org, y_org, width, height;
-} XineramaScreenInfo_FID_CACHE;
-
-XineramaScreenInfo_FID_CACHE XineramaScreenInfoFc;
-
-void cacheXineramaScreenInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (XineramaScreenInfoFc.cached) return;
-	XineramaScreenInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XineramaScreenInfoFc.screen_number = (*env)->GetFieldID(env, XineramaScreenInfoFc.clazz, "screen_number", "I");
-	XineramaScreenInfoFc.x_org = (*env)->GetFieldID(env, XineramaScreenInfoFc.clazz, "x_org", "S");
-	XineramaScreenInfoFc.y_org = (*env)->GetFieldID(env, XineramaScreenInfoFc.clazz, "y_org", "S");
-	XineramaScreenInfoFc.width = (*env)->GetFieldID(env, XineramaScreenInfoFc.clazz, "width", "S");
-	XineramaScreenInfoFc.height = (*env)->GetFieldID(env, XineramaScreenInfoFc.clazz, "height", "S");
-	XineramaScreenInfoFc.cached = 1;
-}
-
-XineramaScreenInfo *getXineramaScreenInfoFields(JNIEnv *env, jobject lpObject, XineramaScreenInfo *lpStruct)
-{
-	if (!XineramaScreenInfoFc.cached) cacheXineramaScreenInfoFields(env, lpObject);
-	lpStruct->screen_number = (*env)->GetIntField(env, lpObject, XineramaScreenInfoFc.screen_number);
-	lpStruct->x_org = (*env)->GetShortField(env, lpObject, XineramaScreenInfoFc.x_org);
-	lpStruct->y_org = (*env)->GetShortField(env, lpObject, XineramaScreenInfoFc.y_org);
-	lpStruct->width = (*env)->GetShortField(env, lpObject, XineramaScreenInfoFc.width);
-	lpStruct->height = (*env)->GetShortField(env, lpObject, XineramaScreenInfoFc.height);
-	return lpStruct;
-}
-
-void setXineramaScreenInfoFields(JNIEnv *env, jobject lpObject, XineramaScreenInfo *lpStruct)
-{
-	if (!XineramaScreenInfoFc.cached) cacheXineramaScreenInfoFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XineramaScreenInfoFc.screen_number, (jint)lpStruct->screen_number);
-	(*env)->SetShortField(env, lpObject, XineramaScreenInfoFc.x_org, (jshort)lpStruct->x_org);
-	(*env)->SetShortField(env, lpObject, XineramaScreenInfoFc.y_org, (jshort)lpStruct->y_org);
-	(*env)->SetShortField(env, lpObject, XineramaScreenInfoFc.width, (jshort)lpStruct->width);
-	(*env)->SetShortField(env, lpObject, XineramaScreenInfoFc.height, (jshort)lpStruct->height);
-}
-#endif
-
-#ifndef NO_XmAnyCallbackStruct
-typedef struct XmAnyCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID reason, event;
-} XmAnyCallbackStruct_FID_CACHE;
-
-XmAnyCallbackStruct_FID_CACHE XmAnyCallbackStructFc;
-
-void cacheXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmAnyCallbackStructFc.cached) return;
-	XmAnyCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmAnyCallbackStructFc.reason = (*env)->GetFieldID(env, XmAnyCallbackStructFc.clazz, "reason", "I");
-	XmAnyCallbackStructFc.event = (*env)->GetFieldID(env, XmAnyCallbackStructFc.clazz, "event", "I");
-	XmAnyCallbackStructFc.cached = 1;
-}
-
-XmAnyCallbackStruct *getXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject, XmAnyCallbackStruct *lpStruct)
-{
-	if (!XmAnyCallbackStructFc.cached) cacheXmAnyCallbackStructFields(env, lpObject);
-	lpStruct->reason = (*env)->GetIntField(env, lpObject, XmAnyCallbackStructFc.reason);
-	lpStruct->event = (XEvent *)(*env)->GetIntField(env, lpObject, XmAnyCallbackStructFc.event);
-	return lpStruct;
-}
-
-void setXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject, XmAnyCallbackStruct *lpStruct)
-{
-	if (!XmAnyCallbackStructFc.cached) cacheXmAnyCallbackStructFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XmAnyCallbackStructFc.reason, (jint)lpStruct->reason);
-	(*env)->SetIntField(env, lpObject, XmAnyCallbackStructFc.event, (jint)lpStruct->event);
-}
-#endif
-
-#ifndef NO_XmDragProcCallbackStruct
-typedef struct XmDragProcCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID timeStamp, dragContext, x, y, dropSiteStatus, operation, operations, animate;
-} XmDragProcCallbackStruct_FID_CACHE;
-
-XmDragProcCallbackStruct_FID_CACHE XmDragProcCallbackStructFc;
-
-void cacheXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmDragProcCallbackStructFc.cached) return;
-	cacheXmAnyCallbackStructFields(env, lpObject);
-	XmDragProcCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmDragProcCallbackStructFc.timeStamp = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "timeStamp", "I");
-	XmDragProcCallbackStructFc.dragContext = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "dragContext", "I");
-	XmDragProcCallbackStructFc.x = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "x", "S");
-	XmDragProcCallbackStructFc.y = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "y", "S");
-	XmDragProcCallbackStructFc.dropSiteStatus = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "dropSiteStatus", "B");
-	XmDragProcCallbackStructFc.operation = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "operation", "B");
-	XmDragProcCallbackStructFc.operations = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "operations", "B");
-	XmDragProcCallbackStructFc.animate = (*env)->GetFieldID(env, XmDragProcCallbackStructFc.clazz, "animate", "B");
-	XmDragProcCallbackStructFc.cached = 1;
-}
-
-XmDragProcCallbackStruct *getXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDragProcCallbackStruct *lpStruct)
-{
-	if (!XmDragProcCallbackStructFc.cached) cacheXmDragProcCallbackStructFields(env, lpObject);
-	getXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	lpStruct->timeStamp = (*env)->GetIntField(env, lpObject, XmDragProcCallbackStructFc.timeStamp);
-	lpStruct->dragContext = (Widget)(*env)->GetIntField(env, lpObject, XmDragProcCallbackStructFc.dragContext);
-	lpStruct->x = (*env)->GetShortField(env, lpObject, XmDragProcCallbackStructFc.x);
-	lpStruct->y = (*env)->GetShortField(env, lpObject, XmDragProcCallbackStructFc.y);
-	lpStruct->dropSiteStatus = (*env)->GetByteField(env, lpObject, XmDragProcCallbackStructFc.dropSiteStatus);
-	lpStruct->operation = (*env)->GetByteField(env, lpObject, XmDragProcCallbackStructFc.operation);
-	lpStruct->operations = (*env)->GetByteField(env, lpObject, XmDragProcCallbackStructFc.operations);
-	lpStruct->animate = (*env)->GetByteField(env, lpObject, XmDragProcCallbackStructFc.animate);
-	return lpStruct;
-}
-
-void setXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDragProcCallbackStruct *lpStruct)
-{
-	if (!XmDragProcCallbackStructFc.cached) cacheXmDragProcCallbackStructFields(env, lpObject);
-	setXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XmDragProcCallbackStructFc.timeStamp, (jint)lpStruct->timeStamp);
-	(*env)->SetIntField(env, lpObject, XmDragProcCallbackStructFc.dragContext, (jint)lpStruct->dragContext);
-	(*env)->SetShortField(env, lpObject, XmDragProcCallbackStructFc.x, (jshort)lpStruct->x);
-	(*env)->SetShortField(env, lpObject, XmDragProcCallbackStructFc.y, (jshort)lpStruct->y);
-	(*env)->SetByteField(env, lpObject, XmDragProcCallbackStructFc.dropSiteStatus, (jbyte)lpStruct->dropSiteStatus);
-	(*env)->SetByteField(env, lpObject, XmDragProcCallbackStructFc.operation, (jbyte)lpStruct->operation);
-	(*env)->SetByteField(env, lpObject, XmDragProcCallbackStructFc.operations, (jbyte)lpStruct->operations);
-	(*env)->SetByteField(env, lpObject, XmDragProcCallbackStructFc.animate, (jbyte)lpStruct->animate);
-}
-#endif
-
-#ifndef NO_XmDropFinishCallbackStruct
-typedef struct XmDropFinishCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID timeStamp, operation, operations, dropSiteStatus, dropAction, completionStatus;
-} XmDropFinishCallbackStruct_FID_CACHE;
-
-XmDropFinishCallbackStruct_FID_CACHE XmDropFinishCallbackStructFc;
-
-void cacheXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmDropFinishCallbackStructFc.cached) return;
-	cacheXmAnyCallbackStructFields(env, lpObject);
-	XmDropFinishCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmDropFinishCallbackStructFc.timeStamp = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "timeStamp", "I");
-	XmDropFinishCallbackStructFc.operation = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "operation", "B");
-	XmDropFinishCallbackStructFc.operations = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "operations", "B");
-	XmDropFinishCallbackStructFc.dropSiteStatus = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "dropSiteStatus", "B");
-	XmDropFinishCallbackStructFc.dropAction = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "dropAction", "B");
-	XmDropFinishCallbackStructFc.completionStatus = (*env)->GetFieldID(env, XmDropFinishCallbackStructFc.clazz, "completionStatus", "B");
-	XmDropFinishCallbackStructFc.cached = 1;
-}
-
-XmDropFinishCallbackStruct *getXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropFinishCallbackStruct *lpStruct)
-{
-	if (!XmDropFinishCallbackStructFc.cached) cacheXmDropFinishCallbackStructFields(env, lpObject);
-	getXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	lpStruct->timeStamp = (*env)->GetIntField(env, lpObject, XmDropFinishCallbackStructFc.timeStamp);
-	lpStruct->operation = (*env)->GetByteField(env, lpObject, XmDropFinishCallbackStructFc.operation);
-	lpStruct->operations = (*env)->GetByteField(env, lpObject, XmDropFinishCallbackStructFc.operations);
-	lpStruct->dropSiteStatus = (*env)->GetByteField(env, lpObject, XmDropFinishCallbackStructFc.dropSiteStatus);
-	lpStruct->dropAction = (*env)->GetByteField(env, lpObject, XmDropFinishCallbackStructFc.dropAction);
-	lpStruct->completionStatus = (*env)->GetByteField(env, lpObject, XmDropFinishCallbackStructFc.completionStatus);
-	return lpStruct;
-}
-
-void setXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropFinishCallbackStruct *lpStruct)
-{
-	if (!XmDropFinishCallbackStructFc.cached) cacheXmDropFinishCallbackStructFields(env, lpObject);
-	setXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XmDropFinishCallbackStructFc.timeStamp, (jint)lpStruct->timeStamp);
-	(*env)->SetByteField(env, lpObject, XmDropFinishCallbackStructFc.operation, (jbyte)lpStruct->operation);
-	(*env)->SetByteField(env, lpObject, XmDropFinishCallbackStructFc.operations, (jbyte)lpStruct->operations);
-	(*env)->SetByteField(env, lpObject, XmDropFinishCallbackStructFc.dropSiteStatus, (jbyte)lpStruct->dropSiteStatus);
-	(*env)->SetByteField(env, lpObject, XmDropFinishCallbackStructFc.dropAction, (jbyte)lpStruct->dropAction);
-	(*env)->SetByteField(env, lpObject, XmDropFinishCallbackStructFc.completionStatus, (jbyte)lpStruct->completionStatus);
-}
-#endif
-
-#ifndef NO_XmDropProcCallbackStruct
-typedef struct XmDropProcCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID timeStamp, dragContext, x, y, dropSiteStatus, operation, operations, dropAction;
-} XmDropProcCallbackStruct_FID_CACHE;
-
-XmDropProcCallbackStruct_FID_CACHE XmDropProcCallbackStructFc;
-
-void cacheXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmDropProcCallbackStructFc.cached) return;
-	cacheXmAnyCallbackStructFields(env, lpObject);
-	XmDropProcCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmDropProcCallbackStructFc.timeStamp = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "timeStamp", "I");
-	XmDropProcCallbackStructFc.dragContext = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "dragContext", "I");
-	XmDropProcCallbackStructFc.x = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "x", "S");
-	XmDropProcCallbackStructFc.y = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "y", "S");
-	XmDropProcCallbackStructFc.dropSiteStatus = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "dropSiteStatus", "B");
-	XmDropProcCallbackStructFc.operation = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "operation", "B");
-	XmDropProcCallbackStructFc.operations = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "operations", "B");
-	XmDropProcCallbackStructFc.dropAction = (*env)->GetFieldID(env, XmDropProcCallbackStructFc.clazz, "dropAction", "B");
-	XmDropProcCallbackStructFc.cached = 1;
-}
-
-XmDropProcCallbackStruct *getXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropProcCallbackStruct *lpStruct)
-{
-	if (!XmDropProcCallbackStructFc.cached) cacheXmDropProcCallbackStructFields(env, lpObject);
-	getXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	lpStruct->timeStamp = (*env)->GetIntField(env, lpObject, XmDropProcCallbackStructFc.timeStamp);
-	lpStruct->dragContext = (Widget)(*env)->GetIntField(env, lpObject, XmDropProcCallbackStructFc.dragContext);
-	lpStruct->x = (*env)->GetShortField(env, lpObject, XmDropProcCallbackStructFc.x);
-	lpStruct->y = (*env)->GetShortField(env, lpObject, XmDropProcCallbackStructFc.y);
-	lpStruct->dropSiteStatus = (*env)->GetByteField(env, lpObject, XmDropProcCallbackStructFc.dropSiteStatus);
-	lpStruct->operation = (*env)->GetByteField(env, lpObject, XmDropProcCallbackStructFc.operation);
-	lpStruct->operations = (*env)->GetByteField(env, lpObject, XmDropProcCallbackStructFc.operations);
-	lpStruct->dropAction = (*env)->GetByteField(env, lpObject, XmDropProcCallbackStructFc.dropAction);
-	return lpStruct;
-}
-
-void setXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropProcCallbackStruct *lpStruct)
-{
-	if (!XmDropProcCallbackStructFc.cached) cacheXmDropProcCallbackStructFields(env, lpObject);
-	setXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XmDropProcCallbackStructFc.timeStamp, (jint)lpStruct->timeStamp);
-	(*env)->SetIntField(env, lpObject, XmDropProcCallbackStructFc.dragContext, (jint)lpStruct->dragContext);
-	(*env)->SetShortField(env, lpObject, XmDropProcCallbackStructFc.x, (jshort)lpStruct->x);
-	(*env)->SetShortField(env, lpObject, XmDropProcCallbackStructFc.y, (jshort)lpStruct->y);
-	(*env)->SetByteField(env, lpObject, XmDropProcCallbackStructFc.dropSiteStatus, (jbyte)lpStruct->dropSiteStatus);
-	(*env)->SetByteField(env, lpObject, XmDropProcCallbackStructFc.operation, (jbyte)lpStruct->operation);
-	(*env)->SetByteField(env, lpObject, XmDropProcCallbackStructFc.operations, (jbyte)lpStruct->operations);
-	(*env)->SetByteField(env, lpObject, XmDropProcCallbackStructFc.dropAction, (jbyte)lpStruct->dropAction);
-}
-#endif
-
-#ifndef NO_XmSpinBoxCallbackStruct
-typedef struct XmSpinBoxCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID widget, doit, position, value, crossed_boundary;
-} XmSpinBoxCallbackStruct_FID_CACHE;
-
-XmSpinBoxCallbackStruct_FID_CACHE XmSpinBoxCallbackStructFc;
-
-void cacheXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmSpinBoxCallbackStructFc.cached) return;
-	cacheXmAnyCallbackStructFields(env, lpObject);
-	XmSpinBoxCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmSpinBoxCallbackStructFc.widget = (*env)->GetFieldID(env, XmSpinBoxCallbackStructFc.clazz, "widget", "I");
-	XmSpinBoxCallbackStructFc.doit = (*env)->GetFieldID(env, XmSpinBoxCallbackStructFc.clazz, "doit", "B");
-	XmSpinBoxCallbackStructFc.position = (*env)->GetFieldID(env, XmSpinBoxCallbackStructFc.clazz, "position", "I");
-	XmSpinBoxCallbackStructFc.value = (*env)->GetFieldID(env, XmSpinBoxCallbackStructFc.clazz, "value", "I");
-	XmSpinBoxCallbackStructFc.crossed_boundary = (*env)->GetFieldID(env, XmSpinBoxCallbackStructFc.clazz, "crossed_boundary", "B");
-	XmSpinBoxCallbackStructFc.cached = 1;
-}
-
-XmSpinBoxCallbackStruct *getXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject, XmSpinBoxCallbackStruct *lpStruct)
-{
-	if (!XmSpinBoxCallbackStructFc.cached) cacheXmSpinBoxCallbackStructFields(env, lpObject);
-	getXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	lpStruct->widget = (Widget)(*env)->GetIntField(env, lpObject, XmSpinBoxCallbackStructFc.widget);
-	lpStruct->doit = (Boolean)(*env)->GetByteField(env, lpObject, XmSpinBoxCallbackStructFc.doit);
-	lpStruct->position = (*env)->GetIntField(env, lpObject, XmSpinBoxCallbackStructFc.position);
-	lpStruct->value = (XmString)(*env)->GetIntField(env, lpObject, XmSpinBoxCallbackStructFc.value);
-	lpStruct->crossed_boundary = (Boolean)(*env)->GetByteField(env, lpObject, XmSpinBoxCallbackStructFc.crossed_boundary);
-	return lpStruct;
-}
-
-void setXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject, XmSpinBoxCallbackStruct *lpStruct)
-{
-	if (!XmSpinBoxCallbackStructFc.cached) cacheXmSpinBoxCallbackStructFields(env, lpObject);
-	setXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	(*env)->SetIntField(env, lpObject, XmSpinBoxCallbackStructFc.widget, (jint)lpStruct->widget);
-	(*env)->SetByteField(env, lpObject, XmSpinBoxCallbackStructFc.doit, (jbyte)lpStruct->doit);
-	(*env)->SetIntField(env, lpObject, XmSpinBoxCallbackStructFc.position, (jint)lpStruct->position);
-	(*env)->SetIntField(env, lpObject, XmSpinBoxCallbackStructFc.value, (jint)lpStruct->value);
-	(*env)->SetByteField(env, lpObject, XmSpinBoxCallbackStructFc.crossed_boundary, (jbyte)lpStruct->crossed_boundary);
-}
-#endif
-
-#ifndef NO_XmTextBlockRec
-typedef struct XmTextBlockRec_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ptr, length, format;
-} XmTextBlockRec_FID_CACHE;
-
-XmTextBlockRec_FID_CACHE XmTextBlockRecFc;
-
-void cacheXmTextBlockRecFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmTextBlockRecFc.cached) return;
-	XmTextBlockRecFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmTextBlockRecFc.ptr = (*env)->GetFieldID(env, XmTextBlockRecFc.clazz, "ptr", "I");
-	XmTextBlockRecFc.length = (*env)->GetFieldID(env, XmTextBlockRecFc.clazz, "length", "I");
-	XmTextBlockRecFc.format = (*env)->GetFieldID(env, XmTextBlockRecFc.clazz, "format", "I");
-	XmTextBlockRecFc.cached = 1;
-}
-
-XmTextBlockRec *getXmTextBlockRecFields(JNIEnv *env, jobject lpObject, XmTextBlockRec *lpStruct)
-{
-	if (!XmTextBlockRecFc.cached) cacheXmTextBlockRecFields(env, lpObject);
-	lpStruct->ptr = (char *)(*env)->GetIntField(env, lpObject, XmTextBlockRecFc.ptr);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, XmTextBlockRecFc.length);
-	lpStruct->format = (XmTextFormat)(*env)->GetIntField(env, lpObject, XmTextBlockRecFc.format);
-	return lpStruct;
-}
-
-void setXmTextBlockRecFields(JNIEnv *env, jobject lpObject, XmTextBlockRec *lpStruct)
-{
-	if (!XmTextBlockRecFc.cached) cacheXmTextBlockRecFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XmTextBlockRecFc.ptr, (jint)lpStruct->ptr);
-	(*env)->SetIntField(env, lpObject, XmTextBlockRecFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, XmTextBlockRecFc.format, (jint)lpStruct->format);
-}
-#endif
-
-#ifndef NO_XmTextVerifyCallbackStruct
-typedef struct XmTextVerifyCallbackStruct_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID doit, currInsert, newInsert, startPos, endPos, text;
-} XmTextVerifyCallbackStruct_FID_CACHE;
-
-XmTextVerifyCallbackStruct_FID_CACHE XmTextVerifyCallbackStructFc;
-
-void cacheXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject)
-{
-	if (XmTextVerifyCallbackStructFc.cached) return;
-	cacheXmAnyCallbackStructFields(env, lpObject);
-	XmTextVerifyCallbackStructFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XmTextVerifyCallbackStructFc.doit = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "doit", "B");
-	XmTextVerifyCallbackStructFc.currInsert = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "currInsert", "I");
-	XmTextVerifyCallbackStructFc.newInsert = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "newInsert", "I");
-	XmTextVerifyCallbackStructFc.startPos = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "startPos", "I");
-	XmTextVerifyCallbackStructFc.endPos = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "endPos", "I");
-	XmTextVerifyCallbackStructFc.text = (*env)->GetFieldID(env, XmTextVerifyCallbackStructFc.clazz, "text", "I");
-	XmTextVerifyCallbackStructFc.cached = 1;
-}
-
-XmTextVerifyCallbackStruct *getXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject, XmTextVerifyCallbackStruct *lpStruct)
-{
-	if (!XmTextVerifyCallbackStructFc.cached) cacheXmTextVerifyCallbackStructFields(env, lpObject);
-	getXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	lpStruct->doit = (*env)->GetByteField(env, lpObject, XmTextVerifyCallbackStructFc.doit);
-	lpStruct->currInsert = (*env)->GetIntField(env, lpObject, XmTextVerifyCallbackStructFc.currInsert);
-	lpStruct->newInsert = (*env)->GetIntField(env, lpObject, XmTextVerifyCallbackStructFc.newInsert);
-	lpStruct->startPos = (*env)->GetIntField(env, lpObject, XmTextVerifyCallbackStructFc.startPos);
-	lpStruct->endPos = (*env)->GetIntField(env, lpObject, XmTextVerifyCallbackStructFc.endPos);
-	lpStruct->text = (XmTextBlock)(*env)->GetIntField(env, lpObject, XmTextVerifyCallbackStructFc.text);
-	return lpStruct;
-}
-
-void setXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject, XmTextVerifyCallbackStruct *lpStruct)
-{
-	if (!XmTextVerifyCallbackStructFc.cached) cacheXmTextVerifyCallbackStructFields(env, lpObject);
-	setXmAnyCallbackStructFields(env, lpObject, (XmAnyCallbackStruct *)lpStruct);
-	(*env)->SetByteField(env, lpObject, XmTextVerifyCallbackStructFc.doit, (jbyte)lpStruct->doit);
-	(*env)->SetIntField(env, lpObject, XmTextVerifyCallbackStructFc.currInsert, (jint)lpStruct->currInsert);
-	(*env)->SetIntField(env, lpObject, XmTextVerifyCallbackStructFc.newInsert, (jint)lpStruct->newInsert);
-	(*env)->SetIntField(env, lpObject, XmTextVerifyCallbackStructFc.startPos, (jint)lpStruct->startPos);
-	(*env)->SetIntField(env, lpObject, XmTextVerifyCallbackStructFc.endPos, (jint)lpStruct->endPos);
-	(*env)->SetIntField(env, lpObject, XmTextVerifyCallbackStructFc.text, (jint)lpStruct->text);
-}
-#endif
-
-#ifndef NO_XtWidgetGeometry
-typedef struct XtWidgetGeometry_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID request_mode, x, y, width, height, border_width, sibling, stack_mode;
-} XtWidgetGeometry_FID_CACHE;
-
-XtWidgetGeometry_FID_CACHE XtWidgetGeometryFc;
-
-void cacheXtWidgetGeometryFields(JNIEnv *env, jobject lpObject)
-{
-	if (XtWidgetGeometryFc.cached) return;
-	XtWidgetGeometryFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	XtWidgetGeometryFc.request_mode = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "request_mode", "I");
-	XtWidgetGeometryFc.x = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "x", "I");
-	XtWidgetGeometryFc.y = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "y", "I");
-	XtWidgetGeometryFc.width = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "width", "I");
-	XtWidgetGeometryFc.height = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "height", "I");
-	XtWidgetGeometryFc.border_width = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "border_width", "I");
-	XtWidgetGeometryFc.sibling = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "sibling", "I");
-	XtWidgetGeometryFc.stack_mode = (*env)->GetFieldID(env, XtWidgetGeometryFc.clazz, "stack_mode", "I");
-	XtWidgetGeometryFc.cached = 1;
-}
-
-XtWidgetGeometry *getXtWidgetGeometryFields(JNIEnv *env, jobject lpObject, XtWidgetGeometry *lpStruct)
-{
-	if (!XtWidgetGeometryFc.cached) cacheXtWidgetGeometryFields(env, lpObject);
-	lpStruct->request_mode = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.request_mode);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.y);
-	lpStruct->width = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.width);
-	lpStruct->height = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.height);
-	lpStruct->border_width = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.border_width);
-	lpStruct->sibling = (Widget)(*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.sibling);
-	lpStruct->stack_mode = (*env)->GetIntField(env, lpObject, XtWidgetGeometryFc.stack_mode);
-	return lpStruct;
-}
-
-void setXtWidgetGeometryFields(JNIEnv *env, jobject lpObject, XtWidgetGeometry *lpStruct)
-{
-	if (!XtWidgetGeometryFc.cached) cacheXtWidgetGeometryFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.request_mode, (jint)lpStruct->request_mode);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.width, (jint)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.height, (jint)lpStruct->height);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.border_width, (jint)lpStruct->border_width);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.sibling, (jint)lpStruct->sibling);
-	(*env)->SetIntField(env, lpObject, XtWidgetGeometryFc.stack_mode, (jint)lpStruct->stack_mode);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.h
deleted file mode 100644
index 72e7c60..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/library/os_structs.h
+++ /dev/null
@@ -1,469 +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
- *******************************************************************************/
-
-#include "os.h"
-
-#ifndef NO_Visual
-void cacheVisualFields(JNIEnv *env, jobject lpObject);
-Visual *getVisualFields(JNIEnv *env, jobject lpObject, Visual *lpStruct);
-void setVisualFields(JNIEnv *env, jobject lpObject, Visual *lpStruct);
-#define Visual_sizeof() sizeof(Visual)
-#else
-#define cacheVisualFields(a,b)
-#define getVisualFields(a,b,c) NULL
-#define setVisualFields(a,b,c)
-#define Visual_sizeof() 0
-#endif
-
-#ifndef NO_XAnyEvent
-void cacheXAnyEventFields(JNIEnv *env, jobject lpObject);
-XAnyEvent *getXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct);
-void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct);
-#define XAnyEvent_sizeof() sizeof(XAnyEvent)
-#else
-#define cacheXAnyEventFields(a,b)
-#define getXAnyEventFields(a,b,c) NULL
-#define setXAnyEventFields(a,b,c)
-#define XAnyEvent_sizeof() 0
-#endif
-
-#ifndef NO_XButtonEvent
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject);
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-#define XButtonEvent_sizeof() sizeof(XButtonEvent)
-#else
-#define cacheXButtonEventFields(a,b)
-#define getXButtonEventFields(a,b,c) NULL
-#define setXButtonEventFields(a,b,c)
-#define XButtonEvent_sizeof() 0
-#endif
-
-#ifndef NO_XCharStruct
-void cacheXCharStructFields(JNIEnv *env, jobject lpObject);
-XCharStruct *getXCharStructFields(JNIEnv *env, jobject lpObject, XCharStruct *lpStruct);
-void setXCharStructFields(JNIEnv *env, jobject lpObject, XCharStruct *lpStruct);
-#define XCharStruct_sizeof() sizeof(XCharStruct)
-#else
-#define cacheXCharStructFields(a,b)
-#define getXCharStructFields(a,b,c) NULL
-#define setXCharStructFields(a,b,c)
-#define XCharStruct_sizeof() 0
-#endif
-
-#ifndef NO_XClientMessageEvent
-void cacheXClientMessageEventFields(JNIEnv *env, jobject lpObject);
-XClientMessageEvent *getXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct);
-void setXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct);
-#define XClientMessageEvent_sizeof() sizeof(XClientMessageEvent)
-#else
-#define cacheXClientMessageEventFields(a,b)
-#define getXClientMessageEventFields(a,b,c) NULL
-#define setXClientMessageEventFields(a,b,c)
-#define XClientMessageEvent_sizeof() 0
-#endif
-
-#ifndef NO_XColor
-void cacheXColorFields(JNIEnv *env, jobject lpObject);
-XColor *getXColorFields(JNIEnv *env, jobject lpObject, XColor *lpStruct);
-void setXColorFields(JNIEnv *env, jobject lpObject, XColor *lpStruct);
-#define XColor_sizeof() sizeof(XColor)
-#else
-#define cacheXColorFields(a,b)
-#define getXColorFields(a,b,c) NULL
-#define setXColorFields(a,b,c)
-#define XColor_sizeof() 0
-#endif
-
-#ifndef NO_XConfigureEvent
-void cacheXConfigureEventFields(JNIEnv *env, jobject lpObject);
-XConfigureEvent *getXConfigureEventFields(JNIEnv *env, jobject lpObject, XConfigureEvent *lpStruct);
-void setXConfigureEventFields(JNIEnv *env, jobject lpObject, XConfigureEvent *lpStruct);
-#define XConfigureEvent_sizeof() sizeof(XConfigureEvent)
-#else
-#define cacheXConfigureEventFields(a,b)
-#define getXConfigureEventFields(a,b,c) NULL
-#define setXConfigureEventFields(a,b,c)
-#define XConfigureEvent_sizeof() 0
-#endif
-
-#ifndef NO_XCreateWindowEvent
-void cacheXCreateWindowEventFields(JNIEnv *env, jobject lpObject);
-XCreateWindowEvent *getXCreateWindowEventFields(JNIEnv *env, jobject lpObject, XCreateWindowEvent *lpStruct);
-void setXCreateWindowEventFields(JNIEnv *env, jobject lpObject, XCreateWindowEvent *lpStruct);
-#define XCreateWindowEvent_sizeof() sizeof(XCreateWindowEvent)
-#else
-#define cacheXCreateWindowEventFields(a,b)
-#define getXCreateWindowEventFields(a,b,c) NULL
-#define setXCreateWindowEventFields(a,b,c)
-#define XCreateWindowEvent_sizeof() 0
-#endif
-
-#ifndef NO_XCrossingEvent
-void cacheXCrossingEventFields(JNIEnv *env, jobject lpObject);
-XCrossingEvent *getXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct);
-void setXCrossingEventFields(JNIEnv *env, jobject lpObject, XCrossingEvent *lpStruct);
-#define XCrossingEvent_sizeof() sizeof(XCrossingEvent)
-#else
-#define cacheXCrossingEventFields(a,b)
-#define getXCrossingEventFields(a,b,c) NULL
-#define setXCrossingEventFields(a,b,c)
-#define XCrossingEvent_sizeof() 0
-#endif
-
-#ifndef NO_XDestroyWindowEvent
-void cacheXDestroyWindowEventFields(JNIEnv *env, jobject lpObject);
-XDestroyWindowEvent *getXDestroyWindowEventFields(JNIEnv *env, jobject lpObject, XDestroyWindowEvent *lpStruct);
-void setXDestroyWindowEventFields(JNIEnv *env, jobject lpObject, XDestroyWindowEvent *lpStruct);
-#define XDestroyWindowEvent_sizeof() sizeof(XDestroyWindowEvent)
-#else
-#define cacheXDestroyWindowEventFields(a,b)
-#define getXDestroyWindowEventFields(a,b,c) NULL
-#define setXDestroyWindowEventFields(a,b,c)
-#define XDestroyWindowEvent_sizeof() 0
-#endif
-
-#ifndef NO_XEvent
-void cacheXEventFields(JNIEnv *env, jobject lpObject);
-XEvent *getXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct);
-void setXEventFields(JNIEnv *env, jobject lpObject, XEvent *lpStruct);
-#define XEvent_sizeof() sizeof(XEvent)
-#else
-#define cacheXEventFields(a,b)
-#define getXEventFields(a,b,c) NULL
-#define setXEventFields(a,b,c)
-#define XEvent_sizeof() 0
-#endif
-
-#ifndef NO_XExposeEvent
-void cacheXExposeEventFields(JNIEnv *env, jobject lpObject);
-XExposeEvent *getXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct);
-void setXExposeEventFields(JNIEnv *env, jobject lpObject, XExposeEvent *lpStruct);
-#define XExposeEvent_sizeof() sizeof(XExposeEvent)
-#else
-#define cacheXExposeEventFields(a,b)
-#define getXExposeEventFields(a,b,c) NULL
-#define setXExposeEventFields(a,b,c)
-#define XExposeEvent_sizeof() 0
-#endif
-
-#ifndef NO_XFocusChangeEvent
-void cacheXFocusChangeEventFields(JNIEnv *env, jobject lpObject);
-XFocusChangeEvent *getXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct);
-void setXFocusChangeEventFields(JNIEnv *env, jobject lpObject, XFocusChangeEvent *lpStruct);
-#define XFocusChangeEvent_sizeof() sizeof(XFocusChangeEvent)
-#else
-#define cacheXFocusChangeEventFields(a,b)
-#define getXFocusChangeEventFields(a,b,c) NULL
-#define setXFocusChangeEventFields(a,b,c)
-#define XFocusChangeEvent_sizeof() 0
-#endif
-
-#ifndef NO_XFontStruct
-void cacheXFontStructFields(JNIEnv *env, jobject lpObject);
-XFontStruct *getXFontStructFields(JNIEnv *env, jobject lpObject, XFontStruct *lpStruct);
-void setXFontStructFields(JNIEnv *env, jobject lpObject, XFontStruct *lpStruct);
-#define XFontStruct_sizeof() sizeof(XFontStruct)
-#else
-#define cacheXFontStructFields(a,b)
-#define getXFontStructFields(a,b,c) NULL
-#define setXFontStructFields(a,b,c)
-#define XFontStruct_sizeof() 0
-#endif
-
-#ifndef NO_XGCValues
-void cacheXGCValuesFields(JNIEnv *env, jobject lpObject);
-XGCValues *getXGCValuesFields(JNIEnv *env, jobject lpObject, XGCValues *lpStruct);
-void setXGCValuesFields(JNIEnv *env, jobject lpObject, XGCValues *lpStruct);
-#define XGCValues_sizeof() sizeof(XGCValues)
-#else
-#define cacheXGCValuesFields(a,b)
-#define getXGCValuesFields(a,b,c) NULL
-#define setXGCValuesFields(a,b,c)
-#define XGCValues_sizeof() 0
-#endif
-
-#ifndef NO_XIconSize
-void cacheXIconSizeFields(JNIEnv *env, jobject lpObject);
-XIconSize *getXIconSizeFields(JNIEnv *env, jobject lpObject, XIconSize *lpStruct);
-void setXIconSizeFields(JNIEnv *env, jobject lpObject, XIconSize *lpStruct);
-#define XIconSize_sizeof() sizeof(XIconSize)
-#else
-#define cacheXIconSizeFields(a,b)
-#define getXIconSizeFields(a,b,c) NULL
-#define setXIconSizeFields(a,b,c)
-#define XIconSize_sizeof() 0
-#endif
-
-#ifndef NO_XImage
-void cacheXImageFields(JNIEnv *env, jobject lpObject);
-XImage *getXImageFields(JNIEnv *env, jobject lpObject, XImage *lpStruct);
-void setXImageFields(JNIEnv *env, jobject lpObject, XImage *lpStruct);
-#define XImage_sizeof() sizeof(XImage)
-#else
-#define cacheXImageFields(a,b)
-#define getXImageFields(a,b,c) NULL
-#define setXImageFields(a,b,c)
-#define XImage_sizeof() 0
-#endif
-
-#ifndef NO_XKeyEvent
-void cacheXKeyEventFields(JNIEnv *env, jobject lpObject);
-XKeyEvent *getXKeyEventFields(JNIEnv *env, jobject lpObject, XKeyEvent *lpStruct);
-void setXKeyEventFields(JNIEnv *env, jobject lpObject, XKeyEvent *lpStruct);
-#define XKeyEvent_sizeof() sizeof(XKeyEvent)
-#else
-#define cacheXKeyEventFields(a,b)
-#define getXKeyEventFields(a,b,c) NULL
-#define setXKeyEventFields(a,b,c)
-#define XKeyEvent_sizeof() 0
-#endif
-
-#ifndef NO_XModifierKeymap
-void cacheXModifierKeymapFields(JNIEnv *env, jobject lpObject);
-XModifierKeymap *getXModifierKeymapFields(JNIEnv *env, jobject lpObject, XModifierKeymap *lpStruct);
-void setXModifierKeymapFields(JNIEnv *env, jobject lpObject, XModifierKeymap *lpStruct);
-#define XModifierKeymap_sizeof() sizeof(XModifierKeymap)
-#else
-#define cacheXModifierKeymapFields(a,b)
-#define getXModifierKeymapFields(a,b,c) NULL
-#define setXModifierKeymapFields(a,b,c)
-#define XModifierKeymap_sizeof() 0
-#endif
-
-#ifndef NO_XMotionEvent
-void cacheXMotionEventFields(JNIEnv *env, jobject lpObject);
-XMotionEvent *getXMotionEventFields(JNIEnv *env, jobject lpObject, XMotionEvent *lpStruct);
-void setXMotionEventFields(JNIEnv *env, jobject lpObject, XMotionEvent *lpStruct);
-#define XMotionEvent_sizeof() sizeof(XMotionEvent)
-#else
-#define cacheXMotionEventFields(a,b)
-#define getXMotionEventFields(a,b,c) NULL
-#define setXMotionEventFields(a,b,c)
-#define XMotionEvent_sizeof() 0
-#endif
-
-#ifndef NO_XPropertyEvent
-void cacheXPropertyEventFields(JNIEnv *env, jobject lpObject);
-XPropertyEvent *getXPropertyEventFields(JNIEnv *env, jobject lpObject, XPropertyEvent *lpStruct);
-void setXPropertyEventFields(JNIEnv *env, jobject lpObject, XPropertyEvent *lpStruct);
-#define XPropertyEvent_sizeof() sizeof(XPropertyEvent)
-#else
-#define cacheXPropertyEventFields(a,b)
-#define getXPropertyEventFields(a,b,c) NULL
-#define setXPropertyEventFields(a,b,c)
-#define XPropertyEvent_sizeof() 0
-#endif
-
-#ifndef NO_XRectangle
-void cacheXRectangleFields(JNIEnv *env, jobject lpObject);
-XRectangle *getXRectangleFields(JNIEnv *env, jobject lpObject, XRectangle *lpStruct);
-void setXRectangleFields(JNIEnv *env, jobject lpObject, XRectangle *lpStruct);
-#define XRectangle_sizeof() sizeof(XRectangle)
-#else
-#define cacheXRectangleFields(a,b)
-#define getXRectangleFields(a,b,c) NULL
-#define setXRectangleFields(a,b,c)
-#define XRectangle_sizeof() 0
-#endif
-
-#ifndef NO_XRenderPictureAttributes
-void cacheXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject);
-XRenderPictureAttributes *getXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct);
-void setXRenderPictureAttributesFields(JNIEnv *env, jobject lpObject, XRenderPictureAttributes *lpStruct);
-#define XRenderPictureAttributes_sizeof() sizeof(XRenderPictureAttributes)
-#else
-#define cacheXRenderPictureAttributesFields(a,b)
-#define getXRenderPictureAttributesFields(a,b,c) NULL
-#define setXRenderPictureAttributesFields(a,b,c)
-#define XRenderPictureAttributes_sizeof() 0
-#endif
-
-#ifndef NO_XReparentEvent
-void cacheXReparentEventFields(JNIEnv *env, jobject lpObject);
-XReparentEvent *getXReparentEventFields(JNIEnv *env, jobject lpObject, XReparentEvent *lpStruct);
-void setXReparentEventFields(JNIEnv *env, jobject lpObject, XReparentEvent *lpStruct);
-#define XReparentEvent_sizeof() sizeof(XReparentEvent)
-#else
-#define cacheXReparentEventFields(a,b)
-#define getXReparentEventFields(a,b,c) NULL
-#define setXReparentEventFields(a,b,c)
-#define XReparentEvent_sizeof() 0
-#endif
-
-#ifndef NO_XSetWindowAttributes
-void cacheXSetWindowAttributesFields(JNIEnv *env, jobject lpObject);
-XSetWindowAttributes *getXSetWindowAttributesFields(JNIEnv *env, jobject lpObject, XSetWindowAttributes *lpStruct);
-void setXSetWindowAttributesFields(JNIEnv *env, jobject lpObject, XSetWindowAttributes *lpStruct);
-#define XSetWindowAttributes_sizeof() sizeof(XSetWindowAttributes)
-#else
-#define cacheXSetWindowAttributesFields(a,b)
-#define getXSetWindowAttributesFields(a,b,c) NULL
-#define setXSetWindowAttributesFields(a,b,c)
-#define XSetWindowAttributes_sizeof() 0
-#endif
-
-#ifndef NO_XSizeHints
-void cacheXSizeHintsFields(JNIEnv *env, jobject lpObject);
-XSizeHints *getXSizeHintsFields(JNIEnv *env, jobject lpObject, XSizeHints *lpStruct);
-void setXSizeHintsFields(JNIEnv *env, jobject lpObject, XSizeHints *lpStruct);
-#define XSizeHints_sizeof() sizeof(XSizeHints)
-#else
-#define cacheXSizeHintsFields(a,b)
-#define getXSizeHintsFields(a,b,c) NULL
-#define setXSizeHintsFields(a,b,c)
-#define XSizeHints_sizeof() 0
-#endif
-
-#ifndef NO_XTextProperty
-void cacheXTextPropertyFields(JNIEnv *env, jobject lpObject);
-XTextProperty *getXTextPropertyFields(JNIEnv *env, jobject lpObject, XTextProperty *lpStruct);
-void setXTextPropertyFields(JNIEnv *env, jobject lpObject, XTextProperty *lpStruct);
-#define XTextProperty_sizeof() sizeof(XTextProperty)
-#else
-#define cacheXTextPropertyFields(a,b)
-#define getXTextPropertyFields(a,b,c) NULL
-#define setXTextPropertyFields(a,b,c)
-#define XTextProperty_sizeof() 0
-#endif
-
-#ifndef NO_XWindowAttributes
-void cacheXWindowAttributesFields(JNIEnv *env, jobject lpObject);
-XWindowAttributes *getXWindowAttributesFields(JNIEnv *env, jobject lpObject, XWindowAttributes *lpStruct);
-void setXWindowAttributesFields(JNIEnv *env, jobject lpObject, XWindowAttributes *lpStruct);
-#define XWindowAttributes_sizeof() sizeof(XWindowAttributes)
-#else
-#define cacheXWindowAttributesFields(a,b)
-#define getXWindowAttributesFields(a,b,c) NULL
-#define setXWindowAttributesFields(a,b,c)
-#define XWindowAttributes_sizeof() 0
-#endif
-
-#ifndef NO_XWindowChanges
-void cacheXWindowChangesFields(JNIEnv *env, jobject lpObject);
-XWindowChanges *getXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct);
-void setXWindowChangesFields(JNIEnv *env, jobject lpObject, XWindowChanges *lpStruct);
-#define XWindowChanges_sizeof() sizeof(XWindowChanges)
-#else
-#define cacheXWindowChangesFields(a,b)
-#define getXWindowChangesFields(a,b,c) NULL
-#define setXWindowChangesFields(a,b,c)
-#define XWindowChanges_sizeof() 0
-#endif
-
-#ifndef NO_XineramaScreenInfo
-void cacheXineramaScreenInfoFields(JNIEnv *env, jobject lpObject);
-XineramaScreenInfo *getXineramaScreenInfoFields(JNIEnv *env, jobject lpObject, XineramaScreenInfo *lpStruct);
-void setXineramaScreenInfoFields(JNIEnv *env, jobject lpObject, XineramaScreenInfo *lpStruct);
-#define XineramaScreenInfo_sizeof() sizeof(XineramaScreenInfo)
-#else
-#define cacheXineramaScreenInfoFields(a,b)
-#define getXineramaScreenInfoFields(a,b,c) NULL
-#define setXineramaScreenInfoFields(a,b,c)
-#define XineramaScreenInfo_sizeof() 0
-#endif
-
-#ifndef NO_XmAnyCallbackStruct
-void cacheXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmAnyCallbackStruct *getXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject, XmAnyCallbackStruct *lpStruct);
-void setXmAnyCallbackStructFields(JNIEnv *env, jobject lpObject, XmAnyCallbackStruct *lpStruct);
-#define XmAnyCallbackStruct_sizeof() sizeof(XmAnyCallbackStruct)
-#else
-#define cacheXmAnyCallbackStructFields(a,b)
-#define getXmAnyCallbackStructFields(a,b,c) NULL
-#define setXmAnyCallbackStructFields(a,b,c)
-#define XmAnyCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XmDragProcCallbackStruct
-void cacheXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmDragProcCallbackStruct *getXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDragProcCallbackStruct *lpStruct);
-void setXmDragProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDragProcCallbackStruct *lpStruct);
-#define XmDragProcCallbackStruct_sizeof() sizeof(XmDragProcCallbackStruct)
-#else
-#define cacheXmDragProcCallbackStructFields(a,b)
-#define getXmDragProcCallbackStructFields(a,b,c) NULL
-#define setXmDragProcCallbackStructFields(a,b,c)
-#define XmDragProcCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XmDropFinishCallbackStruct
-void cacheXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmDropFinishCallbackStruct *getXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropFinishCallbackStruct *lpStruct);
-void setXmDropFinishCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropFinishCallbackStruct *lpStruct);
-#define XmDropFinishCallbackStruct_sizeof() sizeof(XmDropFinishCallbackStruct)
-#else
-#define cacheXmDropFinishCallbackStructFields(a,b)
-#define getXmDropFinishCallbackStructFields(a,b,c) NULL
-#define setXmDropFinishCallbackStructFields(a,b,c)
-#define XmDropFinishCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XmDropProcCallbackStruct
-void cacheXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmDropProcCallbackStruct *getXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropProcCallbackStruct *lpStruct);
-void setXmDropProcCallbackStructFields(JNIEnv *env, jobject lpObject, XmDropProcCallbackStruct *lpStruct);
-#define XmDropProcCallbackStruct_sizeof() sizeof(XmDropProcCallbackStruct)
-#else
-#define cacheXmDropProcCallbackStructFields(a,b)
-#define getXmDropProcCallbackStructFields(a,b,c) NULL
-#define setXmDropProcCallbackStructFields(a,b,c)
-#define XmDropProcCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XmSpinBoxCallbackStruct
-void cacheXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmSpinBoxCallbackStruct *getXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject, XmSpinBoxCallbackStruct *lpStruct);
-void setXmSpinBoxCallbackStructFields(JNIEnv *env, jobject lpObject, XmSpinBoxCallbackStruct *lpStruct);
-#define XmSpinBoxCallbackStruct_sizeof() sizeof(XmSpinBoxCallbackStruct)
-#else
-#define cacheXmSpinBoxCallbackStructFields(a,b)
-#define getXmSpinBoxCallbackStructFields(a,b,c) NULL
-#define setXmSpinBoxCallbackStructFields(a,b,c)
-#define XmSpinBoxCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XmTextBlockRec
-void cacheXmTextBlockRecFields(JNIEnv *env, jobject lpObject);
-XmTextBlockRec *getXmTextBlockRecFields(JNIEnv *env, jobject lpObject, XmTextBlockRec *lpStruct);
-void setXmTextBlockRecFields(JNIEnv *env, jobject lpObject, XmTextBlockRec *lpStruct);
-#define XmTextBlockRec_sizeof() sizeof(XmTextBlockRec)
-#else
-#define cacheXmTextBlockRecFields(a,b)
-#define getXmTextBlockRecFields(a,b,c) NULL
-#define setXmTextBlockRecFields(a,b,c)
-#define XmTextBlockRec_sizeof() 0
-#endif
-
-#ifndef NO_XmTextVerifyCallbackStruct
-void cacheXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject);
-XmTextVerifyCallbackStruct *getXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject, XmTextVerifyCallbackStruct *lpStruct);
-void setXmTextVerifyCallbackStructFields(JNIEnv *env, jobject lpObject, XmTextVerifyCallbackStruct *lpStruct);
-#define XmTextVerifyCallbackStruct_sizeof() sizeof(XmTextVerifyCallbackStruct)
-#else
-#define cacheXmTextVerifyCallbackStructFields(a,b)
-#define getXmTextVerifyCallbackStructFields(a,b,c) NULL
-#define setXmTextVerifyCallbackStructFields(a,b,c)
-#define XmTextVerifyCallbackStruct_sizeof() 0
-#endif
-
-#ifndef NO_XtWidgetGeometry
-void cacheXtWidgetGeometryFields(JNIEnv *env, jobject lpObject);
-XtWidgetGeometry *getXtWidgetGeometryFields(JNIEnv *env, jobject lpObject, XtWidgetGeometry *lpStruct);
-void setXtWidgetGeometryFields(JNIEnv *env, jobject lpObject, XtWidgetGeometry *lpStruct);
-#define XtWidgetGeometry_sizeof() sizeof(XtWidgetGeometry)
-#else
-#define cacheXtWidgetGeometryFields(a,b)
-#define getXtWidgetGeometryFields(a,b,c) NULL
-#define setXtWidgetGeometryFields(a,b,c)
-#define XtWidgetGeometry_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/Platform.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/Platform.java
deleted file mode 100644
index 815c4e1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/Platform.java
+++ /dev/null
@@ -1,16 +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.internal;
-
-public class Platform {
-	public static final String PLATFORM = "motif";
-	public static final Lock lock = new Lock();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/OS.java
deleted file mode 100644
index e178e62..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/OS.java
+++ /dev/null
@@ -1,4333 +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.internal.motif;
-
-import org.eclipse.swt.internal.*;
-
- 
-public class OS extends Platform {
-	static {
-		Library.loadLibrary ("swt");
-	}
-
-	/* OS and locale Constants*/
-	public static final boolean IsAIX, IsSunOS, IsLinux, IsHPUX;
-	public static final boolean IsDBLocale;
-	static {
-		
-		/* Initialize the OS flags and locale constants */
-		String osName = System.getProperty ("os.name");
-		boolean isAIX = false, isSunOS = false, isLinux = false, isHPUX = false;
-		if (osName.equals ("Linux")) isLinux = true;
-		if (osName.equals ("AIX")) isAIX = true;
-		if (osName.equals ("Solaris")) isSunOS = true;
-		if (osName.equals ("SunOS")) isSunOS = true;
-		if (osName.equals ("HP-UX")) isHPUX = true;
-		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsHPUX = isHPUX;
-		IsDBLocale = OS.MB_CUR_MAX () != 1;
-	}
-	public static final int CODESET = CODESET ();
-	public static final int LC_CTYPE = LC_CTYPE ();
-
-	public static final int PTR_SIZEOF;
-	static {
-		PTR_SIZEOF = 4;
-	}
-	
-	static final int RESOURCE_LENGTH = 1024 * 3;
-	static final int RESOURCE_START = OS.XtMalloc (RESOURCE_LENGTH);
-	static int NextResourceStart = RESOURCE_START;
-	static {
-		OS.setResourceMem (RESOURCE_START, RESOURCE_START + RESOURCE_LENGTH);
-	}
-	
-	/** Constants */
-	public static final int Above = 0;
-	public static final int AllPlanes = 0xFFFFFFFF;
-	public static final int AllocNone = 0;
-	public static final int Below = 1;
-	public static final int Button1Mask = (1<<8);
-	public static final int Button2Mask = (1<<9);
-	public static final int Button3Mask = (1<<10);
-	public static final int ButtonPress = 4;
-	public static final int ButtonPressMask = 1 << 2;
-	public static final int ButtonRelease = 5;
-	public static final int ButtonReleaseMask = 1 << 3;
-	public static final int ButtonMotionMask = 1 << 13;
-	public static final int Button1MotionMask = 1 << 8;
-	public static final int Button2MotionMask = 1 << 9;
-	public static final int Button3MotionMask = 1 << 10;
-	public static final int Button4MotionMask = 1 << 11;
-	public static final int Button5MotionMask = 1 << 12;
-	public static final int CWBackPixmap = 0x1;
-	public static final int CWBitGravity = 0x10;
-	public static final int CWColormap = 1 << 13;
-	public static final int CWCursor = 0x4000;
-	public static final int CWDontPropagate = 0x1000;
-	public static final int CWEventMask = 0x800;
-	public static final int CWHeight = 0x8;
-	public static final int CWSibling = 0x20;
-	public static final int CWStackMode = 0x40;
-	public static final int CWWidth = 0x4;
-	public static final int CapButt = 0x1;
-	public static final int CapProjecting = 3;
-	public static final int CapRound = 0x2;
-	public static final int ClientMessage = 33;
-	public static final int Complex = 0;
-	public static final int ConfigureNotify = 22;
-	public static final int ControlMask = (1<<2);
-	public static final int CoordModeOrigin = 0x0;
-	public static final int CopyFromParent = 0;
-	public static final int CreateNotify = 16;
-	public static final int CurrentTime = 0;
-	public static final int DestroyNotify = 17;
-	public static final int EnterNotify = 7;
-	public static final int EnterWindowMask = 1 << 4;
-	public static final int EvenOddRule = 0;
-	public static final int Expose = 12;
-	public static final int ExposureMask = 1 << 15;
-	public static final int FillStippled = 0x2;
-	public static final int FillTiled = 0x1;
-	public static final int FocusChangeMask = 1 << 21;
-	public static final int FocusIn = 9;
-	public static final int FocusOut = 10;
-	public static final int ForgetGravity = 0;
-	public static final int GCBackground = 0x8;
-	public static final int GCCapStyle = 1 << 6;
-	public static final int GCFillRule = 1 << 9;
-	public static final int GCForeground = 0x4;
-	public static final int GCFunction = 0x1;
-	public static final int GCJoinStyle = 1 << 7;
-	public static final int GCLineWidth = 0x10;
-	public static final int GCFillStyle = 1<<8;
-	public static final int GCTile = 1<<10;
-	public static final int GCTileStipXOrigin	= 1<<12;
-	public static final int GCTileStipYOrigin	= 1<<13;
-	public static final int GXand = 0x1;
-	public static final int GXcopy = 0x3;
-	public static final int GXxor = 0x6;
-	public static final int GrabModeAsync = 1;
-	public static final int GrabSuccess = 0;
-	public static final int GraphicsExpose = 13;
-	public static final int hpXK_BackTab = 0x1000FF74;
-	public static final int IconicState = 0x3;
-	public static final int IncludeInferiors = 0x1;
-	public static final int IsUnviewable = 0x1;
-	public static final int IsViewable = 0x2;
-	public static final int JoinMiter = 0x0;
-	public static final int JoinRound = 0x1;
-	public static final int JoinBevel = 0x2;
-	public static final int KeyPress = 2;
-	public static final int KeyPressMask = 1 << 0;
-	public static final int KeyRelease = 3;
-	public static final int KeyReleaseMask = 1 << 1;
-	public static final int LSBFirst = 0;
-	public static final int LeaveNotify = 8;
-	public static final int LeaveWindowMask = 1 << 5;
-	public static final int LineOnOffDash = 0x1;
-	public static final int LineSolid = 0x0;
-	public static final int MSBFirst = 1;
-	public static final int MWM_DECOR_BORDER = 0x2;
-	public static final int MWM_DECOR_MAXIMIZE = 0x40;
-	public static final int MWM_DECOR_MENU = 0x10;
-	public static final int MWM_DECOR_MINIMIZE = 0x20;
-	public static final int MWM_DECOR_RESIZEH = 0x4;
-	public static final int MWM_DECOR_TITLE = 0x8;
-	public static final int MWM_INPUT_FULL_APPLICATION_MODAL = 0x3;
-	public static final int MWM_INPUT_MODELESS = 0x0;
-	public static final int MWM_INPUT_PRIMARY_APPLICATION_MODAL = 0x1;
-	public static final int MWM_INPUT_SYSTEM_MODAL = 0x2;
-	public static final int MapNotify = 19;
-	public static final int Mod1Mask = (1<<3);
-	public static final int Mod1MapIndex = 3;
-	public static final int Mod2MapIndex = 4;
-	public static final int Mod3MapIndex = 5;
-	public static final int Mod4MapIndex = 6;
-	public static final int Mod5MapIndex = 7;
-	public static final int MotionNotify = 6;
-	public static final int None = 0;
-	public static final int NormalState = 0x1;
-	public static final int NorthWestGravity = 0x1;
-	public static final int NotifyAncestor = 0x0;
-	public static final int NotifyInferior = 0x2;
-	public static final int NotifyNonlinear = 0x3;
-	public static final int NotifyNonlinearVirtual = 0x4;
-	public static final int NotifyNormal = 0x0;
-	public static final int NotifyGrab = 0x1;
-	public static final int NotifyUngrab = 0x2;
-	public static final int ParentRelative = 1;
-	public static final int PMinSize = 1 << 4;
-	public static final int PMaxSize = 1 << 5;
-	public static final int PPosition = 1 << 2;
-	public static final int PointerMotionMask = 1 << 6;
-	public static final int PointerMotionHintMask = 1 << 7;
-	public static final int PropertyChangeMask = 1 << 22;
-	public static final int PropertyNotify = 28;
-	public static final int PropModeReplace = 0;
-	public static final int QueuedAfterReading = 1;
-	public static final int RectangleOut = 0x0;
-	public static final int ReparentNotify = 21;
-	public static final int ResizeRedirectMask = 1 << 18;
-	public static final int RevertToParent = 0x2;
-	public static final int RTLD_LAZY = 1; 
-	public static final int SelectionClear = 29;
-	public static final int SelectionNotify = 31;
-	public static final int SelectionRequest = 30;
-	public static final int ShapeBounding = 0;
-	public static final int ShapeClip = 1;
-	public static final int ShapeSet = 0;
-	public static final int ShiftMask = (1<<0);
-	public static final int StructureNotifyMask = 1 << 17;
-	public static final int SubstructureNotifyMask = 1 << 19;
-	public static final int SubstructureRedirectMask = 1 << 20;
-	public static final int SunXK_F36 = 0x1005FF10;
-	public static final int SunXK_F37 = 0x1005FF11;
-	public static final int UnmapNotify = 18;
-	public static final int Unsorted = 0x0;
-	public static final int XA_ATOM = 4;
-	public static final int XA_FONT = 18;
-	public static final int XBufferOverflow = 0xFFFFFFFF;
-	public static final int XC_X_cursor = 0;
-	public static final int XC_bottom_left_corner = 12;
-	public static final int XC_bottom_right_corner = 14;
-	public static final int XC_bottom_side = 16;
-	public static final int XC_cross = 30;
-	public static final int XC_double_arrow = 42;
-	public static final int XC_fleur = 52;
-	public static final int XC_hand2 = 60;
-	public static final int XC_left_ptr = 68;
-	public static final int XC_left_side = 70;
-	public static final int XC_question_arrow = 92;
-	public static final int XC_right_side = 96;
-	public static final int XC_sb_h_double_arrow = 108;
-	public static final int XC_sb_up_arrow = 114;
-	public static final int XC_sb_v_double_arrow = 116;
-	public static final int XC_sizing = 120;
-	public static final int XC_top_left_corner = 134;
-	public static final int XC_top_right_corner = 136;
-	public static final int XC_top_side = 138;
-	public static final int XC_watch = 150;
-	public static final int XC_xterm = 152;
-	public static final int XCompoundTextStyle = 1;
-	public static final int XEMBED_EMBEDDED_NOTIFY = 0;
-	public static final int XEMBED_WINDOW_ACTIVATE = 1;
-	public static final int XEMBED_WINDOW_DEACTIVATE = 2;
-	public static final int XEMBED_REQUEST_FOCUS = 3;
-	public static final int XEMBED_FOCUS_IN = 4;
-	public static final int XEMBED_FOCUS_OUT = 5;
-	public static final int XEMBED_FOCUS_NEXT = 6;
-	public static final int XEMBED_FOCUS_PREV = 7;
-	public static final int XEMBED_MODALITY_ON = 10;
-	public static final int XEMBED_MODALITY_OFF = 11;
-	public static final int XEMBED_REGISTER_ACCELERATOR = 12;
-	public static final int XEMBED_UNREGISTER_ACCELERATOR = 13;
-	public static final int XEMBED_ACTIVATE_ACCELERATOR = 14;
-	public static final int XEMBED_FOCUS_CURRENT = 0;
-	public static final int XEMBED_FOCUS_FIRST = 1;
-	public static final int XEMBED_FOCUS_LAST = 2;
-	public static final int XEMBED_MAPPED = 1 << 0;
-	public static final int XK_Alt_L = 0xFFE9;
-	public static final int XK_Alt_R = 0xFFEA;
-	public static final int XK_BackSpace = 0xFF08;
-	public static final int XK_Break = 0xFF6B;
-	public static final int XK_Cancel = 0xFF69;
-	public static final int XK_Caps_Lock = 0xFFE5;
-	public static final int XK_Control_L = 0xFFE3;
-	public static final int XK_Control_R = 0xFFE4;
-	public static final int XK_Delete = 0xFFFF;
-	public static final int XK_Down = 0xFF54;
-	public static final int XK_End = 0xFF57;
-	public static final int XK_Escape = 0xFF1B;
-	public static final int XK_F1 = 0xFFBE;
-	public static final int XK_F10 = 0xFFC7;
-	public static final int XK_F11 = 0xFFC8;
-	public static final int XK_F12 = 0xFFC9;
-	public static final int XK_F13 = 0xFFCA;
-	public static final int XK_F14 = 0xFFCB;
-	public static final int XK_F15 = 0xFFCC;
-	public static final int XK_F2 = 0xFFBF;
-	public static final int XK_F3 = 0xFFC0;
-	public static final int XK_F4 = 0xFFC1;
-	public static final int XK_F5 = 0xFFC2;
-	public static final int XK_F6 = 0xFFC3;
-	public static final int XK_F7 = 0xFFC4;
-	public static final int XK_F8 = 0xFFC5;
-	public static final int XK_F9 = 0xFFC6;
-	public static final int XK_Home = 0xFF50;
-	public static final int XK_Help = 0xFF6A;
-	public static final int XK_ISO_Left_Tab = 0xFE20;
-	public static final int XK_Insert = 0xFF63;
-	public static final int XK_KP_Enter = 0xFF8D;
-	public static final int XK_KP_F1 = 0xFF91;
-	public static final int XK_KP_F2 = 0xFF92;
-	public static final int XK_KP_F3 = 0xFF93;
-	public static final int XK_KP_F4 = 0xFF94;
-	public static final int XK_KP_Home = 0xFF95;
-	public static final int XK_KP_Left = 0xFF96;
-	public static final int XK_KP_Up = 0xFF97;
-	public static final int XK_KP_Right = 0xFF98;
-	public static final int XK_KP_Down = 0xFF99;
-	public static final int XK_KP_Prior = 0xFF9A;
-	public static final int XK_KP_Page_Up = 0xFF9A;
-	public static final int XK_KP_Next = 0xFF9B;
-	public static final int XK_KP_Page_Down = 0xFF9B;
-	public static final int XK_KP_End = 0xFF9C;
-	public static final int XK_KP_Insert = 0xFF9E;
-	public static final int XK_KP_Delete = 0xFF9F;
-	public static final int XK_KP_Equal = 0xFFBD;
-	public static final int XK_KP_Multiply = 0xFFAA;
-	public static final int XK_KP_Add = 0xFFAB;
-	public static final int XK_KP_Subtract = 0xFFAD;
-	public static final int XK_KP_Decimal = 0xFFAE;
-	public static final int XK_KP_Divide = 0xFFAF;
-	public static final int XK_KP_0 = 0xFFB0;
-	public static final int XK_KP_1 = 0xFFB1;
-	public static final int XK_KP_2 = 0xFFB2;
-	public static final int XK_KP_3 = 0xFFB3;
-	public static final int XK_KP_4 = 0xFFB4;
-	public static final int XK_KP_5 = 0xFFB5;
-	public static final int XK_KP_6 = 0xFFB6;
-	public static final int XK_KP_7 = 0xFFB7;
-	public static final int XK_KP_8 = 0xFFB8;
-	public static final int XK_KP_9 = 0xFFB9;
-	public static final int XK_Left = 0xFF51;
-	public static final int XK_Linefeed = 0xFF0A;
-	public static final int XK_Meta_L = 0xFFE7;
-	public static final int XK_Meta_R = 0xFFE8;
-	public static final int XK_Num_Lock= 0xFF7F;
-	public static final int XK_Page_Down = 0xFF56;
-	public static final int XK_Page_Up = 0xFF55;
-	public static final int XK_Pause = 0xFF13;
-	public static final int XK_Print = 0xFF61;
-	public static final int XK_R1 = 0xFFD2;
-	public static final int XK_R2 = 0xFFD3;
-	public static final int XK_R3 = 0xFFD4;
-	public static final int XK_R4 = 0xFFD5;
-	public static final int XK_R5 = 0xFFD6;
-	public static final int XK_R6 = 0xFFD7;
-	public static final int XK_R7 = 0xFFD8;
-	public static final int XK_R9 = 0xFFDA;
-	public static final int XK_R13 = 0xFFDE;
-	public static final int XK_R15 = 0xFFE0;
-	public static final int XK_Return = 0xFF0D;
-	public static final int XK_Right = 0xFF53;
-	public static final int XK_Scroll_Lock = 0xFF14;
-	public static final int XK_Shift_L = 0xFFE1;
-	public static final int XK_Shift_R = 0xFFE2;
-	public static final int XK_Tab = 0xFF09;
-	public static final int XK_Up = 0xFF52;
-	public static final int XK_VoidSymbol = 0xFFFFFF;
-	public static final int XK_space = 0x20;
-	public static final byte XPAttrMerge = 2;
-	public static final byte XPDocAttr = 2;
-	public static final byte XPJobAttr = 1;
-	public static final byte XPPrinterAttr = 4;
-	public static final byte XPSpool = 1;
-	public static final int XYBitmap = 0;
-	public static final int XmALIGNMENT_BEGINNING = 0x0;
-	public static final int XmALIGNMENT_CENTER = 0x1;
-	public static final int XmALIGNMENT_END = 0x2;
-	public static final int XmARROW_DOWN = 0x1;
-	public static final int XmARROW_LEFT = 0x2;
-	public static final int XmARROW_RIGHT = 0x3;
-	public static final int XmARROW_UP = 0x0;
-	public static final int XmATTACH_FORM = 0x1;
-	public static final int XmBLEND_ALL = 0x0;
-	public static final int XmBROWSE_SELECT = 0x3;
-	public static final int XmCHARSET_TEXT = 0x0;
-	public static final int XmCOMBO_BOX = 0x0;
-	public static final int XmCONSTANT = 0x1;
-	public static final int XmCOPY_FAILED = 0x0;
-	public static final int XmCOPY_TRUNCATED = 0x2;
-	public static final int XmCR_DROP_SITE_ENTER_MESSAGE = 0x2;
-	public static final int XmCR_DROP_SITE_LEAVE_MESSAGE = 0x1;
-	public static final int XmCR_DROP_SITE_MOTION_MESSAGE = 0x3;
-	public static final int XmCR_OK = 0x1F;
-	public static final int XmCR_OPERATION_CHANGED = 0x8;
-	public static final int XmClipboardSuccess = 0x1;
-	public static final int XmDEFAULT_SELECT_COLOR = -1;
-	public static final int XmDIALOG_CANCEL_BUTTON = 0x2;
-	public static final int XmDIALOG_FULL_APPLICATION_MODAL = 0x2;
-	public static final int XmDIALOG_HELP_BUTTON = 0x7;
-	public static final int XmDIALOG_LIST = 0x8;
-	public static final int XmDIALOG_LIST_LABEL = 0x9;
-	public static final int XmDIALOG_MESSAGE_LABEL = 0xA;
-	public static final int XmDIALOG_MODELESS = 0x0;
-	public static final int XmDIALOG_OK_BUTTON = 0x4;
-	public static final int XmDIALOG_PRIMARY_APPLICATION_MODAL = 0x1;
-	public static final int XmDIALOG_SELECTION_LABEL = 0xB;
-	public static final int XmDIALOG_SYSTEM_MODAL = 0x3;
-	public static final int XmDIALOG_TEXT = 0xD;
-	public static final int XmDO_NOTHING = 0x2;
-	public static final int XmDRAG_DYNAMIC = 5;
-	public static final int XmDRAG_UNDER_NONE = 0;
-	public static final byte XmDROP = 0;
-	public static final byte XmDROP_COPY = (1 << 1);
-	public static final int XmDROP_DOWN_COMBO_BOX = 0x1;
-	public static final int XmDROP_DOWN_LIST = 0x2;
-	public static final byte XmDROP_LINK = (1 << 2);
-	public static final byte XmDROP_MOVE = (1 << 0);
-	public static final byte XmDROP_NOOP = 0;
-	public static final int XmDROP_SITE_ACTIVE = 0;
-	public static final int XmDROP_SITE_COMPOSITE = 1;
-	public static final int XmDROP_SITE_INACTIVE = 1;
-	public static final int XmDROP_SITE_INVALID = 2;
-	public static final int XmDROP_SITE_VALID = 3;
-	public static final int XmEXTENDED_SELECT = 0x2;
-	public static final byte[] XmFONTLIST_DEFAULT_TAG = {0x46, 0x4F, 0x4E, 0x54, 0x4C, 0x49, 0x53, 0x54, 0x5F, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x5F, 0x54, 0x41, 0x47, 0x5F, 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, 0x0};
-	public static final int XmFONT_IS_FONT = 0x0;
-	public static final int XmFONT_IS_FONTSET = 0x1;
-	public static final int XmFOREGROUND_COLOR = 0x1;
-	public static final int XmFRAME_TITLE_CHILD = 0x2;
-	public static final int XmHIGHLIGHT_COLOR = -3;
-	public static final int XmHIGHLIGHT_NORMAL = 0x0;
-	public static final int XmHORIZONTAL = 0x2;
-	public static final int XmLAST_POSITION = -1;
-	public static final int XmMAX_ON_BOTTOM = 0x1;
-	public static final int XmMAX_ON_RIGHT = 0x3;
-	public static final int XmMAX_ON_TOP = 0x0;
-	public static final int XmMERGE_REPLACE = 0x1;
-	public static final int XmMULTIPLE_SELECT = 0x1;
-	public static final int XmMULTI_LINE_EDIT = 0x0;
-	public static final int XmNO_LINE = 0x0;
-	public static final int XmNONE = 0x0;
-	public static final int XmN_OF_MANY = 0x1;
-	public static final int XmNaccelerator = malloc ("accelerator", 4);
-	public static final int XmNacceleratorText = malloc ("acceleratorText", 4);
-	public static final int XmNactivateCallback = malloc ("activateCallback", 4);
-	public static final int XmNalignment = malloc ("alignment", 1);
-	public static final int XmNallowShellResize = malloc ("allowShellResize", 1);
-	public static final int XmNancestorSensitive = malloc ("ancestorSensitive", 1);
-	public static final int XmNanimationStyle = malloc ("animationStyle", 1);
-	public static final int XmNarea = malloc ("area", 4);
-	public static final int XmNarmCallback = malloc ("armCallback", 4);
-	public static final int XmNarrowDirection = malloc ("arrowDirection", 1);
-	public static final int XmNarrowSize = malloc ("arrowSize", 2);
-	public static final int XmNarrowSpacing = malloc ("arrowSpacing", 2);
-	public static final int XmNbackground = malloc ("background", 4);
-	public static final int XmNbackgroundPixmap = malloc ("backgroundPixmap", 4);
-	public static final int XmNblendModel = malloc ("blendModel", 1);
-	public static final int XmNblinkRate = malloc ("blinkRate", 4);
-	public static final int XmNborderColor = malloc ("borderColor", 4);
-	public static final int XmNborderWidth = malloc ("borderWidth", 2);
-	public static final int XmNbottomAttachment = malloc ("bottomAttachment", 1);
-	public static final int XmNbottomShadowColor = malloc ("bottomShadowColor", 4);
-	public static final int XmNbrowseSelectionCallback = malloc ("browseSelectionCallback", 4);
-	public static final int XmNcancelCallback = malloc ("cancelCallback", 4);
-	public static final int XmNcancelLabelString = malloc ("cancelLabelString", 4);
-	public static final int XmNcascadingCallback = malloc ("cascadingCallback", 4);
-	public static final int XmNchildHorizontalSpacing = malloc ("childHorizontalSpacing", 2);
-	public static final int XmNchildren = malloc ("children", 4);
-	public static final int XmNclientData = malloc ("clientData", 4);
-	public static final int XmNcolormap = malloc ("colormap", 4);
-	public static final int XmNcolumns = malloc ("columns", 2);
-	public static final int XmNcomboBoxType = malloc ("comboBoxType", 1);
-	public static final int XmNconvertProc = malloc ("convertProc", 4);
-	public static final int XmNcursorPositionVisible = malloc ("cursorPositionVisible", 1);
-	public static final int XmNdecimalPoints = malloc ("decimalPoints", 2);
-	public static final int XmNdecrementCallback = malloc ("decrementCallback", 4);
-	public static final int XmNdefaultActionCallback = malloc ("defaultActionCallback", 4);
-	public static final int XmNdefaultButtonShadowThickness = malloc ("defaultButtonShadowThickness", 4);
-	public static final int XmNdefaultPosition = malloc ("defaultPosition", 1);
-	public static final int XmNdeleteResponse = malloc ("deleteResponse", 1);
-	public static final int XmNdialogStyle = malloc ("dialogStyle", 1);
-	public static final int XmNdialogTitle = malloc ("dialogTitle", 4);
-	public static final int XmNdirMask = malloc ("dirMask", 4);
-	public static final int XmNdirSpec = malloc ("dirSpec", 4);
-	public static final int XmNdirectory = malloc ("directory", 4);
-	public static final int XmNdragCallback = malloc ("dragCallback", 4);
-	public static final int XmNdragDropFinishCallback = malloc ("dragDropFinishCallback", 4);
-	public static final int XmNdragInitiatorProtocolStyle = malloc ("dragInitiatorProtocolStyle", 1);
-	public static final int XmNdragOperations = malloc ("dragOperations", 1);
-	public static final int XmNdragProc = malloc ("dragProc", 4);
-	public static final int XmNdragReceiverProtocolStyle = malloc ("dragReceiverProtocolStyle", 1);
-	public static final int XmNdropFinishCallback = malloc ("dropFinishCallback", 4);
-	public static final int XmNdropProc = malloc("dropProc", 4);
-	public static final int XmNdropSiteActivity = malloc ("dropSiteActivity", 1);
-	public static final int XmNdropSiteOperations = malloc ("dropSiteOperations", 1);
-	public static final int XmNdropSiteType = malloc ("dropSiteType", 1);
-	public static final int XmNdropTransfers = malloc ("dropTransfers", 4);
-	public static final int XmNeditMode = malloc ("editMode", 4);
-	public static final int XmNeditable = malloc ("editable", 1);
-	public static final int XmNenableThinThickness = malloc ("enableThinThickness", 1);
-	public static final int XmNexportTargets = malloc ("exportTargets", 4);
-	public static final int XmNexposeCallback = malloc ("exposeCallback", 4);
-	public static final int XmNextendedSelectionCallback = malloc ("extendedSelectionCallback", 4);
-	public static final int XmNfilterLabelString = malloc ("filterLabelString", 4);
-	public static final int XmNfont = malloc ("font", 4);
-	public static final int XmNfontList = malloc ("fontList", 4);
-	public static final int XmNfontType = malloc ("fontType", 4);
-	public static final int XmNforeground = malloc ("foreground", 4);
-	public static final int XmNframeChildType = malloc ("frameChildType", 1);
-	public static final int XmNheight = malloc ("height", 2);
-	public static final int XmNhelpCallback = malloc ("helpCallback", 4);
-	public static final int XmNhelpLabelString = malloc ("helpLabelString", 4);
-	public static final int XmNhighlightColor = malloc ("highlightColor", 4);
-	public static final int XmNhighlightThickness = malloc ("highlightThickness", 2);
-	public static final int XmNhorizontalScrollBar = malloc ("horizontalScrollBar", 4);
-	public static final int XmNiconMask = malloc ("iconMask", 4);
-	public static final int XmNiconName = malloc ("iconName", 4);
-	public static final int XmNiconPixmap = malloc ("iconPixmap", 4);
-	public static final int XmNiconic = malloc ("iconic", 1);
-	public static final int XmNimportTargets = malloc("importTargets", 4);
-	public static final int XmNincrement = malloc ("increment", 4);
-	public static final int XmNincrementValue = malloc ("incrementValue", 4);
-	public static final int XmNincrementCallback = malloc ("incrementCallback", 4);
-	public static final int XmNindicatorOn = malloc ("indicatorOn", 1);
-	public static final int XmNindicatorType = malloc ("indicatorType", 1);
-	public static final int XmNinitialState = malloc ("initialState", 4);
-	public static final int XmNitemCount = malloc ("itemCount", 4);
-	public static final int XmNitems = malloc ("items", 4);
-	public static final int XmNlabelInsensitivePixmap = malloc ("labelInsensitivePixmap", 4);
-	public static final int XmNlabelPixmap = malloc ("labelPixmap", 4);
-	public static final int XmNlabelString = malloc ("labelString", 4);
-	public static final int XmNlabelType = malloc ("labelType", 1);
-	public static final int XmNleftAttachment = malloc ("leftAttachment", 1);
-	public static final int XmNlist = malloc ("list", 4);
-	public static final int XmNlistMarginHeight = malloc ("listMarginHeight", 2);
-	public static final int XmNlistMarginWidth = malloc ("listMarginWidth", 2);
-	public static final int XmNlistSizePolicy = malloc ("listSizePolicy", 1);
-	public static final int XmNlistSpacing = malloc ("listSpacing", 2);
-	public static final int XmNmapCallback = malloc ("mapCallback", 4);
-	public static final int XmNmappedWhenManaged = malloc ("mappedWhenManaged", 4);
-	public static final int XmNmarginBottom = malloc ("marginBottom", 2);
-	public static final int XmNmarginHeight = malloc ("marginHeight", 2);
-	public static final int XmNmarginLeft = malloc ("marginLeft", 2);
-	public static final int XmNmarginRight = malloc ("marginRight", 2);
-	public static final int XmNmarginTop = malloc ("marginTop", 2);
-	public static final int XmNmarginWidth = malloc ("marginWidth", 2);
-	public static final int XmNmaximum = malloc ("maximum", 4);
-	public static final int XmNmaximumValue = malloc ("maximumValue", 4);	
-	public static final int XmNmenuBar = malloc ("menuBar", 4);
-	public static final int XmNmessageString = malloc ("messageString", 4);
-	public static final int XmNminimum = malloc ("minimum", 4);
-	public static final int XmNminimumValue = malloc ("minimumValue", 4);
-	public static final int XmNminHeight = malloc ("minHeight", 4);
-	public static final int XmNminWidth = malloc ("minWidth", 4);
-	public static final int XmNmnemonic = malloc ("mnemonic", 4);
-	public static final int XmNmodifyVerifyCallback = malloc ("modifyVerifyCallback", 4);
-	public static final int XmNmultipleSelectionCallback = malloc ("multipleSelectionCallback", 4);
-	public static final int XmNmwmDecorations = malloc ("mwmDecorations", 4);
-	public static final int XmNmwmInputMode = malloc ("mwmInputMode", 4);
-	public static final int XmNnavigationType = malloc ("navigationType", 1);
-	public static final int XmNnoResize = malloc ("noResize", 1);
-	public static final int XmNnumChildren = malloc ("numChildren", 4);
-	public static final int XmNnumDropTransfers = malloc ("numDropTransfers", 4);
-	public static final int XmNnumExportTargets = malloc ("numExportTargets", 4);
-	public static final int XmNnumImportTargets = malloc("numImportTargets", 4);
-	public static final int XmNokCallback = malloc ("okCallback", 4);
-	public static final int XmNokLabelString = malloc ("okLabelString", 4);
-	public static final int XmNoperationCursorIcon = malloc ("operationCursorIcon", 4);
-	public static final int XmNorientation = malloc ("orientation", 1);
-	public static final int XmNoverrideRedirect = malloc ("overrideRedirect", 1);
-	public static final int XmNpageDecrementCallback = malloc ("pageDecrementCallback", 4);
-	public static final int XmNpageIncrement = malloc ("pageIncrement", 4);
-	public static final int XmNpageIncrementCallback = malloc ("pageIncrementCallback", 4);
-	public static final int XmNpathMode = malloc ("pathMode", 4);
-	public static final int XmNpattern = malloc ("pattern", 4);
-	public static final int XmNposition = malloc ("position", 4);
-	public static final int XmNpositionIndex = malloc ("positionIndex", 2);
-	public static final int XmNprocessingDirection = malloc ("processingDirection", 1);
-	public static final int XmNrecomputeSize = malloc ("recomputeSize", 1);
-	public static final int XmNresizable = malloc ("resizable", 1);
-	public static final int XmNresizePolicy = malloc ("resizePolicy", 1);
-	public static final int XmNrightAttachment = malloc ("rightAttachment", 1);
-	public static final int XmNscaleMultiple = malloc ("scaleMultiple", 4);
-	public static final int XmNscrollHorizontal = malloc ("scrollHorizontal", 1);
-	public static final int XmNscrollVertical = malloc ("scrollVertical", 1);
-	public static final int XmNselectColor = malloc ("selectColor", 1);
-	public static final int XmNselectedItemCount = malloc ("selectedItemCount", 4);
-	public static final int XmNselectedItems = malloc ("selectedItems", 4);
-	public static final int XmNselectedPosition = malloc ("selectedPosition", 4);
-	public static final int XmNselectionArrayCount = malloc ("selectionArrayCount", 4);
-	public static final int XmNselectionCallback = malloc ("selectionCallback", 4);
-	public static final int XmNselectionPolicy = malloc ("selectionPolicy", 1);
-	public static final int XmNsensitive = malloc ("sensitive", 1);
-	public static final int XmNseparatorType = malloc ("separatorType", 1);
-	public static final int XmNset = malloc ("set", 1);
-	public static final int XmNshadowThickness = malloc ("shadowThickness", 2);
-	public static final int XmNshadowType = malloc ("shadowType", 1);
-	public static final int XmNshowArrows = malloc ("showArrows", 4);
-	public static final int XmNshowAsDefault = malloc ("showAsDefault", 2);
-	public static final int XmNsliderSize = malloc ("sliderSize", 4);
-	public static final int XmNsliderVisual = malloc ("sliderVisual", 4);
-	public static final int XmNsourceCursorIcon = malloc ("sourceCursorIcon", 4);
-	public static final int XmNspinBoxChildType = malloc ("spinBoxChildType", 2);
-	public static final int XmNspotLocation = malloc ("spotLocation", 4);
-	public static final int XmNstateCursorIcon = malloc ("stateCursorIcon", 4);
-	public static final int XmNsubMenuId = malloc ("subMenuId", 4);
-	public static final int XmNsubstitute = malloc ("substitute", 4);
-	public static final int XmNtabList = malloc ("tabList", 4);
-	public static final int XmNtextField = malloc ("textField", 4);
-	public static final int XmNtitle = malloc ("title", 4);
-	public static final int XmNtitleString = malloc ("titleString", 4);
-	public static final int XmNtoBottomCallback = malloc ("toBottomCallback", 4);
-	public static final int XmNtoTopCallback = malloc ("toTopCallback", 4);
-	public static final int XmNtopAttachment = malloc ("topAttachment", 1);
-	public static final int XmNtopItemPosition = malloc ("topItemPosition", 4);
-	public static final int XmNtopShadowColor = malloc ("topShadowColor", 4);
-	public static final int XmNtransferProc = malloc ("transferProc", 4);
-	public static final int XmNtransferStatus = malloc ("transferStatus", 4);
-	public static final int XmNtraversalOn = malloc ("traversalOn", 1);
-	public static final int XmNtroughColor = malloc ("troughColor", 4);
-	public static final int XmNunmapCallback = malloc ("unmapCallback", 4);
-	public static final int XmNuserData = malloc ("userData", 4);
-	public static final int XmNvalue = malloc ("value", 4);
-	public static final int XmNvalueChangedCallback = malloc ("valueChangedCallback", 4);
-	public static final int XmNverifyBell = malloc ("verifyBell", 1);
-	public static final int XmNverticalScrollBar = malloc ("verticalScrollBar", 4);
-	public static final int XmNvisibleItemCount = malloc ("visibleItemCount", 4);
-	public static final int XmNvisual = malloc ("visual", 4);
-	public static final int XmNUMERIC = 0x3;
-	public static final int XmNwidth = malloc ("width", 2);
-	public static final int XmNwordWrap = malloc ("wordWrap", 1);
-	public static final int XmNx = malloc ("x", 2);
-	public static final int XmNy = malloc ("y", 2);
-	public static final int XmONE_OF_MANY = 0x2;
-	public static final int XmOUTPUT_ALL = 0x0;
-	public static final int XmPATH_MODE_FULL = 0x0;
-	public static final int XmPIXELS = 0x0;
-	public static final int XmPIXMAP = 0x1;
-	public static final int XmRELATIVE = 0x1;
-	public static final int XmRESIZE_NONE = 0x0;
-	public static final int XmREVERSED_GROUND_COLORS = -2;
-	public static final int XmSET = 0x1;
-	public static final int XmSHADOW_ETCHED_IN = 0x5;
-	public static final int XmSHADOW_ETCHED_OUT = 0x6;
-	public static final int XmSHADOW_IN = 0x7;
-	public static final int XmSHADOW_OUT = 0x8;
-	public static final int XmSINGLE_LINE = 0x1;
-	public static final int XmSINGLE_LINE_EDIT = 0x1;
-	public static final int XmSTRING = 0x2;
-	public static final int XmSTRING_COMPONENT_SEPARATOR = 0x4;
-	public static final int XmSTRING_COMPONENT_TAB = 0xC;
-	public static final int XmTRANSFER_FAILURE = 0;
-	public static final int XmTRAVERSE_CURRENT = 0x0;
-	public static final int XmUNSET = 0x0;
-	public static final int XmUNSPECIFIED_PIXMAP = 0x2;
-	public static final int XmVARIABLE = 0x0;
-	public static final int XmVERTICAL = 0x1;
-	public static final int XtGrabNone = 0x0;
-	public static final int XtIMAlternateInput = 0x4;
-	public static final int XtIMTimer = 0x2;
-	public static final int XtIMXEvent = 0x1;
-	public static final int XtInputReadMask = 1;
-	public static final int XtListTail = 0x1;
-	public static final int WindingRule = 1;
-	public static final int ZPixmap = 2;
-	
-	
-	static int malloc (String name, int length) {
-		int strLen = name.length ();
-		if (NextResourceStart + strLen + 2 > RESOURCE_START + RESOURCE_LENGTH) {
-			System.out.println ("*** Warning : SWT - Resource overrun.  Increase OS.RESOURCE_LENGTH.");
-			System.out.println ("*** Warning : Exiting ...");
-			System.exit (0);
-		}
-		char [] unicode = new char [strLen];
-		name.getChars (0, strLen, unicode, 0);
-		byte[] buffer = new byte [strLen + 2];
-		buffer [0] = (byte) length;
-		for (int i = 0; i < strLen; i++) {
-			buffer [i+1] = (byte) unicode[i];
-		}
-		OS.memmove (NextResourceStart, buffer, strLen + 2);
-		int result = NextResourceStart + 1;
-		NextResourceStart += strLen + 2;
-		return result;
-	}
-	static final native int setResourceMem (int start, int end);
-
-/** X render natives and constants */
-public static final int PictStandardARGB32 = 0;
-public static final int PictStandardRGB24 = 1;
-public static final int PictStandardA8 = 2;
-public static final int PictStandardA4 = 3;
-public static final int PictStandardA1 = 4;
-public static final int PictOpSrc = 1;
-public static final int PictOpOver = 3;
-
-public static final native int XRenderPictureAttributes_sizeof();
-public static final native boolean _XRenderQueryExtension(int /*long*/ display, int[] event_basep, int[] error_basep);
-public static final boolean XRenderQueryExtension(int /*long*/ display, int[] event_basep, int[] error_basep) {
-	lock.lock();
-	try {
-		return _XRenderQueryExtension(display, event_basep, error_basep);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XRenderQueryVersion(int /*long*/ display, int[] major_versionp, int[] minor_versionp);
-public static final int XRenderQueryVersion(int /*long*/ display, int[] major_versionp, int[] minor_versionp) {
-	lock.lock();
-	try {
-		return _XRenderQueryVersion(display, major_versionp, minor_versionp);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderCreatePicture(int /*long*/ display, int /*long*/ drawable, int /*long*/ format, int /*long*/ valuemask, XRenderPictureAttributes attributes);
-public static final int /*long*/ XRenderCreatePicture(int /*long*/ display, int /*long*/ drawable, int /*long*/ format, int /*long*/ valuemask, XRenderPictureAttributes attributes) {
-	lock.lock();
-	try {
-		return _XRenderCreatePicture(display, drawable, format, valuemask, attributes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderSetPictureClipRegion(int /*long*/ display, int /*long*/ picture, int /*long*/ region);
-public static final void XRenderSetPictureClipRegion(int /*long*/ display, int /*long*/ picture, int /*long*/ region) {
-	lock.lock();
-	try {
-		_XRenderSetPictureClipRegion(display, picture, region);
-	} finally {
-		lock.unlock();
-	}
-}
-
-public static final native void _XRenderSetPictureClipRectangles(int /*long*/ display, int /*long*/ picture, int xOrigin, int yOrigin, short[] rects, int count);
-public static final void XRenderSetPictureClipRectangles(int /*long*/ display, int /*long*/ picture, int xOrigin, int yOrigin, short[] rects, int count) {
-	lock.lock();
-	try {
-		_XRenderSetPictureClipRectangles(display, picture, xOrigin, yOrigin, rects, count);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderSetPictureTransform(int /*long*/ display, int /*long*/ picture, int[] transform);
-public static final void XRenderSetPictureTransform(int /*long*/ display, int /*long*/ picture, int[] transform) {
-	lock.lock();
-	try {
-		_XRenderSetPictureTransform(display, picture, transform);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderFreePicture(int /*long*/ display, int /*long*/ picture);
-public static final void XRenderFreePicture(int /*long*/ display, int /*long*/ picture) {
-	lock.lock();
-	try {
-		_XRenderFreePicture(display, picture);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XRenderComposite(int /*long*/ display, int op, int /*long*/ src, int /*long*/ mask, int /*long*/ dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height);
-public static final void XRenderComposite(int /*long*/ display, int op, int /*long*/ src, int /*long*/ mask, int /*long*/ dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height) {
-	lock.lock();
-	try {
-		_XRenderComposite(display, op, src, mask, dst, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderFindStandardFormat(int /*long*/ display, int format);
-public static final int /*long*/ XRenderFindStandardFormat(int /*long*/ display, int format) {
-	lock.lock();
-	try {
-		return _XRenderFindStandardFormat(display, format);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XRenderFindVisualFormat(int /*long*/ display, int /*long*/ visual);
-public static final int /*long*/ XRenderFindVisualFormat(int /*long*/ display, int /*long*/ visual) {
-	lock.lock();
-	try {
-		return _XRenderFindVisualFormat(display, visual);
-	} finally {
-		lock.unlock();
-	}
-}
-
-public static final native int _dlclose(int /*long*/ handle);
-public static final int dlclose(int /*long*/ handle) {
-	lock.lock();
-	try {
-		return _dlclose(handle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _dlopen(byte[] filename, int flag);
-public static final int /*long*/ dlopen(byte[] filename, int flag) {
-	lock.lock();
-	try {
-		return _dlopen(filename, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _dlsym(int /*long*/ handle, byte[] symbol);
-public static final int /*long*/ dlsym(int /*long*/ handle, byte[] symbol) {
-	lock.lock();
-	try {
-		return _dlsym(handle, symbol);
-	} finally {
-		lock.unlock();
-	}
-}
-
-/** JNI native methods */
-public static final native int MonitorEnter(Object object);
-public static final native int MonitorExit(Object object);
-
-/** Natives */
-public static final native int _Call(int proc, int arg1, int arg2);
-public static final int Call(int proc, int arg1, int arg2) {
-	lock.lock();
-	try {
-		return _Call(proc, arg1, arg2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _ConnectionNumber(int display);
-public static final int ConnectionNumber(int display) {
-	lock.lock();
-	try {
-		return _ConnectionNumber(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int CODESET();
-public static final native boolean FD_ISSET(int fd, byte[] fd_set);
-public static final native void FD_SET(int fd, byte[] fd_set);
-public static final native void FD_ZERO(byte[] fd_set);
-public static final native int LC_CTYPE();
-public static final native int MB_CUR_MAX();
-public static final native int _applicationShellWidgetClass();
-public static final int applicationShellWidgetClass() {
-	lock.lock();
-	try {
-		return _applicationShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _overrideShellWidgetClass();
-public static final int overrideShellWidgetClass() {
-	lock.lock();
-	try {
-		return _overrideShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _shellWidgetClass();
-public static final int shellWidgetClass() {
-	lock.lock();
-	try {
-		return _shellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _topLevelShellWidgetClass();
-public static final int topLevelShellWidgetClass() {
-	lock.lock();
-	try {
-		return _topLevelShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _transientShellWidgetClass();
-public static final int transientShellWidgetClass() {
-	lock.lock();
-	try {
-		return _transientShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _xmMenuShellWidgetClass();
-public static final int xmMenuShellWidgetClass() {
-	lock.lock();
-	try {
-		return _xmMenuShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XAllocColor(int display, int colormap, XColor color);
-public static final int XAllocColor(int display, int colormap, XColor color) {
-	lock.lock();
-	try {
-		return _XAllocColor(display, colormap, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XBell(int display, int ms);
-public static final void XBell(int display, int ms) {
-	lock.lock();
-	try {
-		_XBell(display, ms);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XBlackPixel(int display, int screenNum);
-public static final int XBlackPixel(int display, int screenNum) {
-	lock.lock();
-	try {
-		return _XBlackPixel(display, screenNum);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XChangeActivePointerGrab(int display, int eventMask, int cursor, int time);
-public static final int XChangeActivePointerGrab(int display, int eventMask, int cursor, int time) {
-	lock.lock();
-	try {
-		return _XChangeActivePointerGrab(display, eventMask, cursor, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XChangeProperty(int display, int w, int property, int type, int format, int mode, int[] data, int nelements);
-public static final void XChangeProperty(int display, int w, int property, int type, int format, int mode, int[] data, int nelements) {
-	lock.lock();
-	try {
-		_XChangeProperty(display, w, property, type, format, mode, data, nelements);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XChangeWindowAttributes(int display, int window, int mask, XSetWindowAttributes attributes);
-public static final void XChangeWindowAttributes(int display, int window, int mask, XSetWindowAttributes attributes) {
-	lock.lock();
-	try {
-		_XChangeWindowAttributes(display, window, mask, attributes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCheckIfEvent(int display, int event_return, int predicate, int arg);
-public static final int XCheckIfEvent(int display, int event_return, int predicate, int arg) {
-	lock.lock();
-	try {
-		return _XCheckIfEvent(display, event_return, predicate, arg);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XCheckMaskEvent(int display, int mask, int event);
-public static final boolean XCheckMaskEvent(int display, int mask, int event) {
-	lock.lock();
-	try {
-		return _XCheckMaskEvent(display, mask, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XCheckWindowEvent(int display, int window, int mask, int event);
-public static final boolean XCheckWindowEvent(int display, int window, int mask, int event) {
-	lock.lock();
-	try {
-		return _XCheckWindowEvent(display, window, mask, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XClearArea(int display, int window, int x, int y, int width, int height, boolean exposures);
-public static final void XClearArea(int display, int window, int x, int y, int width, int height, boolean exposures) {
-	lock.lock();
-	try {
-		_XClearArea(display, window, x, y, width, height, exposures);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XClipBox(int region, XRectangle rectangle);
-public static final void XClipBox(int region, XRectangle rectangle) {
-	lock.lock();
-	try {
-		_XClipBox(region, rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XCloseDisplay(int display);
-public static final void XCloseDisplay(int display) {
-	lock.lock();
-	try {
-		_XCloseDisplay(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XCopyArea(int display, int src, int dest, int gc, int src_x, int src_y, int width, int height, int dest_x, int dest_y);
-public static final void XCopyArea(int display, int src, int dest, int gc, int src_x, int src_y, int width, int height, int dest_x, int dest_y) {
-	lock.lock();
-	try {
-		_XCopyArea(display, src, dest, gc, src_x, src_y, width, height, dest_x, dest_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XCopyPlane(int display, int src, int dest, int gc, int src_x, int src_y, int width, int height, int dest_x, int dest_y, int plane);
-public static final void XCopyPlane(int display, int src, int dest, int gc, int src_x, int src_y, int width, int height, int dest_x, int dest_y, int plane) {
-	lock.lock();
-	try {
-		_XCopyPlane(display, src, dest, gc, src_x, src_y, width, height, dest_x, dest_y, plane);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateBitmapFromData(int display, int drawable, byte[] data, int width, int height);
-public static final int XCreateBitmapFromData(int display, int drawable, byte[] data, int width, int height) {
-	lock.lock();
-	try {
-		return _XCreateBitmapFromData(display, drawable, data, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateColormap(int display, int window, int visual, int alloc);
-public static final int XCreateColormap(int display, int window, int visual, int alloc) {
-	lock.lock();
-	try {
-		return _XCreateColormap(display, window, visual, alloc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateFontCursor(int display, int shape);
-public static final int XCreateFontCursor(int display, int shape) {
-	lock.lock();
-	try {
-		return _XCreateFontCursor(display, shape);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateGC(int display, int window, int mask, XGCValues values);
-public static final int XCreateGC(int display, int window, int mask, XGCValues values) {
-	lock.lock();
-	try {
-		return _XCreateGC(display, window, mask, values);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateImage(int display, int visual, int depth, int format, int offset, int data, int width, int height, int bitmap_pad, int bytes_per_line);
-public static final int XCreateImage(int display, int visual, int depth, int format, int offset, int data, int width, int height, int bitmap_pad, int bytes_per_line) {
-	lock.lock();
-	try {
-		return _XCreateImage(display, visual, depth, format, offset, data, width, height, bitmap_pad, bytes_per_line);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreatePixmap(int display, int drawable, int width, int height, int depth);
-public static final int XCreatePixmap(int display, int drawable, int width, int height, int depth) {
-	lock.lock();
-	try {
-		return _XCreatePixmap(display, drawable, width, height, depth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreatePixmapCursor(int display, int source, int mask, XColor foreground_color, XColor background_color, int x, int y);
-public static final int XCreatePixmapCursor(int display, int source, int mask, XColor foreground_color, XColor background_color, int x, int y) {
-	lock.lock();
-	try {
-		return _XCreatePixmapCursor(display, source, mask, foreground_color, background_color, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateRegion();
-public static final int XCreateRegion() {
-	lock.lock();
-	try {
-		return _XCreateRegion();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XCreateWindow(int display, int parent, int x, int y, int width, int height, int border_width, int depth, int clazz, int visual, long value_mask, XSetWindowAttributes attributes);
-public static final int XCreateWindow(int display, int parent, int x, int y, int width, int height, int border_width, int depth, int clazz, int visual, long value_mask, XSetWindowAttributes attributes) {
-	lock.lock();
-	try {
-		return _XCreateWindow(display, parent, x, y, width, height, border_width, depth, clazz, visual, value_mask, attributes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultColormap(int display, int screen_number);
-public static final int XDefaultColormap(int display, int screen_number) {
-	lock.lock();
-	try {
-		return _XDefaultColormap(display, screen_number);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultColormapOfScreen(int screen);
-public static final int XDefaultColormapOfScreen(int screen) {
-	lock.lock();
-	try {
-		return _XDefaultColormapOfScreen(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultDepthOfScreen(int screen);
-public static final int XDefaultDepthOfScreen(int screen) {
-	lock.lock();
-	try {
-		return _XDefaultDepthOfScreen(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultGCOfScreen(int screen);
-public static final int XDefaultGCOfScreen(int screen) {
-	lock.lock();
-	try {
-		return _XDefaultGCOfScreen(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultRootWindow(int display);
-public static final int XDefaultRootWindow(int display) {
-	lock.lock();
-	try {
-		return _XDefaultRootWindow(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultScreen(int display);
-public static final int XDefaultScreen(int display) {
-	lock.lock();
-	try {
-		return _XDefaultScreen(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultScreenOfDisplay(int display);
-public static final int XDefaultScreenOfDisplay(int display) {
-	lock.lock();
-	try {
-		return _XDefaultScreenOfDisplay(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDefaultVisual(int display, int screen_number);
-public static final int XDefaultVisual(int display, int screen_number) {
-	lock.lock();
-	try {
-		return _XDefaultVisual(display, screen_number);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDefineCursor(int display, int window, int cursor);
-public static final void XDefineCursor(int display, int window, int cursor) {
-	lock.lock();
-	try {
-		_XDefineCursor(display, window, cursor);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDestroyImage(int ximage);
-public static final int XDestroyImage(int ximage) {
-	lock.lock();
-	try {
-		return _XDestroyImage(ximage);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDestroyRegion(int region);
-public static final void XDestroyRegion(int region) {
-	lock.lock();
-	try {
-		_XDestroyRegion(region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDestroyWindow(int display, int w);
-public static final void XDestroyWindow(int display, int w) {
-	lock.lock();
-	try {
-		_XDestroyWindow(display, w);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDisplayHeight(int display, int screen);
-public static final int XDisplayHeight(int display, int screen) {
-	lock.lock();
-	try {
-		return _XDisplayHeight(display, screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDisplayHeightMM(int display, int screen);
-public static final int XDisplayHeightMM(int display, int screen) {
-	lock.lock();
-	try {
-		return _XDisplayHeightMM(display, screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDisplayWidth(int display, int screen);
-public static final int XDisplayWidth(int display, int screen) {
-	lock.lock();
-	try {
-		return _XDisplayWidth(display, screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XDisplayWidthMM(int display, int screen);
-public static final int XDisplayWidthMM(int display, int screen) {
-	lock.lock();
-	try {
-		return _XDisplayWidthMM(display, screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDrawArc(int display, int drawable, int gc, int x1, int y1, int x2, int y2, int a1, int a2);
-public static final void XDrawArc(int display, int drawable, int gc, int x1, int y1, int x2, int y2, int a1, int a2) {
-	lock.lock();
-	try {
-		_XDrawArc(display, drawable, gc, x1, y1, x2, y2, a1, a2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDrawLine(int display, int drawable, int gc, int x1, int y1, int x2, int y2);
-public static final void XDrawLine(int display, int drawable, int gc, int x1, int y1, int x2, int y2) {
-	lock.lock();
-	try {
-		_XDrawLine(display, drawable, gc, x1, y1, x2, y2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDrawLines(int display, int drawable, int gc, short[] xPoints, int nPoints, int mode);
-public static final void XDrawLines(int display, int drawable, int gc, short[] xPoints, int nPoints, int mode) {
-	lock.lock();
-	try {
-		_XDrawLines(display, drawable, gc, xPoints, nPoints, mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDrawRectangle(int display, int drawable, int gc, int x, int y, int width, int height);
-public static final void XDrawRectangle(int display, int drawable, int gc, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_XDrawRectangle(display, drawable, gc, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XDrawPoint(int display, int drawable, int gc, int x, int y);
-public static final void XDrawPoint(int display, int drawable, int gc, int x, int y) {
-	lock.lock();
-	try {
-		_XDrawPoint(display, drawable, gc, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XEmptyRegion(int region);
-public static final boolean XEmptyRegion(int region) {
-	lock.lock();
-	try {
-		return _XEmptyRegion(region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XEventsQueued(int display, int mode);
-public static final int XEventsQueued(int display, int mode) {
-	lock.lock();
-	try {
-		return _XEventsQueued(display, mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFillArc(int display, int drawable, int gc, int x1, int y1, int x2, int y2, int a1, int a2);
-public static final void XFillArc(int display, int drawable, int gc, int x1, int y1, int x2, int y2, int a1, int a2) {
-	lock.lock();
-	try {
-		_XFillArc(display, drawable, gc, x1, y1, x2, y2, a1, a2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XFillPolygon(int display, int drawable, int gc, short[] xPoints, int nPoints, int mode, int style);
-public static final int XFillPolygon(int display, int drawable, int gc, short[] xPoints, int nPoints, int mode, int style) {
-	lock.lock();
-	try {
-		return _XFillPolygon(display, drawable, gc, xPoints, nPoints, mode, style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFillRectangle(int display, int drawable, int gc, int x, int y, int width, int height);
-public static final void XFillRectangle(int display, int drawable, int gc, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_XFillRectangle(display, drawable, gc, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XFilterEvent(int event, int window);
-public static final boolean XFilterEvent(int event, int window) {
-	lock.lock();
-	try {
-		return _XFilterEvent(event, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFlush(int display);
-public static final void XFlush(int display) {
-	lock.lock();
-	try {
-		_XFlush(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XFontsOfFontSet(int fontSet, int[] fontStructs, int[] fontNames);
-public static final int XFontsOfFontSet(int fontSet, int[] fontStructs, int[] fontNames) {
-	lock.lock();
-	try {
-		return _XFontsOfFontSet(fontSet, fontStructs, fontNames);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XFree(int address);
-public static final int XFree(int address) {
-	lock.lock();
-	try {
-		return _XFree(address);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XFreeColormap(int display, int colormap);
-public static final int XFreeColormap(int display, int colormap) {
-	lock.lock();
-	try {
-		return _XFreeColormap(display, colormap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XFreeColors(int display, int colormap, int[] pixels, int npixels, int planes);
-public static final int XFreeColors(int display, int colormap, int[] pixels, int npixels, int planes) {
-	lock.lock();
-	try {
-		return _XFreeColors(display, colormap, pixels, npixels, planes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeCursor(int display, int pixmap);
-public static final void XFreeCursor(int display, int pixmap) {
-	lock.lock();
-	try {
-		_XFreeCursor(display, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeFont(int display, int font_struct);
-public static final void XFreeFont(int display, int font_struct) {
-	lock.lock();
-	try {
-		_XFreeFont(display, font_struct);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeFontNames(int list);
-public static final void XFreeFontNames(int list) {
-	lock.lock();
-	try {
-		_XFreeFontNames(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeGC(int display, int gc);
-public static final void XFreeGC(int display, int gc) {
-	lock.lock();
-	try {
-		_XFreeGC(display, gc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeModifiermap(int modmap);
-public static final void XFreeModifiermap(int modmap) {
-	lock.lock();
-	try {
-		_XFreeModifiermap(modmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreePixmap(int display, int pixmap);
-public static final void XFreePixmap(int display, int pixmap) {
-	lock.lock();
-	try {
-		_XFreePixmap(display, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XFreeStringList(int list);
-public static final void XFreeStringList(int list) {
-	lock.lock();
-	try {
-		_XFreeStringList(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetGCValues(int display, int gc, int valuemask, XGCValues values);
-public static final int XGetGCValues(int display, int gc, int valuemask, XGCValues values) {
-	lock.lock();
-	try {
-		return _XGetGCValues(display, gc, valuemask, values);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetGeometry(int display, int drawable, int[] root_return, int[] x_return, int[] y_return, int[] width_return, int[] height_return, int[] border_width_return, int[] depth_return);
-public static final int XGetGeometry(int display, int drawable, int[] root_return, int[] x_return, int[] y_return, int[] width_return, int[] height_return, int[] border_width_return, int[] depth_return) {
-	lock.lock();
-	try {
-		return _XGetGeometry(display, drawable, root_return, x_return, y_return, width_return, height_return, border_width_return, depth_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetImage(int display, int drawable, int x, int y, int width, int height, int plane_mask, int format);
-public static final int XGetImage(int display, int drawable, int x, int y, int width, int height, int plane_mask, int format) {
-	lock.lock();
-	try {
-		return _XGetImage(display, drawable, x, y, width, height, plane_mask, format);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetInputFocus(int display, int[] window, int[] revert);
-public static final int XGetInputFocus(int display, int[] window, int[] revert) {
-	lock.lock();
-	try {
-		return _XGetInputFocus(display, window, revert);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XGetWindowAttributes(int display, int window, XWindowAttributes attributes);
-public static final boolean XGetWindowAttributes(int display, int window, XWindowAttributes attributes) {
-	lock.lock();
-	try {
-		return _XGetWindowAttributes(display, window, attributes);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetWindowProperty(int display, int window, int property, int offset, int length, boolean delete, int req_type, int[] actual_type_return, int[] actual_format_return, int[] nitems_return, int[] bytes_after_return, int[] prop_return);
-public static final int XGetWindowProperty(int display, int window, int property, int offset, int length, boolean delete, int req_type, int[] actual_type_return, int[] actual_format_return, int[] nitems_return, int[] bytes_after_return, int[] prop_return) {
-	lock.lock();
-	try {
-		return _XGetWindowProperty(display, window, property, offset, length, delete, req_type, actual_type_return, actual_format_return, nitems_return, bytes_after_return, prop_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGrabKeyboard(int display, int grabWindow, int ownerEvents, int pointerMode, int keyboardMode, int time);
-public static final int XGrabKeyboard(int display, int grabWindow, int ownerEvents, int pointerMode, int keyboardMode, int time) {
-	lock.lock();
-	try {
-		return _XGrabKeyboard(display, grabWindow, ownerEvents, pointerMode, keyboardMode, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGrabPointer(int display, int grabWindow, int ownerEvents, int eventMask, int pointerMode, int keyboardMode, int confineToWindow, int cursor, int time);
-public static final int XGrabPointer(int display, int grabWindow, int ownerEvents, int eventMask, int pointerMode, int keyboardMode, int confineToWindow, int cursor, int time) {
-	lock.lock();
-	try {
-		return _XGrabPointer(display, grabWindow, ownerEvents, eventMask, pointerMode, keyboardMode, confineToWindow, cursor, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XInitThreads();
-public static final int XInitThreads() {
-	lock.lock();
-	try {
-		return _XInitThreads();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XInternAtom(int display, byte[] name, boolean ifExists);
-public static final int XInternAtom(int display, byte[] name, boolean ifExists) {
-	lock.lock();
-	try {
-		return _XInternAtom(display, name, ifExists);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XIntersectRegion(int sra, int srb, int dr_return);
-public static final void XIntersectRegion(int sra, int srb, int dr_return) {
-	lock.lock();
-	try {
-		_XIntersectRegion(sra, srb, dr_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XKeysymToKeycode(int display, int keysym);
-public static final int XKeysymToKeycode(int display, int keysym) {
-	lock.lock();
-	try {
-		return _XKeysymToKeycode(display, keysym);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XKeysymToString(int keysym);
-public static final int XKeysymToString(int keysym) {
-	lock.lock();
-	try {
-		return _XKeysymToString(keysym);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XListFonts(int display, byte[] pattern, int maxnames, int[] actual_count_return);
-public static final int XListFonts(int display, byte[] pattern, int maxnames, int[] actual_count_return) {
-	lock.lock();
-	try {
-		return _XListFonts(display, pattern, maxnames, actual_count_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XListProperties(int display, int window, int[] num_prop_return);
-public static final int XListProperties(int display, int window, int[] num_prop_return) {
-	lock.lock();
-	try {
-		return _XListProperties(display, window, num_prop_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XLocaleOfFontSet(int fontSet);
-public static final int XLocaleOfFontSet(int fontSet) {
-	lock.lock();
-	try {
-		return _XLocaleOfFontSet(fontSet);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XLookupString(XKeyEvent event, byte[] string, int size, int[] keysym, int[] status);
-public static final int XLookupString(XKeyEvent event, byte[] string, int size, int[] keysym, int[] status) {
-	lock.lock();
-	try {
-		return _XLookupString(event, string, size, keysym, status);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XLowerWindow(int display, int window);
-public static final int XLowerWindow(int display, int window) {
-	lock.lock();
-	try {
-		return _XLowerWindow(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XMapWindow(int display, int w);
-public static final void XMapWindow(int display, int w) {
-	lock.lock();
-	try {
-		_XMapWindow(display, w);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetModifierMapping(int display);
-public static final int XGetModifierMapping(int display) {
-	lock.lock();
-	try {
-		return _XGetModifierMapping(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XGetIconSizes(int display, int w, int[] size_list_return, int[] count_return);
-public static final int XGetIconSizes(int display, int w, int[] size_list_return, int[] count_return) {
-	lock.lock();
-	try {
-		return _XGetIconSizes(display, w, size_list_return, count_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XMoveResizeWindow(int display, int w, int x, int y, int width, int height);
-public static final void XMoveResizeWindow(int display, int w, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		_XMoveResizeWindow(display, w, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XOffsetRegion(int r, int dx, int dy);
-public static final int XOffsetRegion(int r, int dx, int dy) {
-	lock.lock();
-	try {
-		return _XOffsetRegion(r, dx, dy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XOpenDisplay(byte[] display_name);
-public static final int XOpenDisplay(byte[] display_name) {
-	lock.lock();
-	try {
-		return _XOpenDisplay(display_name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XPointInRegion(int region, int x, int y);
-public static final boolean XPointInRegion(int region, int x, int y) {
-	lock.lock();
-	try {
-		return _XPointInRegion(region, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XPolygonRegion(short[] points, int n, int fill_rule);
-public static final int XPolygonRegion(short[] points, int n, int fill_rule) {
-	lock.lock();
-	try {
-		return _XPolygonRegion(points, n, fill_rule);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XPutImage(int display, int drawable, int gc, int image, int srcX, int srcY, int destX, int destY, int width, int height);
-public static final int XPutImage(int display, int drawable, int gc, int image, int srcX, int srcY, int destX, int destY, int width, int height) {
-	lock.lock();
-	try {
-		return _XPutImage(display, drawable, gc, image, srcX, srcY, destX, destY, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XQueryColor(int display, int colormap, XColor color);
-public static final int XQueryColor(int display, int colormap, XColor color) {
-	lock.lock();
-	try {
-		return _XQueryColor(display, colormap, color);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XQueryBestCursor(int display, int d, int width, int height, int[] width_return, int[] height_return);
-public static final int XQueryBestCursor(int display, int d, int width, int height, int[] width_return, int[] height_return) {
-	lock.lock();
-	try {
-		return _XQueryBestCursor(display, d, width, height, width_return, height_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XQueryPointer(int display, int window, int[] root, int[] child, int[] rootX, int[] rootY, int[] windowX, int[] windowY, int[] mask);
-public static final int XQueryPointer(int display, int window, int[] root, int[] child, int[] rootX, int[] rootY, int[] windowX, int[] windowY, int[] mask) {
-	lock.lock();
-	try {
-		return _XQueryPointer(display, window, root, child, rootX, rootY, windowX, windowY, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XQueryTree(int display, int window, int[] root_return, int[] parent_return, int[] children_return, int[] nChildren_return);
-public static final int XQueryTree(int display, int window, int[] root_return, int[] parent_return, int[] children_return, int[] nChildren_return) {
-	lock.lock();
-	try {
-		return _XQueryTree(display, window, root_return, parent_return, children_return, nChildren_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XRaiseWindow(int display, int window);
-public static final int XRaiseWindow(int display, int window) {
-	lock.lock();
-	try {
-		return _XRaiseWindow(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XReconfigureWMWindow(int display, int window, int screen, int valueMask, XWindowChanges values);
-public static final int XReconfigureWMWindow(int display, int window, int screen, int valueMask, XWindowChanges values) {
-	lock.lock();
-	try {
-		return _XReconfigureWMWindow(display, window, screen, valueMask, values);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XRectInRegion(int region, int x, int y, int width, int height);
-public static final int XRectInRegion(int region, int x, int y, int width, int height) {
-	lock.lock();
-	try {
-		return _XRectInRegion(region, x, y, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XReparentWindow(int display, int win, int parent, int x, int y);
-public static final int XReparentWindow(int display, int win, int parent, int x, int y) {
-	lock.lock();
-	try {
-		return _XReparentWindow(display, win, parent, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XResizeWindow(int display, int w, int width, int height);
-public static final void XResizeWindow(int display, int w, int width, int height) {
-	lock.lock();
-	try {
-		_XResizeWindow(display, w, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XRootWindowOfScreen(int screen);
-public static final int XRootWindowOfScreen(int screen) {
-	lock.lock();
-	try {
-		return _XRootWindowOfScreen(screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSelectInput(int display, int window, int mask);
-public static final void XSelectInput(int display, int window, int mask) {
-	lock.lock();
-	try {
-		_XSelectInput(display, window, mask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSendEvent(int display, int window, boolean propagate, int event_mask, int event);
-public static final int XSendEvent(int display, int window, boolean propagate, int event_mask, int event) {
-	lock.lock();
-	try {
-		return _XSendEvent(display, window, propagate, event_mask, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetBackground(int display, int gc, int background);
-public static final void XSetBackground(int display, int gc, int background) {
-	lock.lock();
-	try {
-		_XSetBackground(display, gc, background);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetClipMask(int display, int gc, int pixmap);
-public static final void XSetClipMask(int display, int gc, int pixmap) {
-	lock.lock();
-	try {
-		_XSetClipMask(display, gc, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetClipRectangles(int display, int gc, int clip_x_origin, int clip_y_origin, XRectangle rectangles, int n, int ordering);
-public static final void XSetClipRectangles(int display, int gc, int clip_x_origin, int clip_y_origin, XRectangle rectangles, int n, int ordering) {
-	lock.lock();
-	try {
-		_XSetClipRectangles(display, gc, clip_x_origin, clip_y_origin, rectangles, n, ordering);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetDashes(int display, int gc, int dash_offset, byte[] dash_list, int n);
-public static final int XSetDashes(int display, int gc, int dash_offset, byte[] dash_list, int n) {
-	lock.lock();
-	try {
-		return _XSetDashes(display, gc, dash_offset, dash_list, n);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetErrorHandler(int handler);
-public static final int XSetErrorHandler(int handler) {
-	lock.lock();
-	try {
-		return _XSetErrorHandler(handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetFillRule(int display, int gc, int fill_rule);
-public static final void XSetFillRule(int display, int gc, int fill_rule) {
-	lock.lock();
-	try {
-		_XSetFillRule(display, gc, fill_rule);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetFillStyle(int display, int gc, int fill_style);
-public static final void XSetFillStyle(int display, int gc, int fill_style) {
-	lock.lock();
-	try {
-		_XSetFillStyle(display, gc, fill_style);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetForeground(int display, int gc, int foreground);
-public static final void XSetForeground(int display, int gc, int foreground) {
-	lock.lock();
-	try {
-		_XSetForeground(display, gc, foreground);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetFunction(int display, int gc, int function);
-public static final void XSetFunction(int display, int gc, int function) {
-	lock.lock();
-	try {
-		_XSetFunction(display, gc, function);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetGraphicsExposures(int display, int gc, boolean graphics_exposures);
-public static final void XSetGraphicsExposures(int display, int gc, boolean graphics_exposures) {
-	lock.lock();
-	try {
-		_XSetGraphicsExposures(display, gc, graphics_exposures);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetIOErrorHandler(int handler);
-public static final int XSetIOErrorHandler(int handler) {
-	lock.lock();
-	try {
-		return _XSetIOErrorHandler(handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetInputFocus(int display, int window, int revert, int time);
-public static final int XSetInputFocus(int display, int window, int revert, int time) {
-	lock.lock();
-	try {
-		return _XSetInputFocus(display, window, revert, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSetLineAttributes(int display, int gc, int lineWidth, int lineStyle, int capStyle, int joinStyle);
-public static final int XSetLineAttributes(int display, int gc, int lineWidth, int lineStyle, int capStyle, int joinStyle) {
-	lock.lock();
-	try {
-		return _XSetLineAttributes(display, gc, lineWidth, lineStyle, capStyle, joinStyle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetRegion(int display, int gc, int region);
-public static final void XSetRegion(int display, int gc, int region) {
-	lock.lock();
-	try {
-		_XSetRegion(display, gc, region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetStipple(int display, int gc, int pixmap);
-public static final void XSetStipple(int display, int gc, int pixmap) {
-	lock.lock();
-	try {
-		_XSetStipple(display, gc, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetSubwindowMode(int display, int gc, int subwindow_mode);
-public static final void XSetSubwindowMode(int display, int gc, int subwindow_mode) {
-	lock.lock();
-	try {
-		_XSetSubwindowMode(display, gc, subwindow_mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetTile(int display, int gc, int pixmap);
-public static final void XSetTile(int display, int gc, int pixmap) {
-	lock.lock();
-	try {
-		_XSetTile(display, gc, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetTSOrigin(int display, int gc, int ts_x_origin, int ts_y_origin);
-public static final void XSetTSOrigin(int display, int gc, int ts_x_origin, int ts_y_origin) {
-	lock.lock();
-	try {
-		_XSetTSOrigin(display, gc, ts_x_origin, ts_y_origin);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetWindowBackgroundPixmap(int display, int w, int pixmap);
-public static final void XSetWindowBackgroundPixmap(int display, int w, int pixmap) {
-	lock.lock();
-	try {
-		_XSetWindowBackgroundPixmap(display, w, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSetWMNormalHints(int display, int w, XSizeHints hints);
-public static final void XSetWMNormalHints(int display, int w, XSizeHints hints) {
-	lock.lock();
-	try {
-		_XSetWMNormalHints(display, w, hints);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XShapeCombineMask(int display, int dest, int dest_kind, int x_off, int y_off, int src, int op);
-public static final void XShapeCombineMask(int display, int dest, int dest_kind, int x_off, int y_off, int src, int op) {
-	lock.lock();
-	try {
-		_XShapeCombineMask(display, dest, dest_kind, x_off, y_off, src, op);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XShapeCombineRegion(int display, int dest, int dest_kind, int x_off, int y_off, int region, int op);
-public static final void XShapeCombineRegion(int display, int dest, int dest_kind, int x_off, int y_off, int region, int op) {
-	lock.lock();
-	try {
-		_XShapeCombineRegion(display, dest, dest_kind, x_off, y_off, region, op);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSubtractRegion(int sra, int srb, int dr_return);
-public static final void XSubtractRegion(int sra, int srb, int dr_return) {
-	lock.lock();
-	try {
-		_XSubtractRegion(sra, srb, dr_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XSync(int display, boolean discard);
-public static final void XSync(int display, boolean discard) {
-	lock.lock();
-	try {
-		_XSync(display, discard);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XSynchronize(int display, boolean onoff);
-public static final int XSynchronize(int display, boolean onoff) {
-	lock.lock();
-	try {
-		return _XSynchronize(display, onoff);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeButtonEvent(int display, int button, boolean is_press, int delay);
-public static final void XTestFakeButtonEvent(int display, int button, boolean is_press, int delay) {
-	lock.lock();
-	try {
-		_XTestFakeButtonEvent(display, button, is_press, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeKeyEvent(int display, int keycode, boolean is_press, int delay);
-public static final void XTestFakeKeyEvent(int display, int keycode, boolean is_press, int delay) {
-	lock.lock();
-	try {
-		_XTestFakeKeyEvent(display, keycode, is_press, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XTestFakeMotionEvent(int display, int screen_number, int x, int y, int delay);
-public static final void XTestFakeMotionEvent(int display, int screen_number, int x, int y, int delay) {
-	lock.lock();
-	try {
-		_XTestFakeMotionEvent(display, screen_number, x, y, delay);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XTranslateCoordinates(int display, int src_w, int dest_w, int src_x, int src_y, int[] dest_x_return, int[] dest_y_return, int[] child_return);
-public static final boolean XTranslateCoordinates(int display, int src_w, int dest_w, int src_x, int src_y, int[] dest_x_return, int[] dest_y_return, int[] child_return) {
-	lock.lock();
-	try {
-		return _XTranslateCoordinates(display, src_w, dest_w, src_x, src_y, dest_x_return, dest_y_return, child_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XUndefineCursor(int display, int window);
-public static final void XUndefineCursor(int display, int window) {
-	lock.lock();
-	try {
-		_XUndefineCursor(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XUngrabKeyboard(int display, int time);
-public static final int XUngrabKeyboard(int display, int time) {
-	lock.lock();
-	try {
-		return _XUngrabKeyboard(display, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XUngrabPointer(int display, int time);
-public static final int XUngrabPointer(int display, int time) {
-	lock.lock();
-	try {
-		return _XUngrabPointer(display, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XUnionRectWithRegion(XRectangle rectangle, int src_region, int dest_region_return);
-public static final void XUnionRectWithRegion(XRectangle rectangle, int src_region, int dest_region_return) {
-	lock.lock();
-	try {
-		_XUnionRectWithRegion(rectangle, src_region, dest_region_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XUnionRegion(int sra, int srb, int dr_return);
-public static final void XUnionRegion(int sra, int srb, int dr_return) {
-	lock.lock();
-	try {
-		_XUnionRegion(sra, srb, dr_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XUnmapWindow(int display, int window);
-public static final void XUnmapWindow(int display, int window) {
-	lock.lock();
-	try {
-		_XUnmapWindow(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XWarpPointer(int display, int sourceWindow, int destWindow, int sourceX, int sourceY, int sourceWidth, int sourceHeight, int destX, int destY);
-public static final int XWarpPointer(int display, int sourceWindow, int destWindow, int sourceX, int sourceY, int sourceWidth, int sourceHeight, int destX, int destY) {
-	lock.lock();
-	try {
-		return _XWarpPointer(display, sourceWindow, destWindow, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XWhitePixel(int display, int screenNum);
-public static final int XWhitePixel(int display, int screenNum) {
-	lock.lock();
-	try {
-		return _XWhitePixel(display, screenNum);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XWithdrawWindow(int display, int window, int screen);
-public static final void XWithdrawWindow(int display, int window, int screen) {
-	lock.lock();
-	try {
-		_XWithdrawWindow(display, window, screen);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XineramaIsActive(int dpy);
-public static final boolean XineramaIsActive(int dpy) {
-	lock.lock();
-	try {
-		return _XineramaIsActive(dpy);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XineramaQueryScreens(int dpy, int[] number);
-public static final int XineramaQueryScreens(int dpy, int[] number) {
-	lock.lock();
-	try {
-		return _XineramaQueryScreens(dpy, number);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmAddWMProtocolCallback(int shell, int protocol, int callback, int closure);
-public static final void XmAddWMProtocolCallback(int shell, int protocol, int callback, int closure) {
-	lock.lock();
-	try {
-		_XmAddWMProtocolCallback(shell, protocol, callback, closure);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmChangeColor(int widget, int pixel);
-public static final void XmChangeColor(int widget, int pixel) {
-	lock.lock();
-	try {
-		_XmChangeColor(widget, pixel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardCopy(int display, int window, int item_id, byte[] format_name, byte[] buffer, int length, int private_id, int[] data_id);
-public static final int XmClipboardCopy(int display, int window, int item_id, byte[] format_name, byte[] buffer, int length, int private_id, int[] data_id) {
-	lock.lock();
-	try {
-		return _XmClipboardCopy(display, window, item_id, format_name, buffer, length, private_id, data_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardEndCopy(int display, int window, int item_id);
-public static final int XmClipboardEndCopy(int display, int window, int item_id) {
-	lock.lock();
-	try {
-		return _XmClipboardEndCopy(display, window, item_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardEndRetrieve(int display, int window);
-public static final int XmClipboardEndRetrieve(int display, int window) {
-	lock.lock();
-	try {
-		return _XmClipboardEndRetrieve(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardInquireCount(int display, int window, int[] count, int[] max_format_name_length);
-public static final int XmClipboardInquireCount(int display, int window, int[] count, int[] max_format_name_length) {
-	lock.lock();
-	try {
-		return _XmClipboardInquireCount(display, window, count, max_format_name_length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardInquireFormat(int display, int window, int index, byte[] format_name_buf, int buffer_len, int[] copied_len);
-public static final int XmClipboardInquireFormat(int display, int window, int index, byte[] format_name_buf, int buffer_len, int[] copied_len) {
-	lock.lock();
-	try {
-		return _XmClipboardInquireFormat(display, window, index, format_name_buf, buffer_len, copied_len);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardInquireLength(int display, int widget, byte[] format_name, int[] length);
-public static final int XmClipboardInquireLength(int display, int widget, byte[] format_name, int[] length) {
-	lock.lock();
-	try {
-		return _XmClipboardInquireLength(display, widget, format_name, length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardRetrieve(int display, int window, byte[] format_name, byte[] buffer, int length, int[] num_bytes, int[] private_id);
-public static final int XmClipboardRetrieve(int display, int window, byte[] format_name, byte[] buffer, int length, int[] num_bytes, int[] private_id) {
-	lock.lock();
-	try {
-		return _XmClipboardRetrieve(display, window, format_name, buffer, length, num_bytes, private_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardStartCopy(int display, int window, int clip_label, int timestamp, int widget, int callback, int[] item_id);
-public static final int XmClipboardStartCopy(int display, int window, int clip_label, int timestamp, int widget, int callback, int[] item_id) {
-	lock.lock();
-	try {
-		return _XmClipboardStartCopy(display, window, clip_label, timestamp, widget, callback, item_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmClipboardStartRetrieve(int display, int window, int timestamp);
-public static final int XmClipboardStartRetrieve(int display, int window, int timestamp) {
-	lock.lock();
-	try {
-		return _XmClipboardStartRetrieve(display, window, timestamp);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmComboBoxAddItem(int widget, int xmString, int position, boolean unique);
-public static final void XmComboBoxAddItem(int widget, int xmString, int position, boolean unique) {
-	lock.lock();
-	try {
-		_XmComboBoxAddItem(widget, xmString, position, unique);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmComboBoxDeletePos(int widget, int position);
-public static final void XmComboBoxDeletePos(int widget, int position) {
-	lock.lock();
-	try {
-		_XmComboBoxDeletePos(widget, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmComboBoxSelectItem(int widget, int xmString);
-public static final void XmComboBoxSelectItem(int widget, int xmString) {
-	lock.lock();
-	try {
-		_XmComboBoxSelectItem(widget, xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateArrowButton(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateArrowButton(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateArrowButton(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateCascadeButtonGadget(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateCascadeButtonGadget(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateCascadeButtonGadget(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateComboBox(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateComboBox(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateComboBox(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateDialogShell(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateDialogShell(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateDialogShell(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateDrawingArea(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateDrawingArea(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateDrawingArea(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateDrawnButton(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateDrawnButton(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateDrawnButton(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateErrorDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateErrorDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateErrorDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateFileSelectionDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateFileSelectionDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateFileSelectionDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateForm(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateForm(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateForm(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateFrame(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateFrame(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateFrame(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateInformationDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateInformationDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateInformationDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateLabel(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateLabel(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateLabel(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateList(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateList(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateList(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateMainWindow(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateMainWindow(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateMainWindow(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateMenuBar(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateMenuBar(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateMenuBar(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateMessageDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateMessageDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateMessageDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreatePopupMenu(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreatePopupMenu(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreatePopupMenu(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreatePulldownMenu(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreatePulldownMenu(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreatePulldownMenu(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreatePushButton(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreatePushButton(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreatePushButton(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreatePushButtonGadget(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreatePushButtonGadget(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreatePushButtonGadget(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateQuestionDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateQuestionDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateQuestionDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateScale(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateScale(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateScale(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateScrollBar(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateScrollBar(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateScrollBar(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateScrolledList(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateScrolledList(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateScrolledList(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateScrolledText(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateScrolledText(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateScrolledText(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateSeparator(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateSeparator(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateSeparator(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateSeparatorGadget(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateSeparatorGadget(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateSeparatorGadget(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateSimpleSpinBox(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateSimpleSpinBox(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateSimpleSpinBox(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateTextField(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateTextField(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateTextField(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateToggleButton(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateToggleButton(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateToggleButton(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateToggleButtonGadget(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateToggleButtonGadget(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateToggleButtonGadget(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateWarningDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateWarningDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateWarningDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmCreateWorkingDialog(int parent, byte[] name, int[] arglist, int argcount);
-public static final int XmCreateWorkingDialog(int parent, byte[] name, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmCreateWorkingDialog(parent, name, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmDestroyPixmap(int screen, int pixmap);
-public static final boolean XmDestroyPixmap(int screen, int pixmap) {
-	lock.lock();
-	try {
-		return _XmDestroyPixmap(screen, pixmap);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmDragCancel(int dragcontext);
-public static final void XmDragCancel(int dragcontext) {
-	lock.lock();
-	try {
-		_XmDragCancel(dragcontext);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmDragStart(int widget, int event, int[] arglist, int argcount);
-public static final int XmDragStart(int widget, int event, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmDragStart(widget, event, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmDropSiteRegister(int widget, int[] arglist, int argcount);
-public static final void XmDropSiteRegister(int widget, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		_XmDropSiteRegister(widget, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmDropSiteUnregister(int widget);
-public static final void XmDropSiteUnregister(int widget) {
-	lock.lock();
-	try {
-		_XmDropSiteUnregister(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmDropSiteUpdate(int widget, int[] arglist, int argcount);
-public static final void XmDropSiteUpdate(int widget, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		_XmDropSiteUpdate(widget, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmDropTransferAdd(int drop_transfer, int[] transfers, int num_transfers);
-public static final void XmDropTransferAdd(int drop_transfer, int[] transfers, int num_transfers) {
-	lock.lock();
-	try {
-		_XmDropTransferAdd(drop_transfer, transfers, num_transfers);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmDropTransferStart(int widget, int[] arglist, int argcount);
-public static final int XmDropTransferStart(int widget, int[] arglist, int argcount) {
-	lock.lock();
-	try {
-		return _XmDropTransferStart(widget, arglist, argcount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFileSelectionBoxGetChild(int widget, int child);
-public static final int XmFileSelectionBoxGetChild(int widget, int child) {
-	lock.lock();
-	try {
-		return _XmFileSelectionBoxGetChild(widget, child);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFontListAppendEntry(int oldList, int entry);
-public static final int XmFontListAppendEntry(int oldList, int entry) {
-	lock.lock();
-	try {
-		return _XmFontListAppendEntry(oldList, entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFontListCopy(int fontlist);
-public static final int XmFontListCopy(int fontlist) {
-	lock.lock();
-	try {
-		return _XmFontListCopy(fontlist);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmFontListEntryFree(int[] entry);
-public static final void XmFontListEntryFree(int[] entry) {
-	lock.lock();
-	try {
-		_XmFontListEntryFree(entry);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFontListEntryGetFont(int entry, int[] type_return);
-public static final int XmFontListEntryGetFont(int entry, int[] type_return) {
-	lock.lock();
-	try {
-		return _XmFontListEntryGetFont(entry, type_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFontListEntryLoad(int display, byte[] fontName, int type, byte[] tag);
-public static final int XmFontListEntryLoad(int display, byte[] fontName, int type, byte[] tag) {
-	lock.lock();
-	try {
-		return _XmFontListEntryLoad(display, fontName, type, tag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmFontListFree(int list);
-public static final void XmFontListFree(int list) {
-	lock.lock();
-	try {
-		_XmFontListFree(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmFontListFreeFontContext(int context);
-public static final void XmFontListFreeFontContext(int context) {
-	lock.lock();
-	try {
-		_XmFontListFreeFontContext(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmFontListInitFontContext(int[] context, int fontList);
-public static final boolean XmFontListInitFontContext(int[] context, int fontList) {
-	lock.lock();
-	try {
-		return _XmFontListInitFontContext(context, fontList);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmFontListNextEntry(int context);
-public static final int XmFontListNextEntry(int context) {
-	lock.lock();
-	try {
-		return _XmFontListNextEntry(context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetAtomName(int display, int atom);
-public static final int XmGetAtomName(int display, int atom) {
-	lock.lock();
-	try {
-		return _XmGetAtomName(display, atom);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetDragContext(int widget, int timestamp);
-public static final int XmGetDragContext(int widget, int timestamp) {
-	lock.lock();
-	try {
-		return _XmGetDragContext(widget, timestamp);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetFocusWidget(int widget);
-public static final int XmGetFocusWidget(int widget) {
-	lock.lock();
-	try {
-		return _XmGetFocusWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetPixmap(int screen, byte[] name, int fgPixel, int bgPixel);
-public static final int XmGetPixmap(int screen, byte[] name, int fgPixel, int bgPixel) {
-	lock.lock();
-	try {
-		return _XmGetPixmap(screen, name, fgPixel, bgPixel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetPixmapByDepth(int screen, byte[] image_name, int foreground, int background, int depth);
-public static final int XmGetPixmapByDepth(int screen, byte[] image_name, int foreground, int background, int depth) {
-	lock.lock();
-	try {
-		return _XmGetPixmapByDepth(screen, image_name, foreground, background, depth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmGetXmDisplay(int display);
-public static final int XmGetXmDisplay(int display) {
-	lock.lock();
-	try {
-		return _XmGetXmDisplay(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmImMbLookupString(int widget, XKeyEvent event, byte[] string, int size, int[] keysym, int[] status);
-public static final int XmImMbLookupString(int widget, XKeyEvent event, byte[] string, int size, int[] keysym, int[] status) {
-	lock.lock();
-	try {
-		return _XmImMbLookupString(widget, event, string, size, keysym, status);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmImRegister(int widget, int reserved);
-public static final void XmImRegister(int widget, int reserved) {
-	lock.lock();
-	try {
-		_XmImRegister(widget, reserved);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmImSetFocusValues(int widget, int[] args, int num_args);
-public static final void XmImSetFocusValues(int widget, int[] args, int num_args) {
-	lock.lock();
-	try {
-		_XmImSetFocusValues(widget, args, num_args);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmImSetValues(int widget, int[] args, int num_args);
-public static final void XmImSetValues(int widget, int[] args, int num_args) {
-	lock.lock();
-	try {
-		_XmImSetValues(widget, args, num_args);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmImUnregister(int widget);
-public static final void XmImUnregister(int widget) {
-	lock.lock();
-	try {
-		_XmImUnregister(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmImUnsetFocus(int widget);
-public static final void XmImUnsetFocus(int widget) {
-	lock.lock();
-	try {
-		_XmImUnsetFocus(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmInternAtom(int display, byte[] name, boolean only_if_exists);
-public static final int XmInternAtom(int display, byte[] name, boolean only_if_exists) {
-	lock.lock();
-	try {
-		return _XmInternAtom(display, name, only_if_exists);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListAddItemUnselected(int list, int xmString, int position);
-public static final void XmListAddItemUnselected(int list, int xmString, int position) {
-	lock.lock();
-	try {
-		_XmListAddItemUnselected(list, xmString, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeleteAllItems(int list);
-public static final void XmListDeleteAllItems(int list) {
-	lock.lock();
-	try {
-		_XmListDeleteAllItems(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeleteItemsPos(int list, int item_count, int position);
-public static final void XmListDeleteItemsPos(int list, int item_count, int position) {
-	lock.lock();
-	try {
-		_XmListDeleteItemsPos(list, item_count, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeletePos(int list, int position);
-public static final void XmListDeletePos(int list, int position) {
-	lock.lock();
-	try {
-		_XmListDeletePos(list, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeletePositions(int list, int[] position_list, int position_count);
-public static final void XmListDeletePositions(int list, int[] position_list, int position_count) {
-	lock.lock();
-	try {
-		_XmListDeletePositions(list, position_list, position_count);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeselectAllItems(int list);
-public static final void XmListDeselectAllItems(int list) {
-	lock.lock();
-	try {
-		_XmListDeselectAllItems(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListDeselectPos(int list, int position);
-public static final void XmListDeselectPos(int list, int position) {
-	lock.lock();
-	try {
-		_XmListDeselectPos(list, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmListGetKbdItemPos(int list);
-public static final int XmListGetKbdItemPos(int list) {
-	lock.lock();
-	try {
-		return _XmListGetKbdItemPos(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmListGetSelectedPos(int list, int[] positions, int[] count);
-public static final boolean XmListGetSelectedPos(int list, int[] positions, int[] count) {
-	lock.lock();
-	try {
-		return _XmListGetSelectedPos(list, positions, count);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmListItemPos(int list, int xmString);
-public static final int XmListItemPos(int list, int xmString) {
-	lock.lock();
-	try {
-		return _XmListItemPos(list, xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmListPosSelected(int list, int position);
-public static final boolean XmListPosSelected(int list, int position) {
-	lock.lock();
-	try {
-		return _XmListPosSelected(list, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListReplaceItemsPosUnselected(int list, int[] new_items, int item_count, int position);
-public static final void XmListReplaceItemsPosUnselected(int list, int[] new_items, int item_count, int position) {
-	lock.lock();
-	try {
-		_XmListReplaceItemsPosUnselected(list, new_items, item_count, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListSelectPos(int list, int position, boolean notify);
-public static final void XmListSelectPos(int list, int position, boolean notify) {
-	lock.lock();
-	try {
-		_XmListSelectPos(list, position, notify);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmListSetKbdItemPos(int list, int position);
-public static final boolean XmListSetKbdItemPos(int list, int position) {
-	lock.lock();
-	try {
-		return _XmListSetKbdItemPos(list, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListSetPos(int list, int position);
-public static final void XmListSetPos(int list, int position) {
-	lock.lock();
-	try {
-		_XmListSetPos(list, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmListUpdateSelectedList(int list);
-public static final void XmListUpdateSelectedList(int list) {
-	lock.lock();
-	try {
-		_XmListUpdateSelectedList(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmMainWindowSetAreas(int widget, int menu, int command, int hscroll, int vscroll, int wregion);
-public static final void XmMainWindowSetAreas(int widget, int menu, int command, int hscroll, int vscroll, int wregion) {
-	lock.lock();
-	try {
-		_XmMainWindowSetAreas(widget, menu, command, hscroll, vscroll, wregion);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmMessageBoxGetChild(int widget, int child);
-public static final int XmMessageBoxGetChild(int widget, int child) {
-	lock.lock();
-	try {
-		return _XmMessageBoxGetChild(widget, child);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmParseMappingCreate(int[] argList, int argCount);
-public static final int XmParseMappingCreate(int[] argList, int argCount) {
-	lock.lock();
-	try {
-		return _XmParseMappingCreate(argList, argCount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmParseMappingFree(int parseMapping);
-public static final void XmParseMappingFree(int parseMapping) {
-	lock.lock();
-	try {
-		_XmParseMappingFree(parseMapping);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmProcessTraversal(int widget, int dir);
-public static final boolean XmProcessTraversal(int widget, int dir) {
-	lock.lock();
-	try {
-		return _XmProcessTraversal(widget, dir);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmRenderTableAddRenditions(int oldTable, int[] renditions, int renditionCount, int mergeMode);
-public static final int XmRenderTableAddRenditions(int oldTable, int[] renditions, int renditionCount, int mergeMode) {
-	lock.lock();
-	try {
-		return _XmRenderTableAddRenditions(oldTable, renditions, renditionCount, mergeMode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmRenderTableFree(int renderTable);
-public static final void XmRenderTableFree(int renderTable) {
-	lock.lock();
-	try {
-		_XmRenderTableFree(renderTable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmRenditionCreate(int widget, byte[] tag, int[] argList, int argCount);
-public static final int XmRenditionCreate(int widget, byte[] tag, int[] argList, int argCount) {
-	lock.lock();
-	try {
-		return _XmRenditionCreate(widget, tag, argList, argCount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmRenditionFree(int rendition);
-public static final void XmRenditionFree(int rendition) {
-	lock.lock();
-	try {
-		_XmRenditionFree(rendition);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringBaseline(int fontList, int xmString);
-public static final int XmStringBaseline(int fontList, int xmString) {
-	lock.lock();
-	try {
-		return _XmStringBaseline(fontList, xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmStringCompare(int xmString1, int xmString2);
-public static final boolean XmStringCompare(int xmString1, int xmString2) {
-	lock.lock();
-	try {
-		return _XmStringCompare(xmString1, xmString2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringComponentCreate(int type, int length, byte[] value);
-public static final int XmStringComponentCreate(int type, int length, byte[] value) {
-	lock.lock();
-	try {
-		return _XmStringComponentCreate(type, length, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringConcat(int xmString1, int xmString2);
-public static final int XmStringConcat(int xmString1, int xmString2) {
-	lock.lock();
-	try {
-		return _XmStringConcat(xmString1, xmString2);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringCreate(byte[] string, byte[] charset);
-public static final int XmStringCreate(byte[] string, byte[] charset) {
-	lock.lock();
-	try {
-		return _XmStringCreate(string, charset);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringCreateLocalized(byte[] string);
-public static final int XmStringCreateLocalized(byte[] string) {
-	lock.lock();
-	try {
-		return _XmStringCreateLocalized(string);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmStringDraw(int display, int window, int renderTable, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip);
-public static final void XmStringDraw(int display, int window, int renderTable, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip) {
-	lock.lock();
-	try {
-		_XmStringDraw(display, window, renderTable, xmString, gc, x, y, width, align, lay_dir, clip);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmStringDrawImage(int display, int window, int renderTable, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip);
-public static final void XmStringDrawImage(int display, int window, int renderTable, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip) {
-	lock.lock();
-	try {
-		_XmStringDrawImage(display, window, renderTable, xmString, gc, x, y, width, align, lay_dir, clip);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmStringDrawUnderline(int display, int window, int fontlist, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip, int xmStringUnderline);
-public static final void XmStringDrawUnderline(int display, int window, int fontlist, int xmString, int gc, int x, int y, int width, int align, int lay_dir, XRectangle clip, int xmStringUnderline) {
-	lock.lock();
-	try {
-		_XmStringDrawUnderline(display, window, fontlist, xmString, gc, x, y, width, align, lay_dir, clip, xmStringUnderline);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmStringEmpty(int s1);
-public static final boolean XmStringEmpty(int s1) {
-	lock.lock();
-	try {
-		return _XmStringEmpty(s1);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmStringExtent(int fontList, int xmString, short[] width, short[] height);
-public static final void XmStringExtent(int fontList, int xmString, short[] width, short[] height) {
-	lock.lock();
-	try {
-		_XmStringExtent(fontList, xmString, width, height);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmStringFree(int xmString);
-public static final void XmStringFree(int xmString) {
-	lock.lock();
-	try {
-		_XmStringFree(xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringGenerate(byte[] text, byte[] tag, int type, byte[] rendition);
-public static final int XmStringGenerate(byte[] text, byte[] tag, int type, byte[] rendition) {
-	lock.lock();
-	try {
-		return _XmStringGenerate(text, tag, type, rendition);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringHeight(int fontList, int xmString);
-public static final int XmStringHeight(int fontList, int xmString) {
-	lock.lock();
-	try {
-		return _XmStringHeight(fontList, xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringParseText(byte[] text, int textEnd, byte[] tag, int tagType, int[] parseTable, int parseCount, int callData);
-public static final int XmStringParseText(byte[] text, int textEnd, byte[] tag, int tagType, int[] parseTable, int parseCount, int callData) {
-	lock.lock();
-	try {
-		return _XmStringParseText(text, textEnd, tag, tagType, parseTable, parseCount, callData);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringUnparse(int xmString, byte[] tag, int tagType, int outputType, int[] parseTable, int parseCount, int parseModel);
-public static final int XmStringUnparse(int xmString, byte[] tag, int tagType, int outputType, int[] parseTable, int parseCount, int parseModel) {
-	lock.lock();
-	try {
-		return _XmStringUnparse(xmString, tag, tagType, outputType, parseTable, parseCount, parseModel);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmStringWidth(int fontList, int xmString);
-public static final int XmStringWidth(int fontList, int xmString) {
-	lock.lock();
-	try {
-		return _XmStringWidth(fontList, xmString);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTabCreate(int value, byte units, byte offsetModel, byte alignment, byte[] decimal);
-public static final int XmTabCreate(int value, byte units, byte offsetModel, byte alignment, byte[] decimal) {
-	lock.lock();
-	try {
-		return _XmTabCreate(value, units, offsetModel, alignment, decimal);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTabFree(int tab);
-public static final void XmTabFree(int tab) {
-	lock.lock();
-	try {
-		_XmTabFree(tab);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTabListFree(int tabList);
-public static final void XmTabListFree(int tabList) {
-	lock.lock();
-	try {
-		_XmTabListFree(tabList);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTabListInsertTabs(int oldList, int[] tabs, int tab_count, int position);
-public static final int XmTabListInsertTabs(int oldList, int[] tabs, int tab_count, int position) {
-	lock.lock();
-	try {
-		return _XmTabListInsertTabs(oldList, tabs, tab_count, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextClearSelection(int widget, int time);
-public static final void XmTextClearSelection(int widget, int time) {
-	lock.lock();
-	try {
-		_XmTextClearSelection(widget, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextCopy(int widget, int time);
-public static final boolean XmTextCopy(int widget, int time) {
-	lock.lock();
-	try {
-		return _XmTextCopy(widget, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextCut(int widget, int time);
-public static final boolean XmTextCut(int widget, int time) {
-	lock.lock();
-	try {
-		return _XmTextCut(widget, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextDisableRedisplay(int widget);
-public static final void XmTextDisableRedisplay(int widget) {
-	lock.lock();
-	try {
-		_XmTextDisableRedisplay(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextEnableRedisplay(int widget);
-public static final void XmTextEnableRedisplay(int widget) {
-	lock.lock();
-	try {
-		_XmTextEnableRedisplay(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextFieldPaste(int widget);
-public static final boolean XmTextFieldPaste(int widget) {
-	lock.lock();
-	try {
-		return _XmTextFieldPaste(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetInsertionPosition(int widget);
-public static final int XmTextGetInsertionPosition(int widget) {
-	lock.lock();
-	try {
-		return _XmTextGetInsertionPosition(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetLastPosition(int widget);
-public static final int XmTextGetLastPosition(int widget) {
-	lock.lock();
-	try {
-		return _XmTextGetLastPosition(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetMaxLength(int widget);
-public static final int XmTextGetMaxLength(int widget) {
-	lock.lock();
-	try {
-		return _XmTextGetMaxLength(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetSelection(int widget);
-public static final int XmTextGetSelection(int widget) {
-	lock.lock();
-	try {
-		return _XmTextGetSelection(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextGetSelectionPosition(int widget, int[] left, int[] right);
-public static final boolean XmTextGetSelectionPosition(int widget, int[] left, int[] right) {
-	lock.lock();
-	try {
-		return _XmTextGetSelectionPosition(widget, left, right);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetString(int widget);
-public static final int XmTextGetString(int widget) {
-	lock.lock();
-	try {
-		return _XmTextGetString(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetSubstring(int widget, int start, int num_chars, int buffer_size, byte[] buffer);
-public static final int XmTextGetSubstring(int widget, int start, int num_chars, int buffer_size, byte[] buffer) {
-	lock.lock();
-	try {
-		return _XmTextGetSubstring(widget, start, num_chars, buffer_size, buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextGetSubstringWcs(int widget, int start, int num_chars, int buffer_size, char[] buffer);
-public static final int XmTextGetSubstringWcs(int widget, int start, int num_chars, int buffer_size, char[] buffer) {
-	lock.lock();
-	try {
-		return _XmTextGetSubstringWcs(widget, start, num_chars, buffer_size, buffer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextInsert(int widget, int position, byte[] value);
-public static final void XmTextInsert(int widget, int position, byte[] value) {
-	lock.lock();
-	try {
-		_XmTextInsert(widget, position, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextPaste(int widget);
-public static final boolean XmTextPaste(int widget) {
-	lock.lock();
-	try {
-		return _XmTextPaste(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmTextPosToXY(int widget, int position, short[] x, short[] y);
-public static final boolean XmTextPosToXY(int widget, int position, short[] x, short[] y) {
-	lock.lock();
-	try {
-		return _XmTextPosToXY(widget, position, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextReplace(int widget, int from_pos, int to_pos, byte[] value);
-public static final void XmTextReplace(int widget, int from_pos, int to_pos, byte[] value) {
-	lock.lock();
-	try {
-		_XmTextReplace(widget, from_pos, to_pos, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextScroll(int widget, int lines);
-public static final void XmTextScroll(int widget, int lines) {
-	lock.lock();
-	try {
-		_XmTextScroll(widget, lines);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetEditable(int widget, boolean editable);
-public static final void XmTextSetEditable(int widget, boolean editable) {
-	lock.lock();
-	try {
-		_XmTextSetEditable(widget, editable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetHighlight(int widget, int left, int right, int mode);
-public static final void XmTextSetHighlight(int widget, int left, int right, int mode) {
-	lock.lock();
-	try {
-		_XmTextSetHighlight(widget, left, right, mode);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetInsertionPosition(int widget, int position);
-public static final void XmTextSetInsertionPosition(int widget, int position) {
-	lock.lock();
-	try {
-		_XmTextSetInsertionPosition(widget, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetMaxLength(int widget, int max_length);
-public static final void XmTextSetMaxLength(int widget, int max_length) {
-	lock.lock();
-	try {
-		_XmTextSetMaxLength(widget, max_length);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetSelection(int widget, int first, int last, int time);
-public static final void XmTextSetSelection(int widget, int first, int last, int time) {
-	lock.lock();
-	try {
-		_XmTextSetSelection(widget, first, last, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextSetString(int widget, byte[] value);
-public static final void XmTextSetString(int widget, byte[] value) {
-	lock.lock();
-	try {
-		_XmTextSetString(widget, value);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmTextShowPosition(int widget, int position);
-public static final void XmTextShowPosition(int widget, int position) {
-	lock.lock();
-	try {
-		_XmTextShowPosition(widget, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmTextXYToPos(int widget, short x, short y);
-public static final int XmTextXYToPos(int widget, short x, short y) {
-	lock.lock();
-	try {
-		return _XmTextXYToPos(widget, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XmUpdateDisplay(int widget);
-public static final void XmUpdateDisplay(int widget) {
-	lock.lock();
-	try {
-		_XmUpdateDisplay(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XmWidgetGetDisplayRect(int region, XRectangle rectangle);
-public static final boolean XmWidgetGetDisplayRect(int region, XRectangle rectangle) {
-	lock.lock();
-	try {
-		return _XmWidgetGetDisplayRect(region, rectangle);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmbTextListToTextProperty(int display, int list, int count, int style, XTextProperty text_prop_return);
-public static final int XmbTextListToTextProperty(int display, int list, int count, int style, XTextProperty text_prop_return) {
-	lock.lock();
-	try {
-		return _XmbTextListToTextProperty(display, list, count, style, text_prop_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XmbTextPropertyToTextList(int display, XTextProperty text_prop, int[] list_return, int[] count_return);
-public static final int XmbTextPropertyToTextList(int display, XTextProperty text_prop, int[] list_return, int[] count_return) {
-	lock.lock();
-	try {
-		return _XmbTextPropertyToTextList(display, text_prop, list_return, count_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpCancelJob(int display, boolean discard);
-public static final void XpCancelJob(int display, boolean discard) {
-	lock.lock();
-	try {
-		_XpCancelJob(display, discard);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XpCreateContext(int display, byte[] printer_name);
-public static final int XpCreateContext(int display, byte[] printer_name) {
-	lock.lock();
-	try {
-		return _XpCreateContext(display, printer_name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpDestroyContext(int display, int print_context);
-public static final void XpDestroyContext(int display, int print_context) {
-	lock.lock();
-	try {
-		_XpDestroyContext(display, print_context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpEndJob(int display);
-public static final void XpEndJob(int display) {
-	lock.lock();
-	try {
-		_XpEndJob(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpEndPage(int display);
-public static final void XpEndPage(int display) {
-	lock.lock();
-	try {
-		_XpEndPage(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpFreePrinterList(int printer_list);
-public static final void XpFreePrinterList(int printer_list) {
-	lock.lock();
-	try {
-		_XpFreePrinterList(printer_list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XpGetOneAttribute(int display, int print_context, byte type, byte[] attribute_name);
-public static final int XpGetOneAttribute(int display, int print_context, byte type, byte[] attribute_name) {
-	lock.lock();
-	try {
-		return _XpGetOneAttribute(display, print_context, type, attribute_name);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XpGetPageDimensions(int display, int print_context, short[] width, short[] height, XRectangle reproducible_area);
-public static final int XpGetPageDimensions(int display, int print_context, short[] width, short[] height, XRectangle reproducible_area) {
-	lock.lock();
-	try {
-		return _XpGetPageDimensions(display, print_context, width, height, reproducible_area);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XpGetPrinterList(int display, byte[] printer_name, int[] list_count);
-public static final int XpGetPrinterList(int display, byte[] printer_name, int[] list_count) {
-	lock.lock();
-	try {
-		return _XpGetPrinterList(display, printer_name, list_count);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XpGetScreenOfContext(int display, int print_context);
-public static final int XpGetScreenOfContext(int display, int print_context) {
-	lock.lock();
-	try {
-		return _XpGetScreenOfContext(display, print_context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpSetAttributes(int display, int print_context, byte type, byte[] pool, byte replacement_rule);
-public static final void XpSetAttributes(int display, int print_context, byte type, byte[] pool, byte replacement_rule) {
-	lock.lock();
-	try {
-		_XpSetAttributes(display, print_context, type, pool, replacement_rule);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpSetContext(int display, int print_context);
-public static final void XpSetContext(int display, int print_context) {
-	lock.lock();
-	try {
-		_XpSetContext(display, print_context);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpStartJob(int display, byte save_data);
-public static final void XpStartJob(int display, byte save_data) {
-	lock.lock();
-	try {
-		_XpStartJob(display, save_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XpStartPage(int display, int window);
-public static final void XpStartPage(int display, int window) {
-	lock.lock();
-	try {
-		_XpStartPage(display, window);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAddCallback(int widget, int callback_name, int callback, int client_data);
-public static final void XtAddCallback(int widget, int callback_name, int callback, int client_data) {
-	lock.lock();
-	try {
-		_XtAddCallback(widget, callback_name, callback, client_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAddEventHandler(int widget, int event_mask, boolean nonmaskable, int proc, int client_data);
-public static final void XtAddEventHandler(int widget, int event_mask, boolean nonmaskable, int proc, int client_data) {
-	lock.lock();
-	try {
-		_XtAddEventHandler(widget, event_mask, nonmaskable, proc, client_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAddExposureToRegion(int event, int region);
-public static final void XtAddExposureToRegion(int event, int region) {
-	lock.lock();
-	try {
-		_XtAddExposureToRegion(event, region);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppAddInput(int app_context, int source, int condition, int proc, int client_data);
-public static final int XtAppAddInput(int app_context, int source, int condition, int proc, int client_data) {
-	lock.lock();
-	try {
-		return _XtAppAddInput(app_context, source, condition, proc, client_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppAddTimeOut(int app_context, int interval, int proc, int client_data);
-public static final int XtAppAddTimeOut(int app_context, int interval, int proc, int client_data) {
-	lock.lock();
-	try {
-		return _XtAppAddTimeOut(app_context, interval, proc, client_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppCreateShell(byte[] appName, byte[] appClass, int widgetClass, int display, int[] argList, int argCount);
-public static final int XtAppCreateShell(byte[] appName, byte[] appClass, int widgetClass, int display, int[] argList, int argCount) {
-	lock.lock();
-	try {
-		return _XtAppCreateShell(appName, appClass, widgetClass, display, argList, argCount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppGetSelectionTimeout(int appContext);
-public static final int XtAppGetSelectionTimeout(int appContext) {
-	lock.lock();
-	try {
-		return _XtAppGetSelectionTimeout(appContext);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAppNextEvent(int appContext, int event);
-public static final void XtAppNextEvent(int appContext, int event) {
-	lock.lock();
-	try {
-		_XtAppNextEvent(appContext, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtAppPeekEvent(int appContext, int event);
-public static final boolean XtAppPeekEvent(int appContext, int event) {
-	lock.lock();
-	try {
-		return _XtAppPeekEvent(appContext, event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppPending(int appContext);
-public static final int XtAppPending(int appContext) {
-	lock.lock();
-	try {
-		return _XtAppPending(appContext);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAppProcessEvent(int appContext, int inputMask);
-public static final void XtAppProcessEvent(int appContext, int inputMask) {
-	lock.lock();
-	try {
-		_XtAppProcessEvent(appContext, inputMask);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppSetErrorHandler(int app_context, int handler);
-public static final int XtAppSetErrorHandler(int app_context, int handler) {
-	lock.lock();
-	try {
-		return _XtAppSetErrorHandler(app_context, handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAppSetFallbackResources(int app_context, int specification_list);
-public static final void XtAppSetFallbackResources(int app_context, int specification_list) {
-	lock.lock();
-	try {
-		_XtAppSetFallbackResources(app_context, specification_list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtAppSetSelectionTimeout(int appContext, int timeout);
-public static final void XtAppSetSelectionTimeout(int appContext, int timeout) {
-	lock.lock();
-	try {
-		_XtAppSetSelectionTimeout(appContext, timeout);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtAppSetWarningHandler(int app_context, int handler);
-public static final int XtAppSetWarningHandler(int app_context, int handler) {
-	lock.lock();
-	try {
-		return _XtAppSetWarningHandler(app_context, handler);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtBuildEventMask(int widget);
-public static final int XtBuildEventMask(int widget) {
-	lock.lock();
-	try {
-		return _XtBuildEventMask(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtCallActionProc(int widget, byte[] action, int event, int[] params, int num_params);
-public static final void XtCallActionProc(int widget, byte[] action, int event, int[] params, int num_params) {
-	lock.lock();
-	try {
-		_XtCallActionProc(widget, action, event, params, num_params);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtClass(int widget);
-public static final int XtClass(int widget) {
-	lock.lock();
-	try {
-		return _XtClass(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtConfigureWidget(int widget, int x, int y, int width, int height, int borderWidth);
-public static final void XtConfigureWidget(int widget, int x, int y, int width, int height, int borderWidth) {
-	lock.lock();
-	try {
-		_XtConfigureWidget(widget, x, y, width, height, borderWidth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtCreateApplicationContext();
-public static final int XtCreateApplicationContext() {
-	lock.lock();
-	try {
-		return _XtCreateApplicationContext();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtCreatePopupShell(byte[] name, int widgetClass, int parent, int[] argList, int argCount);
-public static final int XtCreatePopupShell(byte[] name, int widgetClass, int parent, int[] argList, int argCount) {
-	lock.lock();
-	try {
-		return _XtCreatePopupShell(name, widgetClass, parent, argList, argCount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtDestroyApplicationContext(int appContext);
-public static final void XtDestroyApplicationContext(int appContext) {
-	lock.lock();
-	try {
-		_XtDestroyApplicationContext(appContext);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtDestroyWidget(int widget);
-public static final void XtDestroyWidget(int widget) {
-	lock.lock();
-	try {
-		_XtDestroyWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtDisownSelection(int w, int selection, int time);
-public static final void XtDisownSelection(int w, int selection, int time) {
-	lock.lock();
-	try {
-		_XtDisownSelection(w, selection, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtDispatchEvent(int event);
-public static final boolean XtDispatchEvent(int event) {
-	lock.lock();
-	try {
-		return _XtDispatchEvent(event);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtDisplay(int widget);
-public static final int XtDisplay(int widget) {
-	lock.lock();
-	try {
-		return _XtDisplay(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtDisplayToApplicationContext(int display);
-public static final int XtDisplayToApplicationContext(int display) {
-	lock.lock();
-	try {
-		return _XtDisplayToApplicationContext(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtFree(int ptr);
-public static final void XtFree(int ptr) {
-	lock.lock();
-	try {
-		_XtFree(ptr);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtGetMultiClickTime(int display);
-public static final int XtGetMultiClickTime(int display) {
-	lock.lock();
-	try {
-		return _XtGetMultiClickTime(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtGetSelectionValue(int w, int selection, int target, int callback, int client_data, int time);
-public static final void XtGetSelectionValue(int w, int selection, int target, int callback, int client_data, int time) {
-	lock.lock();
-	try {
-		_XtGetSelectionValue(w, selection, target, callback, client_data, time);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtGetValues(int widget, int[] argList, int numArgs);
-public static final void XtGetValues(int widget, int[] argList, int numArgs) {
-	lock.lock();
-	try {
-		_XtGetValues(widget, argList, numArgs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtInsertEventHandler(int w, int event_mask, boolean nonmaskable, int proc, int client_data, int position);
-public static final void XtInsertEventHandler(int w, int event_mask, boolean nonmaskable, int proc, int client_data, int position) {
-	lock.lock();
-	try {
-		_XtInsertEventHandler(w, event_mask, nonmaskable, proc, client_data, position);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtIsManaged(int widget);
-public static final boolean XtIsManaged(int widget) {
-	lock.lock();
-	try {
-		return _XtIsManaged(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtIsRealized(int widget);
-public static final boolean XtIsRealized(int widget) {
-	lock.lock();
-	try {
-		return _XtIsRealized(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtIsSubclass(int widget, int widgetClass);
-public static final boolean XtIsSubclass(int widget, int widgetClass) {
-	lock.lock();
-	try {
-		return _XtIsSubclass(widget, widgetClass);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtIsTopLevelShell(int widget);
-public static final boolean XtIsTopLevelShell(int widget) {
-	lock.lock();
-	try {
-		return _XtIsTopLevelShell(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtLastTimestampProcessed(int display);
-public static final int XtLastTimestampProcessed(int display) {
-	lock.lock();
-	try {
-		return _XtLastTimestampProcessed(display);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtMalloc(int size);
-public static final int XtMalloc(int size) {
-	lock.lock();
-	try {
-		return _XtMalloc(size);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtManageChild(int widget);
-public static final void XtManageChild(int widget) {
-	lock.lock();
-	try {
-		_XtManageChild(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtMapWidget(int widget);
-public static final void XtMapWidget(int widget) {
-	lock.lock();
-	try {
-		_XtMapWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtMoveWidget(int widget, int x, int y);
-public static final void XtMoveWidget(int widget, int x, int y) {
-	lock.lock();
-	try {
-		_XtMoveWidget(widget, x, y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtNameToWidget(int reference, byte[] names);
-public static final int XtNameToWidget(int reference, byte[] names) {
-	lock.lock();
-	try {
-		return _XtNameToWidget(reference, names);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtOpenDisplay(int xtAppContext, byte[] displayName, byte[] applicationName, byte[] applicationClass, int options, int numOptions, int[] argc, int argv);
-public static final int XtOpenDisplay(int xtAppContext, byte[] displayName, byte[] applicationName, byte[] applicationClass, int options, int numOptions, int[] argc, int argv) {
-	lock.lock();
-	try {
-		return _XtOpenDisplay(xtAppContext, displayName, applicationName, applicationClass, options, numOptions, argc, argv);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtOverrideTranslations(int w, int translations);
-public static final void XtOverrideTranslations(int w, int translations) {
-	lock.lock();
-	try {
-		_XtOverrideTranslations(w, translations);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtOwnSelection(int w, int selection, int time, int convert_proc, int lose_selection, int done_proc);
-public static final boolean XtOwnSelection(int w, int selection, int time, int convert_proc, int lose_selection, int done_proc) {
-	lock.lock();
-	try {
-		return _XtOwnSelection(w, selection, time, convert_proc, lose_selection, done_proc);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtParent(int widget);
-public static final int XtParent(int widget) {
-	lock.lock();
-	try {
-		return _XtParent(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtParseTranslationTable(byte[] string);
-public static final int XtParseTranslationTable(byte[] string) {
-	lock.lock();
-	try {
-		return _XtParseTranslationTable(string);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtPopdown(int widget);
-public static final void XtPopdown(int widget) {
-	lock.lock();
-	try {
-		_XtPopdown(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtPopup(int widget, int flags);
-public static final void XtPopup(int widget, int flags) {
-	lock.lock();
-	try {
-		_XtPopup(widget, flags);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtQueryGeometry(int widget, XtWidgetGeometry intended, XtWidgetGeometry preferred_return);
-public static final int XtQueryGeometry(int widget, XtWidgetGeometry intended, XtWidgetGeometry preferred_return) {
-	lock.lock();
-	try {
-		return _XtQueryGeometry(widget, intended, preferred_return);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRealizeWidget(int widget);
-public static final void XtRealizeWidget(int widget) {
-	lock.lock();
-	try {
-		_XtRealizeWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRegisterDrawable(int display, int drawable, int widget);
-public static final void XtRegisterDrawable(int display, int drawable, int widget) {
-	lock.lock();
-	try {
-		_XtRegisterDrawable(display, drawable, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRemoveEventHandler(int widget, int event_mask, boolean nonmaskable, int proc, int client_data);
-public static final void XtRemoveEventHandler(int widget, int event_mask, boolean nonmaskable, int proc, int client_data) {
-	lock.lock();
-	try {
-		_XtRemoveEventHandler(widget, event_mask, nonmaskable, proc, client_data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRemoveInput(int id);
-public static final void XtRemoveInput(int id) {
-	lock.lock();
-	try {
-		_XtRemoveInput(id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRemoveTimeOut(int id);
-public static final void XtRemoveTimeOut(int id) {
-	lock.lock();
-	try {
-		_XtRemoveTimeOut(id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtResizeWidget(int widget, int width, int height, int borderWidth);
-public static final void XtResizeWidget(int widget, int width, int height, int borderWidth) {
-	lock.lock();
-	try {
-		_XtResizeWidget(widget, width, height, borderWidth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtResizeWindow(int widget);
-public static final void XtResizeWindow(int widget) {
-	lock.lock();
-	try {
-		_XtResizeWindow(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtSetLanguageProc(int appContext, int languageProc, int pointer);
-public static final int XtSetLanguageProc(int appContext, int languageProc, int pointer) {
-	lock.lock();
-	try {
-		return _XtSetLanguageProc(appContext, languageProc, pointer);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtSetMappedWhenManaged(int widget, boolean flag);
-public static final void XtSetMappedWhenManaged(int widget, boolean flag) {
-	lock.lock();
-	try {
-		_XtSetMappedWhenManaged(widget, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtSetValues(int widget, int[] argList, int numArgs);
-public static final void XtSetValues(int widget, int[] argList, int numArgs) {
-	lock.lock();
-	try {
-		_XtSetValues(widget, argList, numArgs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtToolkitInitialize();
-public static final void XtToolkitInitialize() {
-	lock.lock();
-	try {
-		_XtToolkitInitialize();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _XtToolkitThreadInitialize();
-public static final boolean XtToolkitThreadInitialize() {
-	lock.lock();
-	try {
-		return _XtToolkitThreadInitialize();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtTranslateCoords(int widget, short x, short y, short[] root_x, short[] root_y);
-public static final void XtTranslateCoords(int widget, short x, short y, short[] root_x, short[] root_y) {
-	lock.lock();
-	try {
-		_XtTranslateCoords(widget, x, y, root_x, root_y);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtUnmanageChild(int widget);
-public static final void XtUnmanageChild(int widget) {
-	lock.lock();
-	try {
-		_XtUnmanageChild(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtUnmapWidget(int widget);
-public static final void XtUnmapWidget(int widget) {
-	lock.lock();
-	try {
-		_XtUnmapWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtUnregisterDrawable(int display, int drawable);
-public static final void XtUnregisterDrawable(int display, int drawable) {
-	lock.lock();
-	try {
-		_XtUnregisterDrawable(display, drawable);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtWindow(int widget);
-public static final int XtWindow(int widget) {
-	lock.lock();
-	try {
-		return _XtWindow(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _XtWindowToWidget(int display, int widget);
-public static final int XtWindowToWidget(int display, int widget) {
-	lock.lock();
-	try {
-		return _XtWindowToWidget(display, widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void __XmSetMenuTraversal(int menu, boolean traversal);
-public static final void _XmSetMenuTraversal(int menu, boolean traversal) {
-	lock.lock();
-	try {
-		__XmSetMenuTraversal(menu, traversal);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int close(int filedes);
-public static final native int fd_set_sizeof();
-public static final native int getenv(byte[] name);
-public static final native int iconv(int cd, int[] inBuf, int[] inBytesLeft, int[] outBuf, int[] outBytesLeft);
-public static final native int iconv_close(int cd);
-public static final native int iconv_open(byte[] tocode, byte[] fromcode);
-public static final native int localeconv_decimal_point();
-public static final native void memmove(int dest, XImage src, int count);
-public static final native void memmove(int dest, XmDragProcCallbackStruct src, int count);
-public static final native void memmove(int dest, XmSpinBoxCallbackStruct src, int count);
-public static final native void memmove(int dest, XmTextBlockRec src, int count);
-public static final native void memmove(int dest, XmTextVerifyCallbackStruct src, int count);
-public static final native void memmove(int dest, byte[] src, int count);
-public static final native void memmove(int dest, char[] src, int count);
-public static final native void memmove(int dest, int[] src, int count);
-public static final native void memmove(Visual dest, int src, int count);
-public static final native void memmove(XAnyEvent dest, int src, int count);
-public static final native void memmove(XButtonEvent dest, int src, int count);
-public static final native void memmove(int dest, XButtonEvent src, int count);
-public static final native void memmove(XCharStruct dest, int src, int count);
-public static final native void memmove(XClientMessageEvent dest, int src, int count);
-public static final native void memmove(XConfigureEvent dest, int src, int count);
-public static final native void memmove(XCreateWindowEvent dest, int src, int count);
-public static final native void memmove(XCrossingEvent dest, int src, int count);
-public static final native void memmove(XDestroyWindowEvent dest, int src, int count);
-public static final native void memmove(XExposeEvent dest, int src, int count);
-public static final native void memmove(XFocusChangeEvent dest, int src, int count);
-public static final native void memmove(XFontStruct dest, int src, int count);
-public static final native void memmove(XImage dest, int src, int count);
-public static final native void memmove(XineramaScreenInfo dest, int src, int count);
-public static final native void memmove(XKeyEvent dest, int src, int count);
-public static final native void memmove(XEvent dest, int src, int count);
-public static final native void memmove(XModifierKeymap dest, int src, int count);
-public static final native void memmove(XMotionEvent dest, int src, int count);
-public static final native void memmove(XPropertyEvent dest, int src, int count);
-public static final native void memmove(XReparentEvent dest, int src, int count);
-public static final native void memmove(XmAnyCallbackStruct dest, int src, int count);
-public static final native void memmove(XmDragProcCallbackStruct dest, int src, int count);
-public static final native void memmove(XmDropFinishCallbackStruct dest, int src, int count);
-public static final native void memmove(XmDropProcCallbackStruct dest, int src, int count);
-public static final native void memmove(XmSpinBoxCallbackStruct dest, int src, int count);
-public static final native void memmove(XmTextBlockRec dest, int src, int count);
-public static final native void memmove(XmTextVerifyCallbackStruct dest, int src, int count);
-public static final native void memmove(byte[] dest, int src, int count);
-public static final native void memmove(char[] dest, int src, int count);
-public static final native void memmove(int[] dest, int src, int count);
-public static final native void memmove(int dest, short[] src, int count);
-public static final native void memmove(int dest, XExposeEvent src, int count);
-public static final native void memmove(int dest, XClientMessageEvent src, int count);
-public static final native void memmove(int dest, XConfigureEvent src, int count);
-public static final native void memmove(int dest, XKeyEvent src, int count);
-public static final native void memmove(XIconSize dest, int src, int count);
-public static final native int nl_langinfo(int item);
-public static final native int pipe(int[] filedes);
-public static final native int read(int filedes, byte[] buf, int nbyte);
-public static final native int select(int n, byte[] readfds, byte[] writefds, byte[] exceptfds, int[] timeout);
-public static final native int setlocale(int category, byte[] locale);
-public static final native int strlen(int string);
-public static final native int write(int filedes, byte[] buf, int nbyte);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/Visual.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/Visual.java
deleted file mode 100644
index 1ff3cde..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/Visual.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.motif;
-
- 
-public class Visual {
-	public int ext_data;
-	public int visualid;
-	public int c_class;
-	public int red_mask;
-	public int green_mask;
-	public int blue_mask;
-	public int bits_per_rgb;
-	public int map_entries;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XAnyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XAnyEvent.java
deleted file mode 100644
index fd83ff6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XAnyEvent.java
+++ /dev/null
@@ -1,20 +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.internal.motif;
-
- 
-public class XAnyEvent extends XEvent {
-	public int serial;
-	public int send_event;
-	public int display;
-	public int window;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XButtonEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XButtonEvent.java
deleted file mode 100644
index 051eb2f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XButtonEvent.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XButtonEvent extends XAnyEvent {
-	public int root;
-	public int subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int state;
-	public int button;
-	public int same_screen;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCharStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCharStruct.java
deleted file mode 100644
index 7d28c0c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCharStruct.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XCharStruct {
-	public short lbearing;
-	public short rbearing;
-	public short width;
-	public short ascent;
-	public short descent;
-	public short attributes;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XClientMessageEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XClientMessageEvent.java
deleted file mode 100644
index c052767..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XClientMessageEvent.java
+++ /dev/null
@@ -1,19 +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.motif;
-
- 
-public class XClientMessageEvent extends XAnyEvent {
-	public int message_type;
-	public int format;
-	public int[] data = new int[5];
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XColor.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XColor.java
deleted file mode 100644
index 3c2a287..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XColor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XColor {
-	public int pixel;
-	public short red;
-	public short green;
-	public short blue;
-	public byte flags;
-	public byte pad;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XConfigureEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XConfigureEvent.java
deleted file mode 100644
index b5d3810..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XConfigureEvent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XConfigureEvent extends XEvent {
-	public int serial;
-	public int send_event;
-	public int display;
-	public int event;
-	public int window;
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int above;
-	public int override_redirect;
-	public static final int sizeof = 52;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCreateWindowEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCreateWindowEvent.java
deleted file mode 100644
index 6511555..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCreateWindowEvent.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.internal.motif;
-
- 
-public class XCreateWindowEvent extends XEvent {
-	public int serial;
-	public int send_event;
-	public int display;
-	public int parent;
-	public int window;
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int override_redirect;
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCrossingEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCrossingEvent.java
deleted file mode 100644
index 222270a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XCrossingEvent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XCrossingEvent extends XAnyEvent {
-	public int root;
-	public int subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int mode;
-	public int detail;
-	public int same_screen;
-	public int focus;
-	public int state;
-	public static final int sizeof = 68;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XDestroyWindowEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XDestroyWindowEvent.java
deleted file mode 100644
index 542fc31..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XDestroyWindowEvent.java
+++ /dev/null
@@ -1,21 +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.motif;
-
- 
-public class XDestroyWindowEvent extends XEvent {
-	public int serial;
-	public int send_event;
-	public int display;
-	public int event;
-	public int window;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XEvent.java
deleted file mode 100644
index 6aa58db..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XEvent.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.internal.motif;
-
- 
-public class XEvent {
-	public int type;
-	public static final int sizeof = 96;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XExposeEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XExposeEvent.java
deleted file mode 100644
index e0f861c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XExposeEvent.java
+++ /dev/null
@@ -1,21 +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.motif;
-
- 
-public class XExposeEvent extends XAnyEvent {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int count;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFocusChangeEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFocusChangeEvent.java
deleted file mode 100644
index 9f14adf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFocusChangeEvent.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XFocusChangeEvent extends XAnyEvent {
-	public int mode;
-	public int detail;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFontStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFontStruct.java
deleted file mode 100644
index eb7f16c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XFontStruct.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XFontStruct {
-	public int ext_data;
-	public int fid;
-	public int direction;
-	public int min_char_or_byte2;
-	public int max_char_or_byte2;
-	public int min_byte1;
-	public int max_byte1;
-	public int all_chars_exist;
-	public int default_char;
-	public int n_properties;
-	public int properties;
-	//XCharStruct min_bounds;
-	public short min_bounds_lbearing;
-	public short min_bounds_rbearing;
-	public short min_bounds_width;
-	public short min_bounds_ascent;
-	public short min_bounds_descent;
-	public short min_bounds_attributes;
-	//XCharStruct max_bounds;
-	public short max_bounds_lbearing;
-	public short max_bounds_rbearing;
-	public short max_bounds_width;
-	public short max_bounds_ascent;
-	public short max_bounds_descent;
-	public short max_bounds_attributes;
-	public int per_char;
-	public int ascent;
-	public int descent;
-	public static final int sizeof = 80;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XGCValues.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XGCValues.java
deleted file mode 100644
index bf6de2e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XGCValues.java
+++ /dev/null
@@ -1,39 +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.motif;
-
- 
-public class XGCValues {
-	public int function;
-	public int plane_mask;
-	public int foreground;
-	public int background;
-	public int line_width;
-	public int line_style;
-	public int cap_style;
-	public int join_style;
-	public int fill_style;
-	public int fill_rule;
-	public int arc_mode;
-	public int tile;
-	public int stipple;
-	public int ts_x_origin;
-	public int ts_y_origin;
-	public int font;
-	public int subwindow_mode;
-	public int graphics_exposures;
-	public int clip_x_origin;
-	public int clip_y_origin;
-	public int clip_mask;
-	public int dash_offset;
-	public byte dashes;
-	public static final int sizeof = 92;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XIconSize.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XIconSize.java
deleted file mode 100644
index 0546620..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XIconSize.java
+++ /dev/null
@@ -1,22 +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.internal.motif;
-
- 
-public class XIconSize {
-	public int min_width;
-	public int min_height;
-	public int max_width;
-	public int max_height;
-	public int width_inc;
-	public int height_inc;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XImage.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XImage.java
deleted file mode 100644
index a184880..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XImage.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.internal.motif;
-
- 
-public class XImage {
-	public int width;
-	public int height;
-	public int xoffset;
-	public int format;
-	public int data;
-	public int byte_order;
-	public int bitmap_unit;
-	public int bitmap_bit_order;
-	public int bitmap_pad;
-	public int depth;
-	public int bytes_per_line;
-	public int bits_per_pixel;
-	public int red_mask;
-	public int green_mask;
-	public int blue_mask;
-	public int obdata;
-//	struct funcs {
-		public int create_image;
-		public int destroy_image;
-		public int get_pixel;
-		public int put_pixel;
-		public int sub_image;
-		public int add_pixel;
-// } f;
-	public static final int sizeof = 88;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XKeyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XKeyEvent.java
deleted file mode 100644
index 7b0808c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XKeyEvent.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XKeyEvent extends XAnyEvent {
-	public int root;
-	public int subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int state;
-	public int keycode;
-	public int same_screen;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XModifierKeymap.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XModifierKeymap.java
deleted file mode 100644
index 3284055..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XModifierKeymap.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XModifierKeymap {
-	public int max_keypermod;
-	public int modifiermap;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XMotionEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XMotionEvent.java
deleted file mode 100644
index 9a49d5d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XMotionEvent.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XMotionEvent extends XAnyEvent {
-	public int root;
-	public int subwindow;
-	public int time;
-	public int x;
-	public int y;
-	public int x_root;
-	public int y_root;
-	public int state;
-	public int is_hint;
-	public int same_screen;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XPropertyEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XPropertyEvent.java
deleted file mode 100644
index 4a5a06f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XPropertyEvent.java
+++ /dev/null
@@ -1,19 +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.motif;
-
- 
-public class XPropertyEvent extends XAnyEvent {
-	public int atom;
-	public int time;
-	public int state;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRectangle.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRectangle.java
deleted file mode 100644
index 8fa9e3a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRectangle.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XRectangle {
-	public short x;
-	public short y;
-	public short width;
-	public short height;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRenderPictureAttributes.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRenderPictureAttributes.java
deleted file mode 100644
index 2faec4b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XRenderPictureAttributes.java
+++ /dev/null
@@ -1,29 +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.motif;
-
- 
-public class XRenderPictureAttributes {
-	public boolean repeat;
-	public int /*long*/ alpha_map;
-	public int alpha_x_origin;
-	public int alpha_y_origin;
-	public int clip_x_origin;
-	public int clip_y_origin;
-	public int /*long*/ clip_mask;
-	public boolean graphics_exposures;
-	public int subwindow_mode;
-	public int poly_edge;
-	public int poly_mode;
-	public int /*long*/ dither;
-	public boolean component_alpha;
-	public static final int sizeof = OS.XRenderPictureAttributes_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XReparentEvent.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XReparentEvent.java
deleted file mode 100644
index bb30e87..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XReparentEvent.java
+++ /dev/null
@@ -1,25 +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.motif;
-
- 
-public class XReparentEvent extends XEvent {
-	public int serial;
-	public int send_event;
-	public int display;
-	public int event;
-	public int window;
-	public int parent;
-	public int x;
-	public int y;
-	public int override_redirect;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSetWindowAttributes.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSetWindowAttributes.java
deleted file mode 100644
index e9a6586..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSetWindowAttributes.java
+++ /dev/null
@@ -1,31 +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.motif;
-
- 
-public class XSetWindowAttributes {
-	public int background_pixmap;
-	public int background_pixel;
-	public int border_pixmap;
-	public int border_pixel;
-	public int bit_gravity;
-	public int win_gravity;
-	public int backing_store;
-	public int backing_planes;
-	public int backing_pixel;
-	public int save_under;
-	public int event_mask;
-	public int do_not_propagate_mask;
-	public int override_redirect;
-	public int colormap;
-	public int cursor;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSizeHints.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSizeHints.java
deleted file mode 100644
index 27f5037..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XSizeHints.java
+++ /dev/null
@@ -1,25 +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.internal.motif;
-
- 
-public class XSizeHints {
-	public int flags;
-	public int x, y;
-	public int width, height;
-	public int min_width, min_height;
-	public int max_width, max_height;
-	public int width_inc, height_inc;
-	public int aspect_x, aspect_y;
-    public int base_width, base_height;
-    public int win_gravity;
-	public static final int sizeof = 72;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XTextProperty.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XTextProperty.java
deleted file mode 100644
index f4c1163..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XTextProperty.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XTextProperty {
-	public int value;
-	public int encoding;
-	public int format;
-	public int nitems;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowAttributes.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowAttributes.java
deleted file mode 100644
index 24c4c34..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowAttributes.java
+++ /dev/null
@@ -1,39 +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.motif;
-
- 
-public class XWindowAttributes {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int depth;
-	public int visual;
-	public int root;
-	public int c_class;
-	public int bit_gravity;
-  	public int win_gravity;
-	public int backing_store;
-	public int backing_planes;
-	public int backing_pixel;
-	public int save_under;
-	public int colormap;
-	public int map_installed;
-	public int map_state;
-	public int all_event_masks;
-	public int your_event_mask;
-	public int do_not_propagate_mask;
-	public int override_redirect;
-	public int screen;
-	public static final int sizeof = 92;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowChanges.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowChanges.java
deleted file mode 100644
index dfa0bef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XWindowChanges.java
+++ /dev/null
@@ -1,23 +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.motif;
-
- 
-public class XWindowChanges {
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int sibling;
-	public int stack_mode;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XineramaScreenInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XineramaScreenInfo.java
deleted file mode 100644
index e0c46ab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XineramaScreenInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
-public class XineramaScreenInfo {
-	public int screen_number;
-	public short x_org;
-	public short y_org;
-	public short width;
-	public short height;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmAnyCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmAnyCallbackStruct.java
deleted file mode 100644
index 763496c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmAnyCallbackStruct.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XmAnyCallbackStruct {
-	public int reason;
-	public int event;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDragProcCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDragProcCallbackStruct.java
deleted file mode 100644
index cd6cb3c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDragProcCallbackStruct.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.motif;
-
- 
-public class XmDragProcCallbackStruct extends XmAnyCallbackStruct {
-	public int timeStamp;
-	public int dragContext;
-	public short x;
-	public short y;
-	public byte dropSiteStatus;
-	public byte operation;
-	public byte operations;
-	public byte animate;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropFinishCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropFinishCallbackStruct.java
deleted file mode 100644
index ef91974..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropFinishCallbackStruct.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XmDropFinishCallbackStruct extends XmAnyCallbackStruct {
-	public int timeStamp;
-	public byte operation;
-	public byte operations;
-	public byte dropSiteStatus;
-	public byte dropAction;
-	public byte completionStatus;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropProcCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropProcCallbackStruct.java
deleted file mode 100644
index 63cd1c6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmDropProcCallbackStruct.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.motif;
-
- 
-public class XmDropProcCallbackStruct extends XmAnyCallbackStruct {
-	public int timeStamp;
-	public int dragContext;
-	public short x;
-	public short y;
-	public byte dropSiteStatus;
-	public byte operation;
-	public byte operations;
-	public byte dropAction;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmSpinBoxCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmSpinBoxCallbackStruct.java
deleted file mode 100644
index 0f29a03..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmSpinBoxCallbackStruct.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.motif;
-
-
-public class XmSpinBoxCallbackStruct extends XmAnyCallbackStruct {
-	public int widget;
-	public byte doit;
-	public int position;
-	public int value;
-	public byte crossed_boundary;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextBlockRec.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextBlockRec.java
deleted file mode 100644
index 684c7ce..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextBlockRec.java
+++ /dev/null
@@ -1,19 +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.motif;
-
- 
-public class XmTextBlockRec {
-	public int ptr;
-	public int length;
-	public int format;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextVerifyCallbackStruct.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextVerifyCallbackStruct.java
deleted file mode 100644
index 73ad031..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XmTextVerifyCallbackStruct.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.motif;
-
- 
-public class XmTextVerifyCallbackStruct extends XmAnyCallbackStruct {
-	public byte doit;
-	public int currInsert;
-	public int newInsert;
-	public int startPos;
-	public int endPos;
-	public int text;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XtWidgetGeometry.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XtWidgetGeometry.java
deleted file mode 100644
index 81c55b9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/XtWidgetGeometry.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.motif;
-
- 
-public class XtWidgetGeometry {
-	public int request_mode;
-	public int x;
-	public int y;
-	public int width;
-	public int height;
-	public int border_width;
-	public int sibling;
-	public int stack_mode; 
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/package.html b/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/package.html
deleted file mode 100644
index d7d7f78..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif/org/eclipse/swt/internal/motif/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal Motif implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which represent the Motif
-platform interface that the aix, solaris, hp-ux, and some linux
-variants of SWT is built from.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.c
deleted file mode 100644
index 52bc737..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "gtk_structs.h"
-#include "gtk_stats.h"
-
-#define GTK_NATIVE(func) Java_org_eclipse_swt_internal_gtk_GTK_##func
-
-#ifndef NO__1GTK_1WIDGET_1HEIGHT
-JNIEXPORT jint JNICALL GTK_NATIVE(_1GTK_1WIDGET_1HEIGHT)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1HEIGHT_FUNC);
-	rc = (jint)GTK_WIDGET_HEIGHT((GtkWidget *)arg0);
-	GTK_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1HEIGHT_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1GTK_1WIDGET_1WIDTH
-JNIEXPORT jint JNICALL GTK_NATIVE(_1GTK_1WIDGET_1WIDTH)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1GTK_1WIDGET_1WIDTH_FUNC);
-	rc = (jint)GTK_WIDGET_WIDTH((GtkWidget *)arg0);
-	GTK_NATIVE_EXIT(env, that, _1GTK_1WIDGET_1WIDTH_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1signal_1connect
-JNIEXPORT jint JNICALL GTK_NATIVE(_1g_1signal_1connect)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1g_1signal_1connect_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)g_signal_connect((gpointer)arg0, (const gchar *)lparg1, (GCallback)arg2, (gpointer)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	GTK_NATIVE_EXIT(env, that, _1g_1signal_1connect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1events_1pending
-JNIEXPORT jint JNICALL GTK_NATIVE(_1gtk_1events_1pending)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1gtk_1events_1pending_FUNC);
-	rc = (jint)gtk_events_pending();
-	GTK_NATIVE_EXIT(env, that, _1gtk_1events_1pending_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1init_1check
-JNIEXPORT jboolean JNICALL GTK_NATIVE(_1gtk_1init_1check)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1gtk_1init_1check_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)gtk_init_check((int *)lparg0, (char ***)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1init_1check_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1main
-JNIEXPORT void JNICALL GTK_NATIVE(_1gtk_1main)
-	(JNIEnv *env, jclass that)
-{
-	GTK_NATIVE_ENTER(env, that, _1gtk_1main_FUNC);
-	gtk_main();
-	GTK_NATIVE_EXIT(env, that, _1gtk_1main_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1main_1iteration
-JNIEXPORT jint JNICALL GTK_NATIVE(_1gtk_1main_1iteration)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1gtk_1main_1iteration_FUNC);
-	rc = (jint)gtk_main_iteration();
-	GTK_NATIVE_EXIT(env, that, _1gtk_1main_1iteration_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1plug_1new
-JNIEXPORT jint JNICALL GTK_NATIVE(_1gtk_1plug_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1gtk_1plug_1new_FUNC);
-	rc = (jint)gtk_plug_new(arg0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1plug_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1destroy
-JNIEXPORT void JNICALL GTK_NATIVE(_1gtk_1widget_1destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GTK_NATIVE_ENTER(env, that, _1gtk_1widget_1destroy_FUNC);
-	gtk_widget_destroy((GtkWidget *)arg0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1widget_1destroy_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1show
-JNIEXPORT void JNICALL GTK_NATIVE(_1gtk_1widget_1show)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GTK_NATIVE_ENTER(env, that, _1gtk_1widget_1show_FUNC);
-	gtk_widget_show((GtkWidget *)arg0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1widget_1show_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1widget_1show_1now
-JNIEXPORT void JNICALL GTK_NATIVE(_1gtk_1widget_1show_1now)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GTK_NATIVE_ENTER(env, that, _1gtk_1widget_1show_1now_FUNC);
-	gtk_widget_show_now((GtkWidget *)arg0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1widget_1show_1now_FUNC);
-}
-#endif
-
-#ifndef NO__1gtk_1window_1new
-JNIEXPORT jint JNICALL GTK_NATIVE(_1gtk_1window_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GTK_NATIVE_ENTER(env, that, _1gtk_1window_1new_FUNC);
-	rc = (jint)gtk_window_new((GtkWindowType)arg0);
-	GTK_NATIVE_EXIT(env, that, _1gtk_1window_1new_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.h
deleted file mode 100644
index aaeffcd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#ifndef INC_gtk_H
-#define INC_gtk_H
-
-#define NDEBUG
-
-#include <stdio.h>
-#include <assert.h>
-
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-
-#include "gtk_custom.h"
-
-#endif /* INC_gtk_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_custom.h
deleted file mode 100644
index 3ca3ee1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_custom.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-/* Field accessors */
-#define GTK_WIDGET_HEIGHT(arg0) (arg0)->allocation.height
-#define GTK_WIDGET_WIDTH(arg0) (arg0)->allocation.width
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.c
deleted file mode 100644
index 33c414b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "gtk_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GTK_nativeFunctionCount = 12;
-int GTK_nativeFunctionCallCount[12];
-char * GTK_nativeFunctionNames[] = {
-	"_1GTK_1WIDGET_1HEIGHT",
-	"_1GTK_1WIDGET_1WIDTH",
-	"_1g_1signal_1connect",
-	"_1gtk_1events_1pending",
-	"_1gtk_1init_1check",
-	"_1gtk_1main",
-	"_1gtk_1main_1iteration",
-	"_1gtk_1plug_1new",
-	"_1gtk_1widget_1destroy",
-	"_1gtk_1widget_1show",
-	"_1gtk_1widget_1show_1now",
-	"_1gtk_1window_1new",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GTK_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GTK_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GTK_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GTK_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GTK_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GTK_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.h
deleted file mode 100644
index a044750..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_stats.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int GTK_nativeFunctionCount;
-extern int GTK_nativeFunctionCallCount[];
-extern char* GTK_nativeFunctionNames[];
-#define GTK_NATIVE_ENTER(env, that, func) GTK_nativeFunctionCallCount[func]++;
-#define GTK_NATIVE_EXIT(env, that, func) 
-#else
-#define GTK_NATIVE_ENTER(env, that, func) 
-#define GTK_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	_1GTK_1WIDGET_1HEIGHT_FUNC,
-	_1GTK_1WIDGET_1WIDTH_FUNC,
-	_1g_1signal_1connect_FUNC,
-	_1gtk_1events_1pending_FUNC,
-	_1gtk_1init_1check_FUNC,
-	_1gtk_1main_FUNC,
-	_1gtk_1main_1iteration_FUNC,
-	_1gtk_1plug_1new_FUNC,
-	_1gtk_1widget_1destroy_FUNC,
-	_1gtk_1widget_1show_FUNC,
-	_1gtk_1widget_1show_1now_FUNC,
-	_1gtk_1window_1new_FUNC,
-} GTK_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_structs.h
deleted file mode 100644
index 3be84dc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/library/gtk_structs.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "gtk.h"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/org/eclipse/swt/internal/gtk/GTK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/org/eclipse/swt/internal/gtk/GTK.java
deleted file mode 100644
index 44e9b50..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/motif_gtk/org/eclipse/swt/internal/gtk/GTK.java
+++ /dev/null
@@ -1,126 +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.gtk;
-
-import org.eclipse.swt.internal.*;
-
-public class GTK extends Platform {
-
-/** Natives */
-public static final native int _GTK_WIDGET_HEIGHT(int widget);
-public static final int GTK_WIDGET_HEIGHT(int widget) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_HEIGHT(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _GTK_WIDGET_WIDTH(int widget);
-public static final int GTK_WIDGET_WIDTH(int widget) {
-	lock.lock();
-	try {
-		return _GTK_WIDGET_WIDTH(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _g_signal_connect(int instance, byte[] detailed_signal, int proc, int data);
-public static final int g_signal_connect(int instance, byte[] detailed_signal, int proc, int data) {
-	lock.lock();
-	try {
-		return _g_signal_connect(instance, detailed_signal, proc, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_events_pending();
-public static final int gtk_events_pending() {
-	lock.lock();
-	try {
-		return _gtk_events_pending();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gtk_init_check(int[] argc, int[] argv);
-public static final boolean gtk_init_check(int[] argc, int[] argv) {
-	lock.lock();
-	try {
-		return _gtk_init_check(argc, argv);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_main();
-public static final void gtk_main() {
-	lock.lock();
-	try {
-		_gtk_main();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_main_iteration();
-public static final int gtk_main_iteration() {
-	lock.lock();
-	try {
-		return _gtk_main_iteration();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_plug_new(int socket_id);
-public static final int gtk_plug_new(int socket_id) {
-	lock.lock();
-	try {
-		return _gtk_plug_new(socket_id);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_destroy(int widget);
-public static final void gtk_widget_destroy(int widget) {
-	lock.lock();
-	try {
-		_gtk_widget_destroy(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_show(int widget);
-public static final void gtk_widget_show(int widget) {
-	lock.lock();
-	try {
-		_gtk_widget_show(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gtk_widget_show_now(int widget);
-public static final void gtk_widget_show_now(int widget) {
-	lock.lock();
-	try {
-		_gtk_widget_show_now(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gtk_window_new(int type);
-public static final int gtk_window_new(int type) {
-	lock.lock();
-	try {
-		return _gtk_window_new(type);
-	} finally {
-		lock.unlock();
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.sh b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.sh
deleted file mode 100644
index 837e8d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.sh
+++ /dev/null
@@ -1,20 +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
-#*******************************************************************************
-
-cd `dirname $0`
-
-OUTPUT_DIR=../../../org.eclipse.swt.photon.qnx.x86
-IVE_HOME=~/ive/bin
-
-export IVE_HOME OUTPUT_DIR
-
-make -f make_qnx.mak $1 $2 $3 $4
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.xml b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.xml
deleted file mode 100644
index 0b7ec41..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/build.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_photon_lib" basedir="../../..">
-
-<target name="init">
-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />	
-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-
-<target name="build_photon_lib" depends="init">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="install"/>
-	</exec>
-	<eclipse.refreshLocal resource="org.eclipse.swt.photon.qnx.x86" depth="infinite" />
-</target>
-
-<target name="clean">
-	<exec dir="./bin/library" executable="sh">
-		<arg line="${basedir}/bin/library/build.sh"/>
-		<arg line="clean"/>
-	</exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/make_qnx.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/make_qnx.mak
deleted file mode 100644
index c8f0b84..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/make_qnx.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
-#*******************************************************************************
-
-# Makefile for SWT libraries on Photon
-
-include make_common.mak
-
-# This makefile assumes IVE_HOME is set in the environment
-
-SWT_PREFIX=swt
-WS_PREFIX=photon
-SWT_VERSION=$(maj_ver)$(min_ver)
-SWT_LIB=lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-#SWT_DEBUG = -g  
-CFLAGS = -c -shared -O2 -DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) -w8 $(SWT_DEBUG) -DPHOTON -I$(IVE_HOME)/include
-LFLAGS = -shared -lph -lphrender -lPtWeb
-
-SWT_OBJS = swt.o os.o os_structs.o os_custom.o os_stats.o callback.o
-
-all: $(SWT_LIB)
-
-.c.o:
-	cc $(CFLAGS) $*.c
-
-$(SWT_LIB): $(SWT_OBJS)
-	cc -o $(SWT_LIB)  $(LFLAGS) $(SWT_OBJS)
-
-install: all
-	cp *.so $(OUTPUT_DIR)
-
-clean:
-	rm -f *.so *.o
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c
deleted file mode 100644
index fde3fcc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c
+++ /dev/null
@@ -1,3973 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_photon_OS_##func
-
-#ifndef NO_PfDecomposeStemToID
-JNIEXPORT jint JNICALL OS_NATIVE(PfDecomposeStemToID)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfDecomposeStemToID_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PfDecomposeStemToID(lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PfDecomposeStemToID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III
-JNIEXPORT jint JNICALL OS_NATIVE(PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3, jint arg4)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PfExtentText(lparg0, lparg1, (const char *)arg2, (const char *)arg3, arg4);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI
-JNIEXPORT jint JNICALL OS_NATIVE(PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jbyteArray arg2, jbyteArray arg3, jint arg4)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PfExtentText(lparg0, lparg1, (const char *)lparg2, (const char *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfExtentWideText
-JNIEXPORT jint JNICALL OS_NATIVE(PfExtentWideText)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jbyteArray arg2, jcharArray arg3, jint arg4)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfExtentWideText_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PfExtentWideText(lparg0, lparg1, (const char *)lparg2, (const uint16_t *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PfExtentWideText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfFontDescription
-JNIEXPORT jint JNICALL OS_NATIVE(PfFontDescription)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfFontDescription_FUNC);
-	rc = (jint)PfFontDescription((FontID *)arg0);
-	OS_NATIVE_EXIT(env, that, PfFontDescription_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfFontFlags
-JNIEXPORT jint JNICALL OS_NATIVE(PfFontFlags)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfFontFlags_FUNC);
-	rc = (jint)PfFontFlags((FontID *)arg0);
-	OS_NATIVE_EXIT(env, that, PfFontFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfFontSize
-JNIEXPORT jint JNICALL OS_NATIVE(PfFontSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfFontSize_FUNC);
-	rc = (jint)PfFontSize((FontID *)arg0);
-	OS_NATIVE_EXIT(env, that, PfFontSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfFreeFont
-JNIEXPORT jint JNICALL OS_NATIVE(PfFreeFont)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfFreeFont_FUNC);
-	rc = (jint)PfFreeFont((FontID *)arg0);
-	OS_NATIVE_EXIT(env, that, PfFreeFont_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfGenerateFontName
-JNIEXPORT jint JNICALL OS_NATIVE(PfGenerateFontName)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfGenerateFontName_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PfGenerateFontName((char const *)lparg0, arg1, arg2, (char *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PfGenerateFontName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfLoadMetrics
-JNIEXPORT jint JNICALL OS_NATIVE(PfLoadMetrics)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfLoadMetrics_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PfLoadMetrics((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PfLoadMetrics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfQueryFontInfo
-JNIEXPORT jint JNICALL OS_NATIVE(PfQueryFontInfo)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jobject arg1)
-{
-	jbyte *lparg0=NULL;
-	FontQueryInfo _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfQueryFontInfo_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getFontQueryInfoFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PfQueryFontInfo((const char *)lparg0, (FontQueryInfo *)lparg1);
-fail:
-	if (arg1 && lparg1) setFontQueryInfoFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PfQueryFontInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PfQueryFonts
-JNIEXPORT jint JNICALL OS_NATIVE(PfQueryFonts)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PfQueryFonts_FUNC);
-	rc = (jint)PfQueryFonts(arg0, arg1, (FontDetails *)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, PfQueryFonts_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgAlphaOff
-JNIEXPORT void JNICALL OS_NATIVE(PgAlphaOff)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, PgAlphaOff_FUNC);
-	PgAlphaOff();
-	OS_NATIVE_EXIT(env, that, PgAlphaOff_FUNC);
-}
-#endif
-
-#ifndef NO_PgAlphaOn
-JNIEXPORT void JNICALL OS_NATIVE(PgAlphaOn)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, PgAlphaOn_FUNC);
-	PgAlphaOn();
-	OS_NATIVE_EXIT(env, that, PgAlphaOn_FUNC);
-}
-#endif
-
-#ifndef NO_PgCreateGC
-JNIEXPORT jint JNICALL OS_NATIVE(PgCreateGC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgCreateGC_FUNC);
-	rc = (jint)PgCreateGC(arg0);
-	OS_NATIVE_EXIT(env, that, PgCreateGC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDestroyGC
-JNIEXPORT void JNICALL OS_NATIVE(PgDestroyGC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PgDestroyGC_FUNC);
-	PgDestroyGC((PhGC_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PgDestroyGC_FUNC);
-}
-#endif
-
-#ifndef NO_PgDrawArc
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawArc)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3, jint arg4)
-{
-	PhPoint_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawArc_FUNC);
-	if (arg0) if ((lparg0 = getPhPoint_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PgDrawArc(lparg0, lparg1, arg2, arg3, arg4);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhPoint_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawArc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawArrow
-JNIEXPORT void JNICALL OS_NATIVE(PgDrawArrow)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jint arg2, jint arg3)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PgDrawArrow_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	PgDrawArrow(lparg0, arg1, (PgColor_t)arg2, arg3);
-fail:
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawArrow_FUNC);
-}
-#endif
-
-#ifndef NO_PgDrawBitmap
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jint arg5)
-{
-	PhPoint_t _arg2, *lparg2=NULL;
-	PhDim_t _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawBitmap_FUNC);
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getPhDim_tFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)PgDrawBitmap((void const *)arg0, (int)arg1, (PhPoint_t *)lparg2, (PhPoint_t *)lparg3, (int)arg4, (long)arg5);
-fail:
-	if (arg3 && lparg3) setPhDim_tFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PgDrawBitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawEllipse
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawEllipse)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2)
-{
-	PhPoint_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawEllipse_FUNC);
-	if (arg0) if ((lparg0 = getPhPoint_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PgDrawEllipse(lparg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhPoint_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawEllipse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawGradient
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawGradient)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jbyteArray arg10)
-{
-	PhPoint_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg10=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawGradient_FUNC);
-	if (arg0) if ((lparg0 = getPhPoint_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg10) if ((lparg10 = (*env)->GetByteArrayElements(env, arg10, NULL)) == NULL) goto fail;
-	rc = (jint)PgDrawGradient(lparg0, lparg1, arg2, arg3, arg4, (PgColor_t)arg5, (PgColor_t)arg6, (PgColor_t)arg7, (PgColor_t)arg8, arg9, (unsigned char *)lparg10);
-fail:
-	if (arg10 && lparg10) (*env)->ReleaseByteArrayElements(env, arg10, lparg10, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhPoint_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawGradient_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawILine
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawILine)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawILine_FUNC);
-	rc = (jint)PgDrawILine(arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, PgDrawILine_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawIPixel
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawIPixel)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawIPixel_FUNC);
-	rc = (jint)PgDrawIPixel(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PgDrawIPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawIRect
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawIRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawIRect_FUNC);
-	rc = (jint)PgDrawIRect(arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, PgDrawIRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawImage
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jint arg5)
-{
-	PhPoint_t _arg2, *lparg2=NULL;
-	PhDim_t _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawImage_FUNC);
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getPhDim_tFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)PgDrawImage((void const *)arg0, arg1, lparg2, lparg3, arg4, arg5);
-fail:
-	if (arg3 && lparg3) setPhDim_tFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PgDrawImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawMultiTextArea
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawMultiTextArea)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg0=NULL;
-	PhRect_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawMultiTextArea_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhRect_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PgDrawMultiTextArea((char *)lparg0, arg1, lparg2, arg3, arg4, arg5);
-fail:
-	if (arg2 && lparg2) setPhRect_tFields(env, arg2, lparg2);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgDrawMultiTextArea_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawPhImageRectmx
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawPhImageRectmx)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jobject arg2, jint arg3)
-{
-	PhPoint_t _arg0, *lparg0=NULL;
-	PhRect_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawPhImageRectmx_FUNC);
-	if (arg0) if ((lparg0 = getPhPoint_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhRect_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PgDrawPhImageRectmx(lparg0, (PhImage_t const *)arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setPhRect_tFields(env, arg2, lparg2);
-	if (arg0 && lparg0) setPhPoint_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawPhImageRectmx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawPolygon
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawPolygon)
-	(JNIEnv *env, jclass that, jshortArray arg0, jint arg1, jobject arg2, jint arg3)
-{
-	jshort *lparg0=NULL;
-	PhPoint_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawPolygon_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PgDrawPolygon((PhPoint_t const *)lparg0, arg1, (PhPoint_t const *)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	if (arg0 && lparg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgDrawPolygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawRoundRect
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawRoundRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawRoundRect_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PgDrawRoundRect((PhRect_t const *)lparg0, (PhPoint_t const *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgDrawRoundRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawTImage
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawTImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	PhPoint_t _arg2, *lparg2=NULL;
-	PhDim_t _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawTImage_FUNC);
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getPhDim_tFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)PgDrawTImage((void const *)arg0, arg1, (PhPoint_t const *)lparg2, (PhDim_t const *)lparg3, arg4, arg5, (void const *)arg6, arg7);
-fail:
-	if (arg3 && lparg3) setPhDim_tFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PgDrawTImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgDrawText
-JNIEXPORT jint JNICALL OS_NATIVE(PgDrawText)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jobject arg2, jint arg3)
-{
-	jbyte *lparg0=NULL;
-	PhPoint_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgDrawText_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PgDrawText((char const *)lparg0, arg1, (PhPoint_t *)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgDrawText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgExtentMultiText
-JNIEXPORT jint JNICALL OS_NATIVE(PgExtentMultiText)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jint arg5)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgExtentMultiText_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PgExtentMultiText((PhRect_t *)lparg0, (PhPoint_t *)lparg1, (char *)lparg2, (char *)lparg3, arg4, arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgExtentMultiText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgFlush
-JNIEXPORT jint JNICALL OS_NATIVE(PgFlush)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgFlush_FUNC);
-	rc = (jint)PgFlush();
-	OS_NATIVE_EXIT(env, that, PgFlush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgGetVideoMode
-JNIEXPORT jint JNICALL OS_NATIVE(PgGetVideoMode)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PgDisplaySettings_t _arg0={0}, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgGetVideoMode_FUNC);
-	if (arg0) if ((lparg0 = getPgDisplaySettings_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PgGetVideoMode((PgDisplaySettings_t *)lparg0);
-fail:
-	if (arg0 && lparg0) setPgDisplaySettings_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgGetVideoMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgGetVideoModeInfo
-JNIEXPORT jint JNICALL OS_NATIVE(PgGetVideoModeInfo)
-	(JNIEnv *env, jclass that, jshort arg0, jobject arg1)
-{
-	PgVideoModeInfo_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgGetVideoModeInfo_FUNC);
-	if (arg1) if ((lparg1 = getPgVideoModeInfo_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PgGetVideoModeInfo(arg0, (PgVideoModeInfo_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPgVideoModeInfo_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PgGetVideoModeInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgReadScreen
-JNIEXPORT jint JNICALL OS_NATIVE(PgReadScreen)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgReadScreen_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PgReadScreen((PhRect_t *)lparg0, (void *)arg1);
-fail:
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgReadScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgReadScreenSize
-JNIEXPORT jint JNICALL OS_NATIVE(PgReadScreenSize)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgReadScreenSize_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PgReadScreenSize((PhRect_t *)lparg0);
-fail:
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgReadScreenSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetAlpha
-JNIEXPORT void JNICALL OS_NATIVE(PgSetAlpha)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jbyte arg3, jbyte arg4)
-{
-	PgMap_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, PgSetAlpha_FUNC);
-	if (arg1) if ((lparg1 = getPgMap_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	PgSetAlpha(arg0, (PgMap_t const *)lparg1, (PgGradient_t const *)arg2, arg3, arg4);
-fail:
-	if (arg1 && lparg1) setPgMap_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PgSetAlpha_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetClipping
-JNIEXPORT void JNICALL OS_NATIVE(PgSetClipping)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PgSetClipping_FUNC);
-	PgSetClipping(arg0, (PhRect_t const *)arg1);
-	OS_NATIVE_EXIT(env, that, PgSetClipping_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetDrawBufferSize
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetDrawBufferSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetDrawBufferSize_FUNC);
-	rc = (jint)PgSetDrawBufferSize(arg0);
-	OS_NATIVE_EXIT(env, that, PgSetDrawBufferSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetDrawMode
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetDrawMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetDrawMode_FUNC);
-	rc = (jint)PgSetDrawMode(arg0);
-	OS_NATIVE_EXIT(env, that, PgSetDrawMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetFillColor
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetFillColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetFillColor_FUNC);
-	rc = (jint)PgSetFillColor((PgColor_t)arg0);
-	OS_NATIVE_EXIT(env, that, PgSetFillColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetFillTransPat
-JNIEXPORT void JNICALL OS_NATIVE(PgSetFillTransPat)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PgSetFillTransPat_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	PgSetFillTransPat((PgPattern_t)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgSetFillTransPat_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetFont
-JNIEXPORT void JNICALL OS_NATIVE(PgSetFont)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PgSetFont_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	PgSetFont((char const *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgSetFont_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetGC
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetGC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetGC_FUNC);
-	rc = (jint)PgSetGC((PhGC_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PgSetGC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetMultiClip
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetMultiClip)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetMultiClip_FUNC);
-	rc = (jint)PgSetMultiClip(arg0, (PhRect_t const *)arg1);
-	OS_NATIVE_EXIT(env, that, PgSetMultiClip_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetPalette
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2, jshort arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetPalette_FUNC);
-	rc = (jint)PgSetPalette((PgColor_t const *)arg0, arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, PgSetPalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetRegion
-JNIEXPORT void JNICALL OS_NATIVE(PgSetRegion)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PgSetRegion_FUNC);
-	PgSetRegion((PhRid_t)arg0);
-	OS_NATIVE_EXIT(env, that, PgSetRegion_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetStrokeCap
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetStrokeCap)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetStrokeCap_FUNC);
-	rc = (jint)PgSetStrokeCap(arg0);
-	OS_NATIVE_EXIT(env, that, PgSetStrokeCap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetStrokeColor
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetStrokeColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetStrokeColor_FUNC);
-	rc = (jint)PgSetStrokeColor((PgColor_t)arg0);
-	OS_NATIVE_EXIT(env, that, PgSetStrokeColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetStrokeDash
-JNIEXPORT void JNICALL OS_NATIVE(PgSetStrokeDash)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PgSetStrokeDash_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	PgSetStrokeDash((unsigned char const *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PgSetStrokeDash_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetStrokeJoin
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetStrokeJoin)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetStrokeJoin_FUNC);
-	rc = (jint)PgSetStrokeJoin(arg0);
-	OS_NATIVE_EXIT(env, that, PgSetStrokeJoin_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetStrokeWidth
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetStrokeWidth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetStrokeWidth_FUNC);
-	rc = (jint)PgSetStrokeWidth(arg0);
-	OS_NATIVE_EXIT(env, that, PgSetStrokeWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetTextColor
-JNIEXPORT jint JNICALL OS_NATIVE(PgSetTextColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgSetTextColor_FUNC);
-	rc = (jint)PgSetTextColor((PgColor_t)arg0);
-	OS_NATIVE_EXIT(env, that, PgSetTextColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgSetTextXORColor
-JNIEXPORT void JNICALL OS_NATIVE(PgSetTextXORColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PgSetTextXORColor_FUNC);
-	PgSetTextXORColor((PgColor_t)arg0, (PgColor_t)arg1);
-	OS_NATIVE_EXIT(env, that, PgSetTextXORColor_FUNC);
-}
-#endif
-
-#ifndef NO_PgSetUserClip
-JNIEXPORT void JNICALL OS_NATIVE(PgSetUserClip)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, PgSetUserClip_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	PgSetUserClip((PhRect_t const *)lparg0);
-fail:
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PgSetUserClip_FUNC);
-}
-#endif
-
-#ifndef NO_PgShmemCreate
-JNIEXPORT jint JNICALL OS_NATIVE(PgShmemCreate)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgShmemCreate_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PgShmemCreate(arg0, (char const *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PgShmemCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PgShmemDestroy
-JNIEXPORT jint JNICALL OS_NATIVE(PgShmemDestroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PgShmemDestroy_FUNC);
-	rc = (jint)PgShmemDestroy((void *)arg0);
-	OS_NATIVE_EXIT(env, that, PgShmemDestroy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhAddMergeTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhAddMergeTiles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhAddMergeTiles_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PhAddMergeTiles((PhTile_t *)arg0, (PhTile_t *)arg1, (int *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PhAddMergeTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhAreaToRect
-JNIEXPORT void JNICALL OS_NATIVE(PhAreaToRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	PhArea_t _arg0, *lparg0=NULL;
-	PhRect_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, PhAreaToRect_FUNC);
-	if (arg0) if ((lparg0 = getPhArea_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	PhAreaToRect((PhArea_t const *)lparg0, (PhRect_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhArea_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PhAreaToRect_FUNC);
-}
-#endif
-
-#ifndef NO_PhBlit
-JNIEXPORT void JNICALL OS_NATIVE(PhBlit)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	PhPoint_t _arg2, *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, PhBlit_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	PhBlit((PhRid_t)arg0, (const PhRect_t *)lparg1, (const PhPoint_t *)lparg2);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PhBlit_FUNC);
-}
-#endif
-
-#ifndef NO_PhClipTilings
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipTilings)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipTilings_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PhClipTilings((PhTile_t *)arg0, (PhTile_t *)arg1, (PhTile_t **)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PhClipTilings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardCopy
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardCopy)
-	(JNIEnv *env, jclass that, jshort arg0, jint arg1, jbyteArray arg2)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardCopy_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PhClipboardCopy(arg0, arg1, (PhClipHeader const *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PhClipboardCopy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardCopyString
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardCopyString)
-	(JNIEnv *env, jclass that, jshort arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardCopyString_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PhClipboardCopyString(arg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PhClipboardCopyString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardPasteFinish
-JNIEXPORT void JNICALL OS_NATIVE(PhClipboardPasteFinish)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PhClipboardPasteFinish_FUNC);
-	PhClipboardPasteFinish((void *)arg0);
-	OS_NATIVE_EXIT(env, that, PhClipboardPasteFinish_FUNC);
-}
-#endif
-
-#ifndef NO_PhClipboardPasteStart
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardPasteStart)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardPasteStart_FUNC);
-	rc = (jint)PhClipboardPasteStart(arg0);
-	OS_NATIVE_EXIT(env, that, PhClipboardPasteStart_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardPasteString
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardPasteString)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardPasteString_FUNC);
-	rc = (jint)PhClipboardPasteString(arg0);
-	OS_NATIVE_EXIT(env, that, PhClipboardPasteString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardPasteType
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardPasteType)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardPasteType_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PhClipboardPasteType((void *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PhClipboardPasteType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhClipboardPasteTypeN
-JNIEXPORT jint JNICALL OS_NATIVE(PhClipboardPasteTypeN)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhClipboardPasteTypeN_FUNC);
-	rc = (jint)PhClipboardPasteTypeN((void *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PhClipboardPasteTypeN_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhCoalesceTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhCoalesceTiles)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhCoalesceTiles_FUNC);
-	rc = (jint)PhCoalesceTiles((PhTile_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhCoalesceTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhCopyTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhCopyTiles)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhCopyTiles_FUNC);
-	rc = (jint)PhCopyTiles((PhTile_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhCopyTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhCreateImage
-JNIEXPORT jint JNICALL OS_NATIVE(PhCreateImage)
-	(JNIEnv *env, jclass that, jobject arg0, jshort arg1, jshort arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	PhImage_t _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhCreateImage_FUNC);
-	if (arg0) if ((lparg0 = getPhImage_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PhCreateImage((PhImage_t *)lparg0, arg1, arg2, arg3, (PgColor_t const *)arg4, arg5, arg6);
-fail:
-	if (arg0 && lparg0) setPhImage_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PhCreateImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhDCSetCurrent
-JNIEXPORT jint JNICALL OS_NATIVE(PhDCSetCurrent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhDCSetCurrent_FUNC);
-	rc = (jint)PhDCSetCurrent((void *)arg0);
-	OS_NATIVE_EXIT(env, that, PhDCSetCurrent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhDeTranslateTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhDeTranslateTiles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhDeTranslateTiles_FUNC);
-	rc = (jint)PhDeTranslateTiles((PhTile_t *)arg0, (PhPoint_t const *)arg1);
-	OS_NATIVE_EXIT(env, that, PhDeTranslateTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhEventNext
-JNIEXPORT jint JNICALL OS_NATIVE(PhEventNext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhEventNext_FUNC);
-	rc = (jint)PhEventNext((void *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PhEventNext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhEventPeek
-JNIEXPORT jint JNICALL OS_NATIVE(PhEventPeek)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhEventPeek_FUNC);
-	rc = (jint)PhEventPeek((void *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PhEventPeek_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhFreeTiles
-JNIEXPORT void JNICALL OS_NATIVE(PhFreeTiles)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PhFreeTiles_FUNC);
-	PhFreeTiles((PhTile_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhFreeTiles_FUNC);
-}
-#endif
-
-#ifndef NO_PhGetData
-JNIEXPORT jint JNICALL OS_NATIVE(PhGetData)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhGetData_FUNC);
-	rc = (jint)PhGetData((PhEvent_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhGetData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhGetMsgSize
-JNIEXPORT jint JNICALL OS_NATIVE(PhGetMsgSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhGetMsgSize_FUNC);
-	rc = (jint)PhGetMsgSize((PhEvent_t const *)arg0);
-	OS_NATIVE_EXIT(env, that, PhGetMsgSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhGetRects
-JNIEXPORT jint JNICALL OS_NATIVE(PhGetRects)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhGetRects_FUNC);
-	rc = (jint)PhGetRects((PhEvent_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhGetRects_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhInitDrag
-JNIEXPORT jint JNICALL OS_NATIVE(PhInitDrag)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jobject arg5, jobject arg6, jobject arg7, jobject arg8, jshortArray arg9)
-{
-	PhRect_t _arg2, *lparg2=NULL;
-	PhRect_t _arg3, *lparg3=NULL;
-	PhDim_t _arg5, *lparg5=NULL;
-	PhDim_t _arg6, *lparg6=NULL;
-	PhDim_t _arg7, *lparg7=NULL;
-	PhPoint_t _arg8, *lparg8=NULL;
-	jshort *lparg9=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhInitDrag_FUNC);
-	if (arg2) if ((lparg2 = getPhRect_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getPhRect_tFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getPhDim_tFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getPhDim_tFields(env, arg6, &_arg6)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getPhDim_tFields(env, arg7, &_arg7)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = getPhPoint_tFields(env, arg8, &_arg8)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetShortArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jint)PhInitDrag((PhRid_t)arg0, arg1, (const PhRect_t *)lparg2, (const PhRect_t *)lparg3, arg4, (PhDim_t *)lparg5, (PhDim_t *)lparg6, (PhDim_t *)lparg7, (PhPoint_t *)lparg8, (PhCursorDescription_t *)lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseShortArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) setPhPoint_tFields(env, arg8, lparg8);
-	if (arg7 && lparg7) setPhDim_tFields(env, arg7, lparg7);
-	if (arg6 && lparg6) setPhDim_tFields(env, arg6, lparg6);
-	if (arg5 && lparg5) setPhDim_tFields(env, arg5, lparg5);
-	if (arg3 && lparg3) setPhRect_tFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setPhRect_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PhInitDrag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhInputGroup
-JNIEXPORT jint JNICALL OS_NATIVE(PhInputGroup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhInputGroup_FUNC);
-	rc = (jint)PhInputGroup((PhEvent_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhInputGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhIntersectTilings
-JNIEXPORT jint JNICALL OS_NATIVE(PhIntersectTilings)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshortArray arg2)
-{
-	jshort *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhIntersectTilings_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PhIntersectTilings((PhTile_t const *)arg0, (PhTile_t const *)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PhIntersectTilings_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhKeyToMb
-JNIEXPORT jint JNICALL OS_NATIVE(PhKeyToMb)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jobject arg1)
-{
-	jbyte *lparg0=NULL;
-	PhKeyEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhKeyToMb_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhKeyEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PhKeyToMb((char *)lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPhKeyEvent_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PhKeyToMb_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhMakeGhostBitmap
-JNIEXPORT jint JNICALL OS_NATIVE(PhMakeGhostBitmap)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhMakeGhostBitmap_FUNC);
-	rc = (jint)PhMakeGhostBitmap((PhImage_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhMakeGhostBitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhMakeTransBitmap
-JNIEXPORT jint JNICALL OS_NATIVE(PhMakeTransBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhMakeTransBitmap_FUNC);
-	rc = (jint)PhMakeTransBitmap((PhImage_t *)arg0, (PgColor_t)arg1);
-	OS_NATIVE_EXIT(env, that, PhMakeTransBitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhMergeTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhMergeTiles)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhMergeTiles_FUNC);
-	rc = (jint)PhMergeTiles((PhTile_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhMergeTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhMoveCursorAbs
-JNIEXPORT void JNICALL OS_NATIVE(PhMoveCursorAbs)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, PhMoveCursorAbs_FUNC);
-	PhMoveCursorAbs(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, PhMoveCursorAbs_FUNC);
-}
-#endif
-
-#ifndef NO_PhQueryCursor
-JNIEXPORT jint JNICALL OS_NATIVE(PhQueryCursor)
-	(JNIEnv *env, jclass that, jshort arg0, jobject arg1)
-{
-	PhCursorInfo_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhQueryCursor_FUNC);
-	if (arg1) if ((lparg1 = getPhCursorInfo_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PhQueryCursor(arg0, (PhCursorInfo_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhCursorInfo_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PhQueryCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhQueryRids
-JNIEXPORT jint JNICALL OS_NATIVE(PhQueryRids)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jobject arg6, jintArray arg7, jint arg8)
-{
-	PhRect_t _arg6, *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhQueryRids_FUNC);
-	if (arg6) if ((lparg6 = getPhRect_tFields(env, arg6, &_arg6)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)PhQueryRids(arg0, (PhRid_t)arg1, arg2, arg3, arg4, (PhRid_t)arg5, (const PhRect_t *)lparg6, (PhRid_t *)lparg7, arg8);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) setPhRect_tFields(env, arg6, lparg6);
-	OS_NATIVE_EXIT(env, that, PhQueryRids_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhRectIntersect
-JNIEXPORT jint JNICALL OS_NATIVE(PhRectIntersect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhRectIntersect_FUNC);
-	rc = (jint)PhRectIntersect((PhRect_t *)arg0, (PhRect_t const *)arg1);
-	OS_NATIVE_EXIT(env, that, PhRectIntersect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhRectUnion__II
-JNIEXPORT jint JNICALL OS_NATIVE(PhRectUnion__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhRectUnion__II_FUNC);
-	rc = (jint)PhRectUnion((PhRect_t *)arg0, (PhRect_t const *)arg1);
-	OS_NATIVE_EXIT(env, that, PhRectUnion__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2
-JNIEXPORT jint JNICALL OS_NATIVE(PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	if (arg0) if ((lparg0 = getPhRect_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PhRectUnion((PhRect_t *)lparg0, (PhRect_t const *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhRectsToTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhRectsToTiles)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhRectsToTiles_FUNC);
-	rc = (jint)PhRectsToTiles((PhRect_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PhRectsToTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhRegionQuery
-JNIEXPORT jint JNICALL OS_NATIVE(PhRegionQuery)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2, jint arg3, jint arg4)
-{
-	PhRegion_t _arg1, *lparg1=NULL;
-	PhRect_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhRegionQuery_FUNC);
-	if (arg1) if ((lparg1 = getPhRegion_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhRect_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PhRegionQuery((PhRid_t)arg0, (PhRegion_t *)lparg1, (PhRect_t *)lparg2, (void *)arg3, arg4);
-fail:
-	if (arg2 && lparg2) setPhRect_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPhRegion_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PhRegionQuery_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhReleaseImage
-JNIEXPORT void JNICALL OS_NATIVE(PhReleaseImage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PhReleaseImage_FUNC);
-	PhReleaseImage((PhImage_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhReleaseImage_FUNC);
-}
-#endif
-
-#ifndef NO_PhSortTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhSortTiles)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhSortTiles_FUNC);
-	rc = (jint)PhSortTiles((PhTile_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PhSortTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhTilesToRects
-JNIEXPORT jint JNICALL OS_NATIVE(PhTilesToRects)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhTilesToRects_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PhTilesToRects((PhTile_t *)arg0, (int *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PhTilesToRects_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhTranslateTiles
-JNIEXPORT jint JNICALL OS_NATIVE(PhTranslateTiles)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhTranslateTiles_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PhTranslateTiles((PhTile_t *)arg0, (PhPoint_t const *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PhTranslateTiles_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PhWindowQueryVisible
-JNIEXPORT jint JNICALL OS_NATIVE(PhWindowQueryVisible)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	PhRect_t _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PhWindowQueryVisible_FUNC);
-	if (arg3) if ((lparg3 = getPhRect_tFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)PhWindowQueryVisible(arg0, (PhRid_t)arg1, arg2, (PhRect_t *)lparg3);
-fail:
-	if (arg3 && lparg3) setPhRect_tFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, PhWindowQueryVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PiCropImage
-JNIEXPORT jint JNICALL OS_NATIVE(PiCropImage)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PiCropImage_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PiCropImage((PhImage_t *)arg0, (PhRect_t const *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PiCropImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PiDuplicateImage
-JNIEXPORT jint JNICALL OS_NATIVE(PiDuplicateImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PiDuplicateImage_FUNC);
-	rc = (jint)PiDuplicateImage((PhImage_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PiDuplicateImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PmMemCreateMC
-JNIEXPORT jint JNICALL OS_NATIVE(PmMemCreateMC)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PhDim_t _arg1, *lparg1=NULL;
-	PhPoint_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PmMemCreateMC_FUNC);
-	if (arg1) if ((lparg1 = getPhDim_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PmMemCreateMC((PhImage_t *)arg0, (PhDim_t *)lparg1, (PhPoint_t *)lparg2);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPhDim_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PmMemCreateMC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PmMemFlush
-JNIEXPORT jint JNICALL OS_NATIVE(PmMemFlush)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PmMemFlush_FUNC);
-	rc = (jint)PmMemFlush((PmMemoryContext_t *)arg0, (PhImage_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PmMemFlush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PmMemReleaseMC
-JNIEXPORT void JNICALL OS_NATIVE(PmMemReleaseMC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PmMemReleaseMC_FUNC);
-	PmMemReleaseMC((PmMemoryContext_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PmMemReleaseMC_FUNC);
-}
-#endif
-
-#ifndef NO_PmMemStart
-JNIEXPORT jint JNICALL OS_NATIVE(PmMemStart)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PmMemStart_FUNC);
-	rc = (jint)PmMemStart((PmMemoryContext_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PmMemStart_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PmMemStop
-JNIEXPORT jint JNICALL OS_NATIVE(PmMemStop)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PmMemStop_FUNC);
-	rc = (jint)PmMemStop((PmMemoryContext_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PmMemStop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAddCallback
-JNIEXPORT void JNICALL OS_NATIVE(PtAddCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, PtAddCallback_FUNC);
-	PtAddCallback((PtWidget_t *)arg0, arg1, (PtCallbackF_t *)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, PtAddCallback_FUNC);
-}
-#endif
-
-#ifndef NO_PtAddEventHandler
-JNIEXPORT void JNICALL OS_NATIVE(PtAddEventHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, PtAddEventHandler_FUNC);
-	PtAddEventHandler((PtWidget_t *)arg0, arg1, (PtCallbackF_t *)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, PtAddEventHandler_FUNC);
-}
-#endif
-
-#ifndef NO_PtAddFilterCallback
-JNIEXPORT void JNICALL OS_NATIVE(PtAddFilterCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, PtAddFilterCallback_FUNC);
-	PtAddFilterCallback((PtWidget_t *)arg0, arg1, (PtCallbackF_t *)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, PtAddFilterCallback_FUNC);
-}
-#endif
-
-#ifndef NO_PtAddHotkeyHandler
-JNIEXPORT void JNICALL OS_NATIVE(PtAddHotkeyHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshort arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, PtAddHotkeyHandler_FUNC);
-	PtAddHotkeyHandler((PtWidget_t *)arg0, arg1, arg2, arg3, (void *)arg4, (PtCallbackF_t *)arg5);
-	OS_NATIVE_EXIT(env, that, PtAddHotkeyHandler_FUNC);
-}
-#endif
-
-#ifndef NO_PtAlert
-JNIEXPORT jint JNICALL OS_NATIVE(PtAlert)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2, jint arg3, jbyteArray arg4, jbyteArray arg5, jint arg6, jintArray arg7, jintArray arg8, jint arg9, jint arg10, jint arg11)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAlert_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)PtAlert((PtWidget_t *)arg0, (PhPoint_t const *)lparg1, (char const *)lparg2, (PhImage_t const *)arg3, (char const *)lparg4, (char const *)lparg5, arg6, (char const **)lparg7, (char const **)lparg8, arg9, arg10, arg11);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtAlert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppAddInput
-JNIEXPORT jint JNICALL OS_NATIVE(PtAppAddInput)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAppAddInput_FUNC);
-	rc = (jint)PtAppAddInput((PtAppContext_t)arg0, (pid_t)arg1, (PtInputCallbackProc_t)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, PtAppAddInput_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppAddWorkProc
-JNIEXPORT jint JNICALL OS_NATIVE(PtAppAddWorkProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAppAddWorkProc_FUNC);
-	rc = (jint)PtAppAddWorkProc((PtAppContext_t)arg0, (PtWorkProc_t)arg1, (void *)arg2);
-	OS_NATIVE_EXIT(env, that, PtAppAddWorkProc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppCreatePulse
-JNIEXPORT jint JNICALL OS_NATIVE(PtAppCreatePulse)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAppCreatePulse_FUNC);
-	rc = (jint)PtAppCreatePulse((PtAppContext_t)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PtAppCreatePulse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppDeletePulse
-JNIEXPORT jint JNICALL OS_NATIVE(PtAppDeletePulse)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAppDeletePulse_FUNC);
-	rc = (jint)PtAppDeletePulse((PtAppContext_t)arg0, (pid_t)arg1);
-	OS_NATIVE_EXIT(env, that, PtAppDeletePulse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppProcessEvent
-JNIEXPORT void JNICALL OS_NATIVE(PtAppProcessEvent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PtAppProcessEvent_FUNC);
-	PtAppProcessEvent((PtAppContext_t)arg0);
-	OS_NATIVE_EXIT(env, that, PtAppProcessEvent_FUNC);
-}
-#endif
-
-#ifndef NO_PtAppPulseTrigger
-JNIEXPORT jint JNICALL OS_NATIVE(PtAppPulseTrigger)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtAppPulseTrigger_FUNC);
-	rc = (jint)PtAppPulseTrigger((PtAppContext_t)arg0, (pid_t)arg1);
-	OS_NATIVE_EXIT(env, that, PtAppPulseTrigger_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtAppRemoveInput
-JNIEXPORT void JNICALL OS_NATIVE(PtAppRemoveInput)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtAppRemoveInput_FUNC);
-	PtAppRemoveInput((PtAppContext_t)arg0, (PtInputId_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtAppRemoveInput_FUNC);
-}
-#endif
-
-#ifndef NO_PtAppRemoveWorkProc
-JNIEXPORT void JNICALL OS_NATIVE(PtAppRemoveWorkProc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtAppRemoveWorkProc_FUNC);
-	PtAppRemoveWorkProc((PtAppContext_t)arg0, (PtWorkProcId_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtAppRemoveWorkProc_FUNC);
-}
-#endif
-
-#ifndef NO_PtBeep
-JNIEXPORT jint JNICALL OS_NATIVE(PtBeep)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtBeep_FUNC);
-	rc = (jint)PtBeep();
-	OS_NATIVE_EXIT(env, that, PtBeep_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtBlit
-JNIEXPORT jint JNICALL OS_NATIVE(PtBlit)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	PhPoint_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtBlit_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PtBlit((PtWidget_t const *)arg0, (PhRect_t const *)lparg1, (PhPoint_t const *)lparg2);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtBlit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtBlockAllWindows
-JNIEXPORT jint JNICALL OS_NATIVE(PtBlockAllWindows)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtBlockAllWindows_FUNC);
-	rc = (jint)PtBlockAllWindows((PtWidget_t *)arg0, arg1, (PgColor_t)arg2);
-	OS_NATIVE_EXIT(env, that, PtBlockAllWindows_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtBlockWindow
-JNIEXPORT jint JNICALL OS_NATIVE(PtBlockWindow)
-	(JNIEnv *env, jclass that, jint arg0, jshort arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtBlockWindow_FUNC);
-	rc = (jint)PtBlockWindow((PtWidget_t *)arg0, arg1, (PgColor_t)arg2);
-	OS_NATIVE_EXIT(env, that, PtBlockWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtButton
-JNIEXPORT jint JNICALL OS_NATIVE(PtButton)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtButton_FUNC);
-	rc = (jint)PtButton;
-	OS_NATIVE_EXIT(env, that, PtButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtCalcBorder
-JNIEXPORT void JNICALL OS_NATIVE(PtCalcBorder)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, PtCalcBorder_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	PtCalcBorder((PtWidget_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtCalcBorder_FUNC);
-}
-#endif
-
-#ifndef NO_PtCalcCanvas
-JNIEXPORT jint JNICALL OS_NATIVE(PtCalcCanvas)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtCalcCanvas_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtCalcCanvas((PtWidget_t *)arg0, (PhRect_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtCalcCanvas_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtClippedBlit
-JNIEXPORT jint JNICALL OS_NATIVE(PtClippedBlit)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	PhPoint_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtClippedBlit_FUNC);
-	if (arg2) if ((lparg2 = getPhPoint_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PtClippedBlit((PtWidget_t const *)arg0, (PhTile_t const *)arg1, (PhPoint_t const *)lparg2, (PhTile_t const *)arg3);
-fail:
-	if (arg2 && lparg2) setPhPoint_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PtClippedBlit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtColorSelect
-JNIEXPORT jint JNICALL OS_NATIVE(PtColorSelect)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2)
-{
-	jbyte *lparg1=NULL;
-	PtColorSelectInfo_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtColorSelect_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPtColorSelectInfo_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PtColorSelect((PtWidget_t *)arg0, (char *)lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setPtColorSelectInfo_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtColorSelect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtComboBox
-JNIEXPORT jint JNICALL OS_NATIVE(PtComboBox)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtComboBox_FUNC);
-	rc = (jint)PtComboBox;
-	OS_NATIVE_EXIT(env, that, PtComboBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainer
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainer)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainer_FUNC);
-	rc = (jint)PtContainer;
-	OS_NATIVE_EXIT(env, that, PtContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerFindFocus
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerFindFocus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerFindFocus_FUNC);
-	rc = (jint)PtContainerFindFocus((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtContainerFindFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerFocusNext
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerFocusNext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerFocusNext_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtContainerFocusNext((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtContainerFocusNext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerFocusPrev
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerFocusPrev)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerFocusPrev_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtContainerFocusPrev((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtContainerFocusPrev_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerGiveFocus
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerGiveFocus)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerGiveFocus_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtContainerGiveFocus((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtContainerGiveFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerHold
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerHold)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerHold_FUNC);
-	rc = (jint)PtContainerHold((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtContainerHold_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtContainerRelease
-JNIEXPORT jint JNICALL OS_NATIVE(PtContainerRelease)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtContainerRelease_FUNC);
-	rc = (jint)PtContainerRelease((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtContainerRelease_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtCreateAppContext
-JNIEXPORT jint JNICALL OS_NATIVE(PtCreateAppContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtCreateAppContext_FUNC);
-	rc = (jint)PtCreateAppContext();
-	OS_NATIVE_EXIT(env, that, PtCreateAppContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtCreateWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtCreateWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtCreateWidget_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PtCreateWidget((PtWidgetClassRef_t *)arg0, (PtWidget_t *)arg1, arg2, (PtArg_t const *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, PtCreateWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtCreateWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(PtCreateWidgetClass)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtCreateWidgetClass_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)PtCreateWidgetClass((PtWidgetClassRef_t *)arg0, arg1, arg2, (PtArg_t const *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, PtCreateWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtDamageExtent
-JNIEXPORT jint JNICALL OS_NATIVE(PtDamageExtent)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtDamageExtent_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtDamageExtent((PtWidget_t *)arg0, (PhRect_t const *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtDamageExtent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtDamageWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtDamageWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtDamageWidget_FUNC);
-	rc = (jint)PtDamageWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtDamageWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtDestroyWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtDestroyWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtDestroyWidget_FUNC);
-	rc = (jint)PtDestroyWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtDestroyWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtDisjoint
-JNIEXPORT jint JNICALL OS_NATIVE(PtDisjoint)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtDisjoint_FUNC);
-	rc = (jint)PtDisjoint;
-	OS_NATIVE_EXIT(env, that, PtDisjoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtEnter
-JNIEXPORT jint JNICALL OS_NATIVE(PtEnter)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtEnter_FUNC);
-	rc = (jint)PtEnter(arg0);
-	OS_NATIVE_EXIT(env, that, PtEnter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtEventHandler
-JNIEXPORT jint JNICALL OS_NATIVE(PtEventHandler)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtEventHandler_FUNC);
-	rc = (jint)PtEventHandler((PhEvent_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtEventHandler_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtExtentWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtExtentWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtExtentWidget_FUNC);
-	rc = (jint)PtExtentWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtExtentWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtExtentWidgetFamily
-JNIEXPORT jint JNICALL OS_NATIVE(PtExtentWidgetFamily)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtExtentWidgetFamily_FUNC);
-	rc = (jint)PtExtentWidgetFamily((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtExtentWidgetFamily_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtFileSelection
-JNIEXPORT jint JNICALL OS_NATIVE(PtFileSelection)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2, jbyteArray arg3, jbyteArray arg4, jbyteArray arg5, jbyteArray arg6, jbyteArray arg7, jobject arg8, jint arg9)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jbyte *lparg6=NULL;
-	jbyte *lparg7=NULL;
-	PtFileSelectionInfo_t _arg8={0}, *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtFileSelection_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetByteArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = getPtFileSelectionInfo_tFields(env, arg8, &_arg8)) == NULL) goto fail;
-	rc = (jint)PtFileSelection((PtWidget_t *)arg0, (PhPoint_t const *)lparg1, (char const *)lparg2, (char const *)lparg3, (char const *)lparg4, (char const *)lparg5, (char const *)lparg6, (char const *)lparg7, (PtFileSelectionInfo_t *)lparg8, arg9);
-fail:
-	if (arg8 && lparg8) setPtFileSelectionInfo_tFields(env, arg8, lparg8);
-	if (arg7 && lparg7) (*env)->ReleaseByteArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtFileSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtFindDisjoint
-JNIEXPORT jint JNICALL OS_NATIVE(PtFindDisjoint)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtFindDisjoint_FUNC);
-	rc = (jint)PtFindDisjoint((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtFindDisjoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtFlush
-JNIEXPORT jint JNICALL OS_NATIVE(PtFlush)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtFlush_FUNC);
-	rc = (jint)PtFlush();
-	OS_NATIVE_EXIT(env, that, PtFlush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtFontSelection
-JNIEXPORT jint JNICALL OS_NATIVE(PtFontSelection)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jint arg5, jbyteArray arg6)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtFontSelection_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)PtFontSelection((PtWidget_t *)arg0, (const PhPoint_t *)lparg1, (const char *)lparg2, (const char *)lparg3, arg4, arg5, (const char *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtFontSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtForwardWindowEvent
-JNIEXPORT jint JNICALL OS_NATIVE(PtForwardWindowEvent)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PhWindowEvent_t _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtForwardWindowEvent_FUNC);
-	if (arg0) if ((lparg0 = getPhWindowEvent_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)PtForwardWindowEvent((PhWindowEvent_t const *)lparg0);
-fail:
-	if (arg0 && lparg0) setPhWindowEvent_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PtForwardWindowEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtFrameSize
-JNIEXPORT void JNICALL OS_NATIVE(PtFrameSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	OS_NATIVE_ENTER(env, that, PtFrameSize_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	PtFrameSize(arg0, arg1, lparg2, lparg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PtFrameSize_FUNC);
-}
-#endif
-
-#ifndef NO_PtGetAbsPosition
-JNIEXPORT void JNICALL OS_NATIVE(PtGetAbsPosition)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jshortArray arg2)
-{
-	jshort *lparg1=NULL;
-	jshort *lparg2=NULL;
-	OS_NATIVE_ENTER(env, that, PtGetAbsPosition_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetShortArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	PtGetAbsPosition((PtWidget_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseShortArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtGetAbsPosition_FUNC);
-}
-#endif
-
-#ifndef NO_PtGetResources
-JNIEXPORT jint JNICALL OS_NATIVE(PtGetResources)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGetResources_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PtGetResources((PtWidget_t *)arg0, arg1, (PtArg_t *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PtGetResources_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtGlobalFocusNext
-JNIEXPORT jint JNICALL OS_NATIVE(PtGlobalFocusNext)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGlobalFocusNext_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtGlobalFocusNext((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtGlobalFocusNext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtGlobalFocusNextContainer
-JNIEXPORT jint JNICALL OS_NATIVE(PtGlobalFocusNextContainer)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGlobalFocusNextContainer_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtGlobalFocusNextContainer((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtGlobalFocusNextContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtGlobalFocusPrev
-JNIEXPORT jint JNICALL OS_NATIVE(PtGlobalFocusPrev)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGlobalFocusPrev_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtGlobalFocusPrev((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtGlobalFocusPrev_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtGlobalFocusPrevContainer
-JNIEXPORT jint JNICALL OS_NATIVE(PtGlobalFocusPrevContainer)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGlobalFocusPrevContainer_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtGlobalFocusPrevContainer((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtGlobalFocusPrevContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtGroup
-JNIEXPORT jint JNICALL OS_NATIVE(PtGroup)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtGroup_FUNC);
-	rc = (jint)PtGroup;
-	OS_NATIVE_EXIT(env, that, PtGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtHit
-JNIEXPORT jint JNICALL OS_NATIVE(PtHit)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	PhRect_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtHit_FUNC);
-	if (arg2) if ((lparg2 = getPhRect_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PtHit(( PtWidget_t *)arg0, arg1, (PhRect_t const *)lparg2);
-fail:
-	if (arg2 && lparg2) setPhRect_tFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, PtHit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtHold
-JNIEXPORT jint JNICALL OS_NATIVE(PtHold)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtHold_FUNC);
-	rc = (jint)PtHold();
-	OS_NATIVE_EXIT(env, that, PtHold_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInflateBalloon
-JNIEXPORT jint JNICALL OS_NATIVE(PtInflateBalloon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jbyteArray arg4, jint arg5, jint arg6)
-{
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInflateBalloon_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)PtInflateBalloon((PtWidget_t *)arg0, (PtWidget_t *)arg1, arg2, (char const *)lparg3, (char const *)lparg4, (PgColor_t)arg5, (PgColor_t)arg6);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, PtInflateBalloon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInit
-JNIEXPORT jint JNICALL OS_NATIVE(PtInit)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInit_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)PtInit((char const *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, PtInit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtIsFocused
-JNIEXPORT jint JNICALL OS_NATIVE(PtIsFocused)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtIsFocused_FUNC);
-	rc = (jint)PtIsFocused((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtIsFocused_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtLabel
-JNIEXPORT jint JNICALL OS_NATIVE(PtLabel)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtLabel_FUNC);
-	rc = (jint)PtLabel;
-	OS_NATIVE_EXIT(env, that, PtLabel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtLeave
-JNIEXPORT jint JNICALL OS_NATIVE(PtLeave)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtLeave_FUNC);
-	rc = (jint)PtLeave(arg0);
-	OS_NATIVE_EXIT(env, that, PtLeave_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtList
-JNIEXPORT jint JNICALL OS_NATIVE(PtList)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtList_FUNC);
-	rc = (jint)PtList;
-	OS_NATIVE_EXIT(env, that, PtList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListAddItems
-JNIEXPORT jint JNICALL OS_NATIVE(PtListAddItems)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtListAddItems_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PtListAddItems((PtWidget_t *)arg0, (const char **)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtListAddItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListDeleteAllItems
-JNIEXPORT jint JNICALL OS_NATIVE(PtListDeleteAllItems)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtListDeleteAllItems_FUNC);
-	rc = (jint)PtListDeleteAllItems((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtListDeleteAllItems_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListDeleteItemPos
-JNIEXPORT jint JNICALL OS_NATIVE(PtListDeleteItemPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtListDeleteItemPos_FUNC);
-	rc = (jint)PtListDeleteItemPos((PtWidget_t *)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, PtListDeleteItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListGotoPos
-JNIEXPORT void JNICALL OS_NATIVE(PtListGotoPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtListGotoPos_FUNC);
-	PtListGotoPos((PtWidget_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PtListGotoPos_FUNC);
-}
-#endif
-
-#ifndef NO_PtListItemPos
-JNIEXPORT jint JNICALL OS_NATIVE(PtListItemPos)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtListItemPos_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PtListItemPos((PtWidget_t *)arg0, (const char *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtListItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListReplaceItemPos
-JNIEXPORT jint JNICALL OS_NATIVE(PtListReplaceItemPos)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2, jint arg3)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtListReplaceItemPos_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)PtListReplaceItemPos((PtWidget_t *)arg0, (const char **)lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtListReplaceItemPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtListSelectPos
-JNIEXPORT void JNICALL OS_NATIVE(PtListSelectPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtListSelectPos_FUNC);
-	PtListSelectPos((PtWidget_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PtListSelectPos_FUNC);
-}
-#endif
-
-#ifndef NO_PtListUnselectPos
-JNIEXPORT void JNICALL OS_NATIVE(PtListUnselectPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtListUnselectPos_FUNC);
-	PtListUnselectPos((PtWidget_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PtListUnselectPos_FUNC);
-}
-#endif
-
-#ifndef NO_PtMainLoop
-JNIEXPORT void JNICALL OS_NATIVE(PtMainLoop)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, PtMainLoop_FUNC);
-	PtMainLoop();
-	OS_NATIVE_EXIT(env, that, PtMainLoop_FUNC);
-}
-#endif
-
-#ifndef NO_PtMenu
-JNIEXPORT jint JNICALL OS_NATIVE(PtMenu)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtMenu_FUNC);
-	rc = (jint)PtMenu;
-	OS_NATIVE_EXIT(env, that, PtMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtMenuBar
-JNIEXPORT jint JNICALL OS_NATIVE(PtMenuBar)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtMenuBar_FUNC);
-	rc = (jint)PtMenuBar;
-	OS_NATIVE_EXIT(env, that, PtMenuBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtMenuButton
-JNIEXPORT jint JNICALL OS_NATIVE(PtMenuButton)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtMenuButton_FUNC);
-	rc = (jint)PtMenuButton;
-	OS_NATIVE_EXIT(env, that, PtMenuButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtMultiText
-JNIEXPORT jint JNICALL OS_NATIVE(PtMultiText)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtMultiText_FUNC);
-	rc = (jint)PtMultiText;
-	OS_NATIVE_EXIT(env, that, PtMultiText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtNextTopLevelWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtNextTopLevelWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtNextTopLevelWidget_FUNC);
-	rc = (jint)PtNextTopLevelWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtNextTopLevelWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtNumericInteger
-JNIEXPORT jint JNICALL OS_NATIVE(PtNumericInteger)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtNumericInteger_FUNC);
-	rc = (jint)PtNumericInteger;
-	OS_NATIVE_EXIT(env, that, PtNumericInteger_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtPane
-JNIEXPORT jint JNICALL OS_NATIVE(PtPane)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtPane_FUNC);
-	rc = (jint)PtPane;
-	OS_NATIVE_EXIT(env, that, PtPane_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtPanelGroup
-JNIEXPORT jint JNICALL OS_NATIVE(PtPanelGroup)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtPanelGroup_FUNC);
-	rc = (jint)PtPanelGroup;
-	OS_NATIVE_EXIT(env, that, PtPanelGroup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtPositionMenu
-JNIEXPORT void JNICALL OS_NATIVE(PtPositionMenu)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, PtPositionMenu_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	PtPositionMenu((PtWidget_t *)arg0, (PhEvent_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhEvent_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtPositionMenu_FUNC);
-}
-#endif
-
-#ifndef NO_PtProgress
-JNIEXPORT jint JNICALL OS_NATIVE(PtProgress)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtProgress_FUNC);
-	rc = (jint)PtProgress;
-	OS_NATIVE_EXIT(env, that, PtProgress_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtReParentWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtReParentWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtReParentWidget_FUNC);
-	rc = (jint)PtReParentWidget((PtWidget_t *)arg0, (PtWidget_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtReParentWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtRealizeWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtRealizeWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtRealizeWidget_FUNC);
-	rc = (jint)PtRealizeWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtRealizeWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtRegion
-JNIEXPORT jint JNICALL OS_NATIVE(PtRegion)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtRegion_FUNC);
-	rc = (jint)PtRegion;
-	OS_NATIVE_EXIT(env, that, PtRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtRelease
-JNIEXPORT jint JNICALL OS_NATIVE(PtRelease)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtRelease_FUNC);
-	rc = (jint)PtRelease();
-	OS_NATIVE_EXIT(env, that, PtRelease_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtRemoveCallback
-JNIEXPORT void JNICALL OS_NATIVE(PtRemoveCallback)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, PtRemoveCallback_FUNC);
-	PtRemoveCallback((PtWidget_t *)arg0, arg1, (PtCallbackF_t *)arg2, (void *)arg3);
-	OS_NATIVE_EXIT(env, that, PtRemoveCallback_FUNC);
-}
-#endif
-
-#ifndef NO_PtRemoveHotkeyHandler
-JNIEXPORT void JNICALL OS_NATIVE(PtRemoveHotkeyHandler)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshort arg3, jint arg4, jint arg5)
-{
-	OS_NATIVE_ENTER(env, that, PtRemoveHotkeyHandler_FUNC);
-	PtRemoveHotkeyHandler((PtWidget_t *)arg0, arg1, arg2, arg3, (void *)arg4, (PtCallbackF_t *)arg5);
-	OS_NATIVE_EXIT(env, that, PtRemoveHotkeyHandler_FUNC);
-}
-#endif
-
-#ifndef NO_PtScrollArea
-JNIEXPORT jint JNICALL OS_NATIVE(PtScrollArea)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtScrollArea_FUNC);
-	rc = (jint)PtScrollArea;
-	OS_NATIVE_EXIT(env, that, PtScrollArea_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtScrollContainer
-JNIEXPORT jint JNICALL OS_NATIVE(PtScrollContainer)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtScrollContainer_FUNC);
-	rc = (jint)PtScrollContainer;
-	OS_NATIVE_EXIT(env, that, PtScrollContainer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtScrollbar
-JNIEXPORT jint JNICALL OS_NATIVE(PtScrollbar)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtScrollbar_FUNC);
-	rc = (jint)PtScrollbar;
-	OS_NATIVE_EXIT(env, that, PtScrollbar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSendEventToWidget
-JNIEXPORT void JNICALL OS_NATIVE(PtSendEventToWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	OS_NATIVE_ENTER(env, that, PtSendEventToWidget_FUNC);
-	PtSendEventToWidget((PtWidget_t *)arg0, (PhEvent_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtSendEventToWidget_FUNC);
-}
-#endif
-
-#ifndef NO_PtSeparator
-JNIEXPORT jint JNICALL OS_NATIVE(PtSeparator)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSeparator_FUNC);
-	rc = (jint)PtSeparator;
-	OS_NATIVE_EXIT(env, that, PtSeparator_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSetAreaFromWidgetCanvas
-JNIEXPORT jint JNICALL OS_NATIVE(PtSetAreaFromWidgetCanvas)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jobject arg2)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	PhArea_t _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSetAreaFromWidgetCanvas_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getPhArea_tFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)PtSetAreaFromWidgetCanvas((PtWidget_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setPhArea_tFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtSetAreaFromWidgetCanvas_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSetParentWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtSetParentWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSetParentWidget_FUNC);
-	rc = (jint)PtSetParentWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtSetParentWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSetResource
-JNIEXPORT jint JNICALL OS_NATIVE(PtSetResource)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSetResource_FUNC);
-	rc = (jint)PtSetResource((PtWidget_t *)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, PtSetResource_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSetResources
-JNIEXPORT jint JNICALL OS_NATIVE(PtSetResources)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSetResources_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)PtSetResources((PtWidget_t *)arg0, arg1, (PtArg_t *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, PtSetResources_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSlider
-JNIEXPORT jint JNICALL OS_NATIVE(PtSlider)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSlider_FUNC);
-	rc = (jint)PtSlider;
-	OS_NATIVE_EXIT(env, that, PtSlider_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtSuperClassDraw
-JNIEXPORT void JNICALL OS_NATIVE(PtSuperClassDraw)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, PtSuperClassDraw_FUNC);
-	PtSuperClassDraw((PtWidgetClassRef_t *)arg0, (PtWidget_t *)arg1, (PhTile_t const *)arg2);
-	OS_NATIVE_EXIT(env, that, PtSuperClassDraw_FUNC);
-}
-#endif
-
-#ifndef NO_PtSyncWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtSyncWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtSyncWidget_FUNC);
-	rc = (jint)PtSyncWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtSyncWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtText
-JNIEXPORT jint JNICALL OS_NATIVE(PtText)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtText_FUNC);
-	rc = (jint)PtText;
-	OS_NATIVE_EXIT(env, that, PtText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtTextGetSelection
-JNIEXPORT jint JNICALL OS_NATIVE(PtTextGetSelection)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtTextGetSelection_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 = (jint)PtTextGetSelection((PtWidget_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtTextGetSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtTextModifyText__IIIIII
-JNIEXPORT jint JNICALL OS_NATIVE(PtTextModifyText__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtTextModifyText__IIIIII_FUNC);
-	rc = (jint)PtTextModifyText((PtWidget_t *)arg0, arg1, arg2, arg3, (char const *)arg4, arg5);
-	OS_NATIVE_EXIT(env, that, PtTextModifyText__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtTextModifyText__IIII_3BI
-JNIEXPORT jint JNICALL OS_NATIVE(PtTextModifyText__IIII_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4, jint arg5)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtTextModifyText__IIII_3BI_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)PtTextModifyText((PtWidget_t *)arg0, arg1, arg2, arg3, (char const *)lparg4, arg5);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, PtTextModifyText__IIII_3BI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtTextSetSelection
-JNIEXPORT jint JNICALL OS_NATIVE(PtTextSetSelection)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtTextSetSelection_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 = (jint)PtTextSetSelection((PtWidget_t *)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, PtTextSetSelection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtTimer
-JNIEXPORT jint JNICALL OS_NATIVE(PtTimer)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtTimer_FUNC);
-	rc = (jint)PtTimer;
-	OS_NATIVE_EXIT(env, that, PtTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtToggleButton
-JNIEXPORT jint JNICALL OS_NATIVE(PtToggleButton)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtToggleButton_FUNC);
-	rc = (jint)PtToggleButton;
-	OS_NATIVE_EXIT(env, that, PtToggleButton_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtToolbar
-JNIEXPORT jint JNICALL OS_NATIVE(PtToolbar)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtToolbar_FUNC);
-	rc = (jint)PtToolbar;
-	OS_NATIVE_EXIT(env, that, PtToolbar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtUnblockWindows
-JNIEXPORT void JNICALL OS_NATIVE(PtUnblockWindows)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PtUnblockWindows_FUNC);
-	PtUnblockWindows((PtBlockedList_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtUnblockWindows_FUNC);
-}
-#endif
-
-#ifndef NO_PtUnrealizeWidget
-JNIEXPORT jint JNICALL OS_NATIVE(PtUnrealizeWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtUnrealizeWidget_FUNC);
-	rc = (jint)PtUnrealizeWidget((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtUnrealizeWidget_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtValidParent
-JNIEXPORT jint JNICALL OS_NATIVE(PtValidParent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtValidParent_FUNC);
-	rc = (jint)PtValidParent((PtWidget_t *)arg0, (PtWidgetClassRef_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtValidParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWebClient
-JNIEXPORT jint JNICALL OS_NATIVE(PtWebClient)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWebClient_FUNC);
-	rc = (jint)PtWebClient;
-	OS_NATIVE_EXIT(env, that, PtWebClient_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetArea
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetArea)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhArea_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetArea_FUNC);
-	if (arg1) if ((lparg1 = getPhArea_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtWidgetArea((PtWidget_t *)arg0, (PhArea_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhArea_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetArea_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetBrotherBehind
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetBrotherBehind)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetBrotherBehind_FUNC);
-	rc = (jint)PtWidgetBrotherBehind((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetBrotherBehind_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetBrotherInFront
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetBrotherInFront)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetBrotherInFront_FUNC);
-	rc = (jint)PtWidgetBrotherInFront((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetBrotherInFront_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetCanvas__II
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetCanvas__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetCanvas__II_FUNC);
-	rc = (jint)PtWidgetCanvas((PtWidget_t *)arg0, (PhRect_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetCanvas__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtWidgetCanvas((PtWidget_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetChildBack
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetChildBack)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetChildBack_FUNC);
-	rc = (jint)PtWidgetChildBack((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetChildBack_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetChildFront
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetChildFront)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetChildFront_FUNC);
-	rc = (jint)PtWidgetChildFront((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetChildFront_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetClass
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetClass)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetClass_FUNC);
-	rc = (jint)PtWidgetClass((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetExtent__II
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetExtent__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetExtent__II_FUNC);
-	rc = (jint)PtWidgetExtent((PtWidget_t *)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetExtent__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtWidgetExtent((PtWidget_t *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPhRect_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetFlags
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetFlags)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetFlags_FUNC);
-	rc = (jint)PtWidgetFlags((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetInsert
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetInsert)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetInsert_FUNC);
-	rc = (jint)PtWidgetInsert((PtWidget_t *)arg0, (PtWidget_t *)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, PtWidgetInsert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetIsClassMember
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetIsClassMember)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetIsClassMember_FUNC);
-	rc = (jint)PtWidgetIsClassMember((PtWidget_t *)arg0, (PtWidgetClassRef_t *)arg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetIsClassMember_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetIsRealized
-JNIEXPORT jboolean JNICALL OS_NATIVE(PtWidgetIsRealized)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetIsRealized_FUNC);
-	rc = (jboolean)PtWidgetIsRealized((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetIsRealized_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetOffset
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetOffset)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetOffset_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtWidgetOffset((PtWidget_t *)arg0, (PhPoint_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhPoint_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetOffset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetParent
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetParent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetParent_FUNC);
-	rc = (jint)PtWidgetParent((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetPreferredSize
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetPreferredSize)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PhDim_t _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetPreferredSize_FUNC);
-	if (arg1) if ((lparg1 = getPhDim_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)PtWidgetPreferredSize((PtWidget_t *)arg0, (PhDim_t *)lparg1);
-fail:
-	if (arg1 && lparg1) setPhDim_tFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, PtWidgetPreferredSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetRid
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetRid)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetRid_FUNC);
-	rc = (jint)PtWidgetRid((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetRid_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetToBack
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetToBack)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetToBack_FUNC);
-	rc = (jint)PtWidgetToBack((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetToBack_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWidgetToFront
-JNIEXPORT jint JNICALL OS_NATIVE(PtWidgetToFront)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWidgetToFront_FUNC);
-	rc = (jint)PtWidgetToFront((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWidgetToFront_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWindow
-JNIEXPORT jint JNICALL OS_NATIVE(PtWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWindow_FUNC);
-	rc = (jint)PtWindow;
-	OS_NATIVE_EXIT(env, that, PtWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWindowFocus
-JNIEXPORT jint JNICALL OS_NATIVE(PtWindowFocus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWindowFocus_FUNC);
-	rc = (jint)PtWindowFocus((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWindowFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWindowGetState
-JNIEXPORT jint JNICALL OS_NATIVE(PtWindowGetState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, PtWindowGetState_FUNC);
-	rc = (jint)PtWindowGetState((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWindowGetState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtWindowToBack
-JNIEXPORT void JNICALL OS_NATIVE(PtWindowToBack)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PtWindowToBack_FUNC);
-	PtWindowToBack((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWindowToBack_FUNC);
-}
-#endif
-
-#ifndef NO_PtWindowToFront
-JNIEXPORT void JNICALL OS_NATIVE(PtWindowToFront)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, PtWindowToFront_FUNC);
-	PtWindowToFront((PtWidget_t *)arg0);
-	OS_NATIVE_EXIT(env, that, PtWindowToFront_FUNC);
-}
-#endif
-
-#ifndef NO_free
-JNIEXPORT void JNICALL OS_NATIVE(free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, free_FUNC);
-	free((void *)arg0);
-	OS_NATIVE_EXIT(env, that, free_FUNC);
-}
-#endif
-
-#ifndef NO_getenv
-JNIEXPORT jint JNICALL OS_NATIVE(getenv)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, getenv_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)getenv((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, getenv_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_malloc
-JNIEXPORT jint JNICALL OS_NATIVE(malloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, malloc_FUNC);
-	rc = (jint)malloc((size_t)arg0);
-	OS_NATIVE_EXIT(env, that, malloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove__III
-JNIEXPORT void JNICALL OS_NATIVE(memmove__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memmove__III_FUNC);
-	memmove((void *)arg0, (const void *)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, memmove__III_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PgAlpha_t _arg1={0}, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPgAlpha_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhArea_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhArea_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhCursorDef_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhCursorDef_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhEvent_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhImage_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhImage_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhPoint_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhPoint_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhPointerEvent_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhPointerEvent_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhRect_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhRect_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PhTile_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPhTile_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PtTextCallback_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPtTextCallback_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PtWebClientData_t _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I_FUNC);
-	if (arg1) if ((lparg1 = getPtWebClientData_tFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3BI_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__I_3II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__I_3II_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	memmove((void *)arg0, (const void *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	OS_NATIVE_EXIT(env, that, memmove__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	FontDetails _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setFontDetailsFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PgAlpha_t _arg0={0}, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPgAlpha_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PgMap_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPgMap_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhClipHeader _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhClipHeaderFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhEvent_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhEvent_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhImage_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhImage_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhKeyEvent_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhKeyEvent_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhPointerEvent_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhPointerEvent_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhRect_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhRect_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhTile_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhTile_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PhWindowEvent_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPhWindowEvent_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtCallbackInfo_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtCallbackInfo_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtScrollbarCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtScrollbarCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtTextCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtTextCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtWebDataReqCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getPtWebDataReqCallback_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtWebDataReqCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtWebMetaDataCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getPtWebMetaDataCallback_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtWebMetaDataCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtWebStatusCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getPtWebStatusCallback_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtWebStatusCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	PtWebWindowCallback_t _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II_FUNC);
-	if (arg0) if ((lparg0 = getPtWebWindowCallback_tFields(env, arg0, &_arg0)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPtWebWindowCallback_tFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3BII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3BII_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jobject arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	PhClipHeader _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPhClipHeaderFields(env, arg1, &_arg1)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setPhClipHeaderFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3III
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3III_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3III_FUNC);
-}
-#endif
-
-#ifndef NO_memmove___3SII
-JNIEXPORT void JNICALL OS_NATIVE(memmove___3SII)
-	(JNIEnv *env, jclass that, jshortArray arg0, jint arg1, jint arg2)
-{
-	jshort *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, memmove___3SII_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, memmove___3SII_FUNC);
-}
-#endif
-
-#ifndef NO_memset
-JNIEXPORT void JNICALL OS_NATIVE(memset)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, memset_FUNC);
-	memset((void *)arg0, arg1, (size_t)arg2);
-	OS_NATIVE_EXIT(env, that, memset_FUNC);
-}
-#endif
-
-#ifndef NO_strdup
-JNIEXPORT jint JNICALL OS_NATIVE(strdup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strdup_FUNC);
-	rc = (jint)strdup((const char *)arg0);
-	OS_NATIVE_EXIT(env, that, strdup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL OS_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((const char*)arg0);
-	OS_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_uname
-JNIEXPORT jint JNICALL OS_NATIVE(uname)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	utsname _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, uname_FUNC);
-	if (arg0) if ((lparg0 = getutsnameFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)uname((utsname *)lparg0);
-fail:
-	if (arg0 && lparg0) setutsnameFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, uname_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.h
deleted file mode 100644
index 6e5a159..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.h
+++ /dev/null
@@ -1,31 +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_os_H
-#define INC_os_H
-
-#define NDEBUG
-
-#include <Ph.h>
-#include <Pt.h>
-#include <photon/PhRender.h>
-#include <photon/PtWebClient.h>
-#include <sys/utsname.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <malloc.h>
-
-void *PtCreateAppContext();
-
-#define utsname struct utsname
-
-#endif /* INC_os_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_custom.c
deleted file mode 100644
index 350f489..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_custom.c
+++ /dev/null
@@ -1,37 +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 "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_photon_OS_##func
-
-#ifdef PR_20268
-#include "clip.c"
-#include "pt_blit.c"
-#include "pt_draw_widget.c"
-#define PtBlit PtBlit_
-#define PtClippedBlit PtClippedBlit_
-#endif
-
-#ifndef NO_PhGetTile
-JNIEXPORT jint JNICALL OS_NATIVE(PhGetTile)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	OS_NATIVE_ENTER(env, that, PhGetTile_FUNC)
-	rc = (jint)PhGetTile();
-	memset((void *)rc, 0, sizeof(PhTile_t));
-	OS_NATIVE_EXIT(env, that, PhGetTile_FUNC)
-	return rc;
-}
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.c
deleted file mode 100644
index ebc0bfb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.c
+++ /dev/null
@@ -1,329 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_stats.h"
-
-#ifdef NATIVE_STATS
-
-int OS_nativeFunctionCount = 287;
-int OS_nativeFunctionCallCount[287];
-char * OS_nativeFunctionNames[] = {
-	"PfDecomposeStemToID",
-	"PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III",
-	"PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI",
-	"PfExtentWideText",
-	"PfFontDescription",
-	"PfFontFlags",
-	"PfFontSize",
-	"PfFreeFont",
-	"PfGenerateFontName",
-	"PfLoadMetrics",
-	"PfQueryFontInfo",
-	"PfQueryFonts",
-	"PgAlphaOff",
-	"PgAlphaOn",
-	"PgCreateGC",
-	"PgDestroyGC",
-	"PgDrawArc",
-	"PgDrawArrow",
-	"PgDrawBitmap",
-	"PgDrawEllipse",
-	"PgDrawGradient",
-	"PgDrawILine",
-	"PgDrawIPixel",
-	"PgDrawIRect",
-	"PgDrawImage",
-	"PgDrawMultiTextArea",
-	"PgDrawPhImageRectmx",
-	"PgDrawPolygon",
-	"PgDrawRoundRect",
-	"PgDrawTImage",
-	"PgDrawText",
-	"PgExtentMultiText",
-	"PgFlush",
-	"PgGetVideoMode",
-	"PgGetVideoModeInfo",
-	"PgReadScreen",
-	"PgReadScreenSize",
-	"PgSetAlpha",
-	"PgSetClipping",
-	"PgSetDrawBufferSize",
-	"PgSetDrawMode",
-	"PgSetFillColor",
-	"PgSetFillTransPat",
-	"PgSetFont",
-	"PgSetGC",
-	"PgSetMultiClip",
-	"PgSetPalette",
-	"PgSetRegion",
-	"PgSetStrokeCap",
-	"PgSetStrokeColor",
-	"PgSetStrokeDash",
-	"PgSetStrokeJoin",
-	"PgSetStrokeWidth",
-	"PgSetTextColor",
-	"PgSetTextXORColor",
-	"PgSetUserClip",
-	"PgShmemCreate",
-	"PgShmemDestroy",
-	"PhAddMergeTiles",
-	"PhAreaToRect",
-	"PhBlit",
-	"PhClipTilings",
-	"PhClipboardCopy",
-	"PhClipboardCopyString",
-	"PhClipboardPasteFinish",
-	"PhClipboardPasteStart",
-	"PhClipboardPasteString",
-	"PhClipboardPasteType",
-	"PhClipboardPasteTypeN",
-	"PhCoalesceTiles",
-	"PhCopyTiles",
-	"PhCreateImage",
-	"PhDCSetCurrent",
-	"PhDeTranslateTiles",
-	"PhEventNext",
-	"PhEventPeek",
-	"PhFreeTiles",
-	"PhGetData",
-	"PhGetMsgSize",
-	"PhGetRects",
-	"PhGetTile",
-	"PhInitDrag",
-	"PhInputGroup",
-	"PhIntersectTilings",
-	"PhKeyToMb",
-	"PhMakeGhostBitmap",
-	"PhMakeTransBitmap",
-	"PhMergeTiles",
-	"PhMoveCursorAbs",
-	"PhQueryCursor",
-	"PhQueryRids",
-	"PhRectIntersect",
-	"PhRectUnion__II",
-	"PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2",
-	"PhRectsToTiles",
-	"PhRegionQuery",
-	"PhReleaseImage",
-	"PhSortTiles",
-	"PhTilesToRects",
-	"PhTranslateTiles",
-	"PhWindowQueryVisible",
-	"PiCropImage",
-	"PiDuplicateImage",
-	"PmMemCreateMC",
-	"PmMemFlush",
-	"PmMemReleaseMC",
-	"PmMemStart",
-	"PmMemStop",
-	"PtAddCallback",
-	"PtAddEventHandler",
-	"PtAddFilterCallback",
-	"PtAddHotkeyHandler",
-	"PtAlert",
-	"PtAppAddInput",
-	"PtAppAddWorkProc",
-	"PtAppCreatePulse",
-	"PtAppDeletePulse",
-	"PtAppProcessEvent",
-	"PtAppPulseTrigger",
-	"PtAppRemoveInput",
-	"PtAppRemoveWorkProc",
-	"PtBeep",
-	"PtBlit",
-	"PtBlockAllWindows",
-	"PtBlockWindow",
-	"PtButton",
-	"PtCalcBorder",
-	"PtCalcCanvas",
-	"PtClippedBlit",
-	"PtColorSelect",
-	"PtComboBox",
-	"PtContainer",
-	"PtContainerFindFocus",
-	"PtContainerFocusNext",
-	"PtContainerFocusPrev",
-	"PtContainerGiveFocus",
-	"PtContainerHold",
-	"PtContainerRelease",
-	"PtCreateAppContext",
-	"PtCreateWidget",
-	"PtCreateWidgetClass",
-	"PtDamageExtent",
-	"PtDamageWidget",
-	"PtDestroyWidget",
-	"PtDisjoint",
-	"PtEnter",
-	"PtEventHandler",
-	"PtExtentWidget",
-	"PtExtentWidgetFamily",
-	"PtFileSelection",
-	"PtFindDisjoint",
-	"PtFlush",
-	"PtFontSelection",
-	"PtForwardWindowEvent",
-	"PtFrameSize",
-	"PtGetAbsPosition",
-	"PtGetResources",
-	"PtGlobalFocusNext",
-	"PtGlobalFocusNextContainer",
-	"PtGlobalFocusPrev",
-	"PtGlobalFocusPrevContainer",
-	"PtGroup",
-	"PtHit",
-	"PtHold",
-	"PtInflateBalloon",
-	"PtInit",
-	"PtIsFocused",
-	"PtLabel",
-	"PtLeave",
-	"PtList",
-	"PtListAddItems",
-	"PtListDeleteAllItems",
-	"PtListDeleteItemPos",
-	"PtListGotoPos",
-	"PtListItemPos",
-	"PtListReplaceItemPos",
-	"PtListSelectPos",
-	"PtListUnselectPos",
-	"PtMainLoop",
-	"PtMenu",
-	"PtMenuBar",
-	"PtMenuButton",
-	"PtMultiText",
-	"PtNextTopLevelWidget",
-	"PtNumericInteger",
-	"PtPane",
-	"PtPanelGroup",
-	"PtPositionMenu",
-	"PtProgress",
-	"PtReParentWidget",
-	"PtRealizeWidget",
-	"PtRegion",
-	"PtRelease",
-	"PtRemoveCallback",
-	"PtRemoveHotkeyHandler",
-	"PtScrollArea",
-	"PtScrollContainer",
-	"PtScrollbar",
-	"PtSendEventToWidget",
-	"PtSeparator",
-	"PtSetAreaFromWidgetCanvas",
-	"PtSetParentWidget",
-	"PtSetResource",
-	"PtSetResources",
-	"PtSlider",
-	"PtSuperClassDraw",
-	"PtSyncWidget",
-	"PtText",
-	"PtTextGetSelection",
-	"PtTextModifyText__IIIIII",
-	"PtTextModifyText__IIII_3BI",
-	"PtTextSetSelection",
-	"PtTimer",
-	"PtToggleButton",
-	"PtToolbar",
-	"PtUnblockWindows",
-	"PtUnrealizeWidget",
-	"PtValidParent",
-	"PtWebClient",
-	"PtWidgetArea",
-	"PtWidgetBrotherBehind",
-	"PtWidgetBrotherInFront",
-	"PtWidgetCanvas__II",
-	"PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2",
-	"PtWidgetChildBack",
-	"PtWidgetChildFront",
-	"PtWidgetClass",
-	"PtWidgetExtent__II",
-	"PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2",
-	"PtWidgetFlags",
-	"PtWidgetInsert",
-	"PtWidgetIsClassMember",
-	"PtWidgetIsRealized",
-	"PtWidgetOffset",
-	"PtWidgetParent",
-	"PtWidgetPreferredSize",
-	"PtWidgetRid",
-	"PtWidgetToBack",
-	"PtWidgetToFront",
-	"PtWindow",
-	"PtWindowFocus",
-	"PtWindowGetState",
-	"PtWindowToBack",
-	"PtWindowToFront",
-	"free",
-	"getenv",
-	"malloc",
-	"memmove__III",
-	"memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I",
-	"memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I",
-	"memmove__I_3BI",
-	"memmove__I_3II",
-	"memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II",
-	"memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II",
-	"memmove___3BII",
-	"memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I",
-	"memmove___3III",
-	"memmove___3SII",
-	"memset",
-	"strdup",
-	"strlen",
-	"uname",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return OS_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return OS_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.h
deleted file mode 100644
index 55f951f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_stats.h
+++ /dev/null
@@ -1,311 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int OS_nativeFunctionCount;
-extern int OS_nativeFunctionCallCount[];
-extern char* OS_nativeFunctionNames[];
-#define OS_NATIVE_ENTER(env, that, func) OS_nativeFunctionCallCount[func]++;
-#define OS_NATIVE_EXIT(env, that, func) 
-#else
-#define OS_NATIVE_ENTER(env, that, func) 
-#define OS_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	PfDecomposeStemToID_FUNC,
-	PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2III_FUNC,
-	PfExtentText__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhPoint_1t_2_3B_3BI_FUNC,
-	PfExtentWideText_FUNC,
-	PfFontDescription_FUNC,
-	PfFontFlags_FUNC,
-	PfFontSize_FUNC,
-	PfFreeFont_FUNC,
-	PfGenerateFontName_FUNC,
-	PfLoadMetrics_FUNC,
-	PfQueryFontInfo_FUNC,
-	PfQueryFonts_FUNC,
-	PgAlphaOff_FUNC,
-	PgAlphaOn_FUNC,
-	PgCreateGC_FUNC,
-	PgDestroyGC_FUNC,
-	PgDrawArc_FUNC,
-	PgDrawArrow_FUNC,
-	PgDrawBitmap_FUNC,
-	PgDrawEllipse_FUNC,
-	PgDrawGradient_FUNC,
-	PgDrawILine_FUNC,
-	PgDrawIPixel_FUNC,
-	PgDrawIRect_FUNC,
-	PgDrawImage_FUNC,
-	PgDrawMultiTextArea_FUNC,
-	PgDrawPhImageRectmx_FUNC,
-	PgDrawPolygon_FUNC,
-	PgDrawRoundRect_FUNC,
-	PgDrawTImage_FUNC,
-	PgDrawText_FUNC,
-	PgExtentMultiText_FUNC,
-	PgFlush_FUNC,
-	PgGetVideoMode_FUNC,
-	PgGetVideoModeInfo_FUNC,
-	PgReadScreen_FUNC,
-	PgReadScreenSize_FUNC,
-	PgSetAlpha_FUNC,
-	PgSetClipping_FUNC,
-	PgSetDrawBufferSize_FUNC,
-	PgSetDrawMode_FUNC,
-	PgSetFillColor_FUNC,
-	PgSetFillTransPat_FUNC,
-	PgSetFont_FUNC,
-	PgSetGC_FUNC,
-	PgSetMultiClip_FUNC,
-	PgSetPalette_FUNC,
-	PgSetRegion_FUNC,
-	PgSetStrokeCap_FUNC,
-	PgSetStrokeColor_FUNC,
-	PgSetStrokeDash_FUNC,
-	PgSetStrokeJoin_FUNC,
-	PgSetStrokeWidth_FUNC,
-	PgSetTextColor_FUNC,
-	PgSetTextXORColor_FUNC,
-	PgSetUserClip_FUNC,
-	PgShmemCreate_FUNC,
-	PgShmemDestroy_FUNC,
-	PhAddMergeTiles_FUNC,
-	PhAreaToRect_FUNC,
-	PhBlit_FUNC,
-	PhClipTilings_FUNC,
-	PhClipboardCopy_FUNC,
-	PhClipboardCopyString_FUNC,
-	PhClipboardPasteFinish_FUNC,
-	PhClipboardPasteStart_FUNC,
-	PhClipboardPasteString_FUNC,
-	PhClipboardPasteType_FUNC,
-	PhClipboardPasteTypeN_FUNC,
-	PhCoalesceTiles_FUNC,
-	PhCopyTiles_FUNC,
-	PhCreateImage_FUNC,
-	PhDCSetCurrent_FUNC,
-	PhDeTranslateTiles_FUNC,
-	PhEventNext_FUNC,
-	PhEventPeek_FUNC,
-	PhFreeTiles_FUNC,
-	PhGetData_FUNC,
-	PhGetMsgSize_FUNC,
-	PhGetRects_FUNC,
-	PhGetTile_FUNC,
-	PhInitDrag_FUNC,
-	PhInputGroup_FUNC,
-	PhIntersectTilings_FUNC,
-	PhKeyToMb_FUNC,
-	PhMakeGhostBitmap_FUNC,
-	PhMakeTransBitmap_FUNC,
-	PhMergeTiles_FUNC,
-	PhMoveCursorAbs_FUNC,
-	PhQueryCursor_FUNC,
-	PhQueryRids_FUNC,
-	PhRectIntersect_FUNC,
-	PhRectUnion__II_FUNC,
-	PhRectUnion__Lorg_eclipse_swt_internal_photon_PhRect_1t_2Lorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC,
-	PhRectsToTiles_FUNC,
-	PhRegionQuery_FUNC,
-	PhReleaseImage_FUNC,
-	PhSortTiles_FUNC,
-	PhTilesToRects_FUNC,
-	PhTranslateTiles_FUNC,
-	PhWindowQueryVisible_FUNC,
-	PiCropImage_FUNC,
-	PiDuplicateImage_FUNC,
-	PmMemCreateMC_FUNC,
-	PmMemFlush_FUNC,
-	PmMemReleaseMC_FUNC,
-	PmMemStart_FUNC,
-	PmMemStop_FUNC,
-	PtAddCallback_FUNC,
-	PtAddEventHandler_FUNC,
-	PtAddFilterCallback_FUNC,
-	PtAddHotkeyHandler_FUNC,
-	PtAlert_FUNC,
-	PtAppAddInput_FUNC,
-	PtAppAddWorkProc_FUNC,
-	PtAppCreatePulse_FUNC,
-	PtAppDeletePulse_FUNC,
-	PtAppProcessEvent_FUNC,
-	PtAppPulseTrigger_FUNC,
-	PtAppRemoveInput_FUNC,
-	PtAppRemoveWorkProc_FUNC,
-	PtBeep_FUNC,
-	PtBlit_FUNC,
-	PtBlockAllWindows_FUNC,
-	PtBlockWindow_FUNC,
-	PtButton_FUNC,
-	PtCalcBorder_FUNC,
-	PtCalcCanvas_FUNC,
-	PtClippedBlit_FUNC,
-	PtColorSelect_FUNC,
-	PtComboBox_FUNC,
-	PtContainer_FUNC,
-	PtContainerFindFocus_FUNC,
-	PtContainerFocusNext_FUNC,
-	PtContainerFocusPrev_FUNC,
-	PtContainerGiveFocus_FUNC,
-	PtContainerHold_FUNC,
-	PtContainerRelease_FUNC,
-	PtCreateAppContext_FUNC,
-	PtCreateWidget_FUNC,
-	PtCreateWidgetClass_FUNC,
-	PtDamageExtent_FUNC,
-	PtDamageWidget_FUNC,
-	PtDestroyWidget_FUNC,
-	PtDisjoint_FUNC,
-	PtEnter_FUNC,
-	PtEventHandler_FUNC,
-	PtExtentWidget_FUNC,
-	PtExtentWidgetFamily_FUNC,
-	PtFileSelection_FUNC,
-	PtFindDisjoint_FUNC,
-	PtFlush_FUNC,
-	PtFontSelection_FUNC,
-	PtForwardWindowEvent_FUNC,
-	PtFrameSize_FUNC,
-	PtGetAbsPosition_FUNC,
-	PtGetResources_FUNC,
-	PtGlobalFocusNext_FUNC,
-	PtGlobalFocusNextContainer_FUNC,
-	PtGlobalFocusPrev_FUNC,
-	PtGlobalFocusPrevContainer_FUNC,
-	PtGroup_FUNC,
-	PtHit_FUNC,
-	PtHold_FUNC,
-	PtInflateBalloon_FUNC,
-	PtInit_FUNC,
-	PtIsFocused_FUNC,
-	PtLabel_FUNC,
-	PtLeave_FUNC,
-	PtList_FUNC,
-	PtListAddItems_FUNC,
-	PtListDeleteAllItems_FUNC,
-	PtListDeleteItemPos_FUNC,
-	PtListGotoPos_FUNC,
-	PtListItemPos_FUNC,
-	PtListReplaceItemPos_FUNC,
-	PtListSelectPos_FUNC,
-	PtListUnselectPos_FUNC,
-	PtMainLoop_FUNC,
-	PtMenu_FUNC,
-	PtMenuBar_FUNC,
-	PtMenuButton_FUNC,
-	PtMultiText_FUNC,
-	PtNextTopLevelWidget_FUNC,
-	PtNumericInteger_FUNC,
-	PtPane_FUNC,
-	PtPanelGroup_FUNC,
-	PtPositionMenu_FUNC,
-	PtProgress_FUNC,
-	PtReParentWidget_FUNC,
-	PtRealizeWidget_FUNC,
-	PtRegion_FUNC,
-	PtRelease_FUNC,
-	PtRemoveCallback_FUNC,
-	PtRemoveHotkeyHandler_FUNC,
-	PtScrollArea_FUNC,
-	PtScrollContainer_FUNC,
-	PtScrollbar_FUNC,
-	PtSendEventToWidget_FUNC,
-	PtSeparator_FUNC,
-	PtSetAreaFromWidgetCanvas_FUNC,
-	PtSetParentWidget_FUNC,
-	PtSetResource_FUNC,
-	PtSetResources_FUNC,
-	PtSlider_FUNC,
-	PtSuperClassDraw_FUNC,
-	PtSyncWidget_FUNC,
-	PtText_FUNC,
-	PtTextGetSelection_FUNC,
-	PtTextModifyText__IIIIII_FUNC,
-	PtTextModifyText__IIII_3BI_FUNC,
-	PtTextSetSelection_FUNC,
-	PtTimer_FUNC,
-	PtToggleButton_FUNC,
-	PtToolbar_FUNC,
-	PtUnblockWindows_FUNC,
-	PtUnrealizeWidget_FUNC,
-	PtValidParent_FUNC,
-	PtWebClient_FUNC,
-	PtWidgetArea_FUNC,
-	PtWidgetBrotherBehind_FUNC,
-	PtWidgetBrotherInFront_FUNC,
-	PtWidgetCanvas__II_FUNC,
-	PtWidgetCanvas__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC,
-	PtWidgetChildBack_FUNC,
-	PtWidgetChildFront_FUNC,
-	PtWidgetClass_FUNC,
-	PtWidgetExtent__II_FUNC,
-	PtWidgetExtent__ILorg_eclipse_swt_internal_photon_PhRect_1t_2_FUNC,
-	PtWidgetFlags_FUNC,
-	PtWidgetInsert_FUNC,
-	PtWidgetIsClassMember_FUNC,
-	PtWidgetIsRealized_FUNC,
-	PtWidgetOffset_FUNC,
-	PtWidgetParent_FUNC,
-	PtWidgetPreferredSize_FUNC,
-	PtWidgetRid_FUNC,
-	PtWidgetToBack_FUNC,
-	PtWidgetToFront_FUNC,
-	PtWindow_FUNC,
-	PtWindowFocus_FUNC,
-	PtWindowGetState_FUNC,
-	PtWindowToBack_FUNC,
-	PtWindowToFront_FUNC,
-	free_FUNC,
-	getenv_FUNC,
-	malloc_FUNC,
-	memmove__III_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PgAlpha_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhArea_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhCursorDef_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhEvent_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhImage_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhPoint_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhRect_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PhTile_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PtTextCallback_1t_2I_FUNC,
-	memmove__ILorg_eclipse_swt_internal_photon_PtWebClientData_1t_2I_FUNC,
-	memmove__I_3BI_FUNC,
-	memmove__I_3II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_FontDetails_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PgAlpha_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PgMap_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhClipHeader_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhEvent_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhImage_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhKeyEvent_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhPointerEvent_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhRect_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhTile_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PhWindowEvent_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtCallbackInfo_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtScrollbarCallback_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtTextCallback_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtWebDataReqCallback_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II_FUNC,
-	memmove__Lorg_eclipse_swt_internal_photon_PtWebWindowCallback_1t_2II_FUNC,
-	memmove___3BII_FUNC,
-	memmove___3BLorg_eclipse_swt_internal_photon_PhClipHeader_2I_FUNC,
-	memmove___3III_FUNC,
-	memmove___3SII_FUNC,
-	memset_FUNC,
-	strdup_FUNC,
-	strlen_FUNC,
-	uname_FUNC,
-} OS_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c
deleted file mode 100644
index 5e05e95..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c
+++ /dev/null
@@ -1,1776 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-
-#ifndef NO_FontDetails
-typedef struct FontDetails_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID desc, stem, losize, hisize, flags;
-} FontDetails_FID_CACHE;
-
-FontDetails_FID_CACHE FontDetailsFc;
-
-void cacheFontDetailsFields(JNIEnv *env, jobject lpObject)
-{
-	if (FontDetailsFc.cached) return;
-	FontDetailsFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FontDetailsFc.desc = (*env)->GetFieldID(env, FontDetailsFc.clazz, "desc", "[B");
-	FontDetailsFc.stem = (*env)->GetFieldID(env, FontDetailsFc.clazz, "stem", "[B");
-	FontDetailsFc.losize = (*env)->GetFieldID(env, FontDetailsFc.clazz, "losize", "S");
-	FontDetailsFc.hisize = (*env)->GetFieldID(env, FontDetailsFc.clazz, "hisize", "S");
-	FontDetailsFc.flags = (*env)->GetFieldID(env, FontDetailsFc.clazz, "flags", "S");
-	FontDetailsFc.cached = 1;
-}
-
-FontDetails *getFontDetailsFields(JNIEnv *env, jobject lpObject, FontDetails *lpStruct)
-{
-	if (!FontDetailsFc.cached) cacheFontDetailsFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontDetailsFc.desc);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontDetailsFc.stem);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->stem), (jbyte *)lpStruct->stem);
-	}
-	lpStruct->losize = (*env)->GetShortField(env, lpObject, FontDetailsFc.losize);
-	lpStruct->hisize = (*env)->GetShortField(env, lpObject, FontDetailsFc.hisize);
-	lpStruct->flags = (*env)->GetShortField(env, lpObject, FontDetailsFc.flags);
-	return lpStruct;
-}
-
-void setFontDetailsFields(JNIEnv *env, jobject lpObject, FontDetails *lpStruct)
-{
-	if (!FontDetailsFc.cached) cacheFontDetailsFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontDetailsFc.desc);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontDetailsFc.stem);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->stem), (jbyte *)lpStruct->stem);
-	}
-	(*env)->SetShortField(env, lpObject, FontDetailsFc.losize, (jshort)lpStruct->losize);
-	(*env)->SetShortField(env, lpObject, FontDetailsFc.hisize, (jshort)lpStruct->hisize);
-	(*env)->SetShortField(env, lpObject, FontDetailsFc.flags, (jshort)lpStruct->flags);
-}
-#endif
-
-#ifndef NO_FontQueryInfo
-typedef struct FontQueryInfo_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID font, desc, size, style, ascender, descender, width, lochar, hichar;
-} FontQueryInfo_FID_CACHE;
-
-FontQueryInfo_FID_CACHE FontQueryInfoFc;
-
-void cacheFontQueryInfoFields(JNIEnv *env, jobject lpObject)
-{
-	if (FontQueryInfoFc.cached) return;
-	FontQueryInfoFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FontQueryInfoFc.font = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "font", "[B");
-	FontQueryInfoFc.desc = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "desc", "[B");
-	FontQueryInfoFc.size = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "size", "S");
-	FontQueryInfoFc.style = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "style", "S");
-	FontQueryInfoFc.ascender = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "ascender", "S");
-	FontQueryInfoFc.descender = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "descender", "S");
-	FontQueryInfoFc.width = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "width", "S");
-	FontQueryInfoFc.lochar = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "lochar", "I");
-	FontQueryInfoFc.hichar = (*env)->GetFieldID(env, FontQueryInfoFc.clazz, "hichar", "I");
-	FontQueryInfoFc.cached = 1;
-}
-
-FontQueryInfo *getFontQueryInfoFields(JNIEnv *env, jobject lpObject, FontQueryInfo *lpStruct)
-{
-	if (!FontQueryInfoFc.cached) cacheFontQueryInfoFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontQueryInfoFc.font);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->font), (jbyte *)lpStruct->font);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontQueryInfoFc.desc);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	lpStruct->size = (*env)->GetShortField(env, lpObject, FontQueryInfoFc.size);
-	lpStruct->style = (*env)->GetShortField(env, lpObject, FontQueryInfoFc.style);
-	lpStruct->ascender = (*env)->GetShortField(env, lpObject, FontQueryInfoFc.ascender);
-	lpStruct->descender = (*env)->GetShortField(env, lpObject, FontQueryInfoFc.descender);
-	lpStruct->width = (*env)->GetShortField(env, lpObject, FontQueryInfoFc.width);
-	lpStruct->lochar = (*env)->GetIntField(env, lpObject, FontQueryInfoFc.lochar);
-	lpStruct->hichar = (*env)->GetIntField(env, lpObject, FontQueryInfoFc.hichar);
-	return lpStruct;
-}
-
-void setFontQueryInfoFields(JNIEnv *env, jobject lpObject, FontQueryInfo *lpStruct)
-{
-	if (!FontQueryInfoFc.cached) cacheFontQueryInfoFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontQueryInfoFc.font);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->font), (jbyte *)lpStruct->font);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, FontQueryInfoFc.desc);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	(*env)->SetShortField(env, lpObject, FontQueryInfoFc.size, (jshort)lpStruct->size);
-	(*env)->SetShortField(env, lpObject, FontQueryInfoFc.style, (jshort)lpStruct->style);
-	(*env)->SetShortField(env, lpObject, FontQueryInfoFc.ascender, (jshort)lpStruct->ascender);
-	(*env)->SetShortField(env, lpObject, FontQueryInfoFc.descender, (jshort)lpStruct->descender);
-	(*env)->SetShortField(env, lpObject, FontQueryInfoFc.width, (jshort)lpStruct->width);
-	(*env)->SetIntField(env, lpObject, FontQueryInfoFc.lochar, (jint)lpStruct->lochar);
-	(*env)->SetIntField(env, lpObject, FontQueryInfoFc.hichar, (jint)lpStruct->hichar);
-}
-#endif
-
-#ifndef NO_PgAlpha_t
-typedef struct PgAlpha_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID alpha_op, src_alpha_map_dim_w, src_alpha_map_dim_h, src_alpha_map_bpl, src_alpha_map_bpp, src_alpha_map_map, src_global_alpha, dest_global_alpha;
-} PgAlpha_t_FID_CACHE;
-
-PgAlpha_t_FID_CACHE PgAlpha_tFc;
-
-void cachePgAlpha_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PgAlpha_tFc.cached) return;
-	PgAlpha_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PgAlpha_tFc.alpha_op = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "alpha_op", "I");
-	PgAlpha_tFc.src_alpha_map_dim_w = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_alpha_map_dim_w", "S");
-	PgAlpha_tFc.src_alpha_map_dim_h = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_alpha_map_dim_h", "S");
-	PgAlpha_tFc.src_alpha_map_bpl = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_alpha_map_bpl", "S");
-	PgAlpha_tFc.src_alpha_map_bpp = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_alpha_map_bpp", "S");
-	PgAlpha_tFc.src_alpha_map_map = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_alpha_map_map", "I");
-	PgAlpha_tFc.src_global_alpha = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "src_global_alpha", "B");
-	PgAlpha_tFc.dest_global_alpha = (*env)->GetFieldID(env, PgAlpha_tFc.clazz, "dest_global_alpha", "B");
-	PgAlpha_tFc.cached = 1;
-}
-
-PgAlpha_t *getPgAlpha_tFields(JNIEnv *env, jobject lpObject, PgAlpha_t *lpStruct)
-{
-	if (!PgAlpha_tFc.cached) cachePgAlpha_tFields(env, lpObject);
-	lpStruct->alpha_op = (*env)->GetIntField(env, lpObject, PgAlpha_tFc.alpha_op);
-	lpStruct->src_alpha_map.dim.w = (*env)->GetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_dim_w);
-	lpStruct->src_alpha_map.dim.h = (*env)->GetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_dim_h);
-	lpStruct->src_alpha_map.bpl = (*env)->GetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_bpl);
-	lpStruct->src_alpha_map.bpp = (*env)->GetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_bpp);
-	lpStruct->src_alpha_map.map = (char *)(*env)->GetIntField(env, lpObject, PgAlpha_tFc.src_alpha_map_map);
-	lpStruct->src_global_alpha = (*env)->GetByteField(env, lpObject, PgAlpha_tFc.src_global_alpha);
-	lpStruct->dest_global_alpha = (*env)->GetByteField(env, lpObject, PgAlpha_tFc.dest_global_alpha);
-	return lpStruct;
-}
-
-void setPgAlpha_tFields(JNIEnv *env, jobject lpObject, PgAlpha_t *lpStruct)
-{
-	if (!PgAlpha_tFc.cached) cachePgAlpha_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PgAlpha_tFc.alpha_op, (jint)lpStruct->alpha_op);
-	(*env)->SetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_dim_w, (jshort)lpStruct->src_alpha_map.dim.w);
-	(*env)->SetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_dim_h, (jshort)lpStruct->src_alpha_map.dim.h);
-	(*env)->SetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_bpl, (jshort)lpStruct->src_alpha_map.bpl);
-	(*env)->SetShortField(env, lpObject, PgAlpha_tFc.src_alpha_map_bpp, (jshort)lpStruct->src_alpha_map.bpp);
-	(*env)->SetIntField(env, lpObject, PgAlpha_tFc.src_alpha_map_map, (jint)lpStruct->src_alpha_map.map);
-	(*env)->SetByteField(env, lpObject, PgAlpha_tFc.src_global_alpha, (jbyte)lpStruct->src_global_alpha);
-	(*env)->SetByteField(env, lpObject, PgAlpha_tFc.dest_global_alpha, (jbyte)lpStruct->dest_global_alpha);
-}
-#endif
-
-#ifndef NO_PgDisplaySettings_t
-typedef struct PgDisplaySettings_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mode, xres, yres, refresh, flags, reserved;
-} PgDisplaySettings_t_FID_CACHE;
-
-PgDisplaySettings_t_FID_CACHE PgDisplaySettings_tFc;
-
-void cachePgDisplaySettings_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PgDisplaySettings_tFc.cached) return;
-	PgDisplaySettings_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PgDisplaySettings_tFc.mode = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "mode", "I");
-	PgDisplaySettings_tFc.xres = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "xres", "I");
-	PgDisplaySettings_tFc.yres = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "yres", "I");
-	PgDisplaySettings_tFc.refresh = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "refresh", "I");
-	PgDisplaySettings_tFc.flags = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "flags", "I");
-	PgDisplaySettings_tFc.reserved = (*env)->GetFieldID(env, PgDisplaySettings_tFc.clazz, "reserved", "[I");
-	PgDisplaySettings_tFc.cached = 1;
-}
-
-PgDisplaySettings_t *getPgDisplaySettings_tFields(JNIEnv *env, jobject lpObject, PgDisplaySettings_t *lpStruct)
-{
-	if (!PgDisplaySettings_tFc.cached) cachePgDisplaySettings_tFields(env, lpObject);
-	lpStruct->mode = (*env)->GetIntField(env, lpObject, PgDisplaySettings_tFc.mode);
-	lpStruct->xres = (*env)->GetIntField(env, lpObject, PgDisplaySettings_tFc.xres);
-	lpStruct->yres = (*env)->GetIntField(env, lpObject, PgDisplaySettings_tFc.yres);
-	lpStruct->refresh = (*env)->GetIntField(env, lpObject, PgDisplaySettings_tFc.refresh);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, PgDisplaySettings_tFc.flags);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, PgDisplaySettings_tFc.reserved);
-	(*env)->GetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->reserved) / 4, (jint *)lpStruct->reserved);
-	}
-	return lpStruct;
-}
-
-void setPgDisplaySettings_tFields(JNIEnv *env, jobject lpObject, PgDisplaySettings_t *lpStruct)
-{
-	if (!PgDisplaySettings_tFc.cached) cachePgDisplaySettings_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PgDisplaySettings_tFc.mode, (jint)lpStruct->mode);
-	(*env)->SetIntField(env, lpObject, PgDisplaySettings_tFc.xres, (jint)lpStruct->xres);
-	(*env)->SetIntField(env, lpObject, PgDisplaySettings_tFc.yres, (jint)lpStruct->yres);
-	(*env)->SetIntField(env, lpObject, PgDisplaySettings_tFc.refresh, (jint)lpStruct->refresh);
-	(*env)->SetIntField(env, lpObject, PgDisplaySettings_tFc.flags, (jint)lpStruct->flags);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, PgDisplaySettings_tFc.reserved);
-	(*env)->SetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->reserved) / 4, (jint *)lpStruct->reserved);
-	}
-}
-#endif
-
-#ifndef NO_PgMap_t
-typedef struct PgMap_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dim_w, dim_h, bpl, bpp, map;
-} PgMap_t_FID_CACHE;
-
-PgMap_t_FID_CACHE PgMap_tFc;
-
-void cachePgMap_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PgMap_tFc.cached) return;
-	PgMap_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PgMap_tFc.dim_w = (*env)->GetFieldID(env, PgMap_tFc.clazz, "dim_w", "S");
-	PgMap_tFc.dim_h = (*env)->GetFieldID(env, PgMap_tFc.clazz, "dim_h", "S");
-	PgMap_tFc.bpl = (*env)->GetFieldID(env, PgMap_tFc.clazz, "bpl", "S");
-	PgMap_tFc.bpp = (*env)->GetFieldID(env, PgMap_tFc.clazz, "bpp", "S");
-	PgMap_tFc.map = (*env)->GetFieldID(env, PgMap_tFc.clazz, "map", "I");
-	PgMap_tFc.cached = 1;
-}
-
-PgMap_t *getPgMap_tFields(JNIEnv *env, jobject lpObject, PgMap_t *lpStruct)
-{
-	if (!PgMap_tFc.cached) cachePgMap_tFields(env, lpObject);
-	lpStruct->dim.w = (*env)->GetShortField(env, lpObject, PgMap_tFc.dim_w);
-	lpStruct->dim.h = (*env)->GetShortField(env, lpObject, PgMap_tFc.dim_h);
-	lpStruct->bpl = (*env)->GetShortField(env, lpObject, PgMap_tFc.bpl);
-	lpStruct->bpp = (*env)->GetShortField(env, lpObject, PgMap_tFc.bpp);
-	lpStruct->map = (char *)(*env)->GetIntField(env, lpObject, PgMap_tFc.map);
-	return lpStruct;
-}
-
-void setPgMap_tFields(JNIEnv *env, jobject lpObject, PgMap_t *lpStruct)
-{
-	if (!PgMap_tFc.cached) cachePgMap_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PgMap_tFc.dim_w, (jshort)lpStruct->dim.w);
-	(*env)->SetShortField(env, lpObject, PgMap_tFc.dim_h, (jshort)lpStruct->dim.h);
-	(*env)->SetShortField(env, lpObject, PgMap_tFc.bpl, (jshort)lpStruct->bpl);
-	(*env)->SetShortField(env, lpObject, PgMap_tFc.bpp, (jshort)lpStruct->bpp);
-	(*env)->SetIntField(env, lpObject, PgMap_tFc.map, (jint)lpStruct->map);
-}
-#endif
-
-#ifndef NO_PgVideoModeInfo_t
-typedef struct PgVideoModeInfo_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID width, height, bits_per_pixel, bytes_per_scanline, type, mode_capabilities1, mode_capabilities2, mode_capabilities3, mode_capabilities4, mode_capabilities5, mode_capabilities6, refresh_rates;
-} PgVideoModeInfo_t_FID_CACHE;
-
-PgVideoModeInfo_t_FID_CACHE PgVideoModeInfo_tFc;
-
-void cachePgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PgVideoModeInfo_tFc.cached) return;
-	PgVideoModeInfo_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PgVideoModeInfo_tFc.width = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "width", "S");
-	PgVideoModeInfo_tFc.height = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "height", "S");
-	PgVideoModeInfo_tFc.bits_per_pixel = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "bits_per_pixel", "S");
-	PgVideoModeInfo_tFc.bytes_per_scanline = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "bytes_per_scanline", "S");
-	PgVideoModeInfo_tFc.type = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "type", "I");
-	PgVideoModeInfo_tFc.mode_capabilities1 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities1", "I");
-	PgVideoModeInfo_tFc.mode_capabilities2 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities2", "I");
-	PgVideoModeInfo_tFc.mode_capabilities3 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities3", "I");
-	PgVideoModeInfo_tFc.mode_capabilities4 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities4", "I");
-	PgVideoModeInfo_tFc.mode_capabilities5 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities5", "I");
-	PgVideoModeInfo_tFc.mode_capabilities6 = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "mode_capabilities6", "I");
-	PgVideoModeInfo_tFc.refresh_rates = (*env)->GetFieldID(env, PgVideoModeInfo_tFc.clazz, "refresh_rates", "[B");
-	PgVideoModeInfo_tFc.cached = 1;
-}
-
-PgVideoModeInfo_t *getPgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject, PgVideoModeInfo_t *lpStruct)
-{
-	if (!PgVideoModeInfo_tFc.cached) cachePgVideoModeInfo_tFields(env, lpObject);
-	lpStruct->width = (*env)->GetShortField(env, lpObject, PgVideoModeInfo_tFc.width);
-	lpStruct->height = (*env)->GetShortField(env, lpObject, PgVideoModeInfo_tFc.height);
-	lpStruct->bits_per_pixel = (*env)->GetShortField(env, lpObject, PgVideoModeInfo_tFc.bits_per_pixel);
-	lpStruct->bytes_per_scanline = (*env)->GetShortField(env, lpObject, PgVideoModeInfo_tFc.bytes_per_scanline);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.type);
-	lpStruct->mode_capabilities1 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities1);
-	lpStruct->mode_capabilities2 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities2);
-	lpStruct->mode_capabilities3 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities3);
-	lpStruct->mode_capabilities4 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities4);
-	lpStruct->mode_capabilities5 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities5);
-	lpStruct->mode_capabilities6 = (*env)->GetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities6);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PgVideoModeInfo_tFc.refresh_rates);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->refresh_rates), (jbyte *)lpStruct->refresh_rates);
-	}
-	return lpStruct;
-}
-
-void setPgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject, PgVideoModeInfo_t *lpStruct)
-{
-	if (!PgVideoModeInfo_tFc.cached) cachePgVideoModeInfo_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PgVideoModeInfo_tFc.width, (jshort)lpStruct->width);
-	(*env)->SetShortField(env, lpObject, PgVideoModeInfo_tFc.height, (jshort)lpStruct->height);
-	(*env)->SetShortField(env, lpObject, PgVideoModeInfo_tFc.bits_per_pixel, (jshort)lpStruct->bits_per_pixel);
-	(*env)->SetShortField(env, lpObject, PgVideoModeInfo_tFc.bytes_per_scanline, (jshort)lpStruct->bytes_per_scanline);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities1, (jint)lpStruct->mode_capabilities1);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities2, (jint)lpStruct->mode_capabilities2);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities3, (jint)lpStruct->mode_capabilities3);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities4, (jint)lpStruct->mode_capabilities4);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities5, (jint)lpStruct->mode_capabilities5);
-	(*env)->SetIntField(env, lpObject, PgVideoModeInfo_tFc.mode_capabilities6, (jint)lpStruct->mode_capabilities6);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PgVideoModeInfo_tFc.refresh_rates);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->refresh_rates), (jbyte *)lpStruct->refresh_rates);
-	}
-}
-#endif
-
-#ifndef NO_PhArea_t
-typedef struct PhArea_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pos_x, pos_y, size_w, size_h;
-} PhArea_t_FID_CACHE;
-
-PhArea_t_FID_CACHE PhArea_tFc;
-
-void cachePhArea_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhArea_tFc.cached) return;
-	PhArea_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhArea_tFc.pos_x = (*env)->GetFieldID(env, PhArea_tFc.clazz, "pos_x", "S");
-	PhArea_tFc.pos_y = (*env)->GetFieldID(env, PhArea_tFc.clazz, "pos_y", "S");
-	PhArea_tFc.size_w = (*env)->GetFieldID(env, PhArea_tFc.clazz, "size_w", "S");
-	PhArea_tFc.size_h = (*env)->GetFieldID(env, PhArea_tFc.clazz, "size_h", "S");
-	PhArea_tFc.cached = 1;
-}
-
-PhArea_t *getPhArea_tFields(JNIEnv *env, jobject lpObject, PhArea_t *lpStruct)
-{
-	if (!PhArea_tFc.cached) cachePhArea_tFields(env, lpObject);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PhArea_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PhArea_tFc.pos_y);
-	lpStruct->size.w = (*env)->GetShortField(env, lpObject, PhArea_tFc.size_w);
-	lpStruct->size.h = (*env)->GetShortField(env, lpObject, PhArea_tFc.size_h);
-	return lpStruct;
-}
-
-void setPhArea_tFields(JNIEnv *env, jobject lpObject, PhArea_t *lpStruct)
-{
-	if (!PhArea_tFc.cached) cachePhArea_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhArea_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PhArea_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetShortField(env, lpObject, PhArea_tFc.size_w, (jshort)lpStruct->size.w);
-	(*env)->SetShortField(env, lpObject, PhArea_tFc.size_h, (jshort)lpStruct->size.h);
-}
-#endif
-
-#ifndef NO_PhClipHeader
-typedef struct PhClipHeader_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, length, zero, data;
-} PhClipHeader_FID_CACHE;
-
-PhClipHeader_FID_CACHE PhClipHeaderFc;
-
-void cachePhClipHeaderFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhClipHeaderFc.cached) return;
-	PhClipHeaderFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhClipHeaderFc.type = (*env)->GetFieldID(env, PhClipHeaderFc.clazz, "type", "[B");
-	PhClipHeaderFc.length = (*env)->GetFieldID(env, PhClipHeaderFc.clazz, "length", "S");
-	PhClipHeaderFc.zero = (*env)->GetFieldID(env, PhClipHeaderFc.clazz, "zero", "S");
-	PhClipHeaderFc.data = (*env)->GetFieldID(env, PhClipHeaderFc.clazz, "data", "I");
-	PhClipHeaderFc.cached = 1;
-}
-
-PhClipHeader *getPhClipHeaderFields(JNIEnv *env, jobject lpObject, PhClipHeader *lpStruct)
-{
-	if (!PhClipHeaderFc.cached) cachePhClipHeaderFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PhClipHeaderFc.type);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->type), (jbyte *)lpStruct->type);
-	}
-	lpStruct->length = (*env)->GetShortField(env, lpObject, PhClipHeaderFc.length);
-	lpStruct->zero = (*env)->GetShortField(env, lpObject, PhClipHeaderFc.zero);
-	lpStruct->data = (void *)(*env)->GetIntField(env, lpObject, PhClipHeaderFc.data);
-	return lpStruct;
-}
-
-void setPhClipHeaderFields(JNIEnv *env, jobject lpObject, PhClipHeader *lpStruct)
-{
-	if (!PhClipHeaderFc.cached) cachePhClipHeaderFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PhClipHeaderFc.type);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->type), (jbyte *)lpStruct->type);
-	}
-	(*env)->SetShortField(env, lpObject, PhClipHeaderFc.length, (jshort)lpStruct->length);
-	(*env)->SetShortField(env, lpObject, PhClipHeaderFc.zero, (jshort)lpStruct->zero);
-	(*env)->SetIntField(env, lpObject, PhClipHeaderFc.data, (jint)lpStruct->data);
-}
-#endif
-
-#ifndef NO_PhCursorDef_t
-typedef struct PhCursorDef_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hdr_len, hdr_type, size1_x, size1_y, offset1_x, offset1_y, color1, bytesperline1, size2_x, size2_y, offset2_x, offset2_y, color2, bytesperline2;
-} PhCursorDef_t_FID_CACHE;
-
-PhCursorDef_t_FID_CACHE PhCursorDef_tFc;
-
-void cachePhCursorDef_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhCursorDef_tFc.cached) return;
-	PhCursorDef_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhCursorDef_tFc.hdr_len = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "hdr_len", "S");
-	PhCursorDef_tFc.hdr_type = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "hdr_type", "S");
-	PhCursorDef_tFc.size1_x = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "size1_x", "S");
-	PhCursorDef_tFc.size1_y = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "size1_y", "S");
-	PhCursorDef_tFc.offset1_x = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "offset1_x", "S");
-	PhCursorDef_tFc.offset1_y = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "offset1_y", "S");
-	PhCursorDef_tFc.color1 = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "color1", "I");
-	PhCursorDef_tFc.bytesperline1 = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "bytesperline1", "B");
-	PhCursorDef_tFc.size2_x = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "size2_x", "S");
-	PhCursorDef_tFc.size2_y = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "size2_y", "S");
-	PhCursorDef_tFc.offset2_x = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "offset2_x", "S");
-	PhCursorDef_tFc.offset2_y = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "offset2_y", "S");
-	PhCursorDef_tFc.color2 = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "color2", "I");
-	PhCursorDef_tFc.bytesperline2 = (*env)->GetFieldID(env, PhCursorDef_tFc.clazz, "bytesperline2", "B");
-	PhCursorDef_tFc.cached = 1;
-}
-
-PhCursorDef_t *getPhCursorDef_tFields(JNIEnv *env, jobject lpObject, PhCursorDef_t *lpStruct)
-{
-	if (!PhCursorDef_tFc.cached) cachePhCursorDef_tFields(env, lpObject);
-	lpStruct->hdr.len = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.hdr_len);
-	lpStruct->hdr.type = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.hdr_type);
-	lpStruct->size1.x = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.size1_x);
-	lpStruct->size1.y = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.size1_y);
-	lpStruct->offset1.x = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.offset1_x);
-	lpStruct->offset1.y = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.offset1_y);
-	lpStruct->color1 = (*env)->GetIntField(env, lpObject, PhCursorDef_tFc.color1);
-	lpStruct->bytesperline1 = (*env)->GetByteField(env, lpObject, PhCursorDef_tFc.bytesperline1);
-	lpStruct->size2.x = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.size2_x);
-	lpStruct->size2.y = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.size2_y);
-	lpStruct->offset2.x = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.offset2_x);
-	lpStruct->offset2.y = (*env)->GetShortField(env, lpObject, PhCursorDef_tFc.offset2_y);
-	lpStruct->color2 = (*env)->GetIntField(env, lpObject, PhCursorDef_tFc.color2);
-	lpStruct->bytesperline2 = (*env)->GetByteField(env, lpObject, PhCursorDef_tFc.bytesperline2);
-	return lpStruct;
-}
-
-void setPhCursorDef_tFields(JNIEnv *env, jobject lpObject, PhCursorDef_t *lpStruct)
-{
-	if (!PhCursorDef_tFc.cached) cachePhCursorDef_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.hdr_len, (jshort)lpStruct->hdr.len);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.hdr_type, (jshort)lpStruct->hdr.type);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.size1_x, (jshort)lpStruct->size1.x);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.size1_y, (jshort)lpStruct->size1.y);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.offset1_x, (jshort)lpStruct->offset1.x);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.offset1_y, (jshort)lpStruct->offset1.y);
-	(*env)->SetIntField(env, lpObject, PhCursorDef_tFc.color1, (jint)lpStruct->color1);
-	(*env)->SetByteField(env, lpObject, PhCursorDef_tFc.bytesperline1, (jbyte)lpStruct->bytesperline1);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.size2_x, (jshort)lpStruct->size2.x);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.size2_y, (jshort)lpStruct->size2.y);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.offset2_x, (jshort)lpStruct->offset2.x);
-	(*env)->SetShortField(env, lpObject, PhCursorDef_tFc.offset2_y, (jshort)lpStruct->offset2.y);
-	(*env)->SetIntField(env, lpObject, PhCursorDef_tFc.color2, (jint)lpStruct->color2);
-	(*env)->SetByteField(env, lpObject, PhCursorDef_tFc.bytesperline2, (jbyte)lpStruct->bytesperline2);
-}
-#endif
-
-#ifndef NO_PhCursorInfo_t
-typedef struct PhCursorInfo_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pos_x, pos_y, region, ig_region, color, last_press_x, last_press_y, msec, steady_x, steady_y, dragger, drag_boundary_ul_x, drag_boundary_ul_y, drag_boundary_lr_x, drag_boundary_lr_y, phantom_rid, type, ig, button_state, click_count, zero1, key_mods, zero2;
-} PhCursorInfo_t_FID_CACHE;
-
-PhCursorInfo_t_FID_CACHE PhCursorInfo_tFc;
-
-void cachePhCursorInfo_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhCursorInfo_tFc.cached) return;
-	PhCursorInfo_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhCursorInfo_tFc.pos_x = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "pos_x", "S");
-	PhCursorInfo_tFc.pos_y = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "pos_y", "S");
-	PhCursorInfo_tFc.region = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "region", "I");
-	PhCursorInfo_tFc.ig_region = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "ig_region", "I");
-	PhCursorInfo_tFc.color = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "color", "I");
-	PhCursorInfo_tFc.last_press_x = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "last_press_x", "S");
-	PhCursorInfo_tFc.last_press_y = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "last_press_y", "S");
-	PhCursorInfo_tFc.msec = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "msec", "I");
-	PhCursorInfo_tFc.steady_x = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "steady_x", "S");
-	PhCursorInfo_tFc.steady_y = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "steady_y", "S");
-	PhCursorInfo_tFc.dragger = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "dragger", "I");
-	PhCursorInfo_tFc.drag_boundary_ul_x = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "drag_boundary_ul_x", "S");
-	PhCursorInfo_tFc.drag_boundary_ul_y = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "drag_boundary_ul_y", "S");
-	PhCursorInfo_tFc.drag_boundary_lr_x = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "drag_boundary_lr_x", "S");
-	PhCursorInfo_tFc.drag_boundary_lr_y = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "drag_boundary_lr_y", "S");
-	PhCursorInfo_tFc.phantom_rid = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "phantom_rid", "I");
-	PhCursorInfo_tFc.type = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "type", "S");
-	PhCursorInfo_tFc.ig = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "ig", "S");
-	PhCursorInfo_tFc.button_state = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "button_state", "S");
-	PhCursorInfo_tFc.click_count = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "click_count", "B");
-	PhCursorInfo_tFc.zero1 = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "zero1", "B");
-	PhCursorInfo_tFc.key_mods = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "key_mods", "I");
-	PhCursorInfo_tFc.zero2 = (*env)->GetFieldID(env, PhCursorInfo_tFc.clazz, "zero2", "I");
-	PhCursorInfo_tFc.cached = 1;
-}
-
-PhCursorInfo_t *getPhCursorInfo_tFields(JNIEnv *env, jobject lpObject, PhCursorInfo_t *lpStruct)
-{
-	if (!PhCursorInfo_tFc.cached) cachePhCursorInfo_tFields(env, lpObject);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.pos_y);
-	lpStruct->region = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.region);
-	lpStruct->ig_region = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.ig_region);
-	lpStruct->color = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.color);
-	lpStruct->last_press.x = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.last_press_x);
-	lpStruct->last_press.y = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.last_press_y);
-	lpStruct->msec = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.msec);
-	lpStruct->steady.x = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.steady_x);
-	lpStruct->steady.y = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.steady_y);
-	lpStruct->dragger = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.dragger);
-	lpStruct->drag_boundary.ul.x = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_ul_x);
-	lpStruct->drag_boundary.ul.y = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_ul_y);
-	lpStruct->drag_boundary.lr.x = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_lr_x);
-	lpStruct->drag_boundary.lr.y = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_lr_y);
-	lpStruct->phantom_rid = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.phantom_rid);
-	lpStruct->type = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.type);
-	lpStruct->ig = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.ig);
-	lpStruct->button_state = (*env)->GetShortField(env, lpObject, PhCursorInfo_tFc.button_state);
-	lpStruct->click_count = (*env)->GetByteField(env, lpObject, PhCursorInfo_tFc.click_count);
-	lpStruct->zero1 = (*env)->GetByteField(env, lpObject, PhCursorInfo_tFc.zero1);
-	lpStruct->key_mods = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.key_mods);
-	lpStruct->zero2 = (*env)->GetIntField(env, lpObject, PhCursorInfo_tFc.zero2);
-	return lpStruct;
-}
-
-void setPhCursorInfo_tFields(JNIEnv *env, jobject lpObject, PhCursorInfo_t *lpStruct)
-{
-	if (!PhCursorInfo_tFc.cached) cachePhCursorInfo_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.region, (jint)lpStruct->region);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.ig_region, (jint)lpStruct->ig_region);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.color, (jint)lpStruct->color);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.last_press_x, (jshort)lpStruct->last_press.x);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.last_press_y, (jshort)lpStruct->last_press.y);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.msec, (jint)lpStruct->msec);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.steady_x, (jshort)lpStruct->steady.x);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.steady_y, (jshort)lpStruct->steady.y);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.dragger, (jint)lpStruct->dragger);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_ul_x, (jshort)lpStruct->drag_boundary.ul.x);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_ul_y, (jshort)lpStruct->drag_boundary.ul.y);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_lr_x, (jshort)lpStruct->drag_boundary.lr.x);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.drag_boundary_lr_y, (jshort)lpStruct->drag_boundary.lr.y);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.phantom_rid, (jint)lpStruct->phantom_rid);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.type, (jshort)lpStruct->type);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.ig, (jshort)lpStruct->ig);
-	(*env)->SetShortField(env, lpObject, PhCursorInfo_tFc.button_state, (jshort)lpStruct->button_state);
-	(*env)->SetByteField(env, lpObject, PhCursorInfo_tFc.click_count, (jbyte)lpStruct->click_count);
-	(*env)->SetByteField(env, lpObject, PhCursorInfo_tFc.zero1, (jbyte)lpStruct->zero1);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.key_mods, (jint)lpStruct->key_mods);
-	(*env)->SetIntField(env, lpObject, PhCursorInfo_tFc.zero2, (jint)lpStruct->zero2);
-}
-#endif
-
-#ifndef NO_PhDim_t
-typedef struct PhDim_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID w, h;
-} PhDim_t_FID_CACHE;
-
-PhDim_t_FID_CACHE PhDim_tFc;
-
-void cachePhDim_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhDim_tFc.cached) return;
-	PhDim_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhDim_tFc.w = (*env)->GetFieldID(env, PhDim_tFc.clazz, "w", "S");
-	PhDim_tFc.h = (*env)->GetFieldID(env, PhDim_tFc.clazz, "h", "S");
-	PhDim_tFc.cached = 1;
-}
-
-PhDim_t *getPhDim_tFields(JNIEnv *env, jobject lpObject, PhDim_t *lpStruct)
-{
-	if (!PhDim_tFc.cached) cachePhDim_tFields(env, lpObject);
-	lpStruct->w = (*env)->GetShortField(env, lpObject, PhDim_tFc.w);
-	lpStruct->h = (*env)->GetShortField(env, lpObject, PhDim_tFc.h);
-	return lpStruct;
-}
-
-void setPhDim_tFields(JNIEnv *env, jobject lpObject, PhDim_t *lpStruct)
-{
-	if (!PhDim_tFc.cached) cachePhDim_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhDim_tFc.w, (jshort)lpStruct->w);
-	(*env)->SetShortField(env, lpObject, PhDim_tFc.h, (jshort)lpStruct->h);
-}
-#endif
-
-#ifndef NO_PhEvent_t
-typedef struct PhEvent_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, subtype, processing_flags, emitter_rid, emitter_handle, collector_rid, collector_handle, input_group, flags, timestamp, translation_x, translation_y, num_rects, data_len;
-} PhEvent_t_FID_CACHE;
-
-PhEvent_t_FID_CACHE PhEvent_tFc;
-
-void cachePhEvent_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhEvent_tFc.cached) return;
-	PhEvent_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhEvent_tFc.type = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "type", "I");
-	PhEvent_tFc.subtype = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "subtype", "S");
-	PhEvent_tFc.processing_flags = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "processing_flags", "S");
-	PhEvent_tFc.emitter_rid = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "emitter_rid", "I");
-	PhEvent_tFc.emitter_handle = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "emitter_handle", "I");
-	PhEvent_tFc.collector_rid = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "collector_rid", "I");
-	PhEvent_tFc.collector_handle = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "collector_handle", "I");
-	PhEvent_tFc.input_group = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "input_group", "S");
-	PhEvent_tFc.flags = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "flags", "S");
-	PhEvent_tFc.timestamp = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "timestamp", "I");
-	PhEvent_tFc.translation_x = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "translation_x", "S");
-	PhEvent_tFc.translation_y = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "translation_y", "S");
-	PhEvent_tFc.num_rects = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "num_rects", "S");
-	PhEvent_tFc.data_len = (*env)->GetFieldID(env, PhEvent_tFc.clazz, "data_len", "S");
-	PhEvent_tFc.cached = 1;
-}
-
-PhEvent_t *getPhEvent_tFields(JNIEnv *env, jobject lpObject, PhEvent_t *lpStruct)
-{
-	if (!PhEvent_tFc.cached) cachePhEvent_tFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, PhEvent_tFc.type);
-	lpStruct->subtype = (*env)->GetShortField(env, lpObject, PhEvent_tFc.subtype);
-	lpStruct->processing_flags = (*env)->GetShortField(env, lpObject, PhEvent_tFc.processing_flags);
-	lpStruct->emitter.rid = (*env)->GetIntField(env, lpObject, PhEvent_tFc.emitter_rid);
-	lpStruct->emitter.handle = (*env)->GetIntField(env, lpObject, PhEvent_tFc.emitter_handle);
-	lpStruct->collector.rid = (*env)->GetIntField(env, lpObject, PhEvent_tFc.collector_rid);
-	lpStruct->collector.handle = (*env)->GetIntField(env, lpObject, PhEvent_tFc.collector_handle);
-	lpStruct->input_group = (*env)->GetShortField(env, lpObject, PhEvent_tFc.input_group);
-	lpStruct->flags = (*env)->GetShortField(env, lpObject, PhEvent_tFc.flags);
-	lpStruct->timestamp = (*env)->GetIntField(env, lpObject, PhEvent_tFc.timestamp);
-	lpStruct->translation.x = (*env)->GetShortField(env, lpObject, PhEvent_tFc.translation_x);
-	lpStruct->translation.y = (*env)->GetShortField(env, lpObject, PhEvent_tFc.translation_y);
-	lpStruct->num_rects = (*env)->GetShortField(env, lpObject, PhEvent_tFc.num_rects);
-	lpStruct->data_len = (*env)->GetShortField(env, lpObject, PhEvent_tFc.data_len);
-	return lpStruct;
-}
-
-void setPhEvent_tFields(JNIEnv *env, jobject lpObject, PhEvent_t *lpStruct)
-{
-	if (!PhEvent_tFc.cached) cachePhEvent_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.type, (jint)lpStruct->type);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.subtype, (jshort)lpStruct->subtype);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.processing_flags, (jshort)lpStruct->processing_flags);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.emitter_rid, (jint)lpStruct->emitter.rid);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.emitter_handle, (jint)lpStruct->emitter.handle);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.collector_rid, (jint)lpStruct->collector.rid);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.collector_handle, (jint)lpStruct->collector.handle);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.input_group, (jshort)lpStruct->input_group);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.flags, (jshort)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, PhEvent_tFc.timestamp, (jint)lpStruct->timestamp);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.translation_x, (jshort)lpStruct->translation.x);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.translation_y, (jshort)lpStruct->translation.y);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.num_rects, (jshort)lpStruct->num_rects);
-	(*env)->SetShortField(env, lpObject, PhEvent_tFc.data_len, (jshort)lpStruct->data_len);
-}
-#endif
-
-#ifndef NO_PhImage_t
-typedef struct PhImage_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, image_tag, bpl, size_w, size_h, palette_tag, colors, alpha, transparent, format, flags, ghost_bpl, spare1, ghost_bitmap, mask_bpl, mask_bm, palette, image;
-} PhImage_t_FID_CACHE;
-
-PhImage_t_FID_CACHE PhImage_tFc;
-
-void cachePhImage_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhImage_tFc.cached) return;
-	PhImage_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhImage_tFc.type = (*env)->GetFieldID(env, PhImage_tFc.clazz, "type", "I");
-	PhImage_tFc.image_tag = (*env)->GetFieldID(env, PhImage_tFc.clazz, "image_tag", "I");
-	PhImage_tFc.bpl = (*env)->GetFieldID(env, PhImage_tFc.clazz, "bpl", "I");
-	PhImage_tFc.size_w = (*env)->GetFieldID(env, PhImage_tFc.clazz, "size_w", "S");
-	PhImage_tFc.size_h = (*env)->GetFieldID(env, PhImage_tFc.clazz, "size_h", "S");
-	PhImage_tFc.palette_tag = (*env)->GetFieldID(env, PhImage_tFc.clazz, "palette_tag", "I");
-	PhImage_tFc.colors = (*env)->GetFieldID(env, PhImage_tFc.clazz, "colors", "I");
-	PhImage_tFc.alpha = (*env)->GetFieldID(env, PhImage_tFc.clazz, "alpha", "I");
-	PhImage_tFc.transparent = (*env)->GetFieldID(env, PhImage_tFc.clazz, "transparent", "I");
-	PhImage_tFc.format = (*env)->GetFieldID(env, PhImage_tFc.clazz, "format", "B");
-	PhImage_tFc.flags = (*env)->GetFieldID(env, PhImage_tFc.clazz, "flags", "B");
-	PhImage_tFc.ghost_bpl = (*env)->GetFieldID(env, PhImage_tFc.clazz, "ghost_bpl", "B");
-	PhImage_tFc.spare1 = (*env)->GetFieldID(env, PhImage_tFc.clazz, "spare1", "B");
-	PhImage_tFc.ghost_bitmap = (*env)->GetFieldID(env, PhImage_tFc.clazz, "ghost_bitmap", "I");
-	PhImage_tFc.mask_bpl = (*env)->GetFieldID(env, PhImage_tFc.clazz, "mask_bpl", "I");
-	PhImage_tFc.mask_bm = (*env)->GetFieldID(env, PhImage_tFc.clazz, "mask_bm", "I");
-	PhImage_tFc.palette = (*env)->GetFieldID(env, PhImage_tFc.clazz, "palette", "I");
-	PhImage_tFc.image = (*env)->GetFieldID(env, PhImage_tFc.clazz, "image", "I");
-	PhImage_tFc.cached = 1;
-}
-
-PhImage_t *getPhImage_tFields(JNIEnv *env, jobject lpObject, PhImage_t *lpStruct)
-{
-	if (!PhImage_tFc.cached) cachePhImage_tFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, PhImage_tFc.type);
-	lpStruct->image_tag = (*env)->GetIntField(env, lpObject, PhImage_tFc.image_tag);
-	lpStruct->bpl = (*env)->GetIntField(env, lpObject, PhImage_tFc.bpl);
-	lpStruct->size.w = (*env)->GetShortField(env, lpObject, PhImage_tFc.size_w);
-	lpStruct->size.h = (*env)->GetShortField(env, lpObject, PhImage_tFc.size_h);
-	lpStruct->palette_tag = (*env)->GetIntField(env, lpObject, PhImage_tFc.palette_tag);
-	lpStruct->colors = (*env)->GetIntField(env, lpObject, PhImage_tFc.colors);
-	lpStruct->alpha = (PgAlpha_t *)(*env)->GetIntField(env, lpObject, PhImage_tFc.alpha);
-	lpStruct->transparent = (*env)->GetIntField(env, lpObject, PhImage_tFc.transparent);
-	lpStruct->format = (*env)->GetByteField(env, lpObject, PhImage_tFc.format);
-	lpStruct->flags = (*env)->GetByteField(env, lpObject, PhImage_tFc.flags);
-	lpStruct->ghost_bpl = (*env)->GetByteField(env, lpObject, PhImage_tFc.ghost_bpl);
-	lpStruct->spare1 = (*env)->GetByteField(env, lpObject, PhImage_tFc.spare1);
-	lpStruct->ghost_bitmap = (char *)(*env)->GetIntField(env, lpObject, PhImage_tFc.ghost_bitmap);
-	lpStruct->mask_bpl = (*env)->GetIntField(env, lpObject, PhImage_tFc.mask_bpl);
-	lpStruct->mask_bm = (char *)(*env)->GetIntField(env, lpObject, PhImage_tFc.mask_bm);
-	lpStruct->palette = (PgColor_t *)(*env)->GetIntField(env, lpObject, PhImage_tFc.palette);
-	lpStruct->image = (char *)(*env)->GetIntField(env, lpObject, PhImage_tFc.image);
-	return lpStruct;
-}
-
-void setPhImage_tFields(JNIEnv *env, jobject lpObject, PhImage_t *lpStruct)
-{
-	if (!PhImage_tFc.cached) cachePhImage_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.image_tag, (jint)lpStruct->image_tag);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.bpl, (jint)lpStruct->bpl);
-	(*env)->SetShortField(env, lpObject, PhImage_tFc.size_w, (jshort)lpStruct->size.w);
-	(*env)->SetShortField(env, lpObject, PhImage_tFc.size_h, (jshort)lpStruct->size.h);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.palette_tag, (jint)lpStruct->palette_tag);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.colors, (jint)lpStruct->colors);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.alpha, (jint)lpStruct->alpha);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.transparent, (jint)lpStruct->transparent);
-	(*env)->SetByteField(env, lpObject, PhImage_tFc.format, (jbyte)lpStruct->format);
-	(*env)->SetByteField(env, lpObject, PhImage_tFc.flags, (jbyte)lpStruct->flags);
-	(*env)->SetByteField(env, lpObject, PhImage_tFc.ghost_bpl, (jbyte)lpStruct->ghost_bpl);
-	(*env)->SetByteField(env, lpObject, PhImage_tFc.spare1, (jbyte)lpStruct->spare1);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.ghost_bitmap, (jint)lpStruct->ghost_bitmap);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.mask_bpl, (jint)lpStruct->mask_bpl);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.mask_bm, (jint)lpStruct->mask_bm);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.palette, (jint)lpStruct->palette);
-	(*env)->SetIntField(env, lpObject, PhImage_tFc.image, (jint)lpStruct->image);
-}
-#endif
-
-#ifndef NO_PhKeyEvent_t
-typedef struct PhKeyEvent_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID key_mods, key_flags, key_cap, key_sym, key_scan, key_zero, pos_x, pos_y, button_state;
-} PhKeyEvent_t_FID_CACHE;
-
-PhKeyEvent_t_FID_CACHE PhKeyEvent_tFc;
-
-void cachePhKeyEvent_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhKeyEvent_tFc.cached) return;
-	PhKeyEvent_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhKeyEvent_tFc.key_mods = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_mods", "I");
-	PhKeyEvent_tFc.key_flags = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_flags", "I");
-	PhKeyEvent_tFc.key_cap = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_cap", "I");
-	PhKeyEvent_tFc.key_sym = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_sym", "I");
-	PhKeyEvent_tFc.key_scan = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_scan", "S");
-	PhKeyEvent_tFc.key_zero = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "key_zero", "S");
-	PhKeyEvent_tFc.pos_x = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "pos_x", "S");
-	PhKeyEvent_tFc.pos_y = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "pos_y", "S");
-	PhKeyEvent_tFc.button_state = (*env)->GetFieldID(env, PhKeyEvent_tFc.clazz, "button_state", "S");
-	PhKeyEvent_tFc.cached = 1;
-}
-
-PhKeyEvent_t *getPhKeyEvent_tFields(JNIEnv *env, jobject lpObject, PhKeyEvent_t *lpStruct)
-{
-	if (!PhKeyEvent_tFc.cached) cachePhKeyEvent_tFields(env, lpObject);
-	lpStruct->key_mods = (*env)->GetIntField(env, lpObject, PhKeyEvent_tFc.key_mods);
-	lpStruct->key_flags = (*env)->GetIntField(env, lpObject, PhKeyEvent_tFc.key_flags);
-	lpStruct->key_cap = (*env)->GetIntField(env, lpObject, PhKeyEvent_tFc.key_cap);
-	lpStruct->key_sym = (*env)->GetIntField(env, lpObject, PhKeyEvent_tFc.key_sym);
-	lpStruct->key_scan = (*env)->GetShortField(env, lpObject, PhKeyEvent_tFc.key_scan);
-	lpStruct->key_zero = (*env)->GetShortField(env, lpObject, PhKeyEvent_tFc.key_zero);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PhKeyEvent_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PhKeyEvent_tFc.pos_y);
-	lpStruct->button_state = (*env)->GetShortField(env, lpObject, PhKeyEvent_tFc.button_state);
-	return lpStruct;
-}
-
-void setPhKeyEvent_tFields(JNIEnv *env, jobject lpObject, PhKeyEvent_t *lpStruct)
-{
-	if (!PhKeyEvent_tFc.cached) cachePhKeyEvent_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PhKeyEvent_tFc.key_mods, (jint)lpStruct->key_mods);
-	(*env)->SetIntField(env, lpObject, PhKeyEvent_tFc.key_flags, (jint)lpStruct->key_flags);
-	(*env)->SetIntField(env, lpObject, PhKeyEvent_tFc.key_cap, (jint)lpStruct->key_cap);
-	(*env)->SetIntField(env, lpObject, PhKeyEvent_tFc.key_sym, (jint)lpStruct->key_sym);
-	(*env)->SetShortField(env, lpObject, PhKeyEvent_tFc.key_scan, (jshort)lpStruct->key_scan);
-	(*env)->SetShortField(env, lpObject, PhKeyEvent_tFc.key_zero, (jshort)lpStruct->key_zero);
-	(*env)->SetShortField(env, lpObject, PhKeyEvent_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PhKeyEvent_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetShortField(env, lpObject, PhKeyEvent_tFc.button_state, (jshort)lpStruct->button_state);
-}
-#endif
-
-#ifndef NO_PhPoint_t
-typedef struct PhPoint_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y;
-} PhPoint_t_FID_CACHE;
-
-PhPoint_t_FID_CACHE PhPoint_tFc;
-
-void cachePhPoint_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhPoint_tFc.cached) return;
-	PhPoint_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhPoint_tFc.x = (*env)->GetFieldID(env, PhPoint_tFc.clazz, "x", "S");
-	PhPoint_tFc.y = (*env)->GetFieldID(env, PhPoint_tFc.clazz, "y", "S");
-	PhPoint_tFc.cached = 1;
-}
-
-PhPoint_t *getPhPoint_tFields(JNIEnv *env, jobject lpObject, PhPoint_t *lpStruct)
-{
-	if (!PhPoint_tFc.cached) cachePhPoint_tFields(env, lpObject);
-	lpStruct->x = (*env)->GetShortField(env, lpObject, PhPoint_tFc.x);
-	lpStruct->y = (*env)->GetShortField(env, lpObject, PhPoint_tFc.y);
-	return lpStruct;
-}
-
-void setPhPoint_tFields(JNIEnv *env, jobject lpObject, PhPoint_t *lpStruct)
-{
-	if (!PhPoint_tFc.cached) cachePhPoint_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhPoint_tFc.x, (jshort)lpStruct->x);
-	(*env)->SetShortField(env, lpObject, PhPoint_tFc.y, (jshort)lpStruct->y);
-}
-#endif
-
-#ifndef NO_PhPointerEvent_t
-typedef struct PhPointerEvent_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pos_x, pos_y, buttons, button_state, click_count, flags, z, key_mods, zero;
-} PhPointerEvent_t_FID_CACHE;
-
-PhPointerEvent_t_FID_CACHE PhPointerEvent_tFc;
-
-void cachePhPointerEvent_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhPointerEvent_tFc.cached) return;
-	PhPointerEvent_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhPointerEvent_tFc.pos_x = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "pos_x", "S");
-	PhPointerEvent_tFc.pos_y = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "pos_y", "S");
-	PhPointerEvent_tFc.buttons = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "buttons", "S");
-	PhPointerEvent_tFc.button_state = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "button_state", "S");
-	PhPointerEvent_tFc.click_count = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "click_count", "B");
-	PhPointerEvent_tFc.flags = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "flags", "B");
-	PhPointerEvent_tFc.z = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "z", "S");
-	PhPointerEvent_tFc.key_mods = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "key_mods", "I");
-	PhPointerEvent_tFc.zero = (*env)->GetFieldID(env, PhPointerEvent_tFc.clazz, "zero", "I");
-	PhPointerEvent_tFc.cached = 1;
-}
-
-PhPointerEvent_t *getPhPointerEvent_tFields(JNIEnv *env, jobject lpObject, PhPointerEvent_t *lpStruct)
-{
-	if (!PhPointerEvent_tFc.cached) cachePhPointerEvent_tFields(env, lpObject);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PhPointerEvent_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PhPointerEvent_tFc.pos_y);
-	lpStruct->buttons = (*env)->GetShortField(env, lpObject, PhPointerEvent_tFc.buttons);
-	lpStruct->button_state = (*env)->GetShortField(env, lpObject, PhPointerEvent_tFc.button_state);
-	lpStruct->click_count = (*env)->GetByteField(env, lpObject, PhPointerEvent_tFc.click_count);
-	lpStruct->flags = (*env)->GetByteField(env, lpObject, PhPointerEvent_tFc.flags);
-	lpStruct->z = (*env)->GetShortField(env, lpObject, PhPointerEvent_tFc.z);
-	lpStruct->key_mods = (*env)->GetIntField(env, lpObject, PhPointerEvent_tFc.key_mods);
-	lpStruct->zero = (*env)->GetIntField(env, lpObject, PhPointerEvent_tFc.zero);
-	return lpStruct;
-}
-
-void setPhPointerEvent_tFields(JNIEnv *env, jobject lpObject, PhPointerEvent_t *lpStruct)
-{
-	if (!PhPointerEvent_tFc.cached) cachePhPointerEvent_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhPointerEvent_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PhPointerEvent_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetShortField(env, lpObject, PhPointerEvent_tFc.buttons, (jshort)lpStruct->buttons);
-	(*env)->SetShortField(env, lpObject, PhPointerEvent_tFc.button_state, (jshort)lpStruct->button_state);
-	(*env)->SetByteField(env, lpObject, PhPointerEvent_tFc.click_count, (jbyte)lpStruct->click_count);
-	(*env)->SetByteField(env, lpObject, PhPointerEvent_tFc.flags, (jbyte)lpStruct->flags);
-	(*env)->SetShortField(env, lpObject, PhPointerEvent_tFc.z, (jshort)lpStruct->z);
-	(*env)->SetIntField(env, lpObject, PhPointerEvent_tFc.key_mods, (jint)lpStruct->key_mods);
-	(*env)->SetIntField(env, lpObject, PhPointerEvent_tFc.zero, (jint)lpStruct->zero);
-}
-#endif
-
-#ifndef NO_PhRect_t
-typedef struct PhRect_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ul_x, ul_y, lr_x, lr_y;
-} PhRect_t_FID_CACHE;
-
-PhRect_t_FID_CACHE PhRect_tFc;
-
-void cachePhRect_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhRect_tFc.cached) return;
-	PhRect_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhRect_tFc.ul_x = (*env)->GetFieldID(env, PhRect_tFc.clazz, "ul_x", "S");
-	PhRect_tFc.ul_y = (*env)->GetFieldID(env, PhRect_tFc.clazz, "ul_y", "S");
-	PhRect_tFc.lr_x = (*env)->GetFieldID(env, PhRect_tFc.clazz, "lr_x", "S");
-	PhRect_tFc.lr_y = (*env)->GetFieldID(env, PhRect_tFc.clazz, "lr_y", "S");
-	PhRect_tFc.cached = 1;
-}
-
-PhRect_t *getPhRect_tFields(JNIEnv *env, jobject lpObject, PhRect_t *lpStruct)
-{
-	if (!PhRect_tFc.cached) cachePhRect_tFields(env, lpObject);
-	lpStruct->ul.x = (*env)->GetShortField(env, lpObject, PhRect_tFc.ul_x);
-	lpStruct->ul.y = (*env)->GetShortField(env, lpObject, PhRect_tFc.ul_y);
-	lpStruct->lr.x = (*env)->GetShortField(env, lpObject, PhRect_tFc.lr_x);
-	lpStruct->lr.y = (*env)->GetShortField(env, lpObject, PhRect_tFc.lr_y);
-	return lpStruct;
-}
-
-void setPhRect_tFields(JNIEnv *env, jobject lpObject, PhRect_t *lpStruct)
-{
-	if (!PhRect_tFc.cached) cachePhRect_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhRect_tFc.ul_x, (jshort)lpStruct->ul.x);
-	(*env)->SetShortField(env, lpObject, PhRect_tFc.ul_y, (jshort)lpStruct->ul.y);
-	(*env)->SetShortField(env, lpObject, PhRect_tFc.lr_x, (jshort)lpStruct->lr.x);
-	(*env)->SetShortField(env, lpObject, PhRect_tFc.lr_y, (jshort)lpStruct->lr.y);
-}
-#endif
-
-#ifndef NO_PhRegion_t
-typedef struct PhRegion_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID rid, handle, owner, flags, state, events_sense, events_opaque, origin_x, origin_y, parent, child, bro_in_front, bro_behind, cursor_color, input_group, data_len, cursor_type;
-} PhRegion_t_FID_CACHE;
-
-PhRegion_t_FID_CACHE PhRegion_tFc;
-
-void cachePhRegion_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhRegion_tFc.cached) return;
-	PhRegion_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhRegion_tFc.rid = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "rid", "I");
-	PhRegion_tFc.handle = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "handle", "I");
-	PhRegion_tFc.owner = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "owner", "I");
-	PhRegion_tFc.flags = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "flags", "I");
-	PhRegion_tFc.state = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "state", "S");
-	PhRegion_tFc.events_sense = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "events_sense", "I");
-	PhRegion_tFc.events_opaque = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "events_opaque", "I");
-	PhRegion_tFc.origin_x = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "origin_x", "S");
-	PhRegion_tFc.origin_y = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "origin_y", "S");
-	PhRegion_tFc.parent = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "parent", "I");
-	PhRegion_tFc.child = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "child", "I");
-	PhRegion_tFc.bro_in_front = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "bro_in_front", "I");
-	PhRegion_tFc.bro_behind = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "bro_behind", "I");
-	PhRegion_tFc.cursor_color = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "cursor_color", "I");
-	PhRegion_tFc.input_group = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "input_group", "S");
-	PhRegion_tFc.data_len = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "data_len", "S");
-	PhRegion_tFc.cursor_type = (*env)->GetFieldID(env, PhRegion_tFc.clazz, "cursor_type", "S");
-	PhRegion_tFc.cached = 1;
-}
-
-PhRegion_t *getPhRegion_tFields(JNIEnv *env, jobject lpObject, PhRegion_t *lpStruct)
-{
-	if (!PhRegion_tFc.cached) cachePhRegion_tFields(env, lpObject);
-	lpStruct->rid = (*env)->GetIntField(env, lpObject, PhRegion_tFc.rid);
-	lpStruct->handle = (*env)->GetIntField(env, lpObject, PhRegion_tFc.handle);
-	lpStruct->owner = (*env)->GetIntField(env, lpObject, PhRegion_tFc.owner);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, PhRegion_tFc.flags);
-	lpStruct->state = (*env)->GetShortField(env, lpObject, PhRegion_tFc.state);
-	lpStruct->events_sense = (*env)->GetIntField(env, lpObject, PhRegion_tFc.events_sense);
-	lpStruct->events_opaque = (*env)->GetIntField(env, lpObject, PhRegion_tFc.events_opaque);
-	lpStruct->origin.x = (*env)->GetShortField(env, lpObject, PhRegion_tFc.origin_x);
-	lpStruct->origin.y = (*env)->GetShortField(env, lpObject, PhRegion_tFc.origin_y);
-	lpStruct->parent = (*env)->GetIntField(env, lpObject, PhRegion_tFc.parent);
-	lpStruct->child = (*env)->GetIntField(env, lpObject, PhRegion_tFc.child);
-	lpStruct->bro_in_front = (*env)->GetIntField(env, lpObject, PhRegion_tFc.bro_in_front);
-	lpStruct->bro_behind = (*env)->GetIntField(env, lpObject, PhRegion_tFc.bro_behind);
-	lpStruct->cursor_color = (*env)->GetIntField(env, lpObject, PhRegion_tFc.cursor_color);
-	lpStruct->input_group = (*env)->GetShortField(env, lpObject, PhRegion_tFc.input_group);
-	lpStruct->data_len = (*env)->GetShortField(env, lpObject, PhRegion_tFc.data_len);
-	lpStruct->cursor_type = (*env)->GetShortField(env, lpObject, PhRegion_tFc.cursor_type);
-	return lpStruct;
-}
-
-void setPhRegion_tFields(JNIEnv *env, jobject lpObject, PhRegion_t *lpStruct)
-{
-	if (!PhRegion_tFc.cached) cachePhRegion_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.rid, (jint)lpStruct->rid);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.handle, (jint)lpStruct->handle);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.owner, (jint)lpStruct->owner);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.flags, (jint)lpStruct->flags);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.state, (jshort)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.events_sense, (jint)lpStruct->events_sense);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.events_opaque, (jint)lpStruct->events_opaque);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.origin_x, (jshort)lpStruct->origin.x);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.origin_y, (jshort)lpStruct->origin.y);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.parent, (jint)lpStruct->parent);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.child, (jint)lpStruct->child);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.bro_in_front, (jint)lpStruct->bro_in_front);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.bro_behind, (jint)lpStruct->bro_behind);
-	(*env)->SetIntField(env, lpObject, PhRegion_tFc.cursor_color, (jint)lpStruct->cursor_color);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.input_group, (jshort)lpStruct->input_group);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.data_len, (jshort)lpStruct->data_len);
-	(*env)->SetShortField(env, lpObject, PhRegion_tFc.cursor_type, (jshort)lpStruct->cursor_type);
-}
-#endif
-
-#ifndef NO_PhTile_t
-typedef struct PhTile_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID rect_ul_x, rect_ul_y, rect_lr_x, rect_lr_y, next;
-} PhTile_t_FID_CACHE;
-
-PhTile_t_FID_CACHE PhTile_tFc;
-
-void cachePhTile_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhTile_tFc.cached) return;
-	PhTile_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhTile_tFc.rect_ul_x = (*env)->GetFieldID(env, PhTile_tFc.clazz, "rect_ul_x", "S");
-	PhTile_tFc.rect_ul_y = (*env)->GetFieldID(env, PhTile_tFc.clazz, "rect_ul_y", "S");
-	PhTile_tFc.rect_lr_x = (*env)->GetFieldID(env, PhTile_tFc.clazz, "rect_lr_x", "S");
-	PhTile_tFc.rect_lr_y = (*env)->GetFieldID(env, PhTile_tFc.clazz, "rect_lr_y", "S");
-	PhTile_tFc.next = (*env)->GetFieldID(env, PhTile_tFc.clazz, "next", "I");
-	PhTile_tFc.cached = 1;
-}
-
-PhTile_t *getPhTile_tFields(JNIEnv *env, jobject lpObject, PhTile_t *lpStruct)
-{
-	if (!PhTile_tFc.cached) cachePhTile_tFields(env, lpObject);
-	lpStruct->rect.ul.x = (*env)->GetShortField(env, lpObject, PhTile_tFc.rect_ul_x);
-	lpStruct->rect.ul.y = (*env)->GetShortField(env, lpObject, PhTile_tFc.rect_ul_y);
-	lpStruct->rect.lr.x = (*env)->GetShortField(env, lpObject, PhTile_tFc.rect_lr_x);
-	lpStruct->rect.lr.y = (*env)->GetShortField(env, lpObject, PhTile_tFc.rect_lr_y);
-	lpStruct->next = (PhTile_t *)(*env)->GetIntField(env, lpObject, PhTile_tFc.next);
-	return lpStruct;
-}
-
-void setPhTile_tFields(JNIEnv *env, jobject lpObject, PhTile_t *lpStruct)
-{
-	if (!PhTile_tFc.cached) cachePhTile_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PhTile_tFc.rect_ul_x, (jshort)lpStruct->rect.ul.x);
-	(*env)->SetShortField(env, lpObject, PhTile_tFc.rect_ul_y, (jshort)lpStruct->rect.ul.y);
-	(*env)->SetShortField(env, lpObject, PhTile_tFc.rect_lr_x, (jshort)lpStruct->rect.lr.x);
-	(*env)->SetShortField(env, lpObject, PhTile_tFc.rect_lr_y, (jshort)lpStruct->rect.lr.y);
-	(*env)->SetIntField(env, lpObject, PhTile_tFc.next, (jint)lpStruct->next);
-}
-#endif
-
-#ifndef NO_PhWindowEvent_t
-typedef struct PhWindowEvent_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID event_f, state_f, rid, pos_x, pos_y, size_w, size_h, event_state, input_group, rsvd0, rsvd1, rsvd2, rsvd3;
-} PhWindowEvent_t_FID_CACHE;
-
-PhWindowEvent_t_FID_CACHE PhWindowEvent_tFc;
-
-void cachePhWindowEvent_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PhWindowEvent_tFc.cached) return;
-	PhWindowEvent_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PhWindowEvent_tFc.event_f = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "event_f", "I");
-	PhWindowEvent_tFc.state_f = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "state_f", "I");
-	PhWindowEvent_tFc.rid = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "rid", "I");
-	PhWindowEvent_tFc.pos_x = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "pos_x", "S");
-	PhWindowEvent_tFc.pos_y = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "pos_y", "S");
-	PhWindowEvent_tFc.size_w = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "size_w", "S");
-	PhWindowEvent_tFc.size_h = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "size_h", "S");
-	PhWindowEvent_tFc.event_state = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "event_state", "S");
-	PhWindowEvent_tFc.input_group = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "input_group", "S");
-	PhWindowEvent_tFc.rsvd0 = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "rsvd0", "I");
-	PhWindowEvent_tFc.rsvd1 = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "rsvd1", "I");
-	PhWindowEvent_tFc.rsvd2 = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "rsvd2", "I");
-	PhWindowEvent_tFc.rsvd3 = (*env)->GetFieldID(env, PhWindowEvent_tFc.clazz, "rsvd3", "I");
-	PhWindowEvent_tFc.cached = 1;
-}
-
-PhWindowEvent_t *getPhWindowEvent_tFields(JNIEnv *env, jobject lpObject, PhWindowEvent_t *lpStruct)
-{
-	if (!PhWindowEvent_tFc.cached) cachePhWindowEvent_tFields(env, lpObject);
-	lpStruct->event_f = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.event_f);
-	lpStruct->state_f = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.state_f);
-	lpStruct->rid = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.rid);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.pos_y);
-	lpStruct->size.w = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.size_w);
-	lpStruct->size.h = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.size_h);
-	lpStruct->event_state = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.event_state);
-	lpStruct->input_group = (*env)->GetShortField(env, lpObject, PhWindowEvent_tFc.input_group);
-	lpStruct->rsvd[0] = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.rsvd0);
-	lpStruct->rsvd[1] = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.rsvd1);
-	lpStruct->rsvd[2] = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.rsvd2);
-	lpStruct->rsvd[3] = (*env)->GetIntField(env, lpObject, PhWindowEvent_tFc.rsvd3);
-	return lpStruct;
-}
-
-void setPhWindowEvent_tFields(JNIEnv *env, jobject lpObject, PhWindowEvent_t *lpStruct)
-{
-	if (!PhWindowEvent_tFc.cached) cachePhWindowEvent_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.event_f, (jint)lpStruct->event_f);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.state_f, (jint)lpStruct->state_f);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.rid, (jint)lpStruct->rid);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.size_w, (jshort)lpStruct->size.w);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.size_h, (jshort)lpStruct->size.h);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.event_state, (jshort)lpStruct->event_state);
-	(*env)->SetShortField(env, lpObject, PhWindowEvent_tFc.input_group, (jshort)lpStruct->input_group);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.rsvd0, (jint)lpStruct->rsvd[0]);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.rsvd1, (jint)lpStruct->rsvd[1]);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.rsvd2, (jint)lpStruct->rsvd[2]);
-	(*env)->SetIntField(env, lpObject, PhWindowEvent_tFc.rsvd3, (jint)lpStruct->rsvd[3]);
-}
-#endif
-
-#ifndef NO_PtCallbackInfo_t
-typedef struct PtCallbackInfo_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID reason, reason_subtype, event, cbdata;
-} PtCallbackInfo_t_FID_CACHE;
-
-PtCallbackInfo_t_FID_CACHE PtCallbackInfo_tFc;
-
-void cachePtCallbackInfo_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtCallbackInfo_tFc.cached) return;
-	PtCallbackInfo_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtCallbackInfo_tFc.reason = (*env)->GetFieldID(env, PtCallbackInfo_tFc.clazz, "reason", "I");
-	PtCallbackInfo_tFc.reason_subtype = (*env)->GetFieldID(env, PtCallbackInfo_tFc.clazz, "reason_subtype", "I");
-	PtCallbackInfo_tFc.event = (*env)->GetFieldID(env, PtCallbackInfo_tFc.clazz, "event", "I");
-	PtCallbackInfo_tFc.cbdata = (*env)->GetFieldID(env, PtCallbackInfo_tFc.clazz, "cbdata", "I");
-	PtCallbackInfo_tFc.cached = 1;
-}
-
-PtCallbackInfo_t *getPtCallbackInfo_tFields(JNIEnv *env, jobject lpObject, PtCallbackInfo_t *lpStruct)
-{
-	if (!PtCallbackInfo_tFc.cached) cachePtCallbackInfo_tFields(env, lpObject);
-	lpStruct->reason = (*env)->GetIntField(env, lpObject, PtCallbackInfo_tFc.reason);
-	lpStruct->reason_subtype = (*env)->GetIntField(env, lpObject, PtCallbackInfo_tFc.reason_subtype);
-	lpStruct->event = (PhEvent_t *)(*env)->GetIntField(env, lpObject, PtCallbackInfo_tFc.event);
-	lpStruct->cbdata = (void *)(*env)->GetIntField(env, lpObject, PtCallbackInfo_tFc.cbdata);
-	return lpStruct;
-}
-
-void setPtCallbackInfo_tFields(JNIEnv *env, jobject lpObject, PtCallbackInfo_t *lpStruct)
-{
-	if (!PtCallbackInfo_tFc.cached) cachePtCallbackInfo_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PtCallbackInfo_tFc.reason, (jint)lpStruct->reason);
-	(*env)->SetIntField(env, lpObject, PtCallbackInfo_tFc.reason_subtype, (jint)lpStruct->reason_subtype);
-	(*env)->SetIntField(env, lpObject, PtCallbackInfo_tFc.event, (jint)lpStruct->event);
-	(*env)->SetIntField(env, lpObject, PtCallbackInfo_tFc.cbdata, (jint)lpStruct->cbdata);
-}
-#endif
-
-#ifndef NO_PtColorSelectInfo_t
-typedef struct PtColorSelectInfo_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID flags, nselectors, ncolor_models, color_models, selectors, pos_x, pos_y, size_w, size_h, palette, accept_text, dismiss_text, accept_dismiss_text, apply_f, data, rgb, dialog;
-} PtColorSelectInfo_t_FID_CACHE;
-
-PtColorSelectInfo_t_FID_CACHE PtColorSelectInfo_tFc;
-
-void cachePtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtColorSelectInfo_tFc.cached) return;
-	PtColorSelectInfo_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtColorSelectInfo_tFc.flags = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "flags", "S");
-	PtColorSelectInfo_tFc.nselectors = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "nselectors", "B");
-	PtColorSelectInfo_tFc.ncolor_models = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "ncolor_models", "B");
-	PtColorSelectInfo_tFc.color_models = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "color_models", "I");
-	PtColorSelectInfo_tFc.selectors = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "selectors", "I");
-	PtColorSelectInfo_tFc.pos_x = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "pos_x", "S");
-	PtColorSelectInfo_tFc.pos_y = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "pos_y", "S");
-	PtColorSelectInfo_tFc.size_w = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "size_w", "S");
-	PtColorSelectInfo_tFc.size_h = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "size_h", "S");
-	PtColorSelectInfo_tFc.palette = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "palette", "I");
-	PtColorSelectInfo_tFc.accept_text = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "accept_text", "I");
-	PtColorSelectInfo_tFc.dismiss_text = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "dismiss_text", "I");
-	PtColorSelectInfo_tFc.accept_dismiss_text = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "accept_dismiss_text", "I");
-	PtColorSelectInfo_tFc.apply_f = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "apply_f", "I");
-	PtColorSelectInfo_tFc.data = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "data", "I");
-	PtColorSelectInfo_tFc.rgb = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "rgb", "I");
-	PtColorSelectInfo_tFc.dialog = (*env)->GetFieldID(env, PtColorSelectInfo_tFc.clazz, "dialog", "I");
-	PtColorSelectInfo_tFc.cached = 1;
-}
-
-PtColorSelectInfo_t *getPtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject, PtColorSelectInfo_t *lpStruct)
-{
-	if (!PtColorSelectInfo_tFc.cached) cachePtColorSelectInfo_tFields(env, lpObject);
-	lpStruct->flags = (*env)->GetShortField(env, lpObject, PtColorSelectInfo_tFc.flags);
-	lpStruct->nselectors = (*env)->GetByteField(env, lpObject, PtColorSelectInfo_tFc.nselectors);
-	lpStruct->ncolor_models = (*env)->GetByteField(env, lpObject, PtColorSelectInfo_tFc.ncolor_models);
-	lpStruct->color_models = (PgColorModel_t **)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.color_models);
-	lpStruct->selectors = (PtColorSelectorSpec_t *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.selectors);
-	lpStruct->pos.x = (*env)->GetShortField(env, lpObject, PtColorSelectInfo_tFc.pos_x);
-	lpStruct->pos.y = (*env)->GetShortField(env, lpObject, PtColorSelectInfo_tFc.pos_y);
-	lpStruct->size.w = (*env)->GetShortField(env, lpObject, PtColorSelectInfo_tFc.size_w);
-	lpStruct->size.h = (*env)->GetShortField(env, lpObject, PtColorSelectInfo_tFc.size_h);
-	lpStruct->palette.instance = (void *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.palette);
-	lpStruct->accept_text = (char *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.accept_text);
-	lpStruct->dismiss_text = (char *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.dismiss_text);
-	lpStruct->accept_dismiss_text = (char *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.accept_dismiss_text);
-	lpStruct->apply_f = (void *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.apply_f);
-	lpStruct->data = (void *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.data);
-	lpStruct->rgb = (*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.rgb);
-	lpStruct->dialog = (PtWidget_t *)(*env)->GetIntField(env, lpObject, PtColorSelectInfo_tFc.dialog);
-	return lpStruct;
-}
-
-void setPtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject, PtColorSelectInfo_t *lpStruct)
-{
-	if (!PtColorSelectInfo_tFc.cached) cachePtColorSelectInfo_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PtColorSelectInfo_tFc.flags, (jshort)lpStruct->flags);
-	(*env)->SetByteField(env, lpObject, PtColorSelectInfo_tFc.nselectors, (jbyte)lpStruct->nselectors);
-	(*env)->SetByteField(env, lpObject, PtColorSelectInfo_tFc.ncolor_models, (jbyte)lpStruct->ncolor_models);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.color_models, (jint)lpStruct->color_models);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.selectors, (jint)lpStruct->selectors);
-	(*env)->SetShortField(env, lpObject, PtColorSelectInfo_tFc.pos_x, (jshort)lpStruct->pos.x);
-	(*env)->SetShortField(env, lpObject, PtColorSelectInfo_tFc.pos_y, (jshort)lpStruct->pos.y);
-	(*env)->SetShortField(env, lpObject, PtColorSelectInfo_tFc.size_w, (jshort)lpStruct->size.w);
-	(*env)->SetShortField(env, lpObject, PtColorSelectInfo_tFc.size_h, (jshort)lpStruct->size.h);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.palette, (jint)lpStruct->palette.instance);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.accept_text, (jint)lpStruct->accept_text);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.dismiss_text, (jint)lpStruct->dismiss_text);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.accept_dismiss_text, (jint)lpStruct->accept_dismiss_text);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.apply_f, (jint)lpStruct->apply_f);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.data, (jint)lpStruct->data);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.rgb, (jint)lpStruct->rgb);
-	(*env)->SetIntField(env, lpObject, PtColorSelectInfo_tFc.dialog, (jint)lpStruct->dialog);
-}
-#endif
-
-#ifndef NO_PtFileSelectionInfo_t
-typedef struct PtFileSelectionInfo_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ret, path, dim, pos, format, fspec, user_data, confirm_display, confirm_selection, new_directory, btn1, btn2, num_args, args, minfo, spare;
-} PtFileSelectionInfo_t_FID_CACHE;
-
-PtFileSelectionInfo_t_FID_CACHE PtFileSelectionInfo_tFc;
-
-void cachePtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtFileSelectionInfo_tFc.cached) return;
-	PtFileSelectionInfo_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtFileSelectionInfo_tFc.ret = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "ret", "S");
-	PtFileSelectionInfo_tFc.path = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "path", "[B");
-	PtFileSelectionInfo_tFc.dim = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "dim", "Lorg/eclipse/swt/internal/photon/PhDim_t;");
-	PtFileSelectionInfo_tFc.pos = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "pos", "Lorg/eclipse/swt/internal/photon/PhPoint_t;");
-	PtFileSelectionInfo_tFc.format = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "format", "[B");
-	PtFileSelectionInfo_tFc.fspec = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "fspec", "[B");
-	PtFileSelectionInfo_tFc.user_data = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "user_data", "I");
-	PtFileSelectionInfo_tFc.confirm_display = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "confirm_display", "I");
-	PtFileSelectionInfo_tFc.confirm_selection = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "confirm_selection", "I");
-	PtFileSelectionInfo_tFc.new_directory = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "new_directory", "I");
-	PtFileSelectionInfo_tFc.btn1 = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "btn1", "I");
-	PtFileSelectionInfo_tFc.btn2 = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "btn2", "I");
-	PtFileSelectionInfo_tFc.num_args = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "num_args", "I");
-	PtFileSelectionInfo_tFc.args = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "args", "I");
-	PtFileSelectionInfo_tFc.minfo = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "minfo", "I");
-	PtFileSelectionInfo_tFc.spare = (*env)->GetFieldID(env, PtFileSelectionInfo_tFc.clazz, "spare", "[I");
-	PtFileSelectionInfo_tFc.cached = 1;
-}
-
-PtFileSelectionInfo_t *getPtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject, PtFileSelectionInfo_t *lpStruct)
-{
-	if (!PtFileSelectionInfo_tFc.cached) cachePtFileSelectionInfo_tFields(env, lpObject);
-	lpStruct->ret = (*env)->GetShortField(env, lpObject, PtFileSelectionInfo_tFc.ret);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.path);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->path), (jbyte *)lpStruct->path);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.dim);
-	if (lpObject1 != NULL) getPhDim_tFields(env, lpObject1, &lpStruct->dim);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.pos);
-	if (lpObject1 != NULL) getPhPoint_tFields(env, lpObject1, &lpStruct->pos);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.format);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->format), (jbyte *)lpStruct->format);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.fspec);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->fspec), (jbyte *)lpStruct->fspec);
-	}
-	lpStruct->user_data = (void *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.user_data);
-	lpStruct->confirm_display = (void *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.confirm_display);
-	lpStruct->confirm_selection = (void *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.confirm_selection);
-	lpStruct->new_directory = (void *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.new_directory);
-	lpStruct->btn1 = (char *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.btn1);
-	lpStruct->btn2 = (char *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.btn2);
-	lpStruct->num_args = (*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.num_args);
-	lpStruct->args = (void *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.args);
-	lpStruct->minfo = (PtFileSelectorInfo_t *)(*env)->GetIntField(env, lpObject, PtFileSelectionInfo_tFc.minfo);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.spare);
-	(*env)->GetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->spare) / 4, (jint *)lpStruct->spare);
-	}
-	return lpStruct;
-}
-
-void setPtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject, PtFileSelectionInfo_t *lpStruct)
-{
-	if (!PtFileSelectionInfo_tFc.cached) cachePtFileSelectionInfo_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PtFileSelectionInfo_tFc.ret, (jshort)lpStruct->ret);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.path);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->path), (jbyte *)lpStruct->path);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.dim);
-	if (lpObject1 != NULL) setPhDim_tFields(env, lpObject1, &lpStruct->dim);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.pos);
-	if (lpObject1 != NULL) setPhPoint_tFields(env, lpObject1, &lpStruct->pos);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.format);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->format), (jbyte *)lpStruct->format);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.fspec);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->fspec), (jbyte *)lpStruct->fspec);
-	}
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.user_data, (jint)lpStruct->user_data);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.confirm_display, (jint)lpStruct->confirm_display);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.confirm_selection, (jint)lpStruct->confirm_selection);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.new_directory, (jint)lpStruct->new_directory);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.btn1, (jint)lpStruct->btn1);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.btn2, (jint)lpStruct->btn2);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.num_args, (jint)lpStruct->num_args);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.args, (jint)lpStruct->args);
-	(*env)->SetIntField(env, lpObject, PtFileSelectionInfo_tFc.minfo, (jint)lpStruct->minfo);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, PtFileSelectionInfo_tFc.spare);
-	(*env)->SetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->spare) / 4, (jint *)lpStruct->spare);
-	}
-}
-#endif
-
-#ifndef NO_PtScrollbarCallback_t
-typedef struct PtScrollbarCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID action, position;
-} PtScrollbarCallback_t_FID_CACHE;
-
-PtScrollbarCallback_t_FID_CACHE PtScrollbarCallback_tFc;
-
-void cachePtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtScrollbarCallback_tFc.cached) return;
-	PtScrollbarCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtScrollbarCallback_tFc.action = (*env)->GetFieldID(env, PtScrollbarCallback_tFc.clazz, "action", "I");
-	PtScrollbarCallback_tFc.position = (*env)->GetFieldID(env, PtScrollbarCallback_tFc.clazz, "position", "I");
-	PtScrollbarCallback_tFc.cached = 1;
-}
-
-PtScrollbarCallback_t *getPtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject, PtScrollbarCallback_t *lpStruct)
-{
-	if (!PtScrollbarCallback_tFc.cached) cachePtScrollbarCallback_tFields(env, lpObject);
-	lpStruct->action = (*env)->GetIntField(env, lpObject, PtScrollbarCallback_tFc.action);
-	lpStruct->position = (*env)->GetIntField(env, lpObject, PtScrollbarCallback_tFc.position);
-	return lpStruct;
-}
-
-void setPtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject, PtScrollbarCallback_t *lpStruct)
-{
-	if (!PtScrollbarCallback_tFc.cached) cachePtScrollbarCallback_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PtScrollbarCallback_tFc.action, (jint)lpStruct->action);
-	(*env)->SetIntField(env, lpObject, PtScrollbarCallback_tFc.position, (jint)lpStruct->position);
-}
-#endif
-
-#ifndef NO_PtTextCallback_t
-typedef struct PtTextCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID start_pos, end_pos, cur_insert, new_insert, length, reserved, text, doit;
-} PtTextCallback_t_FID_CACHE;
-
-PtTextCallback_t_FID_CACHE PtTextCallback_tFc;
-
-void cachePtTextCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtTextCallback_tFc.cached) return;
-	PtTextCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtTextCallback_tFc.start_pos = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "start_pos", "I");
-	PtTextCallback_tFc.end_pos = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "end_pos", "I");
-	PtTextCallback_tFc.cur_insert = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "cur_insert", "I");
-	PtTextCallback_tFc.new_insert = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "new_insert", "I");
-	PtTextCallback_tFc.length = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "length", "I");
-	PtTextCallback_tFc.reserved = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "reserved", "S");
-	PtTextCallback_tFc.text = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "text", "I");
-	PtTextCallback_tFc.doit = (*env)->GetFieldID(env, PtTextCallback_tFc.clazz, "doit", "I");
-	PtTextCallback_tFc.cached = 1;
-}
-
-PtTextCallback_t *getPtTextCallback_tFields(JNIEnv *env, jobject lpObject, PtTextCallback_t *lpStruct)
-{
-	if (!PtTextCallback_tFc.cached) cachePtTextCallback_tFields(env, lpObject);
-	lpStruct->start_pos = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.start_pos);
-	lpStruct->end_pos = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.end_pos);
-	lpStruct->cur_insert = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.cur_insert);
-	lpStruct->new_insert = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.new_insert);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.length);
-	lpStruct->reserved = (*env)->GetShortField(env, lpObject, PtTextCallback_tFc.reserved);
-	lpStruct->text = (char *)(*env)->GetIntField(env, lpObject, PtTextCallback_tFc.text);
-	lpStruct->doit = (*env)->GetIntField(env, lpObject, PtTextCallback_tFc.doit);
-	return lpStruct;
-}
-
-void setPtTextCallback_tFields(JNIEnv *env, jobject lpObject, PtTextCallback_t *lpStruct)
-{
-	if (!PtTextCallback_tFc.cached) cachePtTextCallback_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.start_pos, (jint)lpStruct->start_pos);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.end_pos, (jint)lpStruct->end_pos);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.cur_insert, (jint)lpStruct->cur_insert);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.new_insert, (jint)lpStruct->new_insert);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.length, (jint)lpStruct->length);
-	(*env)->SetShortField(env, lpObject, PtTextCallback_tFc.reserved, (jshort)lpStruct->reserved);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.text, (jint)lpStruct->text);
-	(*env)->SetIntField(env, lpObject, PtTextCallback_tFc.doit, (jint)lpStruct->doit);
-}
-#endif
-
-#ifndef NO_PtWebClientData_t
-typedef struct PtWebClientData_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, url, length, data;
-} PtWebClientData_t_FID_CACHE;
-
-PtWebClientData_t_FID_CACHE PtWebClientData_tFc;
-
-void cachePtWebClientData_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtWebClientData_tFc.cached) return;
-	PtWebClientData_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtWebClientData_tFc.type = (*env)->GetFieldID(env, PtWebClientData_tFc.clazz, "type", "I");
-	PtWebClientData_tFc.url = (*env)->GetFieldID(env, PtWebClientData_tFc.clazz, "url", "[B");
-	PtWebClientData_tFc.length = (*env)->GetFieldID(env, PtWebClientData_tFc.clazz, "length", "I");
-	PtWebClientData_tFc.data = (*env)->GetFieldID(env, PtWebClientData_tFc.clazz, "data", "I");
-	PtWebClientData_tFc.cached = 1;
-}
-
-PtWebClientData_t *getPtWebClientData_tFields(JNIEnv *env, jobject lpObject, PtWebClientData_t *lpStruct)
-{
-	if (!PtWebClientData_tFc.cached) cachePtWebClientData_tFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, PtWebClientData_tFc.type);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebClientData_tFc.url);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-	lpStruct->length = (*env)->GetIntField(env, lpObject, PtWebClientData_tFc.length);
-	lpStruct->data = (char *)(*env)->GetIntField(env, lpObject, PtWebClientData_tFc.data);
-	return lpStruct;
-}
-
-void setPtWebClientData_tFields(JNIEnv *env, jobject lpObject, PtWebClientData_t *lpStruct)
-{
-	if (!PtWebClientData_tFc.cached) cachePtWebClientData_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PtWebClientData_tFc.type, (jint)lpStruct->type);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebClientData_tFc.url);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-	(*env)->SetIntField(env, lpObject, PtWebClientData_tFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, PtWebClientData_tFc.data, (jint)lpStruct->data);
-}
-#endif
-
-#ifndef NO_PtWebDataReqCallback_t
-typedef struct PtWebDataReqCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type, length, url;
-} PtWebDataReqCallback_t_FID_CACHE;
-
-PtWebDataReqCallback_t_FID_CACHE PtWebDataReqCallback_tFc;
-
-void cachePtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtWebDataReqCallback_tFc.cached) return;
-	PtWebDataReqCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtWebDataReqCallback_tFc.type = (*env)->GetFieldID(env, PtWebDataReqCallback_tFc.clazz, "type", "I");
-	PtWebDataReqCallback_tFc.length = (*env)->GetFieldID(env, PtWebDataReqCallback_tFc.clazz, "length", "I");
-	PtWebDataReqCallback_tFc.url = (*env)->GetFieldID(env, PtWebDataReqCallback_tFc.clazz, "url", "[B");
-	PtWebDataReqCallback_tFc.cached = 1;
-}
-
-PtWebDataReqCallback_t *getPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReqCallback_t *lpStruct)
-{
-	if (!PtWebDataReqCallback_tFc.cached) cachePtWebDataReqCallback_tFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, PtWebDataReqCallback_tFc.type);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, PtWebDataReqCallback_tFc.length);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebDataReqCallback_tFc.url);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-	return lpStruct;
-}
-
-void setPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReqCallback_t *lpStruct)
-{
-	if (!PtWebDataReqCallback_tFc.cached) cachePtWebDataReqCallback_tFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PtWebDataReqCallback_tFc.type, (jint)lpStruct->type);
-	(*env)->SetIntField(env, lpObject, PtWebDataReqCallback_tFc.length, (jint)lpStruct->length);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebDataReqCallback_tFc.url);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-}
-#endif
-
-#ifndef NO_PtWebMetaDataCallback_t
-typedef struct PtWebMetaDataCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID name, value;
-} PtWebMetaDataCallback_t_FID_CACHE;
-
-PtWebMetaDataCallback_t_FID_CACHE PtWebMetaDataCallback_tFc;
-
-void cachePtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtWebMetaDataCallback_tFc.cached) return;
-	PtWebMetaDataCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtWebMetaDataCallback_tFc.name = (*env)->GetFieldID(env, PtWebMetaDataCallback_tFc.clazz, "name", "[B");
-	PtWebMetaDataCallback_tFc.value = (*env)->GetFieldID(env, PtWebMetaDataCallback_tFc.clazz, "value", "[B");
-	PtWebMetaDataCallback_tFc.cached = 1;
-}
-
-PtWebMetaDataCallback_t *getPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct)
-{
-	if (!PtWebMetaDataCallback_tFc.cached) cachePtWebMetaDataCallback_tFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.name);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->name), (jbyte *)lpStruct->name);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.value);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->value), (jbyte *)lpStruct->value);
-	}
-	return lpStruct;
-}
-
-void setPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct)
-{
-	if (!PtWebMetaDataCallback_tFc.cached) cachePtWebMetaDataCallback_tFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.name);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->name), (jbyte *)lpStruct->name);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.value);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->value), (jbyte *)lpStruct->value);
-	}
-}
-#endif
-
-#ifndef NO_PtWebStatusCallback_t
-typedef struct PtWebStatusCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID desc, type, url;
-} PtWebStatusCallback_t_FID_CACHE;
-
-PtWebStatusCallback_t_FID_CACHE PtWebStatusCallback_tFc;
-
-void cachePtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtWebStatusCallback_tFc.cached) return;
-	PtWebStatusCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtWebStatusCallback_tFc.desc = (*env)->GetFieldID(env, PtWebStatusCallback_tFc.clazz, "desc", "[B");
-	PtWebStatusCallback_tFc.type = (*env)->GetFieldID(env, PtWebStatusCallback_tFc.clazz, "type", "S");
-	PtWebStatusCallback_tFc.url = (*env)->GetFieldID(env, PtWebStatusCallback_tFc.clazz, "url", "[B");
-	PtWebStatusCallback_tFc.cached = 1;
-}
-
-PtWebStatusCallback_t *getPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct)
-{
-	if (!PtWebStatusCallback_tFc.cached) cachePtWebStatusCallback_tFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebStatusCallback_tFc.desc);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	lpStruct->type = (*env)->GetShortField(env, lpObject, PtWebStatusCallback_tFc.type);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebStatusCallback_tFc.url);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-	return lpStruct;
-}
-
-void setPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct)
-{
-	if (!PtWebStatusCallback_tFc.cached) cachePtWebStatusCallback_tFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebStatusCallback_tFc.desc);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->desc), (jbyte *)lpStruct->desc);
-	}
-	(*env)->SetShortField(env, lpObject, PtWebStatusCallback_tFc.type, (jshort)lpStruct->type);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PtWebStatusCallback_tFc.url);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->url), (jbyte *)lpStruct->url);
-	}
-}
-#endif
-
-#ifndef NO_PtWebWindowCallback_t
-typedef struct PtWebWindowCallback_t_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID size_w, size_h, flags;
-} PtWebWindowCallback_t_FID_CACHE;
-
-PtWebWindowCallback_t_FID_CACHE PtWebWindowCallback_tFc;
-
-void cachePtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject)
-{
-	if (PtWebWindowCallback_tFc.cached) return;
-	PtWebWindowCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PtWebWindowCallback_tFc.size_w = (*env)->GetFieldID(env, PtWebWindowCallback_tFc.clazz, "size_w", "S");
-	PtWebWindowCallback_tFc.size_h = (*env)->GetFieldID(env, PtWebWindowCallback_tFc.clazz, "size_h", "S");
-	PtWebWindowCallback_tFc.flags = (*env)->GetFieldID(env, PtWebWindowCallback_tFc.clazz, "flags", "J");
-	PtWebWindowCallback_tFc.cached = 1;
-}
-
-PtWebWindowCallback_t *getPtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject, PtWebWindowCallback_t *lpStruct)
-{
-	if (!PtWebWindowCallback_tFc.cached) cachePtWebWindowCallback_tFields(env, lpObject);
-	lpStruct->size.w = (*env)->GetShortField(env, lpObject, PtWebWindowCallback_tFc.size_w);
-	lpStruct->size.h = (*env)->GetShortField(env, lpObject, PtWebWindowCallback_tFc.size_h);
-	lpStruct->flags = (*env)->GetLongField(env, lpObject, PtWebWindowCallback_tFc.flags);
-	return lpStruct;
-}
-
-void setPtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject, PtWebWindowCallback_t *lpStruct)
-{
-	if (!PtWebWindowCallback_tFc.cached) cachePtWebWindowCallback_tFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, PtWebWindowCallback_tFc.size_w, (jshort)lpStruct->size.w);
-	(*env)->SetShortField(env, lpObject, PtWebWindowCallback_tFc.size_h, (jshort)lpStruct->size.h);
-	(*env)->SetLongField(env, lpObject, PtWebWindowCallback_tFc.flags, (jlong)lpStruct->flags);
-}
-#endif
-
-#ifndef NO_utsname
-typedef struct utsname_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID sysname, nodename, release, version, machine;
-} utsname_FID_CACHE;
-
-utsname_FID_CACHE utsnameFc;
-
-void cacheutsnameFields(JNIEnv *env, jobject lpObject)
-{
-	if (utsnameFc.cached) return;
-	utsnameFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	utsnameFc.sysname = (*env)->GetFieldID(env, utsnameFc.clazz, "sysname", "[B");
-	utsnameFc.nodename = (*env)->GetFieldID(env, utsnameFc.clazz, "nodename", "[B");
-	utsnameFc.release = (*env)->GetFieldID(env, utsnameFc.clazz, "release", "[B");
-	utsnameFc.version = (*env)->GetFieldID(env, utsnameFc.clazz, "version", "[B");
-	utsnameFc.machine = (*env)->GetFieldID(env, utsnameFc.clazz, "machine", "[B");
-	utsnameFc.cached = 1;
-}
-
-utsname *getutsnameFields(JNIEnv *env, jobject lpObject, utsname *lpStruct)
-{
-	if (!utsnameFc.cached) cacheutsnameFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.sysname);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->sysname), (jbyte *)lpStruct->sysname);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.nodename);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->nodename), (jbyte *)lpStruct->nodename);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.release);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->release), (jbyte *)lpStruct->release);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.version);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->version), (jbyte *)lpStruct->version);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.machine);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->machine), (jbyte *)lpStruct->machine);
-	}
-	return lpStruct;
-}
-
-void setutsnameFields(JNIEnv *env, jobject lpObject, utsname *lpStruct)
-{
-	if (!utsnameFc.cached) cacheutsnameFields(env, lpObject);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.sysname);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->sysname), (jbyte *)lpStruct->sysname);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.nodename);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->nodename), (jbyte *)lpStruct->nodename);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.release);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->release), (jbyte *)lpStruct->release);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.version);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->version), (jbyte *)lpStruct->version);
-	}
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, utsnameFc.machine);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->machine), (jbyte *)lpStruct->machine);
-	}
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h
deleted file mode 100644
index e0fa5db..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h
+++ /dev/null
@@ -1,385 +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
- *******************************************************************************/
-
-#include "os.h"
-
-#ifndef NO_FontDetails
-void cacheFontDetailsFields(JNIEnv *env, jobject lpObject);
-FontDetails *getFontDetailsFields(JNIEnv *env, jobject lpObject, FontDetails *lpStruct);
-void setFontDetailsFields(JNIEnv *env, jobject lpObject, FontDetails *lpStruct);
-#define FontDetails_sizeof() sizeof(FontDetails)
-#else
-#define cacheFontDetailsFields(a,b)
-#define getFontDetailsFields(a,b,c) NULL
-#define setFontDetailsFields(a,b,c)
-#define FontDetails_sizeof() 0
-#endif
-
-#ifndef NO_FontQueryInfo
-void cacheFontQueryInfoFields(JNIEnv *env, jobject lpObject);
-FontQueryInfo *getFontQueryInfoFields(JNIEnv *env, jobject lpObject, FontQueryInfo *lpStruct);
-void setFontQueryInfoFields(JNIEnv *env, jobject lpObject, FontQueryInfo *lpStruct);
-#define FontQueryInfo_sizeof() sizeof(FontQueryInfo)
-#else
-#define cacheFontQueryInfoFields(a,b)
-#define getFontQueryInfoFields(a,b,c) NULL
-#define setFontQueryInfoFields(a,b,c)
-#define FontQueryInfo_sizeof() 0
-#endif
-
-#ifndef NO_PgAlpha_t
-void cachePgAlpha_tFields(JNIEnv *env, jobject lpObject);
-PgAlpha_t *getPgAlpha_tFields(JNIEnv *env, jobject lpObject, PgAlpha_t *lpStruct);
-void setPgAlpha_tFields(JNIEnv *env, jobject lpObject, PgAlpha_t *lpStruct);
-#define PgAlpha_t_sizeof() sizeof(PgAlpha_t)
-#else
-#define cachePgAlpha_tFields(a,b)
-#define getPgAlpha_tFields(a,b,c) NULL
-#define setPgAlpha_tFields(a,b,c)
-#define PgAlpha_t_sizeof() 0
-#endif
-
-#ifndef NO_PgDisplaySettings_t
-void cachePgDisplaySettings_tFields(JNIEnv *env, jobject lpObject);
-PgDisplaySettings_t *getPgDisplaySettings_tFields(JNIEnv *env, jobject lpObject, PgDisplaySettings_t *lpStruct);
-void setPgDisplaySettings_tFields(JNIEnv *env, jobject lpObject, PgDisplaySettings_t *lpStruct);
-#define PgDisplaySettings_t_sizeof() sizeof(PgDisplaySettings_t)
-#else
-#define cachePgDisplaySettings_tFields(a,b)
-#define getPgDisplaySettings_tFields(a,b,c) NULL
-#define setPgDisplaySettings_tFields(a,b,c)
-#define PgDisplaySettings_t_sizeof() 0
-#endif
-
-#ifndef NO_PgMap_t
-void cachePgMap_tFields(JNIEnv *env, jobject lpObject);
-PgMap_t *getPgMap_tFields(JNIEnv *env, jobject lpObject, PgMap_t *lpStruct);
-void setPgMap_tFields(JNIEnv *env, jobject lpObject, PgMap_t *lpStruct);
-#define PgMap_t_sizeof() sizeof(PgMap_t)
-#else
-#define cachePgMap_tFields(a,b)
-#define getPgMap_tFields(a,b,c) NULL
-#define setPgMap_tFields(a,b,c)
-#define PgMap_t_sizeof() 0
-#endif
-
-#ifndef NO_PgVideoModeInfo_t
-void cachePgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject);
-PgVideoModeInfo_t *getPgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject, PgVideoModeInfo_t *lpStruct);
-void setPgVideoModeInfo_tFields(JNIEnv *env, jobject lpObject, PgVideoModeInfo_t *lpStruct);
-#define PgVideoModeInfo_t_sizeof() sizeof(PgVideoModeInfo_t)
-#else
-#define cachePgVideoModeInfo_tFields(a,b)
-#define getPgVideoModeInfo_tFields(a,b,c) NULL
-#define setPgVideoModeInfo_tFields(a,b,c)
-#define PgVideoModeInfo_t_sizeof() 0
-#endif
-
-#ifndef NO_PhArea_t
-void cachePhArea_tFields(JNIEnv *env, jobject lpObject);
-PhArea_t *getPhArea_tFields(JNIEnv *env, jobject lpObject, PhArea_t *lpStruct);
-void setPhArea_tFields(JNIEnv *env, jobject lpObject, PhArea_t *lpStruct);
-#define PhArea_t_sizeof() sizeof(PhArea_t)
-#else
-#define cachePhArea_tFields(a,b)
-#define getPhArea_tFields(a,b,c) NULL
-#define setPhArea_tFields(a,b,c)
-#define PhArea_t_sizeof() 0
-#endif
-
-#ifndef NO_PhClipHeader
-void cachePhClipHeaderFields(JNIEnv *env, jobject lpObject);
-PhClipHeader *getPhClipHeaderFields(JNIEnv *env, jobject lpObject, PhClipHeader *lpStruct);
-void setPhClipHeaderFields(JNIEnv *env, jobject lpObject, PhClipHeader *lpStruct);
-#define PhClipHeader_sizeof() sizeof(PhClipHeader)
-#else
-#define cachePhClipHeaderFields(a,b)
-#define getPhClipHeaderFields(a,b,c) NULL
-#define setPhClipHeaderFields(a,b,c)
-#define PhClipHeader_sizeof() 0
-#endif
-
-#ifndef NO_PhCursorDef_t
-void cachePhCursorDef_tFields(JNIEnv *env, jobject lpObject);
-PhCursorDef_t *getPhCursorDef_tFields(JNIEnv *env, jobject lpObject, PhCursorDef_t *lpStruct);
-void setPhCursorDef_tFields(JNIEnv *env, jobject lpObject, PhCursorDef_t *lpStruct);
-#define PhCursorDef_t_sizeof() sizeof(PhCursorDef_t)
-#else
-#define cachePhCursorDef_tFields(a,b)
-#define getPhCursorDef_tFields(a,b,c) NULL
-#define setPhCursorDef_tFields(a,b,c)
-#define PhCursorDef_t_sizeof() 0
-#endif
-
-#ifndef NO_PhCursorInfo_t
-void cachePhCursorInfo_tFields(JNIEnv *env, jobject lpObject);
-PhCursorInfo_t *getPhCursorInfo_tFields(JNIEnv *env, jobject lpObject, PhCursorInfo_t *lpStruct);
-void setPhCursorInfo_tFields(JNIEnv *env, jobject lpObject, PhCursorInfo_t *lpStruct);
-#define PhCursorInfo_t_sizeof() sizeof(PhCursorInfo_t)
-#else
-#define cachePhCursorInfo_tFields(a,b)
-#define getPhCursorInfo_tFields(a,b,c) NULL
-#define setPhCursorInfo_tFields(a,b,c)
-#define PhCursorInfo_t_sizeof() 0
-#endif
-
-#ifndef NO_PhDim_t
-void cachePhDim_tFields(JNIEnv *env, jobject lpObject);
-PhDim_t *getPhDim_tFields(JNIEnv *env, jobject lpObject, PhDim_t *lpStruct);
-void setPhDim_tFields(JNIEnv *env, jobject lpObject, PhDim_t *lpStruct);
-#define PhDim_t_sizeof() sizeof(PhDim_t)
-#else
-#define cachePhDim_tFields(a,b)
-#define getPhDim_tFields(a,b,c) NULL
-#define setPhDim_tFields(a,b,c)
-#define PhDim_t_sizeof() 0
-#endif
-
-#ifndef NO_PhEvent_t
-void cachePhEvent_tFields(JNIEnv *env, jobject lpObject);
-PhEvent_t *getPhEvent_tFields(JNIEnv *env, jobject lpObject, PhEvent_t *lpStruct);
-void setPhEvent_tFields(JNIEnv *env, jobject lpObject, PhEvent_t *lpStruct);
-#define PhEvent_t_sizeof() sizeof(PhEvent_t)
-#else
-#define cachePhEvent_tFields(a,b)
-#define getPhEvent_tFields(a,b,c) NULL
-#define setPhEvent_tFields(a,b,c)
-#define PhEvent_t_sizeof() 0
-#endif
-
-#ifndef NO_PhImage_t
-void cachePhImage_tFields(JNIEnv *env, jobject lpObject);
-PhImage_t *getPhImage_tFields(JNIEnv *env, jobject lpObject, PhImage_t *lpStruct);
-void setPhImage_tFields(JNIEnv *env, jobject lpObject, PhImage_t *lpStruct);
-#define PhImage_t_sizeof() sizeof(PhImage_t)
-#else
-#define cachePhImage_tFields(a,b)
-#define getPhImage_tFields(a,b,c) NULL
-#define setPhImage_tFields(a,b,c)
-#define PhImage_t_sizeof() 0
-#endif
-
-#ifndef NO_PhKeyEvent_t
-void cachePhKeyEvent_tFields(JNIEnv *env, jobject lpObject);
-PhKeyEvent_t *getPhKeyEvent_tFields(JNIEnv *env, jobject lpObject, PhKeyEvent_t *lpStruct);
-void setPhKeyEvent_tFields(JNIEnv *env, jobject lpObject, PhKeyEvent_t *lpStruct);
-#define PhKeyEvent_t_sizeof() sizeof(PhKeyEvent_t)
-#else
-#define cachePhKeyEvent_tFields(a,b)
-#define getPhKeyEvent_tFields(a,b,c) NULL
-#define setPhKeyEvent_tFields(a,b,c)
-#define PhKeyEvent_t_sizeof() 0
-#endif
-
-#ifndef NO_PhPoint_t
-void cachePhPoint_tFields(JNIEnv *env, jobject lpObject);
-PhPoint_t *getPhPoint_tFields(JNIEnv *env, jobject lpObject, PhPoint_t *lpStruct);
-void setPhPoint_tFields(JNIEnv *env, jobject lpObject, PhPoint_t *lpStruct);
-#define PhPoint_t_sizeof() sizeof(PhPoint_t)
-#else
-#define cachePhPoint_tFields(a,b)
-#define getPhPoint_tFields(a,b,c) NULL
-#define setPhPoint_tFields(a,b,c)
-#define PhPoint_t_sizeof() 0
-#endif
-
-#ifndef NO_PhPointerEvent_t
-void cachePhPointerEvent_tFields(JNIEnv *env, jobject lpObject);
-PhPointerEvent_t *getPhPointerEvent_tFields(JNIEnv *env, jobject lpObject, PhPointerEvent_t *lpStruct);
-void setPhPointerEvent_tFields(JNIEnv *env, jobject lpObject, PhPointerEvent_t *lpStruct);
-#define PhPointerEvent_t_sizeof() sizeof(PhPointerEvent_t)
-#else
-#define cachePhPointerEvent_tFields(a,b)
-#define getPhPointerEvent_tFields(a,b,c) NULL
-#define setPhPointerEvent_tFields(a,b,c)
-#define PhPointerEvent_t_sizeof() 0
-#endif
-
-#ifndef NO_PhRect_t
-void cachePhRect_tFields(JNIEnv *env, jobject lpObject);
-PhRect_t *getPhRect_tFields(JNIEnv *env, jobject lpObject, PhRect_t *lpStruct);
-void setPhRect_tFields(JNIEnv *env, jobject lpObject, PhRect_t *lpStruct);
-#define PhRect_t_sizeof() sizeof(PhRect_t)
-#else
-#define cachePhRect_tFields(a,b)
-#define getPhRect_tFields(a,b,c) NULL
-#define setPhRect_tFields(a,b,c)
-#define PhRect_t_sizeof() 0
-#endif
-
-#ifndef NO_PhRegion_t
-void cachePhRegion_tFields(JNIEnv *env, jobject lpObject);
-PhRegion_t *getPhRegion_tFields(JNIEnv *env, jobject lpObject, PhRegion_t *lpStruct);
-void setPhRegion_tFields(JNIEnv *env, jobject lpObject, PhRegion_t *lpStruct);
-#define PhRegion_t_sizeof() sizeof(PhRegion_t)
-#else
-#define cachePhRegion_tFields(a,b)
-#define getPhRegion_tFields(a,b,c) NULL
-#define setPhRegion_tFields(a,b,c)
-#define PhRegion_t_sizeof() 0
-#endif
-
-#ifndef NO_PhTile_t
-void cachePhTile_tFields(JNIEnv *env, jobject lpObject);
-PhTile_t *getPhTile_tFields(JNIEnv *env, jobject lpObject, PhTile_t *lpStruct);
-void setPhTile_tFields(JNIEnv *env, jobject lpObject, PhTile_t *lpStruct);
-#define PhTile_t_sizeof() sizeof(PhTile_t)
-#else
-#define cachePhTile_tFields(a,b)
-#define getPhTile_tFields(a,b,c) NULL
-#define setPhTile_tFields(a,b,c)
-#define PhTile_t_sizeof() 0
-#endif
-
-#ifndef NO_PhWindowEvent_t
-void cachePhWindowEvent_tFields(JNIEnv *env, jobject lpObject);
-PhWindowEvent_t *getPhWindowEvent_tFields(JNIEnv *env, jobject lpObject, PhWindowEvent_t *lpStruct);
-void setPhWindowEvent_tFields(JNIEnv *env, jobject lpObject, PhWindowEvent_t *lpStruct);
-#define PhWindowEvent_t_sizeof() sizeof(PhWindowEvent_t)
-#else
-#define cachePhWindowEvent_tFields(a,b)
-#define getPhWindowEvent_tFields(a,b,c) NULL
-#define setPhWindowEvent_tFields(a,b,c)
-#define PhWindowEvent_t_sizeof() 0
-#endif
-
-#ifndef NO_PtCallbackInfo_t
-void cachePtCallbackInfo_tFields(JNIEnv *env, jobject lpObject);
-PtCallbackInfo_t *getPtCallbackInfo_tFields(JNIEnv *env, jobject lpObject, PtCallbackInfo_t *lpStruct);
-void setPtCallbackInfo_tFields(JNIEnv *env, jobject lpObject, PtCallbackInfo_t *lpStruct);
-#define PtCallbackInfo_t_sizeof() sizeof(PtCallbackInfo_t)
-#else
-#define cachePtCallbackInfo_tFields(a,b)
-#define getPtCallbackInfo_tFields(a,b,c) NULL
-#define setPtCallbackInfo_tFields(a,b,c)
-#define PtCallbackInfo_t_sizeof() 0
-#endif
-
-#ifndef NO_PtColorSelectInfo_t
-void cachePtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject);
-PtColorSelectInfo_t *getPtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject, PtColorSelectInfo_t *lpStruct);
-void setPtColorSelectInfo_tFields(JNIEnv *env, jobject lpObject, PtColorSelectInfo_t *lpStruct);
-#define PtColorSelectInfo_t_sizeof() sizeof(PtColorSelectInfo_t)
-#else
-#define cachePtColorSelectInfo_tFields(a,b)
-#define getPtColorSelectInfo_tFields(a,b,c) NULL
-#define setPtColorSelectInfo_tFields(a,b,c)
-#define PtColorSelectInfo_t_sizeof() 0
-#endif
-
-#ifndef NO_PtFileSelectionInfo_t
-void cachePtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject);
-PtFileSelectionInfo_t *getPtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject, PtFileSelectionInfo_t *lpStruct);
-void setPtFileSelectionInfo_tFields(JNIEnv *env, jobject lpObject, PtFileSelectionInfo_t *lpStruct);
-#define PtFileSelectionInfo_t_sizeof() sizeof(PtFileSelectionInfo_t)
-#else
-#define cachePtFileSelectionInfo_tFields(a,b)
-#define getPtFileSelectionInfo_tFields(a,b,c) NULL
-#define setPtFileSelectionInfo_tFields(a,b,c)
-#define PtFileSelectionInfo_t_sizeof() 0
-#endif
-
-#ifndef NO_PtScrollbarCallback_t
-void cachePtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject);
-PtScrollbarCallback_t *getPtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject, PtScrollbarCallback_t *lpStruct);
-void setPtScrollbarCallback_tFields(JNIEnv *env, jobject lpObject, PtScrollbarCallback_t *lpStruct);
-#define PtScrollbarCallback_t_sizeof() sizeof(PtScrollbarCallback_t)
-#else
-#define cachePtScrollbarCallback_tFields(a,b)
-#define getPtScrollbarCallback_tFields(a,b,c) NULL
-#define setPtScrollbarCallback_tFields(a,b,c)
-#define PtScrollbarCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_PtTextCallback_t
-void cachePtTextCallback_tFields(JNIEnv *env, jobject lpObject);
-PtTextCallback_t *getPtTextCallback_tFields(JNIEnv *env, jobject lpObject, PtTextCallback_t *lpStruct);
-void setPtTextCallback_tFields(JNIEnv *env, jobject lpObject, PtTextCallback_t *lpStruct);
-#define PtTextCallback_t_sizeof() sizeof(PtTextCallback_t)
-#else
-#define cachePtTextCallback_tFields(a,b)
-#define getPtTextCallback_tFields(a,b,c) NULL
-#define setPtTextCallback_tFields(a,b,c)
-#define PtTextCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_PtWebClientData_t
-void cachePtWebClientData_tFields(JNIEnv *env, jobject lpObject);
-PtWebClientData_t *getPtWebClientData_tFields(JNIEnv *env, jobject lpObject, PtWebClientData_t *lpStruct);
-void setPtWebClientData_tFields(JNIEnv *env, jobject lpObject, PtWebClientData_t *lpStruct);
-#define PtWebClientData_t_sizeof() sizeof(PtWebClientData_t)
-#else
-#define cachePtWebClientData_tFields(a,b)
-#define getPtWebClientData_tFields(a,b,c) NULL
-#define setPtWebClientData_tFields(a,b,c)
-#define PtWebClientData_t_sizeof() 0
-#endif
-
-#ifndef NO_PtWebDataReqCallback_t
-void cachePtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject);
-PtWebDataReqCallback_t *getPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReqCallback_t *lpStruct);
-void setPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReqCallback_t *lpStruct);
-#define PtWebDataReqCallback_t_sizeof() sizeof(PtWebDataReqCallback_t)
-#else
-#define cachePtWebDataReqCallback_tFields(a,b)
-#define getPtWebDataReqCallback_tFields(a,b,c) NULL
-#define setPtWebDataReqCallback_tFields(a,b,c)
-#define PtWebDataReqCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_PtWebMetaDataCallback_t
-void cachePtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject);
-PtWebMetaDataCallback_t *getPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct);
-void setPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct);
-#define PtWebMetaDataCallback_t_sizeof() sizeof(PtWebMetaDataCallback_t)
-#else
-#define cachePtWebMetaDataCallback_tFields(a,b)
-#define getPtWebMetaDataCallback_tFields(a,b,c) NULL
-#define setPtWebMetaDataCallback_tFields(a,b,c)
-#define PtWebMetaDataCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_PtWebStatusCallback_t
-void cachePtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject);
-PtWebStatusCallback_t *getPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct);
-void setPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct);
-#define PtWebStatusCallback_t_sizeof() sizeof(PtWebStatusCallback_t)
-#else
-#define cachePtWebStatusCallback_tFields(a,b)
-#define getPtWebStatusCallback_tFields(a,b,c) NULL
-#define setPtWebStatusCallback_tFields(a,b,c)
-#define PtWebStatusCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_PtWebWindowCallback_t
-void cachePtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject);
-PtWebWindowCallback_t *getPtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject, PtWebWindowCallback_t *lpStruct);
-void setPtWebWindowCallback_tFields(JNIEnv *env, jobject lpObject, PtWebWindowCallback_t *lpStruct);
-#define PtWebWindowCallback_t_sizeof() sizeof(PtWebWindowCallback_t)
-#else
-#define cachePtWebWindowCallback_tFields(a,b)
-#define getPtWebWindowCallback_tFields(a,b,c) NULL
-#define setPtWebWindowCallback_tFields(a,b,c)
-#define PtWebWindowCallback_t_sizeof() 0
-#endif
-
-#ifndef NO_utsname
-void cacheutsnameFields(JNIEnv *env, jobject lpObject);
-utsname *getutsnameFields(JNIEnv *env, jobject lpObject, utsname *lpStruct);
-void setutsnameFields(JNIEnv *env, jobject lpObject, utsname *lpStruct);
-#define utsname_sizeof() sizeof(utsname)
-#else
-#define cacheutsnameFields(a,b)
-#define getutsnameFields(a,b,c) NULL
-#define setutsnameFields(a,b,c)
-#define utsname_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/Platform.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/Platform.java
deleted file mode 100644
index 208cccb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/Platform.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.internal;
-
-public class Platform {
-	
-public static final String PLATFORM = "photon";
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontDetails.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontDetails.java
deleted file mode 100644
index d06777e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontDetails.java
+++ /dev/null
@@ -1,21 +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.photon;
-
- 
-public class FontDetails {
-	public byte[] desc = new byte[OS.MAX_DESC_LENGTH];
-	public byte[] stem = new byte[OS.MAX_FONT_TAG];
-	public short losize;
-	public short hisize;
-	public short flags;
-	public static final int sizeof = 128;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontQueryInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontQueryInfo.java
deleted file mode 100644
index c3fdfc0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/FontQueryInfo.java
+++ /dev/null
@@ -1,25 +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.photon;
-
- 
-public class FontQueryInfo {
-	public byte[] font = new byte[OS.MAX_FONT_TAG];
-	public byte[] desc = new byte[OS.MAX_DESC_LENGTH];
-	public short size;
-	public short style;
-	public short ascender;
-	public short descender;
-	public short width;
-	public int lochar;
-	public int hichar;
-	public static final int sizeof = 140;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java
deleted file mode 100644
index fdd4235..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java
+++ /dev/null
@@ -1,846 +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.photon;
-
- 
-import org.eclipse.swt.internal.*;
-
-public class OS extends Platform {
-	static {
-		Library.loadLibrary ("swt");
-	}
-
-	public static final int QNX_MAJOR;
-	public static final int QNX_MINOR;
-	public static final int QNX_MICRO;
-	static {		
-		/* Gather machine information (just like "uname -a") */
-		utsname udata = new utsname();
-		OS.uname(udata);
-		
-		/*
-		* Parse out the release information into integers that
-		* can be used at runtime for version checks.
-		*/
-		int value = 0;
-		int i = 0;
-		while( udata.release[i] != '.' ) {
-			value = value * 10;
-			value += udata.release[i] - '0';
-			i++;
-		}
-		QNX_MAJOR = value;
-		
-		value = 0;
-		i++;
-		while( udata.release[i] != '.' ) {
-			value = value * 10;
-			value += udata.release[i] - '0';
-			i++;
-		}
-		QNX_MINOR = value;
-		
-		value = 0;
-		i++;
-		while( udata.release[i] != 0 ) {
-			value = value * 10;
-			value += udata.release[i] - '0';
-			i++;
-		}
-		QNX_MICRO = value;
-	}
-
-	/** Constants */
-	public static final int MAX_DESC_LENGTH = 0x20;
-	public static final int MAX_FONT_TAG = 0x50;
-	public static final int MAX_URL_LENGTH=1024;
-	public static final int NAME_MAX = 0xff;
-	public static final int PATH_MAX = 0x400;
-	public static final int PF_STYLE_BOLD = 0x1;
-	public static final int PF_STYLE_ITALIC = 0x2;
-	public static final int PHFONT_ALL_FONTS = 0x33;
-	public static final int PHFONT_ALL_SYMBOLS = 0xffffffff;
-	public static final int PHFONT_BITMAP = 0x2;
-	public static final int PHFONT_DONT_SHOW_LEGACY = 0x40;
-	public static final int PHFONT_FIXED = 0x20;
-	public static final int PHFONT_INFO_BLDITC = 0x8;
-	public static final int PHFONT_INFO_BOLD = 0x2;
-	public static final int PHFONT_INFO_FIXED = 0x10;
-	public static final int PHFONT_INFO_ITALIC = 0x4;
-	public static final int PHFONT_INFO_PLAIN = 0x1;
-	public static final int PHFONT_INFO_PROP = 0x20;
-	public static final int PHFONT_PROP = 0x10;
-	public static final int PHFONT_SCALABLE = 0x1;
-	public static final int Pg_ALPHA_OP_SRC_GLOBAL = 0x40000;
-	public static final int Pg_ALPHA_OP_SRC_MAP = 0x80000;
-	public static final int Pg_ARC = 0x2000;
-	public static final int Pg_ARC_PIE = 0x1000;
-	public static final int Pg_BACK_FILL = 0x100;
-	public static final int Pg_BEVEL_JOIN = 0x02;
-	public static final int Pg_BLEND_DST_ONE_MINUS_SRC_ALPHA = 0x5;
-	public static final int Pg_BLEND_SRC_SRC_ALPHA = 0x400;
-	public static final int Pg_BUTT_CAP = 0;
-	public static final int Pg_CLOSED = 0x1000;
-	public static final int Pg_DRAWMODE_OPAQUE = 0x0;
-	public static final int Pg_DRAWMODE_XOR = 0x1;
-	public static final int Pg_DRAW_FILL = 0x20;
-	public static final int Pg_DRAW_STROKE = 0x10;
-	public static final int Pg_DrawModeDSx = 0x6680;
-	public static final int Pg_DrawModeS = 0xcc80;
-	public static final int Pg_EXTENT_BASED = 0x100;
-	public static final int Pg_GRAD_HORIZONTAL = 0x3;
-	public static final int Pg_GRAD_LINEAR = 0x0;
-	public static final int Pg_GRAD_VERTICAL = 0x4;
-	public static final int Pg_IMAGE_CLASS_DIRECT = 0x20;
-	public static final int Pg_IMAGE_CLASS_MASK = 0x38;
-	public static final int Pg_IMAGE_CLASS_PALETTE = 0x10;
-	public static final int Pg_IMAGE_DIRECT_444 = 0x24;
-	public static final int Pg_IMAGE_DIRECT_555 = 0x23;
-	public static final int Pg_IMAGE_DIRECT_565 = 0x22;
-	public static final int Pg_IMAGE_DIRECT_888 = 0x21;
-	public static final int Pg_IMAGE_DIRECT_8888 = 0x20;
-	public static final int Pg_IMAGE_PALETTE_BYTE = 0x10;
-	public static final int Pg_IMAGE_PALETTE_NIBBLE = 0x11;
-	public static final int Pg_INDEX_COLOR = 0x2000000;
-	public static final int Pg_MITER_JOIN = 0;
-	public static final int Pg_PALSET_SOFT = 0x0;
-	public static final byte[] Pg_PAT_HALF = {(byte)0xAA, (byte)0x55, (byte)0xAA, (byte)0x55, (byte)0xAA, (byte)0x55, (byte)0xAA, (byte)0x55};
-	public static final int Pg_ROUND_CAP = 0x01;
-	public static final int Pg_ROUND_JOIN = 0x01;
-	public static final int Pg_SQUARE_CAP = 2;
-	public static final int Pg_TEXT_LEFT = 0x1000;
-	public static final int Pg_TEXT_TOP = 0x4000;
-	public static final int Pg_TRANSPARENT = 0xffffffff;
-	public static final int Ph_BUTTON_ADJUST = 0x2;
-	public static final int Ph_BUTTON_MENU = 0x1;
-	public static final int Ph_BUTTON_SELECT = 0x4;
-	public static final int Ph_CONSUMED = 0x4;
-	public static final int Ph_CURSOR_BITMAP = 0xfb;
-	public static final int Ph_CURSOR_CLOCK = 0xe908;
-	public static final int Ph_CURSOR_CROSSHAIR = 0xe906;
-	public static final int Ph_CURSOR_DEFAULT_COLOR = 0xffffe0;
-	public static final int Ph_CURSOR_DONT = 0xe90a;
-	public static final int Ph_CURSOR_DRAG_BL = 0xe916;
-	public static final int Ph_CURSOR_DRAG_BOTTOM = 0xe910;
-	public static final int Ph_CURSOR_DRAG_BR = 0xe914;
-	public static final int Ph_CURSOR_DRAG_HORIZONTAL = 0xe912;
-	public static final int Ph_CURSOR_DRAG_LEFT = 0xe912;
-	public static final int Ph_CURSOR_DRAG_RIGHT = 0xe912;
-	public static final int Ph_CURSOR_DRAG_TL = 0xe914;
-	public static final int Ph_CURSOR_DRAG_TOP = 0xe910;
-	public static final int Ph_CURSOR_DRAG_TR = 0xe916;
-	public static final int Ph_CURSOR_DRAG_VERTICAL = 0xe910;
-	public static final int Ph_CURSOR_FINGER = 0xe90c;
-	public static final int Ph_CURSOR_INHERIT = 0x0;
-	public static final int Ph_CURSOR_INSERT = 0xe90e;
-	public static final int Ph_CURSOR_MOVE = 0xe904;
-	public static final int Ph_CURSOR_NO_INHERIT = 0x1;
-	public static final int Ph_CURSOR_POINTER = 0xe900;
-	public static final int Ph_CURSOR_POINT_WAIT = 0xe918;
-	public static final int Ph_CURSOR_QUESTION_POINT = 0xe91c;
-	public static final int Ph_DEV_RID = 0x1;
-	public static final int Ph_DRAG_KEY_MOTION = 0x20;
-	public static final int Ph_DRAG_TRACK = 0x10;
-	public static final int Ph_EVENT_DIRECT = 0x10;
-	public static final int Ph_EVENT_MSG = 0x1;
-	public static final int Ph_EV_BOUNDARY = 0x20;
-	public static final int Ph_EV_BUT_PRESS = 0x2;
-	public static final int Ph_EV_BUT_RELEASE = 0x4;
-	public static final int Ph_EV_DRAG = 0x200;
-	public static final int Ph_EV_DRAG_COMPLETE = 0x2;
-	public static final int Ph_EV_DRAG_KEY_EVENT = 0x3;
-	public static final int Ph_EV_DRAG_MOTION_EVENT = 0x4;
-	public static final int Ph_EV_KEY = 0x1;
-	public static final int Ph_EV_PTR_ENTER = 0x0;
-	public static final int Ph_EV_PTR_ENTER_FROM_CHILD = 0x4;
-	public static final int Ph_EV_PTR_LEAVE = 0x1;
-	public static final int Ph_EV_PTR_LEAVE_TO_CHILD = 0x5;
-	public static final int Ph_EV_PTR_MOTION = 0x18;
-	public static final int Ph_EV_PTR_MOTION_BUTTON = 0x10;
-	public static final int Ph_EV_PTR_MOTION_NOBUTTON = 0x8;
-	public static final int Ph_EV_PTR_STEADY = 0x2;
-	public static final int Ph_EV_PTR_UNSTEADY = 0x3;
-	public static final int Ph_EV_RELEASE_PHANTOM = 0x1;
-	public static final int Ph_EV_RELEASE_REAL = 0x0;
-	public static final int Ph_EV_TIMER = 0x10000;
-	public static final int Ph_FAKE_EVENT = 0x1;
-	public static final int Ph_FORCE_BOUNDARY = 0x400000;
-	public static final int Ph_GRAFX_REGION = 0x4;
-	public static final int Ph_NOT_CUAKEY = 0x10;
-	public static final int Ph_QUERY_CONSOLE = 0x0;
-	public static final int Ph_QUERY_GRAPHICS = 0x4;
-	public static final int Ph_QUERY_WORKSPACE = 0x2;
-	public static final int Ph_RELEASE_IMAGE_ALL = 0x1f;
-	public static final int Ph_RESIZE_MSG = 0x3;
-	public static final int Ph_TRACK_DRAG = 0xf;
-	public static final int Ph_WM_CLOSE = 0x1;
-	public static final int Ph_WM_EVSTATE_FOCUS = 0x0;
-	public static final int Ph_WM_EVSTATE_FOCUSLOST = 0x1;
-	public static final int Ph_WM_EVSTATE_HIDE = 0x0;
-	public static final int Ph_WM_EVSTATE_UNHIDE = 0x1;
-	public static final int Ph_WM_FOCUS = 0x4;
-	public static final int Ph_WM_HIDE = 0x40;
-	public static final int Ph_WM_ICON = 0x400;
-	public static final int Ph_WM_MAX = 0x800;
-	public static final int Ph_WM_MOVE = 0x200;
-	public static final int Ph_WM_RENDER_BORDER = 0x10;
-	public static final int Ph_WM_RENDER_MAX = 0x2000;
-	public static final int Ph_WM_RENDER_MENU = 0x100;
-	public static final int Ph_WM_RENDER_MIN = 0x1000;
-	public static final int Ph_WM_RENDER_RESIZE = 0x20;
-	public static final int Ph_WM_RENDER_TITLE = 0x80;
-	public static final int Ph_WM_RESIZE = 0x100;
-	public static final int Ph_WM_RESTORE = 0x8000;
-	public static final int Ph_WM_STATE_ISFOCUS = 0x8000;
-	public static final int Ph_WM_STATE_ISFRONT = 0x100;
-	public static final int Ph_WM_STATE_ISHIDDEN = 0x1;
-	public static final int Ph_WM_STATE_ISICONIFIED = 0x40;
-	public static final int Ph_WM_STATE_ISMAX = 0x2;
-	public static final int Ph_WM_STATE_ISMAXING = 0x4000;
-	public static final int Pk_Alt_L = 0xf0e9;
-	public static final int Pk_Alt_R = 0xf0ea;
-	public static final int Pk_BackSpace = 0xf008;
-	public static final int Pk_Break = 0xF06B;
-	public static final int Pk_Cancel = 0xf069;
-	public static final int Pk_Caps_Lock = 0xf0e5;
-	public static final int Pk_Clear = 0xf00b;
-	public static final int Pk_Control_L = 0xf0e3;
-	public static final int Pk_Control_R = 0xf0e4;
-	public static final int Pk_Delete = 0xf0ff;
-	public static final int Pk_Down = 0xf054;
-	public static final int Pk_End = 0xf057;
-	public static final int Pk_Escape = 0xf01b;
-	public static final int Pk_F1 = 0xf0be;
-	public static final int Pk_F10 = 0xf0c7;
-	public static final int Pk_F11 = 0xf0c8;
-	public static final int Pk_F12 = 0xf0c9;
-	public static final int Pk_F13 = 0xf0cA;
-	public static final int Pk_F14 = 0xf0cB;
-	public static final int Pk_F15 = 0xf0cC;
-	public static final int Pk_F2 = 0xf0bf;
-	public static final int Pk_F3 = 0xf0c0;
-	public static final int Pk_F4 = 0xf0c1;
-	public static final int Pk_F5 = 0xf0c2;
-	public static final int Pk_F6 = 0xf0c3;
-	public static final int Pk_F7 = 0xf0c4;
-	public static final int Pk_F8 = 0xf0c5;
-	public static final int Pk_F9 = 0xf0c6;
-	public static final int Pk_Home = 0xf050;
-	public static final int Pk_Help = 0xF06a;
-	public static final int Pk_Hyper_L = 0xf0ed;
-	public static final int Pk_Hyper_R = 0xf0ee;
-	public static final int Pk_Insert = 0xf063;
-	public static final int Pk_KF_Cap_Valid = 0x80;
-	public static final int Pk_KF_Key_Down = 0x1;
-	public static final int Pk_KF_Key_Repeat = 0x2;
-	public static final int Pk_KF_Scan_Valid = 0x20;
-	public static final int Pk_KF_Sym_Valid = 0x40;
-	public static final int Pk_KM_Alt = 0x4;
-	public static final int Pk_KM_Ctrl = 0x2;
-	public static final int Pk_KM_Num_Lock = 0x00020000;
-	public static final int Pk_KM_Shift = 0x1;
-	public static final int Pk_KP_Enter = 0xF08D;
-	public static final int Pk_KP_Tab = 0xf089;
-	public static final int Pk_KP_Equal = 0xF0BD;
-	public static final int Pk_KP_Multiply = 0xF0AA;
-	public static final int Pk_KP_Add = 0xF0AB;
-	public static final int Pk_KP_Separator = 0xF0AC;
-	public static final int Pk_KP_Subtract = 0xF0AD;
-	public static final int Pk_KP_Decimal = 0xF0AE;
-	public static final int Pk_KP_Divide = 0xF0AF;
-	public static final int Pk_KP_0 = 0xF0B0;
-	public static final int Pk_KP_1 = 0xF0B1;
-	public static final int Pk_KP_2 = 0xF0B2;
-	public static final int Pk_KP_3 = 0xF0B3;
-	public static final int Pk_KP_4 = 0xF0B4;
-	public static final int Pk_KP_5 = 0xF0B5;
-	public static final int Pk_KP_6 = 0xF0B6;
-	public static final int Pk_KP_7 = 0xF0B7;
-	public static final int Pk_KP_8 = 0xF0B8;
-	public static final int Pk_KP_9 = 0xF0B9;
-	public static final int Pk_Left = 0xf051;
-	public static final int Pk_Linefeed = 0xf00a;
-	public static final int Pk_Menu = 0xf067;
-	public static final int Pk_Next = 0xf056;
-	public static final int Pk_Num_Lock = 0xf07f;
-	public static final int Pk_Pause = 0xf013;
-	public static final int Pk_Pg_Down = 0xf056;
-	public static final int Pk_Pg_Up = 0xf055;
-	public static final int Pk_Print = 0xf061;
-	public static final int Pk_Prior = 0xf055;
-	public static final int Pk_Return = 0xf00d;
-	public static final int Pk_Right = 0xf053;
-	public static final int Pk_Scroll_Lock = 0xf014;
-	public static final int Pk_Shift_L = 0xf0e1;
-	public static final int Pk_Shift_R = 0xf0e2;
-	public static final int Pk_Tab = 0xf009;
-	public static final int Pk_Up = 0xf052;
-	public static final int Pt_ALL_BEVELS = 0xf00;
-	public static final int Pt_ALL_BUTTONS = 0x800000;
-	public static final int Pt_ALL_ETCHES = 0xf;
-	public static final int Pt_ALL_INLINES = 0xf000;
-	public static final int Pt_ALL_OUTLINES = 0xf0;
-	public static final int Pt_ALWAYS = 0x1;
-	public static final int Pt_ARG_ACCEL_KEY = 0xbca;
-	public static final int Pt_ARG_ACCEL_TEXT = 0x1b58;
-	public static final int Pt_ARG_ANCHOR_FLAGS = 0x2711;
-	public static final int Pt_ARG_AREA = 0x3e8;
-	public static final int Pt_ARG_BALLOON_COLOR = 0xbcc;
-	public static final int Pt_ARG_BALLOON_FILL_COLOR = 0xbcb;
-	public static final int Pt_ARG_BALLOON_POSITION = 0xbc8;
-	public static final int Pt_ARG_BASIC_FLAGS = 0x7df;
-	public static final int Pt_ARG_BEVEL_COLOR = 0x7e5;
-	public static final int Pt_ARG_BEVEL_CONTRAST = 0x7e4;
-	public static final int Pt_ARG_BEVEL_WIDTH = 0x3e9;
-	public static final int Pt_ARG_BITMAP_CURSOR = 0x3f9;
-	public static final int Pt_ARG_BUTTON_TYPE = 0x1b5a;
-	public static final int Pt_ARG_CBOX_FLAGS = 0x7918;
-	public static final int Pt_ARG_CBOX_MAX_VISIBLE_COUNT = 0x792b;
-	public static final int Pt_ARG_CBOX_SELECTION_ITEM = 0x7919;
-	public static final int Pt_ARG_CLIENT_NAME = 0x182BC;
-	public static final int Pt_ARG_COLOR = 0x7d1;
-	public static final int Pt_ARG_CONTAINER_FLAGS = 0x2715;
-	public static final int Pt_ARG_CURSOR_POSITION = 0xfa3;
-	public static final int Pt_ARG_CURSOR_TYPE = 0x3ea;
-	public static final int Pt_ARG_DARK_BEVEL_COLOR = 0x7d6;
-	public static final int Pt_ARG_FILL_COLOR = 0x7d2;
-	public static final int Pt_ARG_FLAGS = 0x3ee;
-	public static final int Pt_ARG_GAUGE_FLAGS = 0x5208;
-	public static final int Pt_ARG_GAUGE_FONT = 0x5209;
-	public static final int Pt_ARG_GAUGE_VALUE = 0x520c;
-	public static final int Pt_ARG_GROUP_FLAGS = 0x2af8;
-	public static final int Pt_ARG_GROUP_ORIENTATION = 0x2afa;
-	public static final int Pt_ARG_HEIGHT = 0x400;
-	public static final int Pt_ARG_HORIZONTAL_ALIGNMENT = 0xbb8;
-	public static final int Pt_ARG_INCREMENT = 0x7149;
-	public static final int Pt_ARG_INDICATOR_TYPE = 0x232a;
-	public static final int Pt_ARG_ITEMS = 0x59d9;
-	public static final int Pt_ARG_LABEL_IMAGE = 0xbb9;
-	public static final int Pt_ARG_LABEL_TYPE = 0xbbb;
-	public static final int Pt_ARG_LIGHT_BEVEL_COLOR = 0x7d0;
-	public static final int Pt_ARG_LINE_SPACING = 0xbcd;
-	public static final int Pt_ARG_LIST_FLAGS = 0x59da;
-	public static final int Pt_ARG_LIST_FONT = 0x59db;
-	public static final int Pt_ARG_LIST_ITEM_COUNT = 0x59e6;
-	public static final int Pt_ARG_LIST_SEL_COUNT = 0x59e7;
-	public static final int Pt_ARG_LIST_TOTAL_HEIGHT = 0x59e8;
-	public static final int Pt_ARG_MARGIN_BOTTOM = 0xbbc;
-	public static final int Pt_ARG_MARGIN_HEIGHT = 0x7d4;
-	public static final int Pt_ARG_MARGIN_LEFT = 0xbbd;
-	public static final int Pt_ARG_MARGIN_RIGHT = 0xbbe;
-	public static final int Pt_ARG_MARGIN_TOP = 0xbbf;
-	public static final int Pt_ARG_MARGIN_WIDTH = 0x7d5;
-	public static final int Pt_ARG_MAXIMUM = 0x520b;
-	public static final int Pt_ARG_MAX_LENGTH = 0xfa5;
-	public static final int Pt_ARG_MENU_FLAGS = 0x4a38;
-	public static final int Pt_ARG_MINIMUM = 0x520a;
-	public static final int Pt_ARG_MIN_HEIGHT = 1000 * 18 + 6;
-	public static final int Pt_ARG_MIN_WIDTH = 1000 * 18 + 7;
-	public static final int Pt_ARG_MODIFIER_KEYS = 0x1b5c;
-	public static final int Pt_ARG_MULTITEXT_LINE_SPACING = 0x138b;
-	public static final int Pt_ARG_MULTITEXT_NUM_LINES = 0x138e;
-	public static final int Pt_ARG_MULTITEXT_QUERY_LINE = 0x1392;
-	public static final int Pt_ARG_MULTITEXT_TABS = 0x1395;
-	public static final int Pt_ARG_MULTITEXT_TOP_LINE = 0x138f;
-	public static final int Pt_ARG_MULTITEXT_WRAP_FLAGS = 0x1389;
-	public static final int Pt_ARG_NUMERIC_FLAGS = 0xcf09;
-	public static final int Pt_ARG_NUMERIC_INCREMENT = 0xcf0b;
-	public static final int Pt_ARG_NUMERIC_MAX = 0xcf0e;
-	public static final int Pt_ARG_NUMERIC_MIN = 0xcf0d;
-	public static final int Pt_ARG_NUMERIC_SPACING = 0xcf19;
-	public static final int Pt_ARG_NUMERIC_UPDOWN_WIDTH = 0xcf0a;
-	public static final int Pt_ARG_NUMERIC_VALUE = 0xcf0c;
-	public static final int Pt_ARG_ORIENTATION = 0x520d;
-	public static final int Pt_ARG_OUTLINE_COLOR = 0x7e6;
-	public static final int Pt_ARG_PAGE_INCREMENT = 0x714d;
-	public static final int Pt_ARG_PG_CURRENT_INDEX = 0xfa05;
-	public static final int Pt_ARG_PG_FLAGS = 64 * 1000;
-	public static final int Pt_ARG_PG_PANEL_TITLES = 0xfa02;
-	public static final int Pt_ARG_POS = 0x3ef;
-	public static final int Pt_ARG_REGION_FLAGS = 0x3a9b;
-	public static final int Pt_ARG_REGION_OPAQUE = 0x3a9d;
-	public static final int Pt_ARG_REGION_SENSE = 0x3aa0;
-	public static final int Pt_ARG_RESIZE_FLAGS = 0x3f0;
-	public static final int Pt_ARG_SCROLLBAR_X_DISPLAY = 0x32ce;
-	public static final int Pt_ARG_SCROLLBAR_Y_DISPLAY = 0x32d0;
-	public static final int Pt_ARG_SELECTION_FILL_COLOR = 0x59e4;
-	public static final int Pt_ARG_SELECTION_INDEXES = 0x59de;
-	public static final int Pt_ARG_SELECTION_MODE = 0x59df;
-	public static final int Pt_ARG_SELECTION_TEXT_COLOR = 0x59e5;
-	public static final int Pt_ARG_SEP_FLAGS = 0x7530;
-	public static final int Pt_ARG_SEP_TYPE = 0x7532;
-	public static final int Pt_ARG_SLIDER_SIZE = 0x714f;
-	public static final int Pt_ARG_TEXT_CURSOR_WIDTH = 0xbf2;
-	public static final int Pt_ARG_TEXT_FLAGS = 0xfa8;
-	public static final int Pt_ARG_TEXT_FONT = 0xbc2;
-	public static final int Pt_ARG_TEXT_STRING = 0xbc3;
-	public static final int Pt_ARG_TIMER_INITIAL = 0xa028;
-	public static final int Pt_ARG_TITLE = 0x2717;
-	public static final int Pt_ARG_TITLE_FONT = 0x2718;
-	public static final int Pt_ARG_TOOLBAR_FLAGS = 0xee48;
-	public static final int Pt_ARG_TOP_ITEM_POS = 0x59e0;
-	public static final int Pt_ARG_USER_DATA = 0x3f6;
-	public static final int Pt_ARG_VERTICAL_ALIGNMENT = 0xbc7;
-	public static final int Pt_ARG_VISIBLE_COUNT = 0x59e1;
-	public static final int Pt_ARG_WEB_DATA = 0x186B6;
-	public static final int Pt_ARG_WEB_GET_URL = 0x186A0;
-	public static final int Pt_ARG_WEB_NAVIGATE_PAGE = 0x186A1;
-	public static final int Pt_ARG_WEB_OPTION = 0x186AC;
-	public static final int Pt_ARG_WEB_RELOAD = 0x186A6;
-	public static final int Pt_ARG_WEB_SERVER = 0x186A9;
-	public static final int Pt_ARG_WEB_STOP = 0x186A7;
-	public static final int Pt_ARG_WIDTH = 0x3ff;
-	public static final int Pt_ARG_WINDOW_MANAGED_FLAGS = 0x465b;
-	public static final int Pt_ARG_WINDOW_NOTIFY_FLAGS = 0x465c;
-	public static final int Pt_ARG_WINDOW_RENDER_FLAGS = 0x465d;
-	public static final int Pt_ARG_WINDOW_STATE = 0x465e;
-	public static final int Pt_ARG_WINDOW_TITLE = 0x465f;
-	public static final int Pt_BALLOON_BOTTOM = 0x3;
-	public static final int Pt_BALLOON_RIGHT = 0x0;
-	public static final int Pt_BLOCKED = 0x20000;
-	public static final int Pt_BOTTOM_ANCHORED_BOTTOM = 0x00000080;
-	public static final int Pt_BOTTOM_ANCHORED_TOP = 0x00000800;
-	public static final int Pt_BOTTOM_BEVEL = 0x200;
-	public static final int Pt_BOTTOM_ETCH = 0x2;
-	public static final int Pt_BOTTOM_INLINE = 0x2000;
-	public static final int Pt_BOTTOM_OUTLINE = 0x20;
-	public static final int Pt_CALLBACKS_ACTIVE = 0x4000000;
-	public static final int Pt_CB_ACTIVATE = 0x7d9;
-	public static final int Pt_CB_ARM = 0x7d7;
-	public static final int Pt_CB_GOT_FOCUS = 0x7da;
-	public static final int Pt_CB_LOST_FOCUS = 0x7db;
-	public static final int Pt_CB_MODIFY_VERIFY = 0xfa9;
-	public static final int Pt_CB_NUMERIC_CHANGED = 0xcf17;
-	public static final int Pt_CB_OUTBOUND = 0x3fe;
-	public static final int Pt_CB_PG_PANEL_SWITCHING = 0xfa0a;
-	public static final int Pt_CB_REALIZED = 0x3f4;
-	public static final int Pt_CB_RESIZE = 0x2713;
-	public static final int Pt_CB_SCROLL_MOVE = 0x7152;
-	public static final int Pt_CB_SELECTION = 0x59e2;
-	public static final int Pt_CB_SLIDER_MOVE = 0x5601;
-	public static final int Pt_CB_TEXT_CHANGED = 0xfaa;
-	public static final int Pt_CB_TIMER_ACTIVATE = 0xa02a;
-	public static final int Pt_CB_UNREALIZED = 0x3f5;
-	public static final int Pt_CB_WEB_CLOSE_WINDOW = 0x18713;
-	public static final int Pt_CB_WEB_COMPLETE = 0x18704;
-	public static final int Pt_CB_WEB_DATA_REQ = 0x1870F;
-	public static final int Pt_CB_WEB_METADATA = 0x18705;
-	public static final int Pt_CB_WEB_NEW_WINDOW = 0x18711;
-	public static final int Pt_CB_WEB_START = 0x1870B;
-	public static final int Pt_CB_WEB_STATUS = 0x18708;
-	public static final int Pt_CB_WEB_URL = 0x18706;
-	public static final int Pt_CB_WINDOW = 0x4661;
-	public static final int Pt_CENTER = 0x2;
-	public static final int Pt_COLORSELECT_ACCEPT = 0x8000;
-	public static final int Pt_COLORSELECT_MODAL = 0x4;
-	public static final int Pt_COMBOBOX_STATIC = 0x20;
-	public static final int Pt_CONSUME = 0x2;
-	public static final int Pt_CONTINUE = 0x0;
-	public static final int Pt_DELAY_REALIZE = 0x40;
-	public static final int Pt_EDITABLE = 0x2;
-	public static final int Pt_EMT_CHAR = 0x2;
-	public static final int Pt_EMT_NEWLINE = 0x4;
-	public static final int Pt_EMT_WORD = 0x1;
-	public static final int Pt_ENABLE_CUA = 0x10;
-	public static final int Pt_ENABLE_CUA_ARROWS = 0x20;
-	public static final int Pt_END = 0x2;
-	public static final int Pt_ETCHED_IN = 0x4;
-	public static final int Pt_ETCHED_OUT = 0x5;
-	public static final int Pt_ETCH_TITLE_AREA = 0x200;
-	public static final int Pt_FLAT_FILL = 0x10000;
-	public static final int Pt_FSDIALOG_BTN2 = 0x2;
-	public static final int Pt_FSR_NO_FCHECK = 0x100;
-	public static final int Pt_FSR_NO_SELECT_FILES = 0x2000;
-	public static final int Pt_FSR_SELECT_DIRS = 0x4000;
-	public static final int Pt_GAUGE_INDETERMINATE = 0x80;
-	public static final int Pt_GETS_FOCUS = 0x400;
-	public static final int Pt_GHOST = 0x1000000;
-	public static final int Pt_GROUP_EQUAL_SIZE = 0x2;
-	public static final int Pt_GROUP_EQUAL_SIZE_VERTICAL = 0x200;
-	public static final int Pt_GROUP_HORIZONTAL = 0x0;
-	public static final int Pt_HIGHLIGHTED = 0x100;
-	public static final int Pt_HORIZONTAL = 0x1;
-	public static final int Pt_HORIZONTAL_GRADIENT = 0x40000;
-	public static final int Pt_HOTKEYS_FIRST = 0x80;
-	public static final int Pt_IMAGE = 0x4;
-	public static final int Pt_LEFT = 0x0;
-	public static final int Pt_LEFT_ANCHORED_LEFT = 0x00000100;
-	public static final int Pt_LEFT_BEVEL = 0x400;
-	public static final int Pt_LEFT_ETCH = 0x4;
-	public static final int Pt_LEFT_INLINE = 0x4000;
-	public static final int Pt_LEFT_OUTLINE = 0x40;
-	public static final int Pt_LIST_SCROLLBAR_ALWAYS = 0x1;
-	public static final int Pt_LIST_SCROLLBAR_AS_REQUIRED = 0x2;
-	public static final int Pt_LIST_SELECTION_FINAL = 0x0;
-	public static final int Pt_MENUABLE = 0x8000000;
-	public static final int Pt_MENU_CHILD = 0x8;
-	public static final int Pt_MENU_RIGHT = 0x2;
-	public static final int Pt_MENU_TEXT = 0x1;
-	public static final int Pt_MODAL = 0x84;
-	public static final int Pt_NEVER = 0x0;
-	public static final int Pt_NOLINE = 0x6;
-	public static final int Pt_NO_PARENT = 0x1;
-	public static final int Pt_N_OF_MANY = 0x0;
-	public static final int Pt_NUMERIC_CHANGED = 0x1;
-	public static final int Pt_NUMERIC_UPDOWN_ACTIVATE = 0x8;
-	public static final int Pt_NUMERIC_UPDOWN_REPEAT = 0x4;	
-	public static final int Pt_NUMERIC_WRAP= 0x04;
-	public static final int Pt_ONE_OF_MANY = 0x1;
-	public static final int Pt_PG_INVALID = 0xffff;
-	public static final int Pt_PG_SELECTOR_ON_BOTTOM = 0x0001;
-	public static final int Pt_PROCESS = 0x0;
-	public static final int Pt_RESIZE_XY_BITS = 0x3f00000;
-	public static final int Pt_RESIZE_X_ALWAYS = 0x800000;
-	public static final int Pt_RESIZE_Y_ALWAYS = 0x100000;
-	public static final int Pt_RIGHT = 0x1;
-	public static final int Pt_RIGHT_ANCHORED_RIGHT = 0x00000020;
-	public static final int Pt_RIGHT_BEVEL = 0x800;
-	public static final int Pt_RIGHT_ETCH = 0x8;
-	public static final int Pt_RIGHT_INLINE = 0x8000;
-	public static final int Pt_RIGHT_OUTLINE = 0x80;
-	public static final int Pt_SCROLL_DECREMENT = 0x1;
-	public static final int Pt_SCROLL_DRAGGED = 0x7;
-	public static final int Pt_SCROLL_INCREMENT = 0x2;
-	public static final int Pt_SCROLL_PAGE_DECREMENT = 0x4;
-	public static final int Pt_SCROLL_PAGE_INCREMENT = 0x3;
-	public static final int Pt_SCROLL_TO_MAX = 0x5;
-	public static final int Pt_SCROLL_TO_MIN = 0x6;
-	public static final int Pt_SELECTABLE = 0x80;
-	public static final int Pt_SELECTION_MODE_AUTO = 0x8200;
-	public static final int Pt_SELECTION_MODE_MULTIPLE = 0x8000;
-	public static final int Pt_SELECTION_MODE_NOCLEAR = 0x8400;
-	public static final int Pt_SELECTION_MODE_NOFOCUS = 0x9000;
-	public static final int Pt_SELECTION_MODE_NOMOVE = 0x8080;
-	public static final int Pt_SELECTION_MODE_SINGLE = 0x8020;
-	public static final int Pt_SELECTION_MODE_TOGGLE = 0x8800;
-	public static final int Pt_SELECT_NOREDRAW = 0x80000;
-	public static final int Pt_SEP_HORIZONTAL = 0x1;
-	public static final int Pt_SEP_VERTICAL = 0x0;
-	public static final int Pt_SET = 0x2;
-	public static final int Pt_SET_DRAW_F = 0x170014;
-	public static final int Pt_SHOW_TITLE = 0x100;
-	public static final int Pt_STATIC_GRADIENT = 0x100000;
-	public static final int Pt_TEXT_IMAGE = 0x8;
-	public static final int Pt_TOGGLE = 0x8;
-	public static final int Pt_TOOLBAR_DRAGGABLE = 0x1;
-	public static final int Pt_TOOLBAR_END_SEPARATOR = 0x40;
-	public static final int Pt_TOP = 0x0;
-	public static final int Pt_TOP_ANCHORED_TOP = 0x00000400;
-	public static final int Pt_TOP_BEVEL = 0x100;
-	public static final int Pt_TOP_ETCH = 0x1;
-	public static final int Pt_TOP_INLINE = 0x1000;
-	public static final int Pt_TOP_OUTLINE = 0x10;
-	public static final int Pt_VERTICAL = 0x0;
-	public static final int Pt_WEB_ACTION_DISPLAY = 0x1;
-	public static final int Pt_WEB_DATA_HEADER = 1;
-	public static final int Pt_WEB_DATA_BODY = 2;
-	public static final int Pt_WEB_DATA_CLOSE = 3;
-	public static final int Pt_WEB_DIRECTION_BACK = 6;
-	public static final int Pt_WEB_DIRECTION_CANCEL = 7;
-	public static final int Pt_WEB_DIRECTION_FWD = 5;
-	public static final int Pt_WEB_STATUS_CONNECT = 2;
-	public static final int Pt_WEB_STATUS_DEFAULT = 6;
-	public static final int Pt_WEB_STATUS_INFO = 4;
-	public static final int Pt_WEB_STATUS_MOUSE = 1;
-	public static final int Pt_WEB_STATUS_PROGRESS = 3;
-	public static final int Pt_WEB_STATUS_PRINT = 5;
-	public static final int Pt_Z_STRING = 0x1;
-
-/** Natives */
-public static final native int PfDecomposeStemToID(byte[] pkszStem);
-public static final native int PfExtentText(PhRect_t extent, PhPoint_t pos, int font, int str, int len);
-public static final native int PfExtentText(PhRect_t extent, PhPoint_t pos, byte[] font, byte[] str, int len);
-public static final native int PfExtentWideText(PhRect_t extent, PhPoint_t pos, byte[] font, char[] str, int len);
-public static final native int PfFontDescription(int ptsID);
-public static final native int PfFontFlags(int ptsID);
-public static final native int PfFontSize(int ptsID);
-public static final native int PfFreeFont(int ptsID);
-public static final native int PfGenerateFontName(byte[] pkucDescription, int kuiFlags, int kuiSize, byte[] pucBuff);
-public static final native int PfLoadMetrics(byte[] font);
-public static final native int PfQueryFontInfo(byte[] font, FontQueryInfo info);
-public static final native int PfQueryFonts(int symbol, int flags, int list, int n);
-public static final native void PgAlphaOff();
-public static final native void PgAlphaOn();
-public static final native int PgCreateGC(int size);
-public static final native void PgDestroyGC(int GC);
-public static final native int PgDrawArc(PhPoint_t center, PhPoint_t radii, int start, int end, int flags);
-public static final native void PgDrawArrow(PhRect_t rect, short unknown, int color, int flags);
-public static final native int PgDrawBitmap(int ptr, int flags, PhPoint_t pos, PhDim_t size, int bpl, int tag);
-public static final native int PgDrawEllipse(PhPoint_t center, PhPoint_t radii, int flags);
-public static final native int PgDrawGradient(PhPoint_t ul, PhPoint_t lr, int gradient_type, int transition_type, int num_color_pts, int color1, int color2, int color3, int color4, int table_size, byte[] transition_table);
-public static final native int PgDrawILine(int x1, int y1, int x2, int y2);
-public static final native int PgDrawIPixel(int x,int y);
-public static final native int PgDrawIRect(int ulx, int uly, int lrx, int lry, int flags);
-public static final native int PgDrawImage(int ptr, int type, PhPoint_t pos, PhDim_t size, int bpl, int tag);
-public static final native int PgDrawMultiTextArea(byte[] text, int len, PhRect_t canvas, int text_flags, int canvas_flags, int linespacing);
-public static final native int PgDrawPhImageRectmx(PhPoint_t pos, int image, PhRect_t rect, int flags);
-public static final native int PgDrawPolygon(short[] ptr, int num, PhPoint_t pos, int flags);
-public static final native int PgDrawRoundRect(PhRect_t rect, PhPoint_t radii, int flags);
-public static final native int PgDrawTImage(int ptr, int type, PhPoint_t pos, PhDim_t size, int bpl, int tag, int TransPtr, int TransBPl);
-public static final native int PgDrawText(byte[] ptr, int len, PhPoint_t pos, int flags);
-public static final native int PgExtentMultiText(PhRect_t extent, PhPoint_t pos, byte[] font, byte[] str, int n, int linespacing);
-public static final native int PgFlush();
-public static final native int PgGetVideoMode(PgDisplaySettings_t settings);
-public static final native int PgGetVideoModeInfo(short mode_number, PgVideoModeInfo_t mode_info);
-public static final native int PgReadScreen(PhRect_t rect, int buffer);
-public static final native int PgReadScreenSize(PhRect_t rect);
-public static final native void PgSetAlpha(int alpha_op, PgMap_t src_alpha_map, int src_alpha_gradient, byte src_global_alpha, byte dst_global_alpha);
-public static final native void PgSetClipping(short n, int rects);
-public static final native int PgSetDrawBufferSize(int cmd_buf_len);
-public static final native int PgSetDrawMode(int mode);
-public static final native int PgSetFillColor(int color);
-public static final native void PgSetFillTransPat(byte[] pat);
-public static final native void PgSetFont(byte[] ff);
-public static final native int PgSetGC(int GC);
-public static final native int PgSetMultiClip(int num, int clip_list);
-public static final native int PgSetPalette(int palette, int palette_id, short first_color, short num_colors, int flags, int tag);
-public static final native void PgSetRegion(int rid);
-public static final native int PgSetStrokeCap(int cap);
-public static final native int PgSetStrokeColor(int color);
-public static final native void PgSetStrokeDash(byte[] DashList, int ListLen, int DashScale);
-public static final native int PgSetStrokeJoin(int join);
-public static final native int PgSetStrokeWidth(int width);
-public static final native int PgSetTextColor(int color);
-public static final native void PgSetTextXORColor(int frgd, int bkgd);
-public static final native void PgSetUserClip(PhRect_t ClipRect);
-public static final native int PgShmemCreate(int size, byte[] name);
-public static final native int PgShmemDestroy(int addr);
-public static final native int PhAddMergeTiles(int tiles, int add_tiles, int[] added);
-public static final native void PhAreaToRect(PhArea_t area, PhRect_t rect);
-public static final native void PhBlit(int rid, PhRect_t rect, PhPoint_t offset);
-public static final native int PhClipTilings(int tiles, int clip_tiles, int[] intersection);
-public static final native int PhClipboardCopy(short ig, int n, byte[] clip);
-public static final native int PhClipboardCopyString(short ig, byte[] string);
-public static final native void PhClipboardPasteFinish(int cbdata);
-public static final native int PhClipboardPasteStart(short ig);
-public static final native int PhClipboardPasteString(short ig);
-public static final native int PhClipboardPasteType(int cbdata, byte[] type);
-public static final native int PhClipboardPasteTypeN(int cbdata, int n);
-public static final native int PhCoalesceTiles(int tiles);
-public static final native int PhCopyTiles(int tile);
-public static final native int PhCreateImage(PhImage_t buffer, short width, short height, int type, int palette, int ncolors, int shmem);
-public static final native int PhDCSetCurrent(int draw_context);
-public static final native int PhDeTranslateTiles(int tile, int point_subtract);
-public static final native int PhEventNext(int buffer, int size);
-public static final native int PhEventPeek(int buffer, int size);
-public static final native void PhFreeTiles(int tiles);
-public static final native int PhGetData(int event);
-public static final native int PhGetMsgSize(int event_buf);
-public static final native int PhGetRects(int event);
-public static final native int PhGetTile();
-public static final native int PhInitDrag(int rid, int flags, PhRect_t rect, PhRect_t boundary, int input_group, PhDim_t min, PhDim_t max, PhDim_t step, PhPoint_t ptrpos, short[] cursor);
-public static final native int PhInputGroup(int event);
-public static final native int PhIntersectTilings(int tile1, int tile2, short[] num_intersect_tiles);
-public static final native int PhKeyToMb(byte[] buffer,PhKeyEvent_t keyevent);
-public static final native int PhMakeGhostBitmap(int image);
-public static final native int PhMakeTransBitmap(int image, int trans_color);
-public static final native int PhMergeTiles(int tiles);
-public static final native void PhMoveCursorAbs(int input_group, int x, int y);
-public static final native int PhQueryCursor(short ig, PhCursorInfo_t buf);
-public static final native int PhQueryRids(int flags, int rid, int input_group, int type, int sense, int emitter, PhRect_t rect, int[] rids, int num);
-public static final native int PhRectIntersect(int rect1, int rect2);
-public static final native int PhRectUnion(int rect1, int rect2);
-public static final native int PhRectUnion(PhRect_t rect1, PhRect_t rect2);
-public static final native int PhRectsToTiles(int rects, int num_rects);
-public static final native int PhRegionQuery(int rid, PhRegion_t region, PhRect_t rect, int data, int data_len);
-public static final native void PhReleaseImage(int image);
-public static final native int PhSortTiles(int tiles);
-public static final native int PhTilesToRects(int tiles, int[] num_rects);
-public static final native int PhTranslateTiles(int tile, PhPoint_t point_add);
-public static final native int PhWindowQueryVisible(int flag, int rid, int input_group, PhRect_t rect);
-public static final native int PiCropImage(int image, PhRect_t bounds, int flags);
-public static final native int PiDuplicateImage(int image, int flags);
-public static final native int PmMemCreateMC(int image, PhDim_t dim, PhPoint_t translation);
-public static final native int PmMemFlush(int mc, int image);
-public static final native void PmMemReleaseMC(int mc);
-public static final native int PmMemStart(int mc);
-public static final native int PmMemStop(int mc);
-public static final native void PtAddCallback(int widget, int callback_type, int callback, int data);
-public static final native void PtAddEventHandler(int widget, int event_mask, int callback, int data);
-public static final native void PtAddFilterCallback(int widget, int event_mask, int callback, int data);
-public static final native void PtAddHotkeyHandler(int widget, int key_sym_cap, int key_mods, short flags, int data, int callback);
-public static final native int PtAlert(int parent, PhPoint_t location, byte[] title, int image, byte[] message, byte[] msgFont, int btnCount, int[] buttons, int[] btnFonts, int defBtn, int escBtn, int flags);
-public static final native int PtAppAddInput(int app_context, int pid, int input_func, int data);
-public static final native int PtAppAddWorkProc(int app_context, int work_func, int data);
-public static final native int PtAppCreatePulse(int app, int priority);
-public static final native int PtAppDeletePulse(int app, int pulse_pid);
-public static final native void PtAppProcessEvent(int app_context);
-public static final native int PtAppPulseTrigger(int app, int pulse);
-public static final native void PtAppRemoveInput(int app_context, int input_id);
-public static final native void PtAppRemoveWorkProc(int app_context, int WorkProc_id);
-public static final native int PtBeep();
-public static final native int PtBlit(int widget, PhRect_t source, PhPoint_t delta);
-public static final native int PtBlockAllWindows(int skip, short cursor, int cursor_color);
-public static final native int PtBlockWindow(int window, short cursor, int cursor_color);
-public static final native int PtButton();
-public static final native void PtCalcBorder(int widget, PhRect_t rect);
-public static final native int PtCalcCanvas(int widget, PhRect_t canvas_rect);
-public static final native int PtClippedBlit(int widget, int src, PhPoint_t delta, int clip);
-public static final native int PtColorSelect(int parent, byte[] title, PtColorSelectInfo_t info);
-public static final native int PtComboBox();
-public static final native int PtContainer();
-public static final native int PtContainerFindFocus(int family_member);
-public static final native int PtContainerFocusNext(int widget, PhEvent_t event);
-public static final native int PtContainerFocusPrev(int widget, PhEvent_t event);
-public static final native int PtContainerGiveFocus(int widget, PhEvent_t event);
-public static final native int PtContainerHold(int container_widget);
-public static final native int PtContainerRelease(int container_widget);
-public static final native int PtCreateAppContext();
-public static final native int PtCreateWidget(int clazz, int parent, int n_args, int[] args);
-public static final native int PtCreateWidgetClass(int superclass_ref, int size, int num_args, int[] arg);
-public static final native int PtDamageExtent(int widget, PhRect_t extent);
-public static final native int PtDamageWidget(int widget);
-public static final native int PtDestroyWidget(int widget);
-public static final native int PtDisjoint();
-public static final native int PtEnter(int flags);
-public static final native int PtEventHandler(int event);
-public static final native int PtExtentWidget(int widget);
-public static final native int PtExtentWidgetFamily(int widget);
-public static final native int PtFileSelection(int parent, PhPoint_t pos, byte[] title, byte[] root_dir, byte[] file_spec, byte[] btn1, byte[] btn2, byte[] format, PtFileSelectionInfo_t info, int flags);
-public static final native int PtFindDisjoint(int widget);
-public static final native int PtFlush();
-public static final native int PtFontSelection(int parent, PhPoint_t pos, byte[] title, byte[] font, int symbol, int flags, byte[] sample);
-public static final native int PtForwardWindowEvent(PhWindowEvent_t event);
-public static final native void PtFrameSize(int widget, int border_width, int[] left_border, int[] top_border, int[] right_border, int[] bottom_border);
-public static final native void PtGetAbsPosition(int widget, short[] x, short[] y);
-public static final native int PtGetResources(int widget, int n_args, int[] args);
-public static final native int PtGlobalFocusNext(int widget, PhEvent_t event);
-public static final native int PtGlobalFocusNextContainer(int widget, PhEvent_t event);
-public static final native int PtGlobalFocusPrev(int widget, PhEvent_t event);
-public static final native int PtGlobalFocusPrevContainer(int widget, PhEvent_t event);
-public static final native int PtGroup();
-public static final native int PtHit(int container, int n, PhRect_t rect);
-public static final native int PtHold();
-public static final native int PtInflateBalloon(int win, int me, int position, byte[] string, byte[] font, int fill, int text_color);
-public static final native int PtInit(byte[] name);
-public static final native int PtIsFocused(int widget);
-public static final native int PtLabel();
-public static final native int PtLeave(int flags);
-public static final native int PtList();
-public static final native int PtListAddItems(int widget, int[] items, int item_count, int position);
-public static final native int PtListDeleteAllItems(int widget);
-public static final native int PtListDeleteItemPos(int widget, int item_count, int position);
-public static final native void PtListGotoPos(int widget, int pos);
-public static final native int PtListItemPos(int widget, byte[] item);
-public static final native int PtListReplaceItemPos(int widget, int[] new_items, int item_count, int position);
-public static final native void PtListSelectPos(int widget, int pos);
-public static final native void PtListUnselectPos(int widget, int pos);
-public static final native void PtMainLoop();
-public static final native int PtMenu();
-public static final native int PtMenuBar();
-public static final native int PtMenuButton();
-public static final native int PtMultiText();
-public static final native int PtNextTopLevelWidget(int widget);
-public static final native int PtNumericInteger ();
-public static final native int PtPane();
-public static final native int PtPanelGroup();
-public static final native void PtPositionMenu(int widget, PhEvent_t event);
-public static final native int PtProgress();
-public static final native int PtReParentWidget(int widget, int parent);
-public static final native int PtRealizeWidget(int widget);
-public static final native int PtRegion();
-public static final native int PtRelease();
-public static final native void PtRemoveCallback(int widget, int callback_type, int callback, int data);
-public static final native void PtRemoveHotkeyHandler(int widget, int key_sym_cap, int key_mods, short flags, int data, int callback);
-public static final native int PtScrollArea();
-public static final native int PtScrollContainer();
-public static final native int PtScrollbar();
-public static final native void PtSendEventToWidget(int widget, int event);
-public static final native int PtSeparator();
-public static final native int PtSetAreaFromWidgetCanvas(int widget, PhRect_t canvas_rect, PhArea_t area);
-public static final native int PtSetParentWidget(int widget);
-public static final native int PtSetResource(int widget, int type, int value, int length);
-public static final native int PtSetResources(int widget, int n_args, int[] args);
-public static final native int PtSlider();
-public static final native void PtSuperClassDraw(int wc_ref, int widget, int damage);
-public static final native int PtSyncWidget(int widget);
-public static final native int PtText();
-public static final native int PtTextGetSelection(int widget, int[] start, int[] end);
-public static final native int PtTextModifyText(int widget, int start, int end, int insert_pos, byte[] text, int length);
-public static final native int PtTextModifyText(int widget, int start, int end, int insert_pos, int text, int length);
-public static final native int PtTextSetSelection(int widget, int[] start, int[] end);
-public static final native int PtTimer();
-public static final native int PtToggleButton();
-public static final native int PtToolbar();
-public static final native void PtUnblockWindows(int bl);
-public static final native int PtUnrealizeWidget(int widget);
-public static final native int PtValidParent(int widget_parent, int class_ref);
-public static final native int PtWebClient();
-public static final native int PtWidgetArea(int widget, PhArea_t area);
-public static final native int PtWidgetBrotherBehind(int widget);
-public static final native int PtWidgetBrotherInFront(int widget);
-public static final native int PtWidgetCanvas(int widget, int canvas_rect);
-public static final native int PtWidgetCanvas(int widget, PhRect_t canvas_rect);
-public static final native int PtWidgetChildBack(int widget);
-public static final native int PtWidgetChildFront(int widget);
-public static final native int PtWidgetClass(int widget);
-public static final native int PtWidgetExtent(int widget, int extent);
-public static final native int PtWidgetExtent(int widget, PhRect_t extent);
-public static final native int PtWidgetFlags(int widget);
-public static final native int PtWidgetInsert(int widget, int new_sibling, int behind);
-public static final native int PtWidgetIsClassMember(int widget, int clazz);
-public static final native boolean PtWidgetIsRealized(int widget);
-public static final native int PtWidgetOffset(int widget, PhPoint_t offset);
-public static final native int PtWidgetParent(int widget);
-public static final native int PtWidgetPreferredSize(int widget, PhDim_t dim);
-public static final native int PtWidgetRid(int widget);
-public static final native int PtWidgetToBack(int widget);
-public static final native int PtWidgetToFront(int widget);
-public static final native int PtWindow();
-public static final native int PtWindowFocus(int widget);
-public static final native int PtWindowGetState(int widget);
-public static final native void PtWindowToBack(int widget);
-public static final native void PtWindowToFront(int widget);
-public static final native void free(int ptr);
-public static final native int getenv(byte[] name);
-public static final native int malloc(int size);
-public static final native void memmove(int dest, PhPoint_t src, int size);
-public static final native void memmove(int[] dest, int src, int size);
-public static final native void memmove(int dest, int[] src, int size);
-public static final native void memmove(int dest, PhTile_t src, int size);
-public static final native void memmove(PhTile_t dest, int src, int size);
-public static final native void memmove(PtCallbackInfo_t dest, int src, int size);
-public static final native void memmove(PhWindowEvent_t dest, int src, int size);
-public static final native void memmove(byte[] dest, int src, int size);
-public static final native void memmove(int dest, byte[] src, int size);
-public static final native void memmove(int dest, PhRect_t src, int size);
-public static final native void memmove(PhRect_t dest, int src, int size);
-public static final native void memmove(short[] dest, int src, int size);
-public static final native void memmove(int dest, int src, int size);
-public static final native void memmove(int dest, PhImage_t src, int size);
-public static final native void memmove(PhImage_t dest, int src, int size);
-public static final native void memmove(FontDetails dest, int src, int size);
-public static final native void memmove(int dest, PhPointerEvent_t src, int size);
-public static final native void memmove(PhPointerEvent_t dest, int src, int size);
-public static final native void memmove(PhEvent_t dest, int src, int size);
-public static final native void memmove(int dest, PhEvent_t src, int size);
-public static final native void memmove(PhKeyEvent_t dest, int src, int size);
-public static final native void memmove(PtScrollbarCallback_t dest, int src, int size);
-public static final native void memmove(int dest, PhArea_t src, int size);
-public static final native void memmove(PgAlpha_t dest, int src, int size);
-public static final native void memmove(int dest, PgAlpha_t src, int size);
-public static final native void memmove(PtTextCallback_t dest, int src, int size);
-public static final native void memmove(int dest, PtTextCallback_t src, int size);
-public static final native void memmove(PgMap_t dest, int src, int size);
-public static final native void memmove(int dest, PhCursorDef_t src, int size);
-public static final native void memmove(PhClipHeader dest, int src, int size);
-public static final native void memmove(byte[] dest, PhClipHeader src, int size);
-public static final native void memmove(PtWebStatusCallback_t dest, int src, int size);
-public static final native void memmove(PtWebDataReqCallback_t dest, int src, int size);
-public static final native void memmove(PtWebWindowCallback_t dest, int src, int size);
-public static final native void memmove(PtWebMetaDataCallback_t dest, int src, int size);
-public static final native void memmove(int dest, PtWebClientData_t src, int size);
-public static final native void memset(int dest, int c, int length);
-public static final native int strdup(int string);
-public static final native int strlen(int string);
-public static final native int uname(utsname udata);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgAlpha_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgAlpha_t.java
deleted file mode 100644
index 6ce1903..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgAlpha_t.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PgAlpha_t {
-	public int alpha_op;
-	// PgMap_t src_alpha_map;
-	public short src_alpha_map_dim_w;
-	public short src_alpha_map_dim_h;
-	public short src_alpha_map_bpl;
-	public short src_alpha_map_bpp;
-	public int src_alpha_map_map;
-	// PgGradient_t src_alpha_gradient; *** unused
-	// PgMap_t dest_alpha_map; *** unused
-	// PgGradient_t dest_alpha_gradient; *** unused
-	public byte src_global_alpha;
-	public byte dest_global_alpha;	
-	// char spare[2]; *** unused
-	public static final int sizeof = 104;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgDisplaySettings_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgDisplaySettings_t.java
deleted file mode 100644
index 069ba15..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgDisplaySettings_t.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PgDisplaySettings_t {
-	public int mode;
-	public int xres;
-	public int yres;
-	public int refresh;
-	public int flags;
-	public int [] reserved = new int [22];
-	public static final int sizeof = 108;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgMap_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgMap_t.java
deleted file mode 100644
index 33364e8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgMap_t.java
+++ /dev/null
@@ -1,21 +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.photon;
-
-
-public class PgMap_t {
-	public short dim_w;
-	public short dim_h;
-	public short bpl;
-	public short bpp;
-	public int map;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgVideoModeInfo_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgVideoModeInfo_t.java
deleted file mode 100644
index af68fdb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PgVideoModeInfo_t.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PgVideoModeInfo_t {
-	public short width;
-	public short height;
-	public short bits_per_pixel;
-	public short bytes_per_scanline;
-	public int type;
-	public int mode_capabilities1;
-	public int mode_capabilities2;
-	public int mode_capabilities3;
-	public int mode_capabilities4;
-	public int mode_capabilities5;
-	public int mode_capabilities6;
-	public byte [] refresh_rates = new byte [20];
-	public static final int sizeof = 56;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhArea_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhArea_t.java
deleted file mode 100644
index e577e96..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhArea_t.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhArea_t {
-	public short pos_x;
-	public short pos_y;
-	public short size_w;
-	public short size_h;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhClipHeader.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhClipHeader.java
deleted file mode 100644
index 38a426e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhClipHeader.java
+++ /dev/null
@@ -1,21 +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.photon;
-
-
-public class PhClipHeader {
-	public byte[] type = new byte[8];
-	public short length;
-	public short zero;
-	public int data;
-	public static final int sizeof = 16;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorDef_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorDef_t.java
deleted file mode 100644
index af0a6cf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorDef_t.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhCursorDef_t {
-//	PhRegionDataHdr_t hdr;
-	public short hdr_len;
-	public short hdr_type;
-//	PhPoint_t size1;
-	public short size1_x;
-	public short size1_y;
-//	PhPoint_t offset1;
-	public short offset1_x;
-	public short offset1_y;
-	public int color1;
-	public byte bytesperline1;
-//	byte zero1; // 3 bytes
-//	PhPoint_t size2;
-	public short size2_x;
-	public short size2_y;
-//	PhPoint_t offset2;
-	public short offset2_x;
-	public short offset2_y;
-	public int color2;
-	public byte bytesperline2;
-//	byte Spare; // 14 bytes
-//	byte images; // variable number of bytes
-	public static final int sizeof = 47;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorInfo_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorInfo_t.java
deleted file mode 100644
index 59afb47..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhCursorInfo_t.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhCursorInfo_t {
-//	PhPoint_t pos;
-	public short pos_x;
-	public short pos_y;
-	public int region;
-	public int ig_region;
-	public int color;
-//	PhPoint_t last_press;
-	public short last_press_x;
-	public short last_press_y;
-	public int msec;
-//	PhPoint_t steady;
-	public short steady_x;
-	public short steady_y;
-	public int dragger;
-//	PhRect_t drag_boundary;
-	public short drag_boundary_ul_x;
-	public short drag_boundary_ul_y;
-	public short drag_boundary_lr_x;
-	public short drag_boundary_lr_y;
-	public int phantom_rid;
-	public short type;
-	public short ig;
-	public short button_state;
-	public byte click_count;
-	public byte zero1;
-	public int key_mods;
-	public int zero2;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhDim_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhDim_t.java
deleted file mode 100644
index afaa143..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhDim_t.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhDim_t {
-	public short w;
-	public short h;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhEvent_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhEvent_t.java
deleted file mode 100644
index a09cde1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhEvent_t.java
+++ /dev/null
@@ -1,33 +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.photon;
-
-
-public class PhEvent_t {
-	public int type;
-	public short subtype;
-	public short processing_flags;
-//	public PhEventRegion_t emitter;
-	public int emitter_rid;
-	public int emitter_handle;
-//	public PhEventRegion_t collector;
-	public int collector_rid;
-	public int collector_handle;
-	public short input_group;
-	public short flags;
-	public int timestamp;
-//	public PhPoint_t translation;
-	public short translation_x;
-	public short translation_y;
-	public short num_rects;
-	public short data_len;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhImage_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhImage_t.java
deleted file mode 100644
index 850d151..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhImage_t.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhImage_t {
-	public int type;
-	public int image_tag;
-	public int bpl;
-	public short size_w;
-	public short size_h;
-	public int palette_tag;
-	public int colors;
-	public int alpha;
-	public int transparent;
-	public byte format;
-	public byte flags;
-	public byte ghost_bpl;
-	public byte spare1;
-	public int ghost_bitmap;
-	public int mask_bpl;
-	public int mask_bm;
-	public int palette;
-	public int image;
-	public static final int sizeof = 56;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhKeyEvent_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhKeyEvent_t.java
deleted file mode 100644
index 6e74c91..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhKeyEvent_t.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhKeyEvent_t {
-	public int key_mods;
-	public int key_flags;
-	public int key_cap;
-	public int key_sym;
-	public short key_scan;
-	public short key_zero;
-//	PhPoint_t pos;
-	public short pos_x;
-	public short pos_y;
-	public short button_state;
-	public static final int sizeof = OS.QNX_MAJOR * 100 + OS.QNX_MINOR * 10 + OS.QNX_MICRO >= 610 ? 28 : 26;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPoint_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPoint_t.java
deleted file mode 100644
index b042a3a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPoint_t.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhPoint_t {
-	public short x;
-	public short y;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPointerEvent_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPointerEvent_t.java
deleted file mode 100644
index 1839236..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhPointerEvent_t.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhPointerEvent_t {
-//	public PhPoint_t pos;
-	public short pos_x;
-	public short pos_y;
-	public short buttons;
-	public short button_state;	
-	public byte click_count;	
-	public byte flags;	
-	public short z;	
-	public int key_mods;
-	public int zero;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRect_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRect_t.java
deleted file mode 100644
index 01e600e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRect_t.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhRect_t {
-	public short ul_x;
-	public short ul_y;
-	public short lr_x;
-	public short lr_y;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRegion_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRegion_t.java
deleted file mode 100644
index 3a6d92d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhRegion_t.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhRegion_t {
-	public int rid;
-	public int handle;
-	public int owner;
-	public int flags;
-	public short state;
-//	public short zero1;
-	public int events_sense;
-	public int events_opaque;
-	public short origin_x;
-	public short origin_y;
-	public int parent;
-	public int child;
-	public int bro_in_front;
-	public int bro_behind;
-	public int cursor_color;
-	public short input_group;
-	public short data_len;
-//	public int zero21;
-//	public int zero22;
-	public short cursor_type;
-//	public short zero3;
-	public static final int sizeof = 68;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhTile_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhTile_t.java
deleted file mode 100644
index 022f6b3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhTile_t.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhTile_t {
-	//	PhRect_t rect;
-	public short rect_ul_x;
-	public short rect_ul_y;
-	public short rect_lr_x;
-	public short rect_lr_y;
-	public int next;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhWindowEvent_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhWindowEvent_t.java
deleted file mode 100644
index 73ca1af..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PhWindowEvent_t.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PhWindowEvent_t {
-	public int event_f;
-	public int state_f;
-	public int rid;
-//	PhPoint_t pos;
-	public short pos_x;
-	public short pos_y;
-//	PhDim_t size;
-	public short size_w;
-	public short size_h;
-	public short event_state;
-	public short input_group;
-	public int rsvd0, rsvd1, rsvd2, rsvd3;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtCallbackInfo_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtCallbackInfo_t.java
deleted file mode 100644
index d7974bf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtCallbackInfo_t.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PtCallbackInfo_t {
-	public int reason;
-	public int reason_subtype;
-	public int event;
-	public int cbdata;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtColorSelectInfo_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtColorSelectInfo_t.java
deleted file mode 100644
index 6fcf6ec..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtColorSelectInfo_t.java
+++ /dev/null
@@ -1,33 +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.photon;
-
-
-public class PtColorSelectInfo_t {
-	public short flags;
-	public byte nselectors;
-	public byte ncolor_models;
-	public int color_models;
-	public int selectors;
-	public short pos_x;
-	public short pos_y;
-	public short size_w;
-	public short size_h;
-	public int palette;
-	public int accept_text;
-	public int dismiss_text;
-	public int accept_dismiss_text;
-	public int apply_f;
-	public int data;
-	public int rgb;
-	public int dialog;
-	public static final int sizeof = 52;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtFileSelectionInfo_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtFileSelectionInfo_t.java
deleted file mode 100644
index dac24d2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtFileSelectionInfo_t.java
+++ /dev/null
@@ -1,32 +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.photon;
-
-
-public class PtFileSelectionInfo_t {
-	public short ret;
-	public byte [] path = new byte [(OS.PATH_MAX + OS.NAME_MAX + 4) & (~3)];
-	public PhDim_t dim = new PhDim_t ();
-	public PhPoint_t pos = new PhPoint_t ();
-	public byte [] format = new byte [80];
-	public byte [] fspec = new byte [80];
-	public int user_data;
-	public int confirm_display;
-	public int confirm_selection;
-	public int new_directory;
-	public int btn1;
-	public int btn2;
-	public int num_args;
-	public int args;
-	public int minfo;
-	public int [] spare = new int [3];
-	public static final int sizeof = 1500;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtScrollbarCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtScrollbarCallback_t.java
deleted file mode 100644
index 363fba0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtScrollbarCallback_t.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-
-public class PtScrollbarCallback_t {
-	public int action;
-	public int position;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtTextCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtTextCallback_t.java
deleted file mode 100644
index 321cd13..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtTextCallback_t.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.photon;
-
-
-public class PtTextCallback_t {
-	public int start_pos;
-	public int end_pos;
-	public int cur_insert;
-	public int new_insert;
-	public int length;
-	public short reserved;
-	public int text;
-	public int doit;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebClientData_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebClientData_t.java
deleted file mode 100644
index c522324..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebClientData_t.java
+++ /dev/null
@@ -1,19 +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.photon;
-
-public class PtWebClientData_t {
-	public int type;
-	public byte[] url = new byte[OS.MAX_URL_LENGTH];
-	public int length;
-	public int data;
-	public static final int sizeof = OS.MAX_URL_LENGTH + 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebDataReqCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebDataReqCallback_t.java
deleted file mode 100644
index 9f2661a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebDataReqCallback_t.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-public class PtWebDataReqCallback_t {
-	public int type;
-	public int length;
-	public byte[] url = new byte[OS.MAX_URL_LENGTH];
-	public static final int sizeof = OS.MAX_URL_LENGTH + 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java
deleted file mode 100644
index 5e99b4e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java
+++ /dev/null
@@ -1,17 +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.internal.photon;
-
-public class PtWebMetaDataCallback_t {
-	public byte[] name = new byte[128];
-	public byte[] value = new byte[2048];
-	public static final int sizeof = 2176;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebStatusCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebStatusCallback_t.java
deleted file mode 100644
index 2df7268..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebStatusCallback_t.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.photon;
-
-public class PtWebStatusCallback_t {
-	public byte[] desc = new byte[OS.MAX_URL_LENGTH + 6];
-	public short type;
-	public byte[] url = new byte[OS.MAX_URL_LENGTH];
-	public static final int sizeof = (OS.MAX_URL_LENGTH*2) + 6 + 2;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebWindowCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebWindowCallback_t.java
deleted file mode 100644
index 57f219a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebWindowCallback_t.java
+++ /dev/null
@@ -1,18 +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.internal.photon;
-
-public class PtWebWindowCallback_t {
-	public short size_w;
-	public short size_h;
-	public long flags;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/package.html b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/package.html
deleted file mode 100644
index 3496b84..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal Photon implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which represent the Photon
-platform interface that the photon variant of SWT is built from.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/utsname.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/utsname.java
deleted file mode 100644
index 964608c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/utsname.java
+++ /dev/null
@@ -1,21 +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.photon;
-
-public class utsname {
-	public byte[] sysname = new byte[_SYSNAME_SIZE];
-	public byte[] nodename = new byte[_SYSNAME_SIZE];
-	public byte[] release = new byte[_SYSNAME_SIZE];
-	public byte[] version = new byte[_SYSNAME_SIZE];
-	public byte[] machine = new byte[_SYSNAME_SIZE];
-	public static final int _SYSNAME_SIZE = 256 + 1;
-	public static final int sizeof = _SYSNAME_SIZE * 5;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build-ce.bat b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build-ce.bat
deleted file mode 100644
index 457b22d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build-ce.bat
+++ /dev/null
@@ -1,69 +0,0 @@
-@echo off
-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 WinCE
-rem *****************
-set WCEROOT=k:\dev\products\wince.sdk
-
-rem **********************************************************
-rem By default, build library for ARM Pocket PC
-rem 'Experiment' with other targets: an example is provided
-rem for ARM HPC 2000. Set the flag CFG to the value "hpc2000"
-rem to build for ARM HPC 2000.
-rem **********************************************************
-IF "%CFG%"=="hpc2000" GOTO HPC2000
-IF "%CFG%"=="SmartPhone 2002" GOTO SMARTPHONE
-
-:POCKETPC
-set OUTPUT_DIR=..\..\..\org.eclipse.swt.win32.wce_ppc.arm
-set OSVERSION=WCE300
-set PLATFORM=MS Pocket PC
-set PATH=%WCEROOT%\bin;%WCEROOT%\%OSVERSION%\bin;%path%
-set INCLUDE=%WCEROOT%\%OSVERSION%\%PLATFORM%\include;%WCEROOT%\%OSVERSION%\%PLATFORM%\MFC\include;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\include;
-set LIB=%WCEROOT%\%OSVERSION%\%PLATFORM%\lib\arm;%WCEROOT%\%OSVERSION%\%PLATFORM%\MFC\lib\arm;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\lib\arm;
-GOTO MAKE
-
-:HPC2000
-set OSVERSION=WCE300
-set PLATFORM=hpc2000
-set PATH=%WCEROOT%\bin;%WCEROOT%\%OSVERSION%\bin;%path%
-set INCLUDE=%WCEROOT%\%OSVERSION%\%PLATFORM%\include;%WCEROOT%\%OSVERSION%\%PLATFORM%\MFC\include;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\include;
-set LIB=%WCEROOT%\%OSVERSION%\%PLATFORM%\lib\arm;%WCEROOT%\%OSVERSION%\%PLATFORM%\MFC\lib\arm;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\lib\arm;
-GOTO MAKE
-
-:SMARTPHONE
-set OSVERSION=WCE300
-set PLATFORM=SmartPhone 2002
-set PATH=%WCEROOT%\bin;%WCEROOT%\%OSVERSION%\bin;%path%
-set INCLUDE=%WCEROOT%\%OSVERSION%\%PLATFORM%\include;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\include;
-set LIB=%WCEROOT%\%OSVERSION%\%PLATFORM%\lib\arm;%WCEROOT%\%OSVERSION%\%PLATFORM%\ATL\lib\arm;
-GOTO MAKE
-
-:MAKE
-Title Environment %OSVERSION% %PLATFORM%
-nmake -f make_wince.mak %1 %2 %3 %4
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.bat b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.bat
deleted file mode 100644
index ac77bf1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.bat
+++ /dev/null
@@ -1,37 +0,0 @@
-@echo off
-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\ibm-jdk1.4.1
-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=K:\dev\PRODUCTS\PLATSDK\feb2003
-call %mssdk%\setenv.bat
-
-set OUTPUT_DIR=..\..\..\org.eclipse.swt.win32.win32.x86
-
-:MAKE
-nmake -f make_win32.mak %1 %2 %3 %4
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.xml b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.xml
deleted file mode 100644
index d578636..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/build.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project default="build_dll" basedir="../../..">
-
-<target name="init">
-	<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />	
-   	<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-	
-<!-- Build swt.dll for Windows -->
-<target name="build_win32_dll">
-	<exec dir="./bin/library" executable="${basedir}\bin\library\build.bat">
-		<arg line="install"/>
-	</exec>
-</target>
-
-<!-- Build swt.dll for Pocket PC -->
-<target name="build_wince_dll">
-	<exec dir="./bin/library" executable="${basedir}\bin\library\build-ce.bat">
-		<arg line="install"/>
-	</exec>
-</target>
-
-<!-- Build Windows and Pocket PC swt dlls -->
-<!-- Output .dlls for these platforms into the fragment directory -->
-<!--        .log files from the compilers in the org.eclipse.swt/ directory       -->  
-<target name="build_dll" depends="init">
-	<antcall target="build_win32_dll"/>
-	<antcall target="clean"/>
-	<antcall target="build_wince_dll"/>
-	<eclipse.refreshLocal resource="org.eclipse.swt.win32.win32.x86" depth="infinite" />
-	<eclipse.refreshLocal resource="org.eclipse.swt.win32.wce_ppc.arm" depth="infinite" />
-</target>
-
-<target name="clean">
-	<exec dir="./bin/library" executable="${basedir}\bin\library\build.bat">
-		<arg line="clean"/>
-	</exec>
-</target>
-    
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
deleted file mode 100644
index dea7393..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
+++ /dev/null
@@ -1,1613 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "com_structs.h"
-#include "com_stats.h"
-
-#define COM_NATIVE(func) Java_org_eclipse_swt_internal_ole_win32_COM_##func
-
-#ifndef NO_CLSIDFromProgID
-JNIEXPORT jint JNICALL COM_NATIVE(CLSIDFromProgID)
-	(JNIEnv *env, jclass that, jcharArray arg0, jobject arg1)
-{
-	jchar *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CLSIDFromProgID_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)CLSIDFromProgID((LPCOLESTR)lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, CLSIDFromProgID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CLSIDFromString
-JNIEXPORT jint JNICALL COM_NATIVE(CLSIDFromString)
-	(JNIEnv *env, jclass that, jcharArray arg0, jobject arg1)
-{
-	jchar *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CLSIDFromString_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)CLSIDFromString((LPOLESTR)lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, CLSIDFromString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoCreateInstance
-JNIEXPORT jint JNICALL COM_NATIVE(CoCreateInstance)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	GUID _arg0, *lparg0=NULL;
-	GUID _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CoCreateInstance_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CoCreateInstance(lparg0, (LPUNKNOWN)arg1, arg2, lparg3, (LPVOID *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, CoCreateInstance_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoFreeUnusedLibraries
-JNIEXPORT void JNICALL COM_NATIVE(CoFreeUnusedLibraries)
-	(JNIEnv *env, jclass that)
-{
-	COM_NATIVE_ENTER(env, that, CoFreeUnusedLibraries_FUNC);
-	CoFreeUnusedLibraries();
-	COM_NATIVE_EXIT(env, that, CoFreeUnusedLibraries_FUNC);
-}
-#endif
-
-#ifndef NO_CoGetClassObject
-JNIEXPORT jint JNICALL COM_NATIVE(CoGetClassObject)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	GUID _arg0, *lparg0=NULL;
-	GUID _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CoGetClassObject_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CoGetClassObject(lparg0, arg1, (COSERVERINFO *)arg2, lparg3, (LPVOID *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, CoGetClassObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoLockObjectExternal
-JNIEXPORT jint JNICALL COM_NATIVE(CoLockObjectExternal)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jboolean arg2)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CoLockObjectExternal_FUNC);
-	rc = (jint)CoLockObjectExternal((IUnknown *)arg0, (BOOL)arg1, (BOOL)arg2);
-	COM_NATIVE_EXIT(env, that, CoLockObjectExternal_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoTaskMemAlloc
-JNIEXPORT jint JNICALL COM_NATIVE(CoTaskMemAlloc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CoTaskMemAlloc_FUNC);
-	rc = (jint)CoTaskMemAlloc((ULONG)arg0);
-	COM_NATIVE_EXIT(env, that, CoTaskMemAlloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoTaskMemFree
-JNIEXPORT void JNICALL COM_NATIVE(CoTaskMemFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	COM_NATIVE_ENTER(env, that, CoTaskMemFree_FUNC);
-	CoTaskMemFree((LPVOID)arg0);
-	COM_NATIVE_EXIT(env, that, CoTaskMemFree_FUNC);
-}
-#endif
-
-#ifndef NO_CreateStdAccessibleObject
-JNIEXPORT jint JNICALL COM_NATIVE(CreateStdAccessibleObject)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3)
-{
-	GUID _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, CreateStdAccessibleObject_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)CreateStdAccessibleObject((HWND)arg0, arg1, lparg2, (LPVOID *)lparg3);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(CreateStdAccessibleObject_LIB);
-			if (hm) fp = GetProcAddress(hm, "CreateStdAccessibleObject");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HWND)arg0, arg1, lparg2, (LPVOID *)lparg3);
-		}
-	}
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, CreateStdAccessibleObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DoDragDrop
-JNIEXPORT jint JNICALL COM_NATIVE(DoDragDrop)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, DoDragDrop_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)DoDragDrop((IDataObject *)arg0, (IDropSource *)arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	COM_NATIVE_EXIT(env, that, DoDragDrop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClassFile
-JNIEXPORT jint JNICALL COM_NATIVE(GetClassFile)
-	(JNIEnv *env, jclass that, jcharArray arg0, jobject arg1)
-{
-	jchar *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, GetClassFile_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetClassFile((LPCWSTR)lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, GetClassFile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IIDFromString
-JNIEXPORT jint JNICALL COM_NATIVE(IIDFromString)
-	(JNIEnv *env, jclass that, jcharArray arg0, jobject arg1)
-{
-	jchar *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, IIDFromString_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)IIDFromString((LPOLESTR)lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, IIDFromString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsEqualGUID
-JNIEXPORT jboolean JNICALL COM_NATIVE(IsEqualGUID)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	GUID _arg0, *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	COM_NATIVE_ENTER(env, that, IsEqualGUID_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)IsEqualGUID(lparg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, IsEqualGUID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LresultFromObject
-JNIEXPORT jint JNICALL COM_NATIVE(LresultFromObject)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GUID _arg0, *lparg0=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, LresultFromObject_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-/*
-	rc = (jint)LresultFromObject(lparg0, arg1, (LPUNKNOWN)arg2);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(LresultFromObject_LIB);
-			if (hm) fp = GetProcAddress(hm, "LresultFromObject");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(lparg0, arg1, (LPUNKNOWN)arg2);
-		}
-	}
-fail:
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, LresultFromObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	FORMATETC _arg1, *lparg1=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I_FUNC);
-	if (arg1) if ((lparg1 = getFORMATETCFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	COM_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GUID _arg1, *lparg1=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I_FUNC);
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	COM_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	OLEINPLACEFRAMEINFO _arg1, *lparg1=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I_FUNC);
-	if (arg1) if ((lparg1 = getOLEINPLACEFRAMEINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	COM_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	STATSTG _arg1, *lparg1=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I_FUNC);
-	if (arg1) if ((lparg1 = getSTATSTGFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	COM_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	STGMEDIUM _arg1, *lparg1=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I_FUNC);
-	if (arg1) if ((lparg1 = getSTGMEDIUMFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	COM_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	DISPPARAMS _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setDISPPARAMSFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	FORMATETC _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setFORMATETCFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	FUNCDESC _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setFUNCDESCFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GUID _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	STATSTG _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setSTATSTGFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	STGMEDIUM _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setSTGMEDIUMFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	TYPEATTR _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setTYPEATTRFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	VARDESC _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setVARDESCFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II
-JNIEXPORT void JNICALL COM_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	RECT _arg0, *lparg0=NULL;
-	COM_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setRECTFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II_FUNC);
-}
-#endif
-
-#ifndef NO_OleCreate
-JNIEXPORT jint JNICALL COM_NATIVE(OleCreate)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	GUID _arg0, *lparg0=NULL;
-	GUID _arg1, *lparg1=NULL;
-	FORMATETC _arg3, *lparg3=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleCreate_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getFORMATETCFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)OleCreate(lparg0, lparg1, arg2, lparg3, (IOleClientSite *)arg4, (IStorage *)arg5, (void **)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg3 && lparg3) setFORMATETCFields(env, arg3, lparg3);
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, OleCreate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleCreateFromFile
-JNIEXPORT jint JNICALL COM_NATIVE(OleCreateFromFile)
-	(JNIEnv *env, jclass that, jobject arg0, jcharArray arg1, jobject arg2, jint arg3, jobject arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	GUID _arg0, *lparg0=NULL;
-	jchar *lparg1=NULL;
-	GUID _arg2, *lparg2=NULL;
-	FORMATETC _arg4, *lparg4=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleCreateFromFile_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getFORMATETCFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)OleCreateFromFile(lparg0, (LPCOLESTR)lparg1, lparg2, arg3, lparg4, (LPOLECLIENTSITE)arg5, (LPSTORAGE)arg6, (LPVOID *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg4 && lparg4) setFORMATETCFields(env, arg4, lparg4);
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, OleCreateFromFile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleCreatePropertyFrame
-JNIEXPORT jint JNICALL COM_NATIVE(OleCreatePropertyFrame)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3, jint arg4, jintArray arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	jchar *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleCreatePropertyFrame_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)OleCreatePropertyFrame((HWND)arg0, arg1, arg2, (LPCOLESTR)lparg3, arg4, (LPUNKNOWN FAR*)lparg5, arg6, (LPCLSID)arg7, (LCID)arg8, arg9, (LPVOID)arg10);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	COM_NATIVE_EXIT(env, that, OleCreatePropertyFrame_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleDraw
-JNIEXPORT jint JNICALL COM_NATIVE(OleDraw)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleDraw_FUNC);
-	rc = (jint)OleDraw((LPUNKNOWN)arg0, (DWORD)arg1, (HDC)arg2, (LPRECT)arg3);
-	COM_NATIVE_EXIT(env, that, OleDraw_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleFlushClipboard
-JNIEXPORT jint JNICALL COM_NATIVE(OleFlushClipboard)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleFlushClipboard_FUNC);
-	rc = (jint)OleFlushClipboard();
-	COM_NATIVE_EXIT(env, that, OleFlushClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleGetClipboard
-JNIEXPORT jint JNICALL COM_NATIVE(OleGetClipboard)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleGetClipboard_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)OleGetClipboard((IDataObject **)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, OleGetClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleIsCurrentClipboard
-JNIEXPORT jint JNICALL COM_NATIVE(OleIsCurrentClipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleIsCurrentClipboard_FUNC);
-	rc = (jint)OleIsCurrentClipboard((IDataObject *)arg0);
-	COM_NATIVE_EXIT(env, that, OleIsCurrentClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleIsRunning
-JNIEXPORT jboolean JNICALL COM_NATIVE(OleIsRunning)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	COM_NATIVE_ENTER(env, that, OleIsRunning_FUNC);
-	rc = (jboolean)OleIsRunning((LPOLEOBJECT)arg0);
-	COM_NATIVE_EXIT(env, that, OleIsRunning_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleLoad
-JNIEXPORT jint JNICALL COM_NATIVE(OleLoad)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jintArray arg3)
-{
-	GUID _arg1, *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleLoad_FUNC);
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)OleLoad((IStorage *)arg0, lparg1, (IOleClientSite *)arg2, (LPVOID *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	COM_NATIVE_EXIT(env, that, OleLoad_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleRun
-JNIEXPORT jint JNICALL COM_NATIVE(OleRun)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleRun_FUNC);
-	rc = (jint)OleRun((LPUNKNOWN)arg0);
-	COM_NATIVE_EXIT(env, that, OleRun_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleSave
-JNIEXPORT jint JNICALL COM_NATIVE(OleSave)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleSave_FUNC);
-	rc = (jint)OleSave((IPersistStorage *)arg0, (IStorage *)arg1, arg2);
-	COM_NATIVE_EXIT(env, that, OleSave_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleSetClipboard
-JNIEXPORT jint JNICALL COM_NATIVE(OleSetClipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleSetClipboard_FUNC);
-	rc = (jint)OleSetClipboard((IDataObject *)arg0);
-	COM_NATIVE_EXIT(env, that, OleSetClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleSetContainedObject
-JNIEXPORT jint JNICALL COM_NATIVE(OleSetContainedObject)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleSetContainedObject_FUNC);
-	rc = (jint)OleSetContainedObject((LPUNKNOWN)arg0, arg1);
-	COM_NATIVE_EXIT(env, that, OleSetContainedObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleSetMenuDescriptor
-JNIEXPORT jint JNICALL COM_NATIVE(OleSetMenuDescriptor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleSetMenuDescriptor_FUNC);
-	rc = (jint)OleSetMenuDescriptor((HOLEMENU)arg0, (HWND)arg1, (HWND)arg2, (LPOLEINPLACEFRAME)arg3, (LPOLEINPLACEACTIVEOBJECT)arg4);
-	COM_NATIVE_EXIT(env, that, OleSetMenuDescriptor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleTranslateColor
-JNIEXPORT jint JNICALL COM_NATIVE(OleTranslateColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, OleTranslateColor_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)OleTranslateColor((OLE_COLOR)arg0, (HPALETTE)arg1, (COLORREF *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, OleTranslateColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ProgIDFromCLSID
-JNIEXPORT jint JNICALL COM_NATIVE(ProgIDFromCLSID)
-	(JNIEnv *env, jclass that, jobject arg0, jintArray arg1)
-{
-	GUID _arg0, *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, ProgIDFromCLSID_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)ProgIDFromCLSID(lparg0, (LPOLESTR *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, ProgIDFromCLSID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterDragDrop
-JNIEXPORT jint JNICALL COM_NATIVE(RegisterDragDrop)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, RegisterDragDrop_FUNC);
-	rc = (jint)RegisterDragDrop((HWND)arg0, (IDropTarget *)arg1);
-	COM_NATIVE_EXIT(env, that, RegisterDragDrop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseStgMedium
-JNIEXPORT void JNICALL COM_NATIVE(ReleaseStgMedium)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	COM_NATIVE_ENTER(env, that, ReleaseStgMedium_FUNC);
-	ReleaseStgMedium((STGMEDIUM *)arg0);
-	COM_NATIVE_EXIT(env, that, ReleaseStgMedium_FUNC);
-}
-#endif
-
-#ifndef NO_RevokeDragDrop
-JNIEXPORT jint JNICALL COM_NATIVE(RevokeDragDrop)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, RevokeDragDrop_FUNC);
-	rc = (jint)RevokeDragDrop((HWND)arg0);
-	COM_NATIVE_EXIT(env, that, RevokeDragDrop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StgCreateDocfile
-JNIEXPORT jint JNICALL COM_NATIVE(StgCreateDocfile)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jchar *lparg0=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, StgCreateDocfile_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)StgCreateDocfile(lparg0, arg1, arg2, (IStorage **)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, StgCreateDocfile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StgIsStorageFile
-JNIEXPORT jint JNICALL COM_NATIVE(StgIsStorageFile)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, StgIsStorageFile_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)StgIsStorageFile((const WCHAR *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, StgIsStorageFile_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StgOpenStorage
-JNIEXPORT jint JNICALL COM_NATIVE(StgOpenStorage)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jchar *lparg0=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, StgOpenStorage_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)StgOpenStorage((const WCHAR *)lparg0, (IStorage *)arg1, arg2, (SNB)arg3, arg4, (IStorage **)lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, StgOpenStorage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFromCLSID
-JNIEXPORT jint JNICALL COM_NATIVE(StringFromCLSID)
-	(JNIEnv *env, jclass that, jobject arg0, jintArray arg1)
-{
-	GUID _arg0, *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, StringFromCLSID_FUNC);
-	if (arg0) if ((lparg0 = getGUIDFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)StringFromCLSID(lparg0, (LPOLESTR *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) setGUIDFields(env, arg0, lparg0);
-	COM_NATIVE_EXIT(env, that, StringFromCLSID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SysAllocString
-JNIEXPORT jint JNICALL COM_NATIVE(SysAllocString)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, SysAllocString_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)SysAllocString((OLECHAR *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	COM_NATIVE_EXIT(env, that, SysAllocString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SysFreeString
-JNIEXPORT void JNICALL COM_NATIVE(SysFreeString)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	COM_NATIVE_ENTER(env, that, SysFreeString_FUNC);
-	SysFreeString((BSTR)arg0);
-	COM_NATIVE_EXIT(env, that, SysFreeString_FUNC);
-}
-#endif
-
-#ifndef NO_SysStringByteLen
-JNIEXPORT jint JNICALL COM_NATIVE(SysStringByteLen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, SysStringByteLen_FUNC);
-	rc = (jint)SysStringByteLen((BSTR)arg0);
-	COM_NATIVE_EXIT(env, that, SysStringByteLen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VariantChangeType
-JNIEXPORT jint JNICALL COM_NATIVE(VariantChangeType)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jshort arg2, jshort arg3)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VariantChangeType_FUNC);
-	rc = (jint)VariantChangeType((VARIANTARG FAR* )arg0, (VARIANTARG FAR* )arg1, arg2, (VARTYPE)arg3);
-	COM_NATIVE_EXIT(env, that, VariantChangeType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VariantClear
-JNIEXPORT jint JNICALL COM_NATIVE(VariantClear)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VariantClear_FUNC);
-	rc = (jint)VariantClear((VARIANTARG FAR* )arg0);
-	COM_NATIVE_EXIT(env, that, VariantClear_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VariantInit
-JNIEXPORT void JNICALL COM_NATIVE(VariantInit)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	COM_NATIVE_ENTER(env, that, VariantInit_FUNC);
-	VariantInit((VARIANTARG FAR* )arg0);
-	COM_NATIVE_EXIT(env, that, VariantInit_FUNC);
-}
-#endif
-
-#ifndef NO_VtblCall__IIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIIIIIIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIIIIIIII_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIIIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	DVTARGETDEVICE _arg4, *lparg4=NULL;
-	SIZE _arg5, *lparg5=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	if (arg4) if ((lparg4 = getDVTARGETDEVICEFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getSIZEFields(env, arg5, &_arg5)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, DVTARGETDEVICE *, SIZE *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) setSIZEFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setDVTARGETDEVICEFields(env, arg4, lparg4);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jintArray arg6)
-{
-	GUID _arg4, *lparg4=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
-	if (arg4) if ((lparg4 = getGUIDFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, GUID *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setGUIDFields(env, arg4, lparg4);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIII_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIII_3I_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	FORMATETC _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
-	if (arg3) if ((lparg3 = getFORMATETCFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, FORMATETC *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setFORMATETCFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	GUID _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC);
-	if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, GUID *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jint arg5)
-{
-	GUID _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
-	if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, GUID *, jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5);
-fail:
-	if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jint arg7, jobject arg8, jintArray arg9)
-{
-	GUID _arg3, *lparg3=NULL;
-	DISPPARAMS _arg6, *lparg6=NULL;
-	EXCEPINFO _arg8, *lparg8=NULL;
-	jint *lparg9=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
-	if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getDISPPARAMSFields(env, arg6, &_arg6)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = getEXCEPINFOFields(env, arg8, &_arg8)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, GUID *, jint, jint, DISPPARAMS *, jint, EXCEPINFO *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, lparg6, arg7, lparg8, lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) setEXCEPINFOFields(env, arg8, lparg8);
-	if (arg6 && lparg6) setDISPPARAMSFields(env, arg6, lparg6);
-	if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jintArray arg4)
-{
-	STATSTG _arg3, *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
-	if (arg3) if ((lparg3 = getSTATSTGFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, STATSTG *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) setSTATSTGFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jint arg6, jobject arg7)
-{
-	MSG _arg3, *lparg3=NULL;
-	RECT _arg7, *lparg7=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	if (arg3) if ((lparg3 = getMSGFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getRECTFields(env, arg7, &_arg7)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, MSG *, jint, jint, jint, RECT *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7);
-fail:
-	if (arg7 && lparg7) setRECTFields(env, arg7, lparg7);
-	if (arg3 && lparg3) setMSGFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	SIZE _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	if (arg3) if ((lparg3 = getSIZEFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, SIZE *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIZ
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
-{
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IIIZ_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, arg2, arg3);
-	COM_NATIVE_EXIT(env, that, VtblCall__IIIZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__III_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__III_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3II_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg3=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__III_3II_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint *, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__III_3II_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III_3I_3I_3I_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3I_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint *, jint *, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	CAUUID _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC);
-	if (arg2) if ((lparg2 = getCAUUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, CAUUID *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCAUUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	CONTROLINFO _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2_FUNC);
-	if (arg2) if ((lparg2 = getCONTROLINFOFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, CONTROLINFO *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setCONTROLINFOFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	FORMATETC _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_FUNC);
-	if (arg2) if ((lparg2 = getFORMATETCFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, FORMATETC *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setFORMATETCFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3)
-{
-	FORMATETC _arg2, *lparg2=NULL;
-	STGMEDIUM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2_FUNC);
-	if (arg2) if ((lparg2 = getFORMATETCFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getSTGMEDIUMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, FORMATETC *, STGMEDIUM *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) setSTGMEDIUMFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setFORMATETCFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jboolean arg4)
-{
-	FORMATETC _arg2, *lparg2=NULL;
-	STGMEDIUM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z_FUNC);
-	if (arg2) if ((lparg2 = getFORMATETCFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getSTGMEDIUMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, FORMATETC *, STGMEDIUM *, jboolean))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3, arg4);
-fail:
-	if (arg3 && lparg3) setSTGMEDIUMFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setFORMATETCFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	GUID _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, GUID *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	GUID _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, GUID *, jint, jint, jint, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6);
-fail:
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	GUID _arg2, *lparg2=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, GUID *, jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	GUID _arg2, *lparg2=NULL;
-	OLECMD _arg4, *lparg4=NULL;
-	OLECMDTEXT _arg5, *lparg5=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getOLECMDFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getOLECMDTEXTFields(env, arg5, &_arg5)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, GUID *, jint, OLECMD *, OLECMDTEXT *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) setOLECMDTEXTFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setOLECMDFields(env, arg4, lparg4);
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3)
-{
-	GUID _arg2, *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
-	if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, GUID *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LICINFO _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2_FUNC);
-	if (arg2) if ((lparg2 = getLICINFOFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, LICINFO *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLICINFOFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	MSG _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2_FUNC);
-	if (arg2) if ((lparg2 = getMSGFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, MSG *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setMSGFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	RECT _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, RECT *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jboolean arg4)
-{
-	RECT _arg2, *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, RECT *, jint, jboolean))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4);
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3)
-{
-	RECT _arg2, *lparg2=NULL;
-	RECT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, RECT *, RECT *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3C_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CI
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3CI_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3CI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CIIII_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CIIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
-{
-	jchar *lparg2=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3CIIII_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint, jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6, lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3CIIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CIII_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	jchar *lparg2=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3CIII_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3CIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3C_3C
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3C_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jcharArray arg3)
-{
-	jchar *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3C_3C_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jchar *))(*(jint **)arg1)[arg0])(arg1, lparg2, lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3C_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3I
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, VtblCall__II_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	COM_NATIVE_EXIT(env, that, VtblCall__II_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WriteClassStg
-JNIEXPORT jint JNICALL COM_NATIVE(WriteClassStg)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GUID _arg1, *lparg1=NULL;
-	jint rc = 0;
-	COM_NATIVE_ENTER(env, that, WriteClassStg_FUNC);
-	if (arg1) if ((lparg1 = getGUIDFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)WriteClassStg((IStorage *)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setGUIDFields(env, arg1, lparg1);
-	COM_NATIVE_EXIT(env, that, WriteClassStg_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.h
deleted file mode 100644
index fb3fd91..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.h
+++ /dev/null
@@ -1,18 +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_com_H
-#define INC_com_H
-
-#include "os_structs.h"
-#include "com_custom.h"
-
-#endif /* INC_com_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_custom.h
deleted file mode 100644
index b28ba93..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_custom.h
+++ /dev/null
@@ -1,14 +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
- *******************************************************************************/
-
-/* Libraries for dynamic loaded functions */
-#define CreateStdAccessibleObject_LIB "oleacc.dll"
-#define LresultFromObject_LIB "oleacc.dll"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
deleted file mode 100644
index 9cebdd9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
+++ /dev/null
@@ -1,141 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "com_stats.h"
-
-#ifdef NATIVE_STATS
-
-int COM_nativeFunctionCount = 99;
-int COM_nativeFunctionCallCount[99];
-char * COM_nativeFunctionNames[] = {
-	"CLSIDFromProgID",
-	"CLSIDFromString",
-	"CoCreateInstance",
-	"CoFreeUnusedLibraries",
-	"CoGetClassObject",
-	"CoLockObjectExternal",
-	"CoTaskMemAlloc",
-	"CoTaskMemFree",
-	"CreateStdAccessibleObject",
-	"DoDragDrop",
-	"GetClassFile",
-	"IIDFromString",
-	"IsEqualGUID",
-	"LresultFromObject",
-	"MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II",
-	"OleCreate",
-	"OleCreateFromFile",
-	"OleCreatePropertyFrame",
-	"OleDraw",
-	"OleFlushClipboard",
-	"OleGetClipboard",
-	"OleIsCurrentClipboard",
-	"OleIsRunning",
-	"OleLoad",
-	"OleRun",
-	"OleSave",
-	"OleSetClipboard",
-	"OleSetContainedObject",
-	"OleSetMenuDescriptor",
-	"OleTranslateColor",
-	"ProgIDFromCLSID",
-	"RegisterDragDrop",
-	"ReleaseStgMedium",
-	"RevokeDragDrop",
-	"StgCreateDocfile",
-	"StgIsStorageFile",
-	"StgOpenStorage",
-	"StringFromCLSID",
-	"SysAllocString",
-	"SysFreeString",
-	"SysStringByteLen",
-	"VariantChangeType",
-	"VariantClear",
-	"VariantInit",
-	"VtblCall__IIII",
-	"VtblCall__IIIII",
-	"VtblCall__IIIIII",
-	"VtblCall__IIIIIII",
-	"VtblCall__IIIIIIII",
-	"VtblCall__IIIIIIIIII",
-	"VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2",
-	"VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I",
-	"VtblCall__IIII_3I",
-	"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I",
-	"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2",
-	"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II",
-	"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I",
-	"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I",
-	"VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2",
-	"VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2",
-	"VtblCall__IIIZ",
-	"VtblCall__III_3I",
-	"VtblCall__III_3II_3I",
-	"VtblCall__III_3I_3I_3I_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I",
-	"VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2",
-	"VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2",
-	"VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2",
-	"VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ",
-	"VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2",
-	"VtblCall__II_3C",
-	"VtblCall__II_3CI",
-	"VtblCall__II_3CIIII_3I",
-	"VtblCall__II_3CIII_3I",
-	"VtblCall__II_3C_3C",
-	"VtblCall__II_3I",
-	"WriteClassStg",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(COM_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return COM_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(COM_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, COM_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(COM_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return COM_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
deleted file mode 100644
index 6005033..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
+++ /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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int COM_nativeFunctionCount;
-extern int COM_nativeFunctionCallCount[];
-extern char* COM_nativeFunctionNames[];
-#define COM_NATIVE_ENTER(env, that, func) COM_nativeFunctionCallCount[func]++;
-#define COM_NATIVE_EXIT(env, that, func) 
-#else
-#define COM_NATIVE_ENTER(env, that, func) 
-#define COM_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	CLSIDFromProgID_FUNC,
-	CLSIDFromString_FUNC,
-	CoCreateInstance_FUNC,
-	CoFreeUnusedLibraries_FUNC,
-	CoGetClassObject_FUNC,
-	CoLockObjectExternal_FUNC,
-	CoTaskMemAlloc_FUNC,
-	CoTaskMemFree_FUNC,
-	CreateStdAccessibleObject_FUNC,
-	DoDragDrop_FUNC,
-	GetClassFile_FUNC,
-	IIDFromString_FUNC,
-	IsEqualGUID_FUNC,
-	LresultFromObject_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_ole_win32_FORMATETC_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_ole_win32_GUID_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_ole_win32_OLEINPLACEFRAMEINFO_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STATSTG_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2I_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FORMATETC_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_FUNCDESC_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STATSTG_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_TYPEATTR_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_ole_win32_VARDESC_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_RECT_2II_FUNC,
-	OleCreate_FUNC,
-	OleCreateFromFile_FUNC,
-	OleCreatePropertyFrame_FUNC,
-	OleDraw_FUNC,
-	OleFlushClipboard_FUNC,
-	OleGetClipboard_FUNC,
-	OleIsCurrentClipboard_FUNC,
-	OleIsRunning_FUNC,
-	OleLoad_FUNC,
-	OleRun_FUNC,
-	OleSave_FUNC,
-	OleSetClipboard_FUNC,
-	OleSetContainedObject_FUNC,
-	OleSetMenuDescriptor_FUNC,
-	OleTranslateColor_FUNC,
-	ProgIDFromCLSID_FUNC,
-	RegisterDragDrop_FUNC,
-	ReleaseStgMedium_FUNC,
-	RevokeDragDrop_FUNC,
-	StgCreateDocfile_FUNC,
-	StgIsStorageFile_FUNC,
-	StgOpenStorage_FUNC,
-	StringFromCLSID_FUNC,
-	SysAllocString_FUNC,
-	SysFreeString_FUNC,
-	SysStringByteLen_FUNC,
-	VariantChangeType_FUNC,
-	VariantClear_FUNC,
-	VariantInit_FUNC,
-	VtblCall__IIII_FUNC,
-	VtblCall__IIIII_FUNC,
-	VtblCall__IIIIII_FUNC,
-	VtblCall__IIIIIII_FUNC,
-	VtblCall__IIIIIIII_FUNC,
-	VtblCall__IIIIIIIIII_FUNC,
-	VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
-	VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC,
-	VtblCall__IIII_3I_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
-	VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
-	VtblCall__IIIZ_FUNC,
-	VtblCall__III_3I_FUNC,
-	VtblCall__III_3II_3I_FUNC,
-	VtblCall__III_3I_3I_3I_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2Z_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_ole_win32_LICINFO_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_win32_MSG_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC,
-	VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2_FUNC,
-	VtblCall__II_3C_FUNC,
-	VtblCall__II_3CI_FUNC,
-	VtblCall__II_3CIIII_3I_FUNC,
-	VtblCall__II_3CIII_3I_FUNC,
-	VtblCall__II_3C_3C_FUNC,
-	VtblCall__II_3I_FUNC,
-	WriteClassStg_FUNC,
-} COM_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.c
deleted file mode 100644
index 126faa0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.c
+++ /dev/null
@@ -1,877 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "com_structs.h"
-
-#ifndef NO_CAUUID
-typedef struct CAUUID_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cElems, pElems;
-} CAUUID_FID_CACHE;
-
-CAUUID_FID_CACHE CAUUIDFc;
-
-void cacheCAUUIDFields(JNIEnv *env, jobject lpObject)
-{
-	if (CAUUIDFc.cached) return;
-	CAUUIDFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CAUUIDFc.cElems = (*env)->GetFieldID(env, CAUUIDFc.clazz, "cElems", "I");
-	CAUUIDFc.pElems = (*env)->GetFieldID(env, CAUUIDFc.clazz, "pElems", "I");
-	CAUUIDFc.cached = 1;
-}
-
-CAUUID *getCAUUIDFields(JNIEnv *env, jobject lpObject, CAUUID *lpStruct)
-{
-	if (!CAUUIDFc.cached) cacheCAUUIDFields(env, lpObject);
-	lpStruct->cElems = (*env)->GetIntField(env, lpObject, CAUUIDFc.cElems);
-	lpStruct->pElems = (GUID FAR *)(*env)->GetIntField(env, lpObject, CAUUIDFc.pElems);
-	return lpStruct;
-}
-
-void setCAUUIDFields(JNIEnv *env, jobject lpObject, CAUUID *lpStruct)
-{
-	if (!CAUUIDFc.cached) cacheCAUUIDFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CAUUIDFc.cElems, (jint)lpStruct->cElems);
-	(*env)->SetIntField(env, lpObject, CAUUIDFc.pElems, (jint)lpStruct->pElems);
-}
-#endif
-
-#ifndef NO_CONTROLINFO
-typedef struct CONTROLINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cb, hAccel, cAccel, dwFlags;
-} CONTROLINFO_FID_CACHE;
-
-CONTROLINFO_FID_CACHE CONTROLINFOFc;
-
-void cacheCONTROLINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (CONTROLINFOFc.cached) return;
-	CONTROLINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CONTROLINFOFc.cb = (*env)->GetFieldID(env, CONTROLINFOFc.clazz, "cb", "I");
-	CONTROLINFOFc.hAccel = (*env)->GetFieldID(env, CONTROLINFOFc.clazz, "hAccel", "I");
-	CONTROLINFOFc.cAccel = (*env)->GetFieldID(env, CONTROLINFOFc.clazz, "cAccel", "S");
-	CONTROLINFOFc.dwFlags = (*env)->GetFieldID(env, CONTROLINFOFc.clazz, "dwFlags", "I");
-	CONTROLINFOFc.cached = 1;
-}
-
-CONTROLINFO *getCONTROLINFOFields(JNIEnv *env, jobject lpObject, CONTROLINFO *lpStruct)
-{
-	if (!CONTROLINFOFc.cached) cacheCONTROLINFOFields(env, lpObject);
-	lpStruct->cb = (*env)->GetIntField(env, lpObject, CONTROLINFOFc.cb);
-	lpStruct->hAccel = (HACCEL)(*env)->GetIntField(env, lpObject, CONTROLINFOFc.hAccel);
-	lpStruct->cAccel = (*env)->GetShortField(env, lpObject, CONTROLINFOFc.cAccel);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, CONTROLINFOFc.dwFlags);
-	return lpStruct;
-}
-
-void setCONTROLINFOFields(JNIEnv *env, jobject lpObject, CONTROLINFO *lpStruct)
-{
-	if (!CONTROLINFOFc.cached) cacheCONTROLINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CONTROLINFOFc.cb, (jint)lpStruct->cb);
-	(*env)->SetIntField(env, lpObject, CONTROLINFOFc.hAccel, (jint)lpStruct->hAccel);
-	(*env)->SetShortField(env, lpObject, CONTROLINFOFc.cAccel, (jshort)lpStruct->cAccel);
-	(*env)->SetIntField(env, lpObject, CONTROLINFOFc.dwFlags, (jint)lpStruct->dwFlags);
-}
-#endif
-
-#ifndef NO_COSERVERINFO
-typedef struct COSERVERINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwReserved1, pwszName, pAuthInfo, dwReserved2;
-} COSERVERINFO_FID_CACHE;
-
-COSERVERINFO_FID_CACHE COSERVERINFOFc;
-
-void cacheCOSERVERINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (COSERVERINFOFc.cached) return;
-	COSERVERINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	COSERVERINFOFc.dwReserved1 = (*env)->GetFieldID(env, COSERVERINFOFc.clazz, "dwReserved1", "I");
-	COSERVERINFOFc.pwszName = (*env)->GetFieldID(env, COSERVERINFOFc.clazz, "pwszName", "I");
-	COSERVERINFOFc.pAuthInfo = (*env)->GetFieldID(env, COSERVERINFOFc.clazz, "pAuthInfo", "I");
-	COSERVERINFOFc.dwReserved2 = (*env)->GetFieldID(env, COSERVERINFOFc.clazz, "dwReserved2", "I");
-	COSERVERINFOFc.cached = 1;
-}
-
-COSERVERINFO *getCOSERVERINFOFields(JNIEnv *env, jobject lpObject, COSERVERINFO *lpStruct)
-{
-	if (!COSERVERINFOFc.cached) cacheCOSERVERINFOFields(env, lpObject);
-	lpStruct->dwReserved1 = (*env)->GetIntField(env, lpObject, COSERVERINFOFc.dwReserved1);
-	lpStruct->pwszName = (LPWSTR)(*env)->GetIntField(env, lpObject, COSERVERINFOFc.pwszName);
-	lpStruct->pAuthInfo = (COAUTHINFO *)(*env)->GetIntField(env, lpObject, COSERVERINFOFc.pAuthInfo);
-	lpStruct->dwReserved2 = (*env)->GetIntField(env, lpObject, COSERVERINFOFc.dwReserved2);
-	return lpStruct;
-}
-
-void setCOSERVERINFOFields(JNIEnv *env, jobject lpObject, COSERVERINFO *lpStruct)
-{
-	if (!COSERVERINFOFc.cached) cacheCOSERVERINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, COSERVERINFOFc.dwReserved1, (jint)lpStruct->dwReserved1);
-	(*env)->SetIntField(env, lpObject, COSERVERINFOFc.pwszName, (jint)lpStruct->pwszName);
-	(*env)->SetIntField(env, lpObject, COSERVERINFOFc.pAuthInfo, (jint)lpStruct->pAuthInfo);
-	(*env)->SetIntField(env, lpObject, COSERVERINFOFc.dwReserved2, (jint)lpStruct->dwReserved2);
-}
-#endif
-
-#ifndef NO_DISPPARAMS
-typedef struct DISPPARAMS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID rgvarg, rgdispidNamedArgs, cArgs, cNamedArgs;
-} DISPPARAMS_FID_CACHE;
-
-DISPPARAMS_FID_CACHE DISPPARAMSFc;
-
-void cacheDISPPARAMSFields(JNIEnv *env, jobject lpObject)
-{
-	if (DISPPARAMSFc.cached) return;
-	DISPPARAMSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DISPPARAMSFc.rgvarg = (*env)->GetFieldID(env, DISPPARAMSFc.clazz, "rgvarg", "I");
-	DISPPARAMSFc.rgdispidNamedArgs = (*env)->GetFieldID(env, DISPPARAMSFc.clazz, "rgdispidNamedArgs", "I");
-	DISPPARAMSFc.cArgs = (*env)->GetFieldID(env, DISPPARAMSFc.clazz, "cArgs", "I");
-	DISPPARAMSFc.cNamedArgs = (*env)->GetFieldID(env, DISPPARAMSFc.clazz, "cNamedArgs", "I");
-	DISPPARAMSFc.cached = 1;
-}
-
-DISPPARAMS *getDISPPARAMSFields(JNIEnv *env, jobject lpObject, DISPPARAMS *lpStruct)
-{
-	if (!DISPPARAMSFc.cached) cacheDISPPARAMSFields(env, lpObject);
-	lpStruct->rgvarg = (VARIANTARG FAR *)(*env)->GetIntField(env, lpObject, DISPPARAMSFc.rgvarg);
-	lpStruct->rgdispidNamedArgs = (DISPID FAR *)(*env)->GetIntField(env, lpObject, DISPPARAMSFc.rgdispidNamedArgs);
-	lpStruct->cArgs = (*env)->GetIntField(env, lpObject, DISPPARAMSFc.cArgs);
-	lpStruct->cNamedArgs = (*env)->GetIntField(env, lpObject, DISPPARAMSFc.cNamedArgs);
-	return lpStruct;
-}
-
-void setDISPPARAMSFields(JNIEnv *env, jobject lpObject, DISPPARAMS *lpStruct)
-{
-	if (!DISPPARAMSFc.cached) cacheDISPPARAMSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DISPPARAMSFc.rgvarg, (jint)lpStruct->rgvarg);
-	(*env)->SetIntField(env, lpObject, DISPPARAMSFc.rgdispidNamedArgs, (jint)lpStruct->rgdispidNamedArgs);
-	(*env)->SetIntField(env, lpObject, DISPPARAMSFc.cArgs, (jint)lpStruct->cArgs);
-	(*env)->SetIntField(env, lpObject, DISPPARAMSFc.cNamedArgs, (jint)lpStruct->cNamedArgs);
-}
-#endif
-
-#ifndef NO_DVTARGETDEVICE
-typedef struct DVTARGETDEVICE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tdSize, tdDriverNameOffset, tdDeviceNameOffset, tdPortNameOffset, tdExtDevmodeOffset, tdData;
-} DVTARGETDEVICE_FID_CACHE;
-
-DVTARGETDEVICE_FID_CACHE DVTARGETDEVICEFc;
-
-void cacheDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject)
-{
-	if (DVTARGETDEVICEFc.cached) return;
-	DVTARGETDEVICEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DVTARGETDEVICEFc.tdSize = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdSize", "I");
-	DVTARGETDEVICEFc.tdDriverNameOffset = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdDriverNameOffset", "S");
-	DVTARGETDEVICEFc.tdDeviceNameOffset = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdDeviceNameOffset", "S");
-	DVTARGETDEVICEFc.tdPortNameOffset = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdPortNameOffset", "S");
-	DVTARGETDEVICEFc.tdExtDevmodeOffset = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdExtDevmodeOffset", "S");
-	DVTARGETDEVICEFc.tdData = (*env)->GetFieldID(env, DVTARGETDEVICEFc.clazz, "tdData", "[B");
-	DVTARGETDEVICEFc.cached = 1;
-}
-
-DVTARGETDEVICE *getDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject, DVTARGETDEVICE *lpStruct)
-{
-	if (!DVTARGETDEVICEFc.cached) cacheDVTARGETDEVICEFields(env, lpObject);
-	lpStruct->tdSize = (*env)->GetIntField(env, lpObject, DVTARGETDEVICEFc.tdSize);
-	lpStruct->tdDriverNameOffset = (*env)->GetShortField(env, lpObject, DVTARGETDEVICEFc.tdDriverNameOffset);
-	lpStruct->tdDeviceNameOffset = (*env)->GetShortField(env, lpObject, DVTARGETDEVICEFc.tdDeviceNameOffset);
-	lpStruct->tdPortNameOffset = (*env)->GetShortField(env, lpObject, DVTARGETDEVICEFc.tdPortNameOffset);
-	lpStruct->tdExtDevmodeOffset = (*env)->GetShortField(env, lpObject, DVTARGETDEVICEFc.tdExtDevmodeOffset);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, DVTARGETDEVICEFc.tdData);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->tdData[0]), (jbyte *)lpStruct->tdData[0]);
-	}
-	return lpStruct;
-}
-
-void setDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject, DVTARGETDEVICE *lpStruct)
-{
-	if (!DVTARGETDEVICEFc.cached) cacheDVTARGETDEVICEFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DVTARGETDEVICEFc.tdSize, (jint)lpStruct->tdSize);
-	(*env)->SetShortField(env, lpObject, DVTARGETDEVICEFc.tdDriverNameOffset, (jshort)lpStruct->tdDriverNameOffset);
-	(*env)->SetShortField(env, lpObject, DVTARGETDEVICEFc.tdDeviceNameOffset, (jshort)lpStruct->tdDeviceNameOffset);
-	(*env)->SetShortField(env, lpObject, DVTARGETDEVICEFc.tdPortNameOffset, (jshort)lpStruct->tdPortNameOffset);
-	(*env)->SetShortField(env, lpObject, DVTARGETDEVICEFc.tdExtDevmodeOffset, (jshort)lpStruct->tdExtDevmodeOffset);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, DVTARGETDEVICEFc.tdData);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->tdData[0]), (jbyte *)lpStruct->tdData[0]);
-	}
-}
-#endif
-
-#ifndef NO_EXCEPINFO
-typedef struct EXCEPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID wCode, wReserved, bstrSource, bstrDescription, bstrHelpFile, dwHelpContext, pvReserved, pfnDeferredFillIn, scode;
-} EXCEPINFO_FID_CACHE;
-
-EXCEPINFO_FID_CACHE EXCEPINFOFc;
-
-void cacheEXCEPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (EXCEPINFOFc.cached) return;
-	EXCEPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	EXCEPINFOFc.wCode = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "wCode", "S");
-	EXCEPINFOFc.wReserved = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "wReserved", "S");
-	EXCEPINFOFc.bstrSource = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "bstrSource", "I");
-	EXCEPINFOFc.bstrDescription = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "bstrDescription", "I");
-	EXCEPINFOFc.bstrHelpFile = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "bstrHelpFile", "I");
-	EXCEPINFOFc.dwHelpContext = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "dwHelpContext", "I");
-	EXCEPINFOFc.pvReserved = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "pvReserved", "I");
-	EXCEPINFOFc.pfnDeferredFillIn = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "pfnDeferredFillIn", "I");
-	EXCEPINFOFc.scode = (*env)->GetFieldID(env, EXCEPINFOFc.clazz, "scode", "I");
-	EXCEPINFOFc.cached = 1;
-}
-
-EXCEPINFO *getEXCEPINFOFields(JNIEnv *env, jobject lpObject, EXCEPINFO *lpStruct)
-{
-	if (!EXCEPINFOFc.cached) cacheEXCEPINFOFields(env, lpObject);
-	lpStruct->wCode = (*env)->GetShortField(env, lpObject, EXCEPINFOFc.wCode);
-	lpStruct->wReserved = (*env)->GetShortField(env, lpObject, EXCEPINFOFc.wReserved);
-	lpStruct->bstrSource = (BSTR)(*env)->GetIntField(env, lpObject, EXCEPINFOFc.bstrSource);
-	lpStruct->bstrDescription = (BSTR)(*env)->GetIntField(env, lpObject, EXCEPINFOFc.bstrDescription);
-	lpStruct->bstrHelpFile = (BSTR)(*env)->GetIntField(env, lpObject, EXCEPINFOFc.bstrHelpFile);
-	lpStruct->dwHelpContext = (*env)->GetIntField(env, lpObject, EXCEPINFOFc.dwHelpContext);
-	lpStruct->pvReserved = (void FAR *)(*env)->GetIntField(env, lpObject, EXCEPINFOFc.pvReserved);
-	lpStruct->pfnDeferredFillIn = (HRESULT (STDAPICALLTYPE FAR* )(struct tagEXCEPINFO FAR*))(*env)->GetIntField(env, lpObject, EXCEPINFOFc.pfnDeferredFillIn);
-	lpStruct->scode = (*env)->GetIntField(env, lpObject, EXCEPINFOFc.scode);
-	return lpStruct;
-}
-
-void setEXCEPINFOFields(JNIEnv *env, jobject lpObject, EXCEPINFO *lpStruct)
-{
-	if (!EXCEPINFOFc.cached) cacheEXCEPINFOFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, EXCEPINFOFc.wCode, (jshort)lpStruct->wCode);
-	(*env)->SetShortField(env, lpObject, EXCEPINFOFc.wReserved, (jshort)lpStruct->wReserved);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.bstrSource, (jint)lpStruct->bstrSource);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.bstrDescription, (jint)lpStruct->bstrDescription);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.bstrHelpFile, (jint)lpStruct->bstrHelpFile);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.dwHelpContext, (jint)lpStruct->dwHelpContext);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.pvReserved, (jint)lpStruct->pvReserved);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.pfnDeferredFillIn, (jint)lpStruct->pfnDeferredFillIn);
-	(*env)->SetIntField(env, lpObject, EXCEPINFOFc.scode, (jint)lpStruct->scode);
-}
-#endif
-
-#ifndef NO_FORMATETC
-typedef struct FORMATETC_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cfFormat, ptd, dwAspect, lindex, tymed;
-} FORMATETC_FID_CACHE;
-
-FORMATETC_FID_CACHE FORMATETCFc;
-
-void cacheFORMATETCFields(JNIEnv *env, jobject lpObject)
-{
-	if (FORMATETCFc.cached) return;
-	FORMATETCFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FORMATETCFc.cfFormat = (*env)->GetFieldID(env, FORMATETCFc.clazz, "cfFormat", "I");
-	FORMATETCFc.ptd = (*env)->GetFieldID(env, FORMATETCFc.clazz, "ptd", "I");
-	FORMATETCFc.dwAspect = (*env)->GetFieldID(env, FORMATETCFc.clazz, "dwAspect", "I");
-	FORMATETCFc.lindex = (*env)->GetFieldID(env, FORMATETCFc.clazz, "lindex", "I");
-	FORMATETCFc.tymed = (*env)->GetFieldID(env, FORMATETCFc.clazz, "tymed", "I");
-	FORMATETCFc.cached = 1;
-}
-
-FORMATETC *getFORMATETCFields(JNIEnv *env, jobject lpObject, FORMATETC *lpStruct)
-{
-	if (!FORMATETCFc.cached) cacheFORMATETCFields(env, lpObject);
-	lpStruct->cfFormat = (CLIPFORMAT)(*env)->GetIntField(env, lpObject, FORMATETCFc.cfFormat);
-	lpStruct->ptd = (DVTARGETDEVICE *)(*env)->GetIntField(env, lpObject, FORMATETCFc.ptd);
-	lpStruct->dwAspect = (*env)->GetIntField(env, lpObject, FORMATETCFc.dwAspect);
-	lpStruct->lindex = (*env)->GetIntField(env, lpObject, FORMATETCFc.lindex);
-	lpStruct->tymed = (*env)->GetIntField(env, lpObject, FORMATETCFc.tymed);
-	return lpStruct;
-}
-
-void setFORMATETCFields(JNIEnv *env, jobject lpObject, FORMATETC *lpStruct)
-{
-	if (!FORMATETCFc.cached) cacheFORMATETCFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, FORMATETCFc.cfFormat, (jint)lpStruct->cfFormat);
-	(*env)->SetIntField(env, lpObject, FORMATETCFc.ptd, (jint)lpStruct->ptd);
-	(*env)->SetIntField(env, lpObject, FORMATETCFc.dwAspect, (jint)lpStruct->dwAspect);
-	(*env)->SetIntField(env, lpObject, FORMATETCFc.lindex, (jint)lpStruct->lindex);
-	(*env)->SetIntField(env, lpObject, FORMATETCFc.tymed, (jint)lpStruct->tymed);
-}
-#endif
-
-#ifndef NO_FUNCDESC
-typedef struct FUNCDESC_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID memid, lprgscode, lprgelemdescParam, funckind, invkind, callconv, cParams, cParamsOpt, oVft, cScodes, elemdescFunc_tdesc_union, elemdescFunc_tdesc_vt, elemdescFunc_paramdesc_pparamdescex, elemdescFunc_paramdesc_wParamFlags, wFuncFlags;
-} FUNCDESC_FID_CACHE;
-
-FUNCDESC_FID_CACHE FUNCDESCFc;
-
-void cacheFUNCDESCFields(JNIEnv *env, jobject lpObject)
-{
-	if (FUNCDESCFc.cached) return;
-	FUNCDESCFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FUNCDESCFc.memid = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "memid", "I");
-	FUNCDESCFc.lprgscode = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "lprgscode", "I");
-	FUNCDESCFc.lprgelemdescParam = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "lprgelemdescParam", "I");
-	FUNCDESCFc.funckind = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "funckind", "I");
-	FUNCDESCFc.invkind = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "invkind", "I");
-	FUNCDESCFc.callconv = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "callconv", "I");
-	FUNCDESCFc.cParams = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "cParams", "S");
-	FUNCDESCFc.cParamsOpt = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "cParamsOpt", "S");
-	FUNCDESCFc.oVft = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "oVft", "S");
-	FUNCDESCFc.cScodes = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "cScodes", "S");
-	FUNCDESCFc.elemdescFunc_tdesc_union = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "elemdescFunc_tdesc_union", "I");
-	FUNCDESCFc.elemdescFunc_tdesc_vt = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "elemdescFunc_tdesc_vt", "S");
-	FUNCDESCFc.elemdescFunc_paramdesc_pparamdescex = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "elemdescFunc_paramdesc_pparamdescex", "I");
-	FUNCDESCFc.elemdescFunc_paramdesc_wParamFlags = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "elemdescFunc_paramdesc_wParamFlags", "S");
-	FUNCDESCFc.wFuncFlags = (*env)->GetFieldID(env, FUNCDESCFc.clazz, "wFuncFlags", "S");
-	FUNCDESCFc.cached = 1;
-}
-
-FUNCDESC *getFUNCDESCFields(JNIEnv *env, jobject lpObject, FUNCDESC *lpStruct)
-{
-	if (!FUNCDESCFc.cached) cacheFUNCDESCFields(env, lpObject);
-	lpStruct->memid = (MEMBERID)(*env)->GetIntField(env, lpObject, FUNCDESCFc.memid);
-	lpStruct->lprgscode = (SCODE FAR *)(*env)->GetIntField(env, lpObject, FUNCDESCFc.lprgscode);
-	lpStruct->lprgelemdescParam = (ELEMDESC FAR *)(*env)->GetIntField(env, lpObject, FUNCDESCFc.lprgelemdescParam);
-	lpStruct->funckind = (FUNCKIND)(*env)->GetIntField(env, lpObject, FUNCDESCFc.funckind);
-	lpStruct->invkind = (INVOKEKIND)(*env)->GetIntField(env, lpObject, FUNCDESCFc.invkind);
-	lpStruct->callconv = (CALLCONV)(*env)->GetIntField(env, lpObject, FUNCDESCFc.callconv);
-	lpStruct->cParams = (*env)->GetShortField(env, lpObject, FUNCDESCFc.cParams);
-	lpStruct->cParamsOpt = (*env)->GetShortField(env, lpObject, FUNCDESCFc.cParamsOpt);
-	lpStruct->oVft = (*env)->GetShortField(env, lpObject, FUNCDESCFc.oVft);
-	lpStruct->cScodes = (*env)->GetShortField(env, lpObject, FUNCDESCFc.cScodes);
-	lpStruct->elemdescFunc.tdesc.lptdesc = (struct FARSTRUCT tagTYPEDESC FAR* )(*env)->GetIntField(env, lpObject, FUNCDESCFc.elemdescFunc_tdesc_union);
-	lpStruct->elemdescFunc.tdesc.vt = (*env)->GetShortField(env, lpObject, FUNCDESCFc.elemdescFunc_tdesc_vt);
-	lpStruct->elemdescFunc.paramdesc.pparamdescex = (LPPARAMDESCEX)(*env)->GetIntField(env, lpObject, FUNCDESCFc.elemdescFunc_paramdesc_pparamdescex);
-	lpStruct->elemdescFunc.paramdesc.wParamFlags = (*env)->GetShortField(env, lpObject, FUNCDESCFc.elemdescFunc_paramdesc_wParamFlags);
-	lpStruct->wFuncFlags = (*env)->GetShortField(env, lpObject, FUNCDESCFc.wFuncFlags);
-	return lpStruct;
-}
-
-void setFUNCDESCFields(JNIEnv *env, jobject lpObject, FUNCDESC *lpStruct)
-{
-	if (!FUNCDESCFc.cached) cacheFUNCDESCFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.memid, (jint)lpStruct->memid);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.lprgscode, (jint)lpStruct->lprgscode);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.lprgelemdescParam, (jint)lpStruct->lprgelemdescParam);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.funckind, (jint)lpStruct->funckind);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.invkind, (jint)lpStruct->invkind);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.callconv, (jint)lpStruct->callconv);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.cParams, (jshort)lpStruct->cParams);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.cParamsOpt, (jshort)lpStruct->cParamsOpt);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.oVft, (jshort)lpStruct->oVft);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.cScodes, (jshort)lpStruct->cScodes);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.elemdescFunc_tdesc_union, (jint)lpStruct->elemdescFunc.tdesc.lptdesc);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.elemdescFunc_tdesc_vt, (jshort)lpStruct->elemdescFunc.tdesc.vt);
-	(*env)->SetIntField(env, lpObject, FUNCDESCFc.elemdescFunc_paramdesc_pparamdescex, (jint)lpStruct->elemdescFunc.paramdesc.pparamdescex);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.elemdescFunc_paramdesc_wParamFlags, (jshort)lpStruct->elemdescFunc.paramdesc.wParamFlags);
-	(*env)->SetShortField(env, lpObject, FUNCDESCFc.wFuncFlags, (jshort)lpStruct->wFuncFlags);
-}
-#endif
-
-#ifndef NO_GUID
-typedef struct GUID_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID Data1, Data2, Data3, Data4;
-} GUID_FID_CACHE;
-
-GUID_FID_CACHE GUIDFc;
-
-void cacheGUIDFields(JNIEnv *env, jobject lpObject)
-{
-	if (GUIDFc.cached) return;
-	GUIDFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GUIDFc.Data1 = (*env)->GetFieldID(env, GUIDFc.clazz, "Data1", "I");
-	GUIDFc.Data2 = (*env)->GetFieldID(env, GUIDFc.clazz, "Data2", "S");
-	GUIDFc.Data3 = (*env)->GetFieldID(env, GUIDFc.clazz, "Data3", "S");
-	GUIDFc.Data4 = (*env)->GetFieldID(env, GUIDFc.clazz, "Data4", "[B");
-	GUIDFc.cached = 1;
-}
-
-GUID *getGUIDFields(JNIEnv *env, jobject lpObject, GUID *lpStruct)
-{
-	if (!GUIDFc.cached) cacheGUIDFields(env, lpObject);
-	lpStruct->Data1 = (*env)->GetIntField(env, lpObject, GUIDFc.Data1);
-	lpStruct->Data2 = (*env)->GetShortField(env, lpObject, GUIDFc.Data2);
-	lpStruct->Data3 = (*env)->GetShortField(env, lpObject, GUIDFc.Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, GUIDFc.Data4);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->Data4), (jbyte *)lpStruct->Data4);
-	}
-	return lpStruct;
-}
-
-void setGUIDFields(JNIEnv *env, jobject lpObject, GUID *lpStruct)
-{
-	if (!GUIDFc.cached) cacheGUIDFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GUIDFc.Data1, (jint)lpStruct->Data1);
-	(*env)->SetShortField(env, lpObject, GUIDFc.Data2, (jshort)lpStruct->Data2);
-	(*env)->SetShortField(env, lpObject, GUIDFc.Data3, (jshort)lpStruct->Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, GUIDFc.Data4);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->Data4), (jbyte *)lpStruct->Data4);
-	}
-}
-#endif
-
-#ifndef NO_LICINFO
-typedef struct LICINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbLicInfo, fRuntimeKeyAvail, fLicVerified;
-} LICINFO_FID_CACHE;
-
-LICINFO_FID_CACHE LICINFOFc;
-
-void cacheLICINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (LICINFOFc.cached) return;
-	LICINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LICINFOFc.cbLicInfo = (*env)->GetFieldID(env, LICINFOFc.clazz, "cbLicInfo", "I");
-	LICINFOFc.fRuntimeKeyAvail = (*env)->GetFieldID(env, LICINFOFc.clazz, "fRuntimeKeyAvail", "Z");
-	LICINFOFc.fLicVerified = (*env)->GetFieldID(env, LICINFOFc.clazz, "fLicVerified", "Z");
-	LICINFOFc.cached = 1;
-}
-
-LICINFO *getLICINFOFields(JNIEnv *env, jobject lpObject, LICINFO *lpStruct)
-{
-	if (!LICINFOFc.cached) cacheLICINFOFields(env, lpObject);
-	lpStruct->cbLicInfo = (*env)->GetIntField(env, lpObject, LICINFOFc.cbLicInfo);
-	lpStruct->fRuntimeKeyAvail = (*env)->GetBooleanField(env, lpObject, LICINFOFc.fRuntimeKeyAvail);
-	lpStruct->fLicVerified = (*env)->GetBooleanField(env, lpObject, LICINFOFc.fLicVerified);
-	return lpStruct;
-}
-
-void setLICINFOFields(JNIEnv *env, jobject lpObject, LICINFO *lpStruct)
-{
-	if (!LICINFOFc.cached) cacheLICINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LICINFOFc.cbLicInfo, (jint)lpStruct->cbLicInfo);
-	(*env)->SetBooleanField(env, lpObject, LICINFOFc.fRuntimeKeyAvail, (jboolean)lpStruct->fRuntimeKeyAvail);
-	(*env)->SetBooleanField(env, lpObject, LICINFOFc.fLicVerified, (jboolean)lpStruct->fLicVerified);
-}
-#endif
-
-#ifndef NO_OLECMD
-typedef struct OLECMD_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cmdID, cmdf;
-} OLECMD_FID_CACHE;
-
-OLECMD_FID_CACHE OLECMDFc;
-
-void cacheOLECMDFields(JNIEnv *env, jobject lpObject)
-{
-	if (OLECMDFc.cached) return;
-	OLECMDFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OLECMDFc.cmdID = (*env)->GetFieldID(env, OLECMDFc.clazz, "cmdID", "I");
-	OLECMDFc.cmdf = (*env)->GetFieldID(env, OLECMDFc.clazz, "cmdf", "I");
-	OLECMDFc.cached = 1;
-}
-
-OLECMD *getOLECMDFields(JNIEnv *env, jobject lpObject, OLECMD *lpStruct)
-{
-	if (!OLECMDFc.cached) cacheOLECMDFields(env, lpObject);
-	lpStruct->cmdID = (*env)->GetIntField(env, lpObject, OLECMDFc.cmdID);
-	lpStruct->cmdf = (*env)->GetIntField(env, lpObject, OLECMDFc.cmdf);
-	return lpStruct;
-}
-
-void setOLECMDFields(JNIEnv *env, jobject lpObject, OLECMD *lpStruct)
-{
-	if (!OLECMDFc.cached) cacheOLECMDFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OLECMDFc.cmdID, (jint)lpStruct->cmdID);
-	(*env)->SetIntField(env, lpObject, OLECMDFc.cmdf, (jint)lpStruct->cmdf);
-}
-#endif
-
-#ifndef NO_OLECMDTEXT
-typedef struct OLECMDTEXT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cmdtextf, cwActual, cwBuf, rgwz;
-} OLECMDTEXT_FID_CACHE;
-
-OLECMDTEXT_FID_CACHE OLECMDTEXTFc;
-
-void cacheOLECMDTEXTFields(JNIEnv *env, jobject lpObject)
-{
-	if (OLECMDTEXTFc.cached) return;
-	OLECMDTEXTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OLECMDTEXTFc.cmdtextf = (*env)->GetFieldID(env, OLECMDTEXTFc.clazz, "cmdtextf", "I");
-	OLECMDTEXTFc.cwActual = (*env)->GetFieldID(env, OLECMDTEXTFc.clazz, "cwActual", "I");
-	OLECMDTEXTFc.cwBuf = (*env)->GetFieldID(env, OLECMDTEXTFc.clazz, "cwBuf", "I");
-	OLECMDTEXTFc.rgwz = (*env)->GetFieldID(env, OLECMDTEXTFc.clazz, "rgwz", "[S");
-	OLECMDTEXTFc.cached = 1;
-}
-
-OLECMDTEXT *getOLECMDTEXTFields(JNIEnv *env, jobject lpObject, OLECMDTEXT *lpStruct)
-{
-	if (!OLECMDTEXTFc.cached) cacheOLECMDTEXTFields(env, lpObject);
-	lpStruct->cmdtextf = (*env)->GetIntField(env, lpObject, OLECMDTEXTFc.cmdtextf);
-	lpStruct->cwActual = (*env)->GetIntField(env, lpObject, OLECMDTEXTFc.cwActual);
-	lpStruct->cwBuf = (*env)->GetIntField(env, lpObject, OLECMDTEXTFc.cwBuf);
-	{
-	jshortArray lpObject1 = (jshortArray)(*env)->GetObjectField(env, lpObject, OLECMDTEXTFc.rgwz);
-	(*env)->GetShortArrayRegion(env, lpObject1, 0, sizeof(lpStruct->rgwz[0]) / 2, (jshort *)lpStruct->rgwz[0]);
-	}
-	return lpStruct;
-}
-
-void setOLECMDTEXTFields(JNIEnv *env, jobject lpObject, OLECMDTEXT *lpStruct)
-{
-	if (!OLECMDTEXTFc.cached) cacheOLECMDTEXTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OLECMDTEXTFc.cmdtextf, (jint)lpStruct->cmdtextf);
-	(*env)->SetIntField(env, lpObject, OLECMDTEXTFc.cwActual, (jint)lpStruct->cwActual);
-	(*env)->SetIntField(env, lpObject, OLECMDTEXTFc.cwBuf, (jint)lpStruct->cwBuf);
-	{
-	jshortArray lpObject1 = (jshortArray)(*env)->GetObjectField(env, lpObject, OLECMDTEXTFc.rgwz);
-	(*env)->SetShortArrayRegion(env, lpObject1, 0, sizeof(lpStruct->rgwz[0]) / 2, (jshort *)lpStruct->rgwz[0]);
-	}
-}
-#endif
-
-#ifndef NO_OLEINPLACEFRAMEINFO
-typedef struct OLEINPLACEFRAMEINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cb, fMDIApp, hwndFrame, haccel, cAccelEntries;
-} OLEINPLACEFRAMEINFO_FID_CACHE;
-
-OLEINPLACEFRAMEINFO_FID_CACHE OLEINPLACEFRAMEINFOFc;
-
-void cacheOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (OLEINPLACEFRAMEINFOFc.cached) return;
-	OLEINPLACEFRAMEINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OLEINPLACEFRAMEINFOFc.cb = (*env)->GetFieldID(env, OLEINPLACEFRAMEINFOFc.clazz, "cb", "I");
-	OLEINPLACEFRAMEINFOFc.fMDIApp = (*env)->GetFieldID(env, OLEINPLACEFRAMEINFOFc.clazz, "fMDIApp", "I");
-	OLEINPLACEFRAMEINFOFc.hwndFrame = (*env)->GetFieldID(env, OLEINPLACEFRAMEINFOFc.clazz, "hwndFrame", "I");
-	OLEINPLACEFRAMEINFOFc.haccel = (*env)->GetFieldID(env, OLEINPLACEFRAMEINFOFc.clazz, "haccel", "I");
-	OLEINPLACEFRAMEINFOFc.cAccelEntries = (*env)->GetFieldID(env, OLEINPLACEFRAMEINFOFc.clazz, "cAccelEntries", "I");
-	OLEINPLACEFRAMEINFOFc.cached = 1;
-}
-
-OLEINPLACEFRAMEINFO *getOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject, OLEINPLACEFRAMEINFO *lpStruct)
-{
-	if (!OLEINPLACEFRAMEINFOFc.cached) cacheOLEINPLACEFRAMEINFOFields(env, lpObject);
-	lpStruct->cb = (*env)->GetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.cb);
-	lpStruct->fMDIApp = (*env)->GetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.fMDIApp);
-	lpStruct->hwndFrame = (HWND)(*env)->GetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.hwndFrame);
-	lpStruct->haccel = (HACCEL)(*env)->GetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.haccel);
-	lpStruct->cAccelEntries = (*env)->GetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.cAccelEntries);
-	return lpStruct;
-}
-
-void setOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject, OLEINPLACEFRAMEINFO *lpStruct)
-{
-	if (!OLEINPLACEFRAMEINFOFc.cached) cacheOLEINPLACEFRAMEINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.cb, (jint)lpStruct->cb);
-	(*env)->SetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.fMDIApp, (jint)lpStruct->fMDIApp);
-	(*env)->SetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.hwndFrame, (jint)lpStruct->hwndFrame);
-	(*env)->SetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.haccel, (jint)lpStruct->haccel);
-	(*env)->SetIntField(env, lpObject, OLEINPLACEFRAMEINFOFc.cAccelEntries, (jint)lpStruct->cAccelEntries);
-}
-#endif
-
-#ifndef NO_STATSTG
-typedef struct STATSTG_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pwcsName, type, cbSize, mtime_dwLowDateTime, mtime_dwHighDateTime, ctime_dwLowDateTime, ctime_dwHighDateTime, atime_dwLowDateTime, atime_dwHighDateTime, grfMode, grfLocksSupported, clsid_Data1, clsid_Data2, clsid_Data3, clsid_Data4, grfStateBits, reserved;
-} STATSTG_FID_CACHE;
-
-STATSTG_FID_CACHE STATSTGFc;
-
-void cacheSTATSTGFields(JNIEnv *env, jobject lpObject)
-{
-	if (STATSTGFc.cached) return;
-	STATSTGFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	STATSTGFc.pwcsName = (*env)->GetFieldID(env, STATSTGFc.clazz, "pwcsName", "I");
-	STATSTGFc.type = (*env)->GetFieldID(env, STATSTGFc.clazz, "type", "I");
-	STATSTGFc.cbSize = (*env)->GetFieldID(env, STATSTGFc.clazz, "cbSize", "J");
-	STATSTGFc.mtime_dwLowDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "mtime_dwLowDateTime", "I");
-	STATSTGFc.mtime_dwHighDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "mtime_dwHighDateTime", "I");
-	STATSTGFc.ctime_dwLowDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "ctime_dwLowDateTime", "I");
-	STATSTGFc.ctime_dwHighDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "ctime_dwHighDateTime", "I");
-	STATSTGFc.atime_dwLowDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "atime_dwLowDateTime", "I");
-	STATSTGFc.atime_dwHighDateTime = (*env)->GetFieldID(env, STATSTGFc.clazz, "atime_dwHighDateTime", "I");
-	STATSTGFc.grfMode = (*env)->GetFieldID(env, STATSTGFc.clazz, "grfMode", "I");
-	STATSTGFc.grfLocksSupported = (*env)->GetFieldID(env, STATSTGFc.clazz, "grfLocksSupported", "I");
-	STATSTGFc.clsid_Data1 = (*env)->GetFieldID(env, STATSTGFc.clazz, "clsid_Data1", "I");
-	STATSTGFc.clsid_Data2 = (*env)->GetFieldID(env, STATSTGFc.clazz, "clsid_Data2", "S");
-	STATSTGFc.clsid_Data3 = (*env)->GetFieldID(env, STATSTGFc.clazz, "clsid_Data3", "S");
-	STATSTGFc.clsid_Data4 = (*env)->GetFieldID(env, STATSTGFc.clazz, "clsid_Data4", "[B");
-	STATSTGFc.grfStateBits = (*env)->GetFieldID(env, STATSTGFc.clazz, "grfStateBits", "I");
-	STATSTGFc.reserved = (*env)->GetFieldID(env, STATSTGFc.clazz, "reserved", "I");
-	STATSTGFc.cached = 1;
-}
-
-STATSTG *getSTATSTGFields(JNIEnv *env, jobject lpObject, STATSTG *lpStruct)
-{
-	if (!STATSTGFc.cached) cacheSTATSTGFields(env, lpObject);
-	lpStruct->pwcsName = (LPWSTR)(*env)->GetIntField(env, lpObject, STATSTGFc.pwcsName);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, STATSTGFc.type);
-	lpStruct->cbSize.QuadPart = (*env)->GetLongField(env, lpObject, STATSTGFc.cbSize);
-	lpStruct->mtime.dwLowDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.mtime_dwLowDateTime);
-	lpStruct->mtime.dwHighDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.mtime_dwHighDateTime);
-	lpStruct->ctime.dwLowDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.ctime_dwLowDateTime);
-	lpStruct->ctime.dwHighDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.ctime_dwHighDateTime);
-	lpStruct->atime.dwLowDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.atime_dwLowDateTime);
-	lpStruct->atime.dwHighDateTime = (*env)->GetIntField(env, lpObject, STATSTGFc.atime_dwHighDateTime);
-	lpStruct->grfMode = (*env)->GetIntField(env, lpObject, STATSTGFc.grfMode);
-	lpStruct->grfLocksSupported = (*env)->GetIntField(env, lpObject, STATSTGFc.grfLocksSupported);
-	lpStruct->clsid.Data1 = (*env)->GetIntField(env, lpObject, STATSTGFc.clsid_Data1);
-	lpStruct->clsid.Data2 = (*env)->GetShortField(env, lpObject, STATSTGFc.clsid_Data2);
-	lpStruct->clsid.Data3 = (*env)->GetShortField(env, lpObject, STATSTGFc.clsid_Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, STATSTGFc.clsid_Data4);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->clsid.Data4), (jbyte *)lpStruct->clsid.Data4);
-	}
-	lpStruct->grfStateBits = (*env)->GetIntField(env, lpObject, STATSTGFc.grfStateBits);
-	lpStruct->reserved = (*env)->GetIntField(env, lpObject, STATSTGFc.reserved);
-	return lpStruct;
-}
-
-void setSTATSTGFields(JNIEnv *env, jobject lpObject, STATSTG *lpStruct)
-{
-	if (!STATSTGFc.cached) cacheSTATSTGFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.pwcsName, (jint)lpStruct->pwcsName);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.type, (jint)lpStruct->type);
-	(*env)->SetLongField(env, lpObject, STATSTGFc.cbSize, (jlong)lpStruct->cbSize.QuadPart);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.mtime_dwLowDateTime, (jint)lpStruct->mtime.dwLowDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.mtime_dwHighDateTime, (jint)lpStruct->mtime.dwHighDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.ctime_dwLowDateTime, (jint)lpStruct->ctime.dwLowDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.ctime_dwHighDateTime, (jint)lpStruct->ctime.dwHighDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.atime_dwLowDateTime, (jint)lpStruct->atime.dwLowDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.atime_dwHighDateTime, (jint)lpStruct->atime.dwHighDateTime);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.grfMode, (jint)lpStruct->grfMode);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.grfLocksSupported, (jint)lpStruct->grfLocksSupported);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.clsid_Data1, (jint)lpStruct->clsid.Data1);
-	(*env)->SetShortField(env, lpObject, STATSTGFc.clsid_Data2, (jshort)lpStruct->clsid.Data2);
-	(*env)->SetShortField(env, lpObject, STATSTGFc.clsid_Data3, (jshort)lpStruct->clsid.Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, STATSTGFc.clsid_Data4);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->clsid.Data4), (jbyte *)lpStruct->clsid.Data4);
-	}
-	(*env)->SetIntField(env, lpObject, STATSTGFc.grfStateBits, (jint)lpStruct->grfStateBits);
-	(*env)->SetIntField(env, lpObject, STATSTGFc.reserved, (jint)lpStruct->reserved);
-}
-#endif
-
-#ifndef NO_STGMEDIUM
-typedef struct STGMEDIUM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tymed, unionField, pUnkForRelease;
-} STGMEDIUM_FID_CACHE;
-
-STGMEDIUM_FID_CACHE STGMEDIUMFc;
-
-void cacheSTGMEDIUMFields(JNIEnv *env, jobject lpObject)
-{
-	if (STGMEDIUMFc.cached) return;
-	STGMEDIUMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	STGMEDIUMFc.tymed = (*env)->GetFieldID(env, STGMEDIUMFc.clazz, "tymed", "I");
-	STGMEDIUMFc.unionField = (*env)->GetFieldID(env, STGMEDIUMFc.clazz, "unionField", "I");
-	STGMEDIUMFc.pUnkForRelease = (*env)->GetFieldID(env, STGMEDIUMFc.clazz, "pUnkForRelease", "I");
-	STGMEDIUMFc.cached = 1;
-}
-
-STGMEDIUM *getSTGMEDIUMFields(JNIEnv *env, jobject lpObject, STGMEDIUM *lpStruct)
-{
-	if (!STGMEDIUMFc.cached) cacheSTGMEDIUMFields(env, lpObject);
-	lpStruct->tymed = (*env)->GetIntField(env, lpObject, STGMEDIUMFc.tymed);
-	lpStruct->hGlobal = (HGLOBAL)(*env)->GetIntField(env, lpObject, STGMEDIUMFc.unionField);
-	lpStruct->pUnkForRelease = (IUnknown *)(*env)->GetIntField(env, lpObject, STGMEDIUMFc.pUnkForRelease);
-	return lpStruct;
-}
-
-void setSTGMEDIUMFields(JNIEnv *env, jobject lpObject, STGMEDIUM *lpStruct)
-{
-	if (!STGMEDIUMFc.cached) cacheSTGMEDIUMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, STGMEDIUMFc.tymed, (jint)lpStruct->tymed);
-	(*env)->SetIntField(env, lpObject, STGMEDIUMFc.unionField, (jint)lpStruct->hGlobal);
-	(*env)->SetIntField(env, lpObject, STGMEDIUMFc.pUnkForRelease, (jint)lpStruct->pUnkForRelease);
-}
-#endif
-
-#ifndef NO_TYPEATTR
-typedef struct TYPEATTR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID guid_Data1, guid_Data2, guid_Data3, guid_Data4, lcid, dwReserved, memidConstructor, memidDestructor, lpstrSchema, cbSizeInstance, typekind, cFuncs, cVars, cImplTypes, cbSizeVft, cbAlignment, wTypeFlags, wMajorVerNum, wMinorVerNum, tdescAlias_unionField, tdescAlias_vt, idldescType_dwReserved, idldescType_wIDLFlags;
-} TYPEATTR_FID_CACHE;
-
-TYPEATTR_FID_CACHE TYPEATTRFc;
-
-void cacheTYPEATTRFields(JNIEnv *env, jobject lpObject)
-{
-	if (TYPEATTRFc.cached) return;
-	TYPEATTRFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TYPEATTRFc.guid_Data1 = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "guid_Data1", "I");
-	TYPEATTRFc.guid_Data2 = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "guid_Data2", "S");
-	TYPEATTRFc.guid_Data3 = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "guid_Data3", "S");
-	TYPEATTRFc.guid_Data4 = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "guid_Data4", "[B");
-	TYPEATTRFc.lcid = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "lcid", "I");
-	TYPEATTRFc.dwReserved = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "dwReserved", "I");
-	TYPEATTRFc.memidConstructor = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "memidConstructor", "I");
-	TYPEATTRFc.memidDestructor = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "memidDestructor", "I");
-	TYPEATTRFc.lpstrSchema = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "lpstrSchema", "I");
-	TYPEATTRFc.cbSizeInstance = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cbSizeInstance", "I");
-	TYPEATTRFc.typekind = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "typekind", "I");
-	TYPEATTRFc.cFuncs = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cFuncs", "S");
-	TYPEATTRFc.cVars = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cVars", "S");
-	TYPEATTRFc.cImplTypes = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cImplTypes", "S");
-	TYPEATTRFc.cbSizeVft = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cbSizeVft", "S");
-	TYPEATTRFc.cbAlignment = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "cbAlignment", "S");
-	TYPEATTRFc.wTypeFlags = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "wTypeFlags", "S");
-	TYPEATTRFc.wMajorVerNum = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "wMajorVerNum", "S");
-	TYPEATTRFc.wMinorVerNum = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "wMinorVerNum", "S");
-	TYPEATTRFc.tdescAlias_unionField = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "tdescAlias_unionField", "I");
-	TYPEATTRFc.tdescAlias_vt = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "tdescAlias_vt", "S");
-	TYPEATTRFc.idldescType_dwReserved = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "idldescType_dwReserved", "I");
-	TYPEATTRFc.idldescType_wIDLFlags = (*env)->GetFieldID(env, TYPEATTRFc.clazz, "idldescType_wIDLFlags", "S");
-	TYPEATTRFc.cached = 1;
-}
-
-TYPEATTR *getTYPEATTRFields(JNIEnv *env, jobject lpObject, TYPEATTR *lpStruct)
-{
-	if (!TYPEATTRFc.cached) cacheTYPEATTRFields(env, lpObject);
-	lpStruct->guid.Data1 = (*env)->GetIntField(env, lpObject, TYPEATTRFc.guid_Data1);
-	lpStruct->guid.Data2 = (*env)->GetShortField(env, lpObject, TYPEATTRFc.guid_Data2);
-	lpStruct->guid.Data3 = (*env)->GetShortField(env, lpObject, TYPEATTRFc.guid_Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, TYPEATTRFc.guid_Data4);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->guid.Data4), (jbyte *)lpStruct->guid.Data4);
-	}
-	lpStruct->lcid = (*env)->GetIntField(env, lpObject, TYPEATTRFc.lcid);
-	lpStruct->dwReserved = (*env)->GetIntField(env, lpObject, TYPEATTRFc.dwReserved);
-	lpStruct->memidConstructor = (*env)->GetIntField(env, lpObject, TYPEATTRFc.memidConstructor);
-	lpStruct->memidDestructor = (*env)->GetIntField(env, lpObject, TYPEATTRFc.memidDestructor);
-	lpStruct->lpstrSchema = (OLECHAR FAR *)(*env)->GetIntField(env, lpObject, TYPEATTRFc.lpstrSchema);
-	lpStruct->cbSizeInstance = (*env)->GetIntField(env, lpObject, TYPEATTRFc.cbSizeInstance);
-	lpStruct->typekind = (*env)->GetIntField(env, lpObject, TYPEATTRFc.typekind);
-	lpStruct->cFuncs = (*env)->GetShortField(env, lpObject, TYPEATTRFc.cFuncs);
-	lpStruct->cVars = (*env)->GetShortField(env, lpObject, TYPEATTRFc.cVars);
-	lpStruct->cImplTypes = (*env)->GetShortField(env, lpObject, TYPEATTRFc.cImplTypes);
-	lpStruct->cbSizeVft = (*env)->GetShortField(env, lpObject, TYPEATTRFc.cbSizeVft);
-	lpStruct->cbAlignment = (*env)->GetShortField(env, lpObject, TYPEATTRFc.cbAlignment);
-	lpStruct->wTypeFlags = (*env)->GetShortField(env, lpObject, TYPEATTRFc.wTypeFlags);
-	lpStruct->wMajorVerNum = (*env)->GetShortField(env, lpObject, TYPEATTRFc.wMajorVerNum);
-	lpStruct->wMinorVerNum = (*env)->GetShortField(env, lpObject, TYPEATTRFc.wMinorVerNum);
-	lpStruct->tdescAlias.lptdesc = (struct FARSTRUCT tagTYPEDESC FAR *)(*env)->GetIntField(env, lpObject, TYPEATTRFc.tdescAlias_unionField);
-	lpStruct->tdescAlias.vt = (*env)->GetShortField(env, lpObject, TYPEATTRFc.tdescAlias_vt);
-	lpStruct->idldescType.dwReserved = (*env)->GetIntField(env, lpObject, TYPEATTRFc.idldescType_dwReserved);
-	lpStruct->idldescType.wIDLFlags = (*env)->GetShortField(env, lpObject, TYPEATTRFc.idldescType_wIDLFlags);
-	return lpStruct;
-}
-
-void setTYPEATTRFields(JNIEnv *env, jobject lpObject, TYPEATTR *lpStruct)
-{
-	if (!TYPEATTRFc.cached) cacheTYPEATTRFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.guid_Data1, (jint)lpStruct->guid.Data1);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.guid_Data2, (jshort)lpStruct->guid.Data2);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.guid_Data3, (jshort)lpStruct->guid.Data3);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, TYPEATTRFc.guid_Data4);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->guid.Data4), (jbyte *)lpStruct->guid.Data4);
-	}
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.lcid, (jint)lpStruct->lcid);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.dwReserved, (jint)lpStruct->dwReserved);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.memidConstructor, (jint)lpStruct->memidConstructor);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.memidDestructor, (jint)lpStruct->memidDestructor);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.lpstrSchema, (jint)lpStruct->lpstrSchema);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.cbSizeInstance, (jint)lpStruct->cbSizeInstance);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.typekind, (jint)lpStruct->typekind);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.cFuncs, (jshort)lpStruct->cFuncs);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.cVars, (jshort)lpStruct->cVars);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.cImplTypes, (jshort)lpStruct->cImplTypes);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.cbSizeVft, (jshort)lpStruct->cbSizeVft);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.cbAlignment, (jshort)lpStruct->cbAlignment);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.wTypeFlags, (jshort)lpStruct->wTypeFlags);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.wMajorVerNum, (jshort)lpStruct->wMajorVerNum);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.wMinorVerNum, (jshort)lpStruct->wMinorVerNum);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.tdescAlias_unionField, (jint)lpStruct->tdescAlias.lptdesc);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.tdescAlias_vt, (jshort)lpStruct->tdescAlias.vt);
-	(*env)->SetIntField(env, lpObject, TYPEATTRFc.idldescType_dwReserved, (jint)lpStruct->idldescType.dwReserved);
-	(*env)->SetShortField(env, lpObject, TYPEATTRFc.idldescType_wIDLFlags, (jshort)lpStruct->idldescType.wIDLFlags);
-}
-#endif
-
-#ifndef NO_VARDESC
-typedef struct VARDESC_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID memid, lpstrSchema, oInst, elemdescVar_tdesc_union, elemdescVar_tdesc_vt, elemdescVar_paramdesc_pparamdescex, elemdescVar_paramdesc_wParamFlags, wVarFlags, varkind;
-} VARDESC_FID_CACHE;
-
-VARDESC_FID_CACHE VARDESCFc;
-
-void cacheVARDESCFields(JNIEnv *env, jobject lpObject)
-{
-	if (VARDESCFc.cached) return;
-	VARDESCFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	VARDESCFc.memid = (*env)->GetFieldID(env, VARDESCFc.clazz, "memid", "I");
-	VARDESCFc.lpstrSchema = (*env)->GetFieldID(env, VARDESCFc.clazz, "lpstrSchema", "I");
-	VARDESCFc.oInst = (*env)->GetFieldID(env, VARDESCFc.clazz, "oInst", "I");
-	VARDESCFc.elemdescVar_tdesc_union = (*env)->GetFieldID(env, VARDESCFc.clazz, "elemdescVar_tdesc_union", "I");
-	VARDESCFc.elemdescVar_tdesc_vt = (*env)->GetFieldID(env, VARDESCFc.clazz, "elemdescVar_tdesc_vt", "S");
-	VARDESCFc.elemdescVar_paramdesc_pparamdescex = (*env)->GetFieldID(env, VARDESCFc.clazz, "elemdescVar_paramdesc_pparamdescex", "I");
-	VARDESCFc.elemdescVar_paramdesc_wParamFlags = (*env)->GetFieldID(env, VARDESCFc.clazz, "elemdescVar_paramdesc_wParamFlags", "S");
-	VARDESCFc.wVarFlags = (*env)->GetFieldID(env, VARDESCFc.clazz, "wVarFlags", "S");
-	VARDESCFc.varkind = (*env)->GetFieldID(env, VARDESCFc.clazz, "varkind", "I");
-	VARDESCFc.cached = 1;
-}
-
-VARDESC *getVARDESCFields(JNIEnv *env, jobject lpObject, VARDESC *lpStruct)
-{
-	if (!VARDESCFc.cached) cacheVARDESCFields(env, lpObject);
-	lpStruct->memid = (*env)->GetIntField(env, lpObject, VARDESCFc.memid);
-	lpStruct->lpstrSchema = (OLECHAR FAR *)(*env)->GetIntField(env, lpObject, VARDESCFc.lpstrSchema);
-	lpStruct->oInst = (*env)->GetIntField(env, lpObject, VARDESCFc.oInst);
-	lpStruct->elemdescVar.tdesc.lptdesc = (struct FARSTRUCT tagTYPEDESC FAR *)(*env)->GetIntField(env, lpObject, VARDESCFc.elemdescVar_tdesc_union);
-	lpStruct->elemdescVar.tdesc.vt = (*env)->GetShortField(env, lpObject, VARDESCFc.elemdescVar_tdesc_vt);
-	lpStruct->elemdescVar.paramdesc.pparamdescex = (LPPARAMDESCEX)(*env)->GetIntField(env, lpObject, VARDESCFc.elemdescVar_paramdesc_pparamdescex);
-	lpStruct->elemdescVar.paramdesc.wParamFlags = (*env)->GetShortField(env, lpObject, VARDESCFc.elemdescVar_paramdesc_wParamFlags);
-	lpStruct->wVarFlags = (*env)->GetShortField(env, lpObject, VARDESCFc.wVarFlags);
-	lpStruct->varkind = (*env)->GetIntField(env, lpObject, VARDESCFc.varkind);
-	return lpStruct;
-}
-
-void setVARDESCFields(JNIEnv *env, jobject lpObject, VARDESC *lpStruct)
-{
-	if (!VARDESCFc.cached) cacheVARDESCFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.memid, (jint)lpStruct->memid);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.lpstrSchema, (jint)lpStruct->lpstrSchema);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.oInst, (jint)lpStruct->oInst);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.elemdescVar_tdesc_union, (jint)lpStruct->elemdescVar.tdesc.lptdesc);
-	(*env)->SetShortField(env, lpObject, VARDESCFc.elemdescVar_tdesc_vt, (jshort)lpStruct->elemdescVar.tdesc.vt);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.elemdescVar_paramdesc_pparamdescex, (jint)lpStruct->elemdescVar.paramdesc.pparamdescex);
-	(*env)->SetShortField(env, lpObject, VARDESCFc.elemdescVar_paramdesc_wParamFlags, (jshort)lpStruct->elemdescVar.paramdesc.wParamFlags);
-	(*env)->SetShortField(env, lpObject, VARDESCFc.wVarFlags, (jshort)lpStruct->wVarFlags);
-	(*env)->SetIntField(env, lpObject, VARDESCFc.varkind, (jint)lpStruct->varkind);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.h
deleted file mode 100644
index b0b7172..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_structs.h
+++ /dev/null
@@ -1,217 +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
- *******************************************************************************/
-
-#include "com.h"
-
-#ifndef NO_CAUUID
-void cacheCAUUIDFields(JNIEnv *env, jobject lpObject);
-CAUUID *getCAUUIDFields(JNIEnv *env, jobject lpObject, CAUUID *lpStruct);
-void setCAUUIDFields(JNIEnv *env, jobject lpObject, CAUUID *lpStruct);
-#define CAUUID_sizeof() sizeof(CAUUID)
-#else
-#define cacheCAUUIDFields(a,b)
-#define getCAUUIDFields(a,b,c) NULL
-#define setCAUUIDFields(a,b,c)
-#define CAUUID_sizeof() 0
-#endif
-
-#ifndef NO_CONTROLINFO
-void cacheCONTROLINFOFields(JNIEnv *env, jobject lpObject);
-CONTROLINFO *getCONTROLINFOFields(JNIEnv *env, jobject lpObject, CONTROLINFO *lpStruct);
-void setCONTROLINFOFields(JNIEnv *env, jobject lpObject, CONTROLINFO *lpStruct);
-#define CONTROLINFO_sizeof() sizeof(CONTROLINFO)
-#else
-#define cacheCONTROLINFOFields(a,b)
-#define getCONTROLINFOFields(a,b,c) NULL
-#define setCONTROLINFOFields(a,b,c)
-#define CONTROLINFO_sizeof() 0
-#endif
-
-#ifndef NO_COSERVERINFO
-void cacheCOSERVERINFOFields(JNIEnv *env, jobject lpObject);
-COSERVERINFO *getCOSERVERINFOFields(JNIEnv *env, jobject lpObject, COSERVERINFO *lpStruct);
-void setCOSERVERINFOFields(JNIEnv *env, jobject lpObject, COSERVERINFO *lpStruct);
-#define COSERVERINFO_sizeof() sizeof(COSERVERINFO)
-#else
-#define cacheCOSERVERINFOFields(a,b)
-#define getCOSERVERINFOFields(a,b,c) NULL
-#define setCOSERVERINFOFields(a,b,c)
-#define COSERVERINFO_sizeof() 0
-#endif
-
-#ifndef NO_DISPPARAMS
-void cacheDISPPARAMSFields(JNIEnv *env, jobject lpObject);
-DISPPARAMS *getDISPPARAMSFields(JNIEnv *env, jobject lpObject, DISPPARAMS *lpStruct);
-void setDISPPARAMSFields(JNIEnv *env, jobject lpObject, DISPPARAMS *lpStruct);
-#define DISPPARAMS_sizeof() sizeof(DISPPARAMS)
-#else
-#define cacheDISPPARAMSFields(a,b)
-#define getDISPPARAMSFields(a,b,c) NULL
-#define setDISPPARAMSFields(a,b,c)
-#define DISPPARAMS_sizeof() 0
-#endif
-
-#ifndef NO_DVTARGETDEVICE
-void cacheDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject);
-DVTARGETDEVICE *getDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject, DVTARGETDEVICE *lpStruct);
-void setDVTARGETDEVICEFields(JNIEnv *env, jobject lpObject, DVTARGETDEVICE *lpStruct);
-#define DVTARGETDEVICE_sizeof() sizeof(DVTARGETDEVICE)
-#else
-#define cacheDVTARGETDEVICEFields(a,b)
-#define getDVTARGETDEVICEFields(a,b,c) NULL
-#define setDVTARGETDEVICEFields(a,b,c)
-#define DVTARGETDEVICE_sizeof() 0
-#endif
-
-#ifndef NO_EXCEPINFO
-void cacheEXCEPINFOFields(JNIEnv *env, jobject lpObject);
-EXCEPINFO *getEXCEPINFOFields(JNIEnv *env, jobject lpObject, EXCEPINFO *lpStruct);
-void setEXCEPINFOFields(JNIEnv *env, jobject lpObject, EXCEPINFO *lpStruct);
-#define EXCEPINFO_sizeof() sizeof(EXCEPINFO)
-#else
-#define cacheEXCEPINFOFields(a,b)
-#define getEXCEPINFOFields(a,b,c) NULL
-#define setEXCEPINFOFields(a,b,c)
-#define EXCEPINFO_sizeof() 0
-#endif
-
-#ifndef NO_FORMATETC
-void cacheFORMATETCFields(JNIEnv *env, jobject lpObject);
-FORMATETC *getFORMATETCFields(JNIEnv *env, jobject lpObject, FORMATETC *lpStruct);
-void setFORMATETCFields(JNIEnv *env, jobject lpObject, FORMATETC *lpStruct);
-#define FORMATETC_sizeof() sizeof(FORMATETC)
-#else
-#define cacheFORMATETCFields(a,b)
-#define getFORMATETCFields(a,b,c) NULL
-#define setFORMATETCFields(a,b,c)
-#define FORMATETC_sizeof() 0
-#endif
-
-#ifndef NO_FUNCDESC
-void cacheFUNCDESCFields(JNIEnv *env, jobject lpObject);
-FUNCDESC *getFUNCDESCFields(JNIEnv *env, jobject lpObject, FUNCDESC *lpStruct);
-void setFUNCDESCFields(JNIEnv *env, jobject lpObject, FUNCDESC *lpStruct);
-#define FUNCDESC_sizeof() sizeof(FUNCDESC)
-#else
-#define cacheFUNCDESCFields(a,b)
-#define getFUNCDESCFields(a,b,c) NULL
-#define setFUNCDESCFields(a,b,c)
-#define FUNCDESC_sizeof() 0
-#endif
-
-#ifndef NO_GUID
-void cacheGUIDFields(JNIEnv *env, jobject lpObject);
-GUID *getGUIDFields(JNIEnv *env, jobject lpObject, GUID *lpStruct);
-void setGUIDFields(JNIEnv *env, jobject lpObject, GUID *lpStruct);
-#define GUID_sizeof() sizeof(GUID)
-#else
-#define cacheGUIDFields(a,b)
-#define getGUIDFields(a,b,c) NULL
-#define setGUIDFields(a,b,c)
-#define GUID_sizeof() 0
-#endif
-
-#ifndef NO_LICINFO
-void cacheLICINFOFields(JNIEnv *env, jobject lpObject);
-LICINFO *getLICINFOFields(JNIEnv *env, jobject lpObject, LICINFO *lpStruct);
-void setLICINFOFields(JNIEnv *env, jobject lpObject, LICINFO *lpStruct);
-#define LICINFO_sizeof() sizeof(LICINFO)
-#else
-#define cacheLICINFOFields(a,b)
-#define getLICINFOFields(a,b,c) NULL
-#define setLICINFOFields(a,b,c)
-#define LICINFO_sizeof() 0
-#endif
-
-#ifndef NO_OLECMD
-void cacheOLECMDFields(JNIEnv *env, jobject lpObject);
-OLECMD *getOLECMDFields(JNIEnv *env, jobject lpObject, OLECMD *lpStruct);
-void setOLECMDFields(JNIEnv *env, jobject lpObject, OLECMD *lpStruct);
-#define OLECMD_sizeof() sizeof(OLECMD)
-#else
-#define cacheOLECMDFields(a,b)
-#define getOLECMDFields(a,b,c) NULL
-#define setOLECMDFields(a,b,c)
-#define OLECMD_sizeof() 0
-#endif
-
-#ifndef NO_OLECMDTEXT
-void cacheOLECMDTEXTFields(JNIEnv *env, jobject lpObject);
-OLECMDTEXT *getOLECMDTEXTFields(JNIEnv *env, jobject lpObject, OLECMDTEXT *lpStruct);
-void setOLECMDTEXTFields(JNIEnv *env, jobject lpObject, OLECMDTEXT *lpStruct);
-#define OLECMDTEXT_sizeof() sizeof(OLECMDTEXT)
-#else
-#define cacheOLECMDTEXTFields(a,b)
-#define getOLECMDTEXTFields(a,b,c) NULL
-#define setOLECMDTEXTFields(a,b,c)
-#define OLECMDTEXT_sizeof() 0
-#endif
-
-#ifndef NO_OLEINPLACEFRAMEINFO
-void cacheOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject);
-OLEINPLACEFRAMEINFO *getOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject, OLEINPLACEFRAMEINFO *lpStruct);
-void setOLEINPLACEFRAMEINFOFields(JNIEnv *env, jobject lpObject, OLEINPLACEFRAMEINFO *lpStruct);
-#define OLEINPLACEFRAMEINFO_sizeof() sizeof(OLEINPLACEFRAMEINFO)
-#else
-#define cacheOLEINPLACEFRAMEINFOFields(a,b)
-#define getOLEINPLACEFRAMEINFOFields(a,b,c) NULL
-#define setOLEINPLACEFRAMEINFOFields(a,b,c)
-#define OLEINPLACEFRAMEINFO_sizeof() 0
-#endif
-
-#ifndef NO_STATSTG
-void cacheSTATSTGFields(JNIEnv *env, jobject lpObject);
-STATSTG *getSTATSTGFields(JNIEnv *env, jobject lpObject, STATSTG *lpStruct);
-void setSTATSTGFields(JNIEnv *env, jobject lpObject, STATSTG *lpStruct);
-#define STATSTG_sizeof() sizeof(STATSTG)
-#else
-#define cacheSTATSTGFields(a,b)
-#define getSTATSTGFields(a,b,c) NULL
-#define setSTATSTGFields(a,b,c)
-#define STATSTG_sizeof() 0
-#endif
-
-#ifndef NO_STGMEDIUM
-void cacheSTGMEDIUMFields(JNIEnv *env, jobject lpObject);
-STGMEDIUM *getSTGMEDIUMFields(JNIEnv *env, jobject lpObject, STGMEDIUM *lpStruct);
-void setSTGMEDIUMFields(JNIEnv *env, jobject lpObject, STGMEDIUM *lpStruct);
-#define STGMEDIUM_sizeof() sizeof(STGMEDIUM)
-#else
-#define cacheSTGMEDIUMFields(a,b)
-#define getSTGMEDIUMFields(a,b,c) NULL
-#define setSTGMEDIUMFields(a,b,c)
-#define STGMEDIUM_sizeof() 0
-#endif
-
-#ifndef NO_TYPEATTR
-void cacheTYPEATTRFields(JNIEnv *env, jobject lpObject);
-TYPEATTR *getTYPEATTRFields(JNIEnv *env, jobject lpObject, TYPEATTR *lpStruct);
-void setTYPEATTRFields(JNIEnv *env, jobject lpObject, TYPEATTR *lpStruct);
-#define TYPEATTR_sizeof() sizeof(TYPEATTR)
-#else
-#define cacheTYPEATTRFields(a,b)
-#define getTYPEATTRFields(a,b,c) NULL
-#define setTYPEATTRFields(a,b,c)
-#define TYPEATTR_sizeof() 0
-#endif
-
-#ifndef NO_VARDESC
-void cacheVARDESCFields(JNIEnv *env, jobject lpObject);
-VARDESC *getVARDESCFields(JNIEnv *env, jobject lpObject, VARDESC *lpStruct);
-void setVARDESCFields(JNIEnv *env, jobject lpObject, VARDESC *lpStruct);
-#define VARDESC_sizeof() sizeof(VARDESC)
-#else
-#define cacheVARDESCFields(a,b)
-#define getVARDESCFields(a,b,c) NULL
-#define setVARDESCFields(a,b,c)
-#define VARDESC_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/defines.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/defines.h
deleted file mode 100644
index df4d0a2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/defines.h
+++ /dev/null
@@ -1,26 +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
- *******************************************************************************/
-
-/*
- * - Size Optimization -
- * You can specify here which structs and SWT JNI calls
- * you want to exclude. This can be useful to create
- * a smaller library, based on your particular requirements.
- * For example, if your application does not use the type ACCEL
- * you can add:
- * #define NO_ACCEL
- * If your application does not require the function Arc,
- * you can add:
- * #define NO_Arc
- * By default, all types and JNI calls relevant to a
- * platform are included.
- *
- */
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.cpp b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.cpp
deleted file mode 100644
index 6009cb9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.cpp
+++ /dev/null
@@ -1,1931 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "gdip_structs.h"
-#include "gdip_stats.h"
-
-extern "C" {
-
-#define Gdip_NATIVE(func) Java_org_eclipse_swt_internal_gdip_Gdip_##func
-
-#ifndef NO_BitmapData_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(BitmapData_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, BitmapData_1delete_FUNC);
-	delete (BitmapData *)arg0;
-	Gdip_NATIVE_EXIT(env, that, BitmapData_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_BitmapData_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(BitmapData_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, BitmapData_1new_FUNC);
-	rc = (jint)new BitmapData();
-	Gdip_NATIVE_EXIT(env, that, BitmapData_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1GetHBITMAP
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1GetHBITMAP)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1GetHBITMAP_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	rc = (jint)((Bitmap*)arg0)->GetHBITMAP(*(Color*)arg1, (HBITMAP*)lparg2);
-fail:
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1GetHBITMAP_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1GetHICON
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1GetHICON)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1GetHICON_FUNC);
-	if (arg1) if ((lparg1 = env->GetIntArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((Bitmap*)arg0)->GetHICON((HICON*)lparg1);
-fail:
-	if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1GetHICON_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1LockBits
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1LockBits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1LockBits_FUNC);
-	rc = (jint)((Bitmap*)arg0)->LockBits((Rect*)arg1, arg2, (PixelFormat)arg3, (BitmapData*)arg4);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1LockBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1UnlockBits
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1UnlockBits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1UnlockBits_FUNC);
-	rc = (jint)((Bitmap*)arg0)->UnlockBits((BitmapData*)arg1);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1UnlockBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Bitmap_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1delete_FUNC);
-	delete (Bitmap *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Bitmap_1new__I
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1new__I)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1new__I_FUNC);
-	rc = (jint)new Bitmap((HICON)arg0);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1new__I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1new__II
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1new__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1new__II_FUNC);
-	rc = (jint)new Bitmap((HBITMAP)arg0, (HPALETTE)arg1);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1new__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1new__IIIII
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1new__IIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1new__IIIII_FUNC);
-	rc = (jint)new Bitmap(arg0, arg1, arg2, (PixelFormat)arg3, (BYTE *)arg4);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1new__IIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Bitmap_1new___3CZ
-JNIEXPORT jint JNICALL Gdip_NATIVE(Bitmap_1new___3CZ)
-	(JNIEnv *env, jclass that, jcharArray arg0, jboolean arg1)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Bitmap_1new___3CZ_FUNC);
-	if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)new Bitmap((WCHAR*)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0);
-	Gdip_NATIVE_EXIT(env, that, Bitmap_1new___3CZ_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Brush_1Clone
-JNIEXPORT jint JNICALL Gdip_NATIVE(Brush_1Clone)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Brush_1Clone_FUNC);
-	rc = (jint)((Brush *)arg0)->Clone();
-	Gdip_NATIVE_EXIT(env, that, Brush_1Clone_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Brush_1GetType
-JNIEXPORT jint JNICALL Gdip_NATIVE(Brush_1GetType)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Brush_1GetType_FUNC);
-	rc = (jint)((Brush *)arg0)->GetType();
-	Gdip_NATIVE_EXIT(env, that, Brush_1GetType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Color_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Color_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Color_1delete_FUNC);
-	delete (Color *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Color_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Color_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(Color_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Color_1new_FUNC);
-	rc = (jint)new Color((ARGB)arg0);
-	Gdip_NATIVE_EXIT(env, that, Color_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FontFamily_1GetFamilyName
-JNIEXPORT jint JNICALL Gdip_NATIVE(FontFamily_1GetFamilyName)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jchar arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, FontFamily_1GetFamilyName_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((FontFamily *)arg0)->GetFamilyName((WCHAR *)lparg1, (WCHAR)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, FontFamily_1GetFamilyName_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FontFamily_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(FontFamily_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, FontFamily_1delete_FUNC);
-	delete (FontFamily *)arg0;
-	Gdip_NATIVE_EXIT(env, that, FontFamily_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_FontFamily_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(FontFamily_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, FontFamily_1new_FUNC);
-	rc = (jint)new FontFamily();
-	Gdip_NATIVE_EXIT(env, that, FontFamily_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1GetFamily
-JNIEXPORT jint JNICALL Gdip_NATIVE(Font_1GetFamily)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1GetFamily_FUNC);
-	rc = (jint)((Font *)arg0)->GetFamily((FontFamily *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Font_1GetFamily_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1GetSize
-JNIEXPORT jfloat JNICALL Gdip_NATIVE(Font_1GetSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jfloat rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1GetSize_FUNC);
-	rc = (jfloat)((Font *)arg0)->GetSize();
-	Gdip_NATIVE_EXIT(env, that, Font_1GetSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1GetStyle
-JNIEXPORT jint JNICALL Gdip_NATIVE(Font_1GetStyle)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1GetStyle_FUNC);
-	rc = (jint)((Font *)arg0)->GetStyle();
-	Gdip_NATIVE_EXIT(env, that, Font_1GetStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1IsAvailable
-JNIEXPORT jboolean JNICALL Gdip_NATIVE(Font_1IsAvailable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1IsAvailable_FUNC);
-	rc = (jboolean)((Font *)arg0)->IsAvailable();
-	Gdip_NATIVE_EXIT(env, that, Font_1IsAvailable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Font_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Font_1delete_FUNC);
-	delete (Font *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Font_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Font_1new__II
-JNIEXPORT jint JNICALL Gdip_NATIVE(Font_1new__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1new__II_FUNC);
-	rc = (jint)new Font((HDC)arg0, (HFONT)arg1);
-	Gdip_NATIVE_EXIT(env, that, Font_1new__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Font_1new___3CFIII
-JNIEXPORT jint JNICALL Gdip_NATIVE(Font_1new___3CFIII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jfloat arg1, jint arg2, jint arg3, jint arg4)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Font_1new___3CFIII_FUNC);
-	if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail;
-	rc = (jint)new Font((const WCHAR *)lparg0, (REAL)arg1, (INT)arg2, (Unit)arg3, (const FontCollection *)arg4);
-fail:
-	if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0);
-	Gdip_NATIVE_EXIT(env, that, Font_1new___3CFIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdiplusShutdown
-JNIEXPORT void JNICALL Gdip_NATIVE(GdiplusShutdown)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	Gdip_NATIVE_ENTER(env, that, GdiplusShutdown_FUNC);
-	if (arg0) if ((lparg0 = env->GetIntArrayElements(arg0, NULL)) == NULL) goto fail;
-	GdiplusShutdown((ULONG_PTR)lparg0);
-fail:
-	if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0);
-	Gdip_NATIVE_EXIT(env, that, GdiplusShutdown_FUNC);
-}
-#endif
-
-#ifndef NO_GdiplusStartup
-JNIEXPORT jint JNICALL Gdip_NATIVE(GdiplusStartup)
-	(JNIEnv *env, jclass that, jintArray arg0, jobject arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	GdiplusStartupInput _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GdiplusStartup_FUNC);
-	if (arg0) if ((lparg0 = env->GetIntArrayElements(arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getGdiplusStartupInputFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GdiplusStartup((ULONG_PTR *)lparg0, (const GdiplusStartupInput *)lparg1, (GdiplusStartupOutput *)arg2);
-fail:
-	if (arg1 && lparg1) setGdiplusStartupInputFields(env, arg1, lparg1);
-	if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0);
-	Gdip_NATIVE_EXIT(env, that, GdiplusStartup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddArc
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddArc)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloat arg6)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddArc_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->AddArc((REAL)arg1, (REAL)arg2, (REAL)arg3, (REAL)arg4, (REAL)arg5, (REAL)arg6);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddArc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddBezier
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddBezier)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloat arg6, jfloat arg7, jfloat arg8)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddBezier_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->AddBezier((REAL)arg1, (REAL)arg2, (REAL)arg3, (REAL)arg4, (REAL)arg5, (REAL)arg6, (REAL)arg7, (REAL)arg8);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddBezier_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddLine
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddLine)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddLine_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->AddLine((REAL)arg1, (REAL)arg2, (REAL)arg3, (REAL)arg4);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddLine_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddPath
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddPath_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->AddPath((GraphicsPath *)arg1, (BOOL)arg2);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddRectangle
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddRectangle)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RectF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddRectangle_FUNC);
-	if (arg1) if ((lparg1 = getRectFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((GraphicsPath *)arg0)->AddRectangle(*lparg1);
-fail:
-	if (arg1 && lparg1) setRectFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddRectangle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1AddString
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1AddString)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jint arg4, jfloat arg5, jobject arg6, jint arg7)
-{
-	jchar *lparg1=NULL;
-	PointF _arg6, *lparg6=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1AddString_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getPointFFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)((GraphicsPath *)arg0)->AddString((const WCHAR *)lparg1, (INT)arg2, (const FontFamily *)arg3, (INT)arg4, (REAL)arg5, *(const PointF *)lparg6, (const StringFormat *)arg7);
-fail:
-	if (arg6 && lparg6) setPointFFields(env, arg6, lparg6);
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1AddString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1CloseFigure
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1CloseFigure)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1CloseFigure_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->CloseFigure();
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1CloseFigure_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1Flatten
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1Flatten)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1Flatten_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->Flatten((Matrix *)arg1, arg2);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1Flatten_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1GetBounds
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1GetBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	RectF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1GetBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((GraphicsPath *)arg0)->GetBounds(lparg1, (Matrix *)arg2, (Pen *)arg3);
-fail:
-	if (arg1 && lparg1) setRectFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1GetBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1GetLastPoint
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1GetLastPoint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PointF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1GetLastPoint_FUNC);
-	if (arg1) if ((lparg1 = getPointFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((GraphicsPath *)arg0)->GetLastPoint((PointF *)lparg1);
-fail:
-	if (arg1 && lparg1) setPointFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1GetLastPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1GetPathTypes
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1GetPathTypes)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1GetPathTypes_FUNC);
-	if (arg1) if ((lparg1 = env->GetByteArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((GraphicsPath *)arg0)->GetPathTypes((BYTE *)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseByteArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1GetPathTypes_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1GetPointCount
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1GetPointCount)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1GetPointCount_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->GetPointCount();
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1GetPointCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1IsOutlineVisible
-JNIEXPORT jboolean JNICALL Gdip_NATIVE(GraphicsPath_1IsOutlineVisible)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3, jint arg4)
-{
-	jboolean rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1IsOutlineVisible_FUNC);
-	rc = (jboolean)((GraphicsPath *)arg0)->IsOutlineVisible(arg1, arg2, (const Pen *)arg3, (const Graphics *)arg4);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1IsOutlineVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1IsVisible
-JNIEXPORT jboolean JNICALL Gdip_NATIVE(GraphicsPath_1IsVisible)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jboolean rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1IsVisible_FUNC);
-	rc = (jboolean)((GraphicsPath *)arg0)->IsVisible(arg1, arg2, (const Graphics *)arg3);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1IsVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1SetFillMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1SetFillMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1SetFillMode_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->SetFillMode((FillMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1SetFillMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1StartFigure
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1StartFigure)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1StartFigure_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->StartFigure();
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1StartFigure_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1Transform
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1Transform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1Transform_FUNC);
-	rc = (jint)((GraphicsPath *)arg0)->Transform((Matrix *)arg1);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1Transform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(GraphicsPath_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1delete_FUNC);
-	delete (GraphicsPath *)arg0;
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_GraphicsPath_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1new_FUNC);
-	rc = (jint)new GraphicsPath((FillMode)arg0);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawArc
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawArc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jfloat arg6, jfloat arg7)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawArc_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawArc((Pen *)arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawArc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawEllipse
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawEllipse)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawEllipse_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawEllipse((Pen *)arg1, arg2, arg3, arg4, arg5);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawEllipse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawImage__IIII
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawImage__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawImage__IIII_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawImage((Image *)arg1, (INT)arg2, (INT)arg3);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawImage__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	Rect _arg2, *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII_FUNC);
-	if (arg2) if ((lparg2 = getRectFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->DrawImage((Image *)arg1, *(const Rect *)lparg2, (INT)arg3, (INT)arg4, (INT)arg5, (INT)arg6, (Unit)arg7, (ImageAttributes *)arg8, (DrawImageAbort)arg9, (VOID *)arg10);
-fail:
-	if (arg2 && lparg2) setRectFields(env, arg2, lparg2);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawLine
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawLine)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawLine_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawLine((Pen *)arg1, arg2, arg3, arg4, arg5);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawLine_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawPath
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawPath_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawPath((Pen *)arg1, (GraphicsPath *)arg2);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawRectangle
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawRectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawRectangle_FUNC);
-	rc = (jint)((Graphics *)arg0)->DrawRectangle((Pen *)arg1, arg2, arg3, arg4, arg5);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawRectangle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jobject arg4, jint arg5)
-{
-	jchar *lparg1=NULL;
-	PointF _arg4, *lparg4=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getPointFFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->DrawString((WCHAR *)lparg1, (int)arg2, (Font *)arg3, *lparg4, (Brush *)arg5);
-fail:
-	if (arg4 && lparg4) setPointFFields(env, arg4, lparg4);
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jint arg6)
-{
-	jchar *lparg1=NULL;
-	PointF _arg4, *lparg4=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getPointFFields(env, arg4, &_arg4)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->DrawString((WCHAR *)lparg1, (int)arg2, (Font *)arg3, *lparg4, (StringFormat *)arg5, (Brush *)arg6);
-fail:
-	if (arg4 && lparg4) setPointFFields(env, arg4, lparg4);
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1FillEllipse
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1FillEllipse)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1FillEllipse_FUNC);
-	rc = (jint)((Graphics *)arg0)->FillEllipse((Brush *)arg1, (INT)arg2, (INT)arg3, (INT)arg4, (INT)arg5);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1FillEllipse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1FillPath
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1FillPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1FillPath_FUNC);
-	rc = (jint)((Graphics *)arg0)->FillPath((Brush *)arg1, (GraphicsPath *)arg2);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1FillPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1FillPie
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1FillPie)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jfloat arg6, jfloat arg7)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1FillPie_FUNC);
-	rc = (jint)((Graphics *)arg0)->FillPie((Brush *)arg1, (INT)arg2, (INT)arg3, (INT)arg4, (INT)arg5, (REAL)arg6, (REAL)arg7);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1FillPie_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1FillRectangle
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1FillRectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1FillRectangle_FUNC);
-	rc = (jint)((Graphics *)arg0)->FillRectangle((Brush *)arg1, (INT)arg2, (INT)arg3, (INT)arg4, (INT)arg5);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1FillRectangle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1Flush
-JNIEXPORT void JNICALL Gdip_NATIVE(Graphics_1Flush)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Gdip_NATIVE_ENTER(env, that, Graphics_1Flush_FUNC);
-	((Graphics *)arg0)->Flush((FlushIntention)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1Flush_FUNC);
-}
-#endif
-
-#ifndef NO_Graphics_1GetClip
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetClip)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetClip_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetClip((Region *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetClip_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RectF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	if (arg1) if ((lparg1 = getRectFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->GetClipBounds(lparg1);
-fail:
-	if (arg1 && lparg1) setRectFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->GetClipBounds(lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetHDC
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetHDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetHDC_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetHDC();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetHDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetInterpolationMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetInterpolationMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetInterpolationMode_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetInterpolationMode();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetInterpolationMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetSmoothingMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetSmoothingMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetSmoothingMode_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetSmoothingMode();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetSmoothingMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetTextRenderingHint
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetTextRenderingHint)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetTextRenderingHint_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetTextRenderingHint();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetTextRenderingHint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetTransform
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetTransform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetTransform_FUNC);
-	rc = (jint)((Graphics *)arg0)->GetTransform((Matrix *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1GetVisibleClipBounds
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1GetVisibleClipBounds)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	Rect _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1GetVisibleClipBounds_FUNC);
-	if (arg1) if ((lparg1 = getRectFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->GetVisibleClipBounds(lparg1);
-fail:
-	if (arg1 && lparg1) setRectFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1GetVisibleClipBounds_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jobject arg6)
-{
-	jchar *lparg1=NULL;
-	PointF _arg4, *lparg4=NULL;
-	RectF _arg6, *lparg6=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getPointFFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getRectFFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->MeasureString((const WCHAR *)lparg1, (INT)arg2, (const Font *)arg3, *(const PointF *)lparg4, (StringFormat *)arg5, lparg6);
-fail:
-	if (arg6 && lparg6) setRectFFields(env, arg6, lparg6);
-	if (arg4 && lparg4) setPointFFields(env, arg4, lparg4);
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	jchar *lparg1=NULL;
-	PointF _arg4, *lparg4=NULL;
-	RectF _arg5, *lparg5=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	if (arg1) if ((lparg1 = env->GetCharArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getPointFFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getRectFFields(env, arg5, &_arg5)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->MeasureString((const WCHAR *)lparg1, (INT)arg2, (const Font *)arg3, *(const PointF *)lparg4, (RectF *)lparg5);
-fail:
-	if (arg5 && lparg5) setRectFFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setPointFFields(env, arg4, lparg4);
-	if (arg1 && lparg1) env->ReleaseCharArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1ReleaseHDC
-JNIEXPORT void JNICALL Gdip_NATIVE(Graphics_1ReleaseHDC)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Gdip_NATIVE_ENTER(env, that, Graphics_1ReleaseHDC_FUNC);
-	((Graphics *)arg0)->ReleaseHDC((HDC)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1ReleaseHDC_FUNC);
-}
-#endif
-
-#ifndef NO_Graphics_1ResetClip
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1ResetClip)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1ResetClip_FUNC);
-	rc = (jint)((Graphics *)arg0)->ResetClip();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1ResetClip_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1Restore
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1Restore)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1Restore_FUNC);
-	rc = (jint)((Graphics *)arg0)->Restore((GraphicsState)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1Restore_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1Save
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1Save)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1Save_FUNC);
-	rc = (jint)((Graphics *)arg0)->Save();
-	Gdip_NATIVE_EXIT(env, that, Graphics_1Save_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1ScaleTransform
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1ScaleTransform)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1ScaleTransform_FUNC);
-	rc = (jint)((Graphics *)arg0)->ScaleTransform(arg1, arg2, (MatrixOrder)arg3);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1ScaleTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetClip__II
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetClip__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetClip__II_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetClip((GraphicsPath *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetClip__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetClip__III
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetClip__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetClip__III_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetClip((Region *)arg1, (CombineMode)arg2);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetClip__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RectF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	if (arg1) if ((lparg1 = getRectFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((Graphics *)arg0)->SetClip(*lparg1);
-fail:
-	if (arg1 && lparg1) setRectFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetCompositingQuality
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetCompositingQuality)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetCompositingQuality_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetCompositingQuality((CompositingQuality)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetCompositingQuality_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetInterpolationMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetInterpolationMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetInterpolationMode_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetInterpolationMode((InterpolationMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetInterpolationMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetPageUnit
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetPageUnit)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetPageUnit_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetPageUnit((Unit)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetPageUnit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetPixelOffsetMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetPixelOffsetMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetPixelOffsetMode_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetPixelOffsetMode((PixelOffsetMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetPixelOffsetMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetSmoothingMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetSmoothingMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetSmoothingMode_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetSmoothingMode((SmoothingMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetSmoothingMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetTextRenderingHint
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetTextRenderingHint)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetTextRenderingHint_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetTextRenderingHint((TextRenderingHint)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetTextRenderingHint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1SetTransform
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1SetTransform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1SetTransform_FUNC);
-	rc = (jint)((Graphics *)arg0)->SetTransform((Matrix *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1SetTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1TranslateTransform
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1TranslateTransform)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1TranslateTransform_FUNC);
-	rc = (jint)((Graphics *)arg0)->TranslateTransform(arg1, arg2, (MatrixOrder)arg3);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1TranslateTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Graphics_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Graphics_1delete_FUNC);
-	delete (Graphics *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Graphics_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Graphics_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1new_FUNC);
-	rc = (jint)new Graphics((HDC)arg0);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HatchBrush_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(HatchBrush_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, HatchBrush_1delete_FUNC);
-	delete (HatchBrush *)arg0;
-	Gdip_NATIVE_EXIT(env, that, HatchBrush_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_HatchBrush_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(HatchBrush_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, HatchBrush_1new_FUNC);
-	rc = (jint)new HatchBrush((HatchStyle)arg0, *(Color *)arg1, *(Color *)arg2);
-	Gdip_NATIVE_EXIT(env, that, HatchBrush_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageAttributes_1SetColorMatrix
-JNIEXPORT jint JNICALL Gdip_NATIVE(ImageAttributes_1SetColorMatrix)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2, jint arg3)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, ImageAttributes_1SetColorMatrix_FUNC);
-	if (arg1) if ((lparg1 = env->GetFloatArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((ImageAttributes *)arg0)->SetColorMatrix((ColorMatrix *)lparg1, (ColorMatrixFlags)arg2, (ColorAdjustType)arg3);
-fail:
-	if (arg1 && lparg1) env->ReleaseFloatArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, ImageAttributes_1SetColorMatrix_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageAttributes_1SetWrapMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(ImageAttributes_1SetWrapMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, ImageAttributes_1SetWrapMode_FUNC);
-	rc = (jint)((ImageAttributes *)arg0)->SetWrapMode((WrapMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, ImageAttributes_1SetWrapMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageAttributes_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(ImageAttributes_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, ImageAttributes_1delete_FUNC);
-	delete (ImageAttributes *)arg0;
-	Gdip_NATIVE_EXIT(env, that, ImageAttributes_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_ImageAttributes_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(ImageAttributes_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, ImageAttributes_1new_FUNC);
-	rc = (jint)new ImageAttributes();
-	Gdip_NATIVE_EXIT(env, that, ImageAttributes_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetHeight
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetHeight)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetHeight_FUNC);
-	rc = (jint)((Image *)arg0)->GetHeight();
-	Gdip_NATIVE_EXIT(env, that, Image_1GetHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetLastStatus
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetLastStatus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetLastStatus_FUNC);
-	rc = (jint)((Image*)arg0)->GetLastStatus();
-	Gdip_NATIVE_EXIT(env, that, Image_1GetLastStatus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetPalette
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetPalette_FUNC);
-	rc = (jint)((Image*)arg0)->GetPalette((ColorPalette*)arg1, arg2);
-	Gdip_NATIVE_EXIT(env, that, Image_1GetPalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetPaletteSize
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetPaletteSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetPaletteSize_FUNC);
-	rc = (jint)((Image*)arg0)->GetPaletteSize();
-	Gdip_NATIVE_EXIT(env, that, Image_1GetPaletteSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetPixelFormat
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetPixelFormat)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetPixelFormat_FUNC);
-	rc = (jint)((Image*)arg0)->GetPixelFormat();
-	Gdip_NATIVE_EXIT(env, that, Image_1GetPixelFormat_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Image_1GetWidth
-JNIEXPORT jint JNICALL Gdip_NATIVE(Image_1GetWidth)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Image_1GetWidth_FUNC);
-	rc = (jint)((Image *)arg0)->GetWidth();
-	Gdip_NATIVE_EXIT(env, that, Image_1GetWidth_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LinearGradientBrush_1SetWrapMode
-JNIEXPORT jint JNICALL Gdip_NATIVE(LinearGradientBrush_1SetWrapMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, LinearGradientBrush_1SetWrapMode_FUNC);
-	rc = (jint)((LinearGradientBrush *)arg0)->SetWrapMode((WrapMode)arg1);
-	Gdip_NATIVE_EXIT(env, that, LinearGradientBrush_1SetWrapMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LinearGradientBrush_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(LinearGradientBrush_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, LinearGradientBrush_1delete_FUNC);
-	delete (LinearGradientBrush *)arg0;
-	Gdip_NATIVE_EXIT(env, that, LinearGradientBrush_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_LinearGradientBrush_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(LinearGradientBrush_1new)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jint arg2, jint arg3)
-{
-	PointF _arg0, *lparg0=NULL;
-	PointF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, LinearGradientBrush_1new_FUNC);
-	if (arg0) if ((lparg0 = getPointFFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPointFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)new LinearGradientBrush(*lparg0, *lparg1, *(Color *)arg2, *(Color *)arg3);
-fail:
-	if (arg1 && lparg1) setPointFFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPointFFields(env, arg0, lparg0);
-	Gdip_NATIVE_EXIT(env, that, LinearGradientBrush_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1GetElements
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1GetElements)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1GetElements_FUNC);
-	if (arg1) if ((lparg1 = env->GetFloatArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((Matrix *)arg0)->GetElements((REAL *)lparg1);
-fail:
-	if (arg1 && lparg1) env->ReleaseFloatArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1GetElements_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Invert
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Invert)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Invert_FUNC);
-	rc = (jint)((Matrix *)arg0)->Invert();
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Invert_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1IsIdentity
-JNIEXPORT jboolean JNICALL Gdip_NATIVE(Matrix_1IsIdentity)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1IsIdentity_FUNC);
-	rc = (jboolean)((Matrix *)arg0)->IsIdentity();
-	Gdip_NATIVE_EXIT(env, that, Matrix_1IsIdentity_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Multiply
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Multiply)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Multiply_FUNC);
-	rc = (jint)((Matrix *)arg0)->Multiply((Matrix *)arg1, (MatrixOrder)arg2);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Multiply_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Rotate
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Rotate)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jint arg2)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Rotate_FUNC);
-	rc = (jint)((Matrix *)arg0)->Rotate((REAL)arg1, (MatrixOrder)arg2);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Rotate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Scale
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Scale)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Scale_FUNC);
-	rc = (jint)((Matrix *)arg0)->Scale((REAL)arg1, (REAL)arg2, (MatrixOrder)arg3);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Scale_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1SetElements
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1SetElements)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloat arg6)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1SetElements_FUNC);
-	rc = (jint)((Matrix *)arg0)->SetElements((REAL)arg1, (REAL)arg2, (REAL)arg3, (REAL)arg4, (REAL)arg5, (REAL)arg6);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1SetElements_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Shear
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Shear)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Shear_FUNC);
-	rc = (jint)((Matrix *)arg0)->Shear((REAL)arg1, (REAL)arg2, (MatrixOrder)arg3);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Shear_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	PointF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC);
-	if (arg1) if ((lparg1 = getPointFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((Matrix *)arg0)->TransformPoints(lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setPointFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1Translate
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1Translate)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1Translate_FUNC);
-	rc = (jint)((Matrix *)arg0)->Translate((REAL)arg1, (REAL)arg2, (MatrixOrder)arg3);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1Translate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Matrix_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Matrix_1delete_FUNC);
-	delete (Matrix *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Matrix_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Matrix_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1new)
-	(JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1new_FUNC);
-	rc = (jint)new Matrix((REAL)arg0, (REAL)arg1, (REAL)arg2, (REAL)arg3, (REAL)arg4, (REAL)arg5);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II
-JNIEXPORT void JNICALL Gdip_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	BitmapData _arg0, *lparg0=NULL;
-	Gdip_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II_FUNC);
-	if (arg0) if ((lparg0 = getBitmapDataFields(env, arg0, &_arg0)) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID*)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setBitmapDataFields(env, arg0, lparg0);
-	Gdip_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II
-JNIEXPORT void JNICALL Gdip_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	ColorPalette _arg0, *lparg0=NULL;
-	Gdip_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II_FUNC);
-	if (arg0) if ((lparg0 = getColorPaletteFields(env, arg0, &_arg0)) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID*)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setColorPaletteFields(env, arg0, lparg0);
-	Gdip_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II_FUNC);
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1SetCenterColor
-JNIEXPORT jint JNICALL Gdip_NATIVE(PathGradientBrush_1SetCenterColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1SetCenterColor_FUNC);
-	rc = (jint)((PathGradientBrush *)arg0)->SetCenterColor(*(Color *)arg1);
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1SetCenterColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1SetCenterPoint
-JNIEXPORT jint JNICALL Gdip_NATIVE(PathGradientBrush_1SetCenterPoint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PointF _arg1, *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1SetCenterPoint_FUNC);
-	if (arg1) if ((lparg1 = getPointFFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((PathGradientBrush *)arg0)->SetCenterPoint(*lparg1);
-fail:
-	if (arg1 && lparg1) setPointFFields(env, arg1, lparg1);
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1SetCenterPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1SetGraphicsPath
-JNIEXPORT jint JNICALL Gdip_NATIVE(PathGradientBrush_1SetGraphicsPath)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1SetGraphicsPath_FUNC);
-	rc = (jint)((PathGradientBrush *)arg0)->SetGraphicsPath((GraphicsPath *)arg1);
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1SetGraphicsPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(PathGradientBrush_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1delete_FUNC);
-	delete (PathGradientBrush *)arg0;
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(PathGradientBrush_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1new_FUNC);
-	rc = (jint)new PathGradientBrush((GraphicsPath *)arg0);
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1GetBrush
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1GetBrush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1GetBrush_FUNC);
-	rc = (jint)((Pen *)arg0)->GetBrush();
-	Gdip_NATIVE_EXIT(env, that, Pen_1GetBrush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1SetBrush
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1SetBrush)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1SetBrush_FUNC);
-	rc = (jint)((Pen *)arg0)->SetBrush((Brush *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Pen_1SetBrush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1SetDashPattern
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1SetDashPattern)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1SetDashPattern_FUNC);
-	if (arg1) if ((lparg1 = env->GetFloatArrayElements(arg1, NULL)) == NULL) goto fail;
-	rc = (jint)((Pen *)arg0)->SetDashPattern((REAL *)lparg1, (int)arg2);
-fail:
-	if (arg1 && lparg1) env->ReleaseFloatArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Pen_1SetDashPattern_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1SetDashStyle
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1SetDashStyle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1SetDashStyle_FUNC);
-	rc = (jint)((Pen *)arg0)->SetDashStyle((DashStyle)arg1);
-	Gdip_NATIVE_EXIT(env, that, Pen_1SetDashStyle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1SetLineCap
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1SetLineCap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1SetLineCap_FUNC);
-	rc = (jint)((Pen *)arg0)->SetLineCap((LineCap)arg1, (LineCap)arg2, (DashCap)arg3);
-	Gdip_NATIVE_EXIT(env, that, Pen_1SetLineCap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1SetLineJoin
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1SetLineJoin)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1SetLineJoin_FUNC);
-	rc = (jint)((Pen *)arg0)->SetLineJoin((LineJoin)arg1);
-	Gdip_NATIVE_EXIT(env, that, Pen_1SetLineJoin_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pen_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Pen_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Pen_1delete_FUNC);
-	delete (Pen *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Pen_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Pen_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(Pen_1new)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Pen_1new_FUNC);
-	rc = (jint)new Pen(*(Color *)arg0, (REAL)arg1);
-	Gdip_NATIVE_EXIT(env, that, Pen_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Point_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Point_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Point_1delete_FUNC);
-	delete (Point *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Point_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Point_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(Point_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Point_1new_FUNC);
-	rc = (jint)new Point(arg0, arg1);
-	Gdip_NATIVE_EXIT(env, that, Point_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Region_1GetHRGN
-JNIEXPORT jint JNICALL Gdip_NATIVE(Region_1GetHRGN)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Region_1GetHRGN_FUNC);
-	rc = (jint)((Region *)arg0)->GetHRGN((Graphics *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Region_1GetHRGN_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Region_1IsInfinite
-JNIEXPORT jboolean JNICALL Gdip_NATIVE(Region_1IsInfinite)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Region_1IsInfinite_FUNC);
-	rc = (jboolean)((Region *)arg0)->IsInfinite((Graphics *)arg1);
-	Gdip_NATIVE_EXIT(env, that, Region_1IsInfinite_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Region_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(Region_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, Region_1delete_FUNC);
-	delete (Region *)arg0;
-	Gdip_NATIVE_EXIT(env, that, Region_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_Region_1new__
-JNIEXPORT jint JNICALL Gdip_NATIVE(Region_1new__)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Region_1new___FUNC);
-	rc = (jint)new Region();
-	Gdip_NATIVE_EXIT(env, that, Region_1new___FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Region_1new__I
-JNIEXPORT jint JNICALL Gdip_NATIVE(Region_1new__I)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Region_1new__I_FUNC);
-	rc = (jint)new Region((HRGN)arg0);
-	Gdip_NATIVE_EXIT(env, that, Region_1new__I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SolidBrush_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(SolidBrush_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, SolidBrush_1delete_FUNC);
-	delete (SolidBrush *)arg0;
-	Gdip_NATIVE_EXIT(env, that, SolidBrush_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_SolidBrush_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(SolidBrush_1new)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, SolidBrush_1new_FUNC);
-	rc = (jint)new SolidBrush(*(Color *)arg0);
-	Gdip_NATIVE_EXIT(env, that, SolidBrush_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1Clone
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1Clone)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1Clone_FUNC);
-	rc = (jint)((StringFormat *)arg0)->Clone();
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1Clone_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1GenericDefault
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1GenericDefault)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1GenericDefault_FUNC);
-	rc = (jint)StringFormat::GenericDefault();
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1GenericDefault_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1GenericTypographic
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1GenericTypographic)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1GenericTypographic_FUNC);
-	rc = (jint)StringFormat::GenericTypographic();
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1GenericTypographic_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1GetFormatFlags
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1GetFormatFlags)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1GetFormatFlags_FUNC);
-	rc = (jint)((StringFormat *)arg0)->GetFormatFlags();
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1GetFormatFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1SetFormatFlags
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1SetFormatFlags)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1SetFormatFlags_FUNC);
-	rc = (jint)((StringFormat *)arg0)->SetFormatFlags((StringFormatFlags)arg1);
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1SetFormatFlags_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1SetHotkeyPrefix
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1SetHotkeyPrefix)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1SetHotkeyPrefix_FUNC);
-	rc = (jint)((StringFormat *)arg0)->SetHotkeyPrefix((HotkeyPrefix)arg1);
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1SetHotkeyPrefix_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1SetTabStops
-JNIEXPORT jint JNICALL Gdip_NATIVE(StringFormat_1SetTabStops)
-	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jint arg2, jfloatArray arg3)
-{
-	jfloat *lparg3=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1SetTabStops_FUNC);
-	if (arg3) if ((lparg3 = env->GetFloatArrayElements(arg3, NULL)) == NULL) goto fail;
-	rc = (jint)((StringFormat *)arg0)->SetTabStops(arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) env->ReleaseFloatArrayElements(arg3, lparg3, 0);
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1SetTabStops_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StringFormat_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(StringFormat_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, StringFormat_1delete_FUNC);
-	delete (StringFormat *)arg0;
-	Gdip_NATIVE_EXIT(env, that, StringFormat_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_TextureBrush_1SetTransform
-JNIEXPORT void JNICALL Gdip_NATIVE(TextureBrush_1SetTransform)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	Gdip_NATIVE_ENTER(env, that, TextureBrush_1SetTransform_FUNC);
-	((TextureBrush *)arg0)->SetTransform((Matrix *)arg1);
-	Gdip_NATIVE_EXIT(env, that, TextureBrush_1SetTransform_FUNC);
-}
-#endif
-
-#ifndef NO_TextureBrush_1delete
-JNIEXPORT void JNICALL Gdip_NATIVE(TextureBrush_1delete)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	Gdip_NATIVE_ENTER(env, that, TextureBrush_1delete_FUNC);
-	delete (TextureBrush *)arg0;
-	Gdip_NATIVE_EXIT(env, that, TextureBrush_1delete_FUNC);
-}
-#endif
-
-#ifndef NO_TextureBrush_1new
-JNIEXPORT jint JNICALL Gdip_NATIVE(TextureBrush_1new)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5)
-{
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, TextureBrush_1new_FUNC);
-	rc = (jint)new TextureBrush((Image *)arg0, (WrapMode)arg1, arg2, arg3, arg4, arg5);
-	Gdip_NATIVE_EXIT(env, that, TextureBrush_1new_FUNC);
-	return rc;
-}
-#endif
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.h
deleted file mode 100644
index 0bc6909..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip.h
+++ /dev/null
@@ -1,22 +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_gdip_H
-#define INC_gdip_H
-
-#include <windows.h>
-#include <gdiplus.h>
-using namespace Gdiplus;
-
-/* Optional custom definitions to exclude some types */
-#include "defines.h"
-
-#endif /* INC_gdip_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_custom.cpp b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_custom.cpp
deleted file mode 100644
index f0a1dcf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_custom.cpp
+++ /dev/null
@@ -1,215 +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 "gdip_structs.h"
-#include "gdip_stats.h"
-
-extern "C" {
-
-#define Gdip_NATIVE(func) Java_org_eclipse_swt_internal_gdip_Gdip_##func
-
-#ifndef NO_Graphics_1DrawLines
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawLines)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	Point *points = NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawLines_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (lparg2) {
-		points = new Point[arg3];
-		for (int i=0, j=0; i<arg3; i++, j+=2) {
-			Point *point = new Point(lparg2[j], lparg2[j + 1]);
-			points[i] = *point;
-			delete point;
-		}
-	}
-	rc = (jint)((Graphics *)arg0)->DrawLines((Pen *)arg1, points, (INT)arg3);
-fail:
-	if (lparg2 && points) delete points;
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, JNI_ABORT);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawLines_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1DrawPolygon
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1DrawPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	Point *points = NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1DrawPolygon_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (lparg2) {
-		points = new Point[arg3];
-		for (int i=0, j=0; i<arg3; i++, j+=2) {
-			Point *point = new Point(lparg2[j], lparg2[j + 1]);
-			points[i] = *point;
-			delete point;
-		}
-	}
-	rc = (jint)((Graphics *)arg0)->DrawPolygon((Pen *)arg1, points, (INT)arg3);
-fail:
-	if (lparg2 && points) delete points;
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, JNI_ABORT);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1DrawPolygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Graphics_1FillPolygon
-JNIEXPORT jint JNICALL Gdip_NATIVE(Graphics_1FillPolygon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jint arg4)
-{
-	Point *points = NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Graphics_1FillPolygon_FUNC);
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (lparg2) {
-		points = new Point[arg3];
-		for (int i=0, j=0; i<arg3; i++, j+=2) {
-			Point *point = new Point(lparg2[j], lparg2[j + 1]);
-			points[i] = *point;
-			delete point;
-		}
-	}
-	rc = (jint)((Graphics *)arg0)->FillPolygon((Brush *)arg1, points, (INT)arg3, (FillMode)arg4);
-fail:
-	if (lparg2 && points) delete points;
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, JNI_ABORT);
-	Gdip_NATIVE_EXIT(env, that, Graphics_1FillPolygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GraphicsPath_1GetPathPoints
-JNIEXPORT jint JNICALL Gdip_NATIVE(GraphicsPath_1GetPathPoints)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	PointF *points = NULL;
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, GraphicsPath_1GetPathPoints_FUNC);
-	if (arg1) if ((lparg1 = env->GetFloatArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (lparg1) {
-		points = new PointF[arg2];
-	}
-	rc = (jint)((GraphicsPath *)arg0)->GetPathPoints(points, arg2);
-fail:
-	if (lparg1 && points) {
-		for (int i=0, j=0; i<arg2; i++, j+=2) {
-			lparg1[j] = points[i].X;
-			lparg1[j + 1] = points[i].Y;
-		}
-		delete points;
-	}
-	if (arg1 && lparg1) env->ReleaseFloatArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, GraphicsPath_1GetPathPoints_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Matrix_1TransformPoints__I_3FI
-JNIEXPORT jint JNICALL Gdip_NATIVE(Matrix_1TransformPoints__I_3FI)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	PointF *points = NULL;
-	jfloat *lparg1=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, Matrix_1TransformPoints__I_3FI_FUNC);
-	if (arg1) if ((lparg1 = env->GetFloatArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (lparg1) {
-		points = new PointF[arg2];
-		for (int i=0, j=0; i<arg2; i++, j+=2) {
-			PointF *point = new PointF(lparg1[j], lparg1[j + 1]);
-			points[i] = *point;
-			delete point;
-		}
-	}
-	rc = (jint)((Matrix *)arg0)->TransformPoints(points, arg2);
-fail:
-	if (lparg1 && points) {
-		for (int i=0, j=0; i<arg2; i++, j+=2) {
-			lparg1[j] = points[i].X;
-			lparg1[j + 1] = points[i].Y;
-		}
-		delete points;
-	}
-	if (arg1 && lparg1) env->ReleaseFloatArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, Matrix_1TransformPoints__I_3FI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LinearGradientBrush_1SetInterpolationColors
-JNIEXPORT jint JNICALL Gdip_NATIVE(LinearGradientBrush_1SetInterpolationColors)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jfloatArray arg2, jint arg3)
-{
-	Color *colors;
-	jint *lparg1=NULL;
-	jfloat *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, LinearGradientBrush_1SetInterpolationColors_FUNC);
-	if (arg1) if ((lparg1 = env->GetIntArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = env->GetFloatArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (lparg1) {
-		colors = new Color[arg3];
-		for (int i=0; i<arg3; i++) {
-			colors[i] = *(Color *)lparg1[i];
-		}
-	}
-	rc = (jint)((LinearGradientBrush *)arg0)->SetInterpolationColors(colors, (const REAL *)lparg2, arg3);
-fail:
-	if (lparg1 && colors) {
-		delete colors;
-	}
-	if (arg2 && lparg2) env->ReleaseFloatArrayElements(arg2, lparg2, 0);
-	if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, LinearGradientBrush_1SetInterpolationColors_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PathGradientBrush_1SetSurroundColors
-JNIEXPORT jint JNICALL Gdip_NATIVE(PathGradientBrush_1SetSurroundColors)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	Color *colors;
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	Gdip_NATIVE_ENTER(env, that, PathGradientBrush_1SetSurroundColors_FUNC);
-	if (arg1) if ((lparg1 = env->GetIntArrayElements(arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = env->GetIntArrayElements(arg2, NULL)) == NULL) goto fail;
-	if (lparg1 && lparg2) {
-		colors = new Color[lparg2[0]];
-		for (int i=0; i<lparg2[0]; i++) {
-			colors[i] = *(Color *)lparg1[i];
-		}
-	}
-	rc = (jint)((PathGradientBrush *)arg0)->SetSurroundColors((Color *)colors, (INT *)lparg2);
-fail:
-	if (lparg1 && lparg2 && colors) {
-		delete colors;
-	}	
-	if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0);
-	if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0);
-	Gdip_NATIVE_EXIT(env, that, PathGradientBrush_1SetSurroundColors_FUNC);
-	return rc;
-}
-#endif
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.cpp b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.cpp
deleted file mode 100644
index 7dab6de..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.cpp
+++ /dev/null
@@ -1,200 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "gdip_stats.h"
-
-#ifdef NATIVE_STATS
-
-int Gdip_nativeFunctionCount = 158;
-int Gdip_nativeFunctionCallCount[158];
-char * Gdip_nativeFunctionNames[] = {
-	"BitmapData_1delete",
-	"BitmapData_1new",
-	"Bitmap_1GetHBITMAP",
-	"Bitmap_1GetHICON",
-	"Bitmap_1LockBits",
-	"Bitmap_1UnlockBits",
-	"Bitmap_1delete",
-	"Bitmap_1new__I",
-	"Bitmap_1new__II",
-	"Bitmap_1new__IIIII",
-	"Bitmap_1new___3CZ",
-	"Brush_1Clone",
-	"Brush_1GetType",
-	"Color_1delete",
-	"Color_1new",
-	"FontFamily_1GetFamilyName",
-	"FontFamily_1delete",
-	"FontFamily_1new",
-	"Font_1GetFamily",
-	"Font_1GetSize",
-	"Font_1GetStyle",
-	"Font_1IsAvailable",
-	"Font_1delete",
-	"Font_1new__II",
-	"Font_1new___3CFIII",
-	"GdiplusShutdown",
-	"GdiplusStartup",
-	"GraphicsPath_1AddArc",
-	"GraphicsPath_1AddBezier",
-	"GraphicsPath_1AddLine",
-	"GraphicsPath_1AddPath",
-	"GraphicsPath_1AddRectangle",
-	"GraphicsPath_1AddString",
-	"GraphicsPath_1CloseFigure",
-	"GraphicsPath_1Flatten",
-	"GraphicsPath_1GetBounds",
-	"GraphicsPath_1GetLastPoint",
-	"GraphicsPath_1GetPathPoints",
-	"GraphicsPath_1GetPathTypes",
-	"GraphicsPath_1GetPointCount",
-	"GraphicsPath_1IsOutlineVisible",
-	"GraphicsPath_1IsVisible",
-	"GraphicsPath_1SetFillMode",
-	"GraphicsPath_1StartFigure",
-	"GraphicsPath_1Transform",
-	"GraphicsPath_1delete",
-	"GraphicsPath_1new",
-	"Graphics_1DrawArc",
-	"Graphics_1DrawEllipse",
-	"Graphics_1DrawImage__IIII",
-	"Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII",
-	"Graphics_1DrawLine",
-	"Graphics_1DrawLines",
-	"Graphics_1DrawPath",
-	"Graphics_1DrawPolygon",
-	"Graphics_1DrawRectangle",
-	"Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I",
-	"Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II",
-	"Graphics_1FillEllipse",
-	"Graphics_1FillPath",
-	"Graphics_1FillPie",
-	"Graphics_1FillPolygon",
-	"Graphics_1FillRectangle",
-	"Graphics_1Flush",
-	"Graphics_1GetClip",
-	"Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2",
-	"Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2",
-	"Graphics_1GetHDC",
-	"Graphics_1GetInterpolationMode",
-	"Graphics_1GetSmoothingMode",
-	"Graphics_1GetTextRenderingHint",
-	"Graphics_1GetTransform",
-	"Graphics_1GetVisibleClipBounds",
-	"Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2",
-	"Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2",
-	"Graphics_1ReleaseHDC",
-	"Graphics_1ResetClip",
-	"Graphics_1Restore",
-	"Graphics_1Save",
-	"Graphics_1ScaleTransform",
-	"Graphics_1SetClip__II",
-	"Graphics_1SetClip__III",
-	"Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2",
-	"Graphics_1SetCompositingQuality",
-	"Graphics_1SetInterpolationMode",
-	"Graphics_1SetPageUnit",
-	"Graphics_1SetPixelOffsetMode",
-	"Graphics_1SetSmoothingMode",
-	"Graphics_1SetTextRenderingHint",
-	"Graphics_1SetTransform",
-	"Graphics_1TranslateTransform",
-	"Graphics_1delete",
-	"Graphics_1new",
-	"HatchBrush_1delete",
-	"HatchBrush_1new",
-	"ImageAttributes_1SetColorMatrix",
-	"ImageAttributes_1SetWrapMode",
-	"ImageAttributes_1delete",
-	"ImageAttributes_1new",
-	"Image_1GetHeight",
-	"Image_1GetLastStatus",
-	"Image_1GetPalette",
-	"Image_1GetPaletteSize",
-	"Image_1GetPixelFormat",
-	"Image_1GetWidth",
-	"LinearGradientBrush_1SetInterpolationColors",
-	"LinearGradientBrush_1SetWrapMode",
-	"LinearGradientBrush_1delete",
-	"LinearGradientBrush_1new",
-	"Matrix_1GetElements",
-	"Matrix_1Invert",
-	"Matrix_1IsIdentity",
-	"Matrix_1Multiply",
-	"Matrix_1Rotate",
-	"Matrix_1Scale",
-	"Matrix_1SetElements",
-	"Matrix_1Shear",
-	"Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I",
-	"Matrix_1TransformPoints__I_3FI",
-	"Matrix_1Translate",
-	"Matrix_1delete",
-	"Matrix_1new",
-	"MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II",
-	"PathGradientBrush_1SetCenterColor",
-	"PathGradientBrush_1SetCenterPoint",
-	"PathGradientBrush_1SetGraphicsPath",
-	"PathGradientBrush_1SetSurroundColors",
-	"PathGradientBrush_1delete",
-	"PathGradientBrush_1new",
-	"Pen_1GetBrush",
-	"Pen_1SetBrush",
-	"Pen_1SetDashPattern",
-	"Pen_1SetDashStyle",
-	"Pen_1SetLineCap",
-	"Pen_1SetLineJoin",
-	"Pen_1delete",
-	"Pen_1new",
-	"Point_1delete",
-	"Point_1new",
-	"Region_1GetHRGN",
-	"Region_1IsInfinite",
-	"Region_1delete",
-	"Region_1new__",
-	"Region_1new__I",
-	"SolidBrush_1delete",
-	"SolidBrush_1new",
-	"StringFormat_1Clone",
-	"StringFormat_1GenericDefault",
-	"StringFormat_1GenericTypographic",
-	"StringFormat_1GetFormatFlags",
-	"StringFormat_1SetFormatFlags",
-	"StringFormat_1SetHotkeyPrefix",
-	"StringFormat_1SetTabStops",
-	"StringFormat_1delete",
-	"TextureBrush_1SetTransform",
-	"TextureBrush_1delete",
-	"TextureBrush_1new",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(Gdip_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return Gdip_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(Gdip_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return env->NewStringUTF(Gdip_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(Gdip_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return Gdip_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.h
deleted file mode 100644
index f530459..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_stats.h
+++ /dev/null
@@ -1,182 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int Gdip_nativeFunctionCount;
-extern int Gdip_nativeFunctionCallCount[];
-extern char* Gdip_nativeFunctionNames[];
-#define Gdip_NATIVE_ENTER(env, that, func) Gdip_nativeFunctionCallCount[func]++;
-#define Gdip_NATIVE_EXIT(env, that, func) 
-#else
-#define Gdip_NATIVE_ENTER(env, that, func) 
-#define Gdip_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	BitmapData_1delete_FUNC,
-	BitmapData_1new_FUNC,
-	Bitmap_1GetHBITMAP_FUNC,
-	Bitmap_1GetHICON_FUNC,
-	Bitmap_1LockBits_FUNC,
-	Bitmap_1UnlockBits_FUNC,
-	Bitmap_1delete_FUNC,
-	Bitmap_1new__I_FUNC,
-	Bitmap_1new__II_FUNC,
-	Bitmap_1new__IIIII_FUNC,
-	Bitmap_1new___3CZ_FUNC,
-	Brush_1Clone_FUNC,
-	Brush_1GetType_FUNC,
-	Color_1delete_FUNC,
-	Color_1new_FUNC,
-	FontFamily_1GetFamilyName_FUNC,
-	FontFamily_1delete_FUNC,
-	FontFamily_1new_FUNC,
-	Font_1GetFamily_FUNC,
-	Font_1GetSize_FUNC,
-	Font_1GetStyle_FUNC,
-	Font_1IsAvailable_FUNC,
-	Font_1delete_FUNC,
-	Font_1new__II_FUNC,
-	Font_1new___3CFIII_FUNC,
-	GdiplusShutdown_FUNC,
-	GdiplusStartup_FUNC,
-	GraphicsPath_1AddArc_FUNC,
-	GraphicsPath_1AddBezier_FUNC,
-	GraphicsPath_1AddLine_FUNC,
-	GraphicsPath_1AddPath_FUNC,
-	GraphicsPath_1AddRectangle_FUNC,
-	GraphicsPath_1AddString_FUNC,
-	GraphicsPath_1CloseFigure_FUNC,
-	GraphicsPath_1Flatten_FUNC,
-	GraphicsPath_1GetBounds_FUNC,
-	GraphicsPath_1GetLastPoint_FUNC,
-	GraphicsPath_1GetPathPoints_FUNC,
-	GraphicsPath_1GetPathTypes_FUNC,
-	GraphicsPath_1GetPointCount_FUNC,
-	GraphicsPath_1IsOutlineVisible_FUNC,
-	GraphicsPath_1IsVisible_FUNC,
-	GraphicsPath_1SetFillMode_FUNC,
-	GraphicsPath_1StartFigure_FUNC,
-	GraphicsPath_1Transform_FUNC,
-	GraphicsPath_1delete_FUNC,
-	GraphicsPath_1new_FUNC,
-	Graphics_1DrawArc_FUNC,
-	Graphics_1DrawEllipse_FUNC,
-	Graphics_1DrawImage__IIII_FUNC,
-	Graphics_1DrawImage__IILorg_eclipse_swt_internal_gdip_Rect_2IIIIIIII_FUNC,
-	Graphics_1DrawLine_FUNC,
-	Graphics_1DrawLines_FUNC,
-	Graphics_1DrawPath_FUNC,
-	Graphics_1DrawPolygon_FUNC,
-	Graphics_1DrawRectangle_FUNC,
-	Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC,
-	Graphics_1DrawString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2II_FUNC,
-	Graphics_1FillEllipse_FUNC,
-	Graphics_1FillPath_FUNC,
-	Graphics_1FillPie_FUNC,
-	Graphics_1FillPolygon_FUNC,
-	Graphics_1FillRectangle_FUNC,
-	Graphics_1Flush_FUNC,
-	Graphics_1GetClip_FUNC,
-	Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC,
-	Graphics_1GetClipBounds__ILorg_eclipse_swt_internal_gdip_Rect_2_FUNC,
-	Graphics_1GetHDC_FUNC,
-	Graphics_1GetInterpolationMode_FUNC,
-	Graphics_1GetSmoothingMode_FUNC,
-	Graphics_1GetTextRenderingHint_FUNC,
-	Graphics_1GetTransform_FUNC,
-	Graphics_1GetVisibleClipBounds_FUNC,
-	Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC,
-	Graphics_1MeasureString__I_3CIILorg_eclipse_swt_internal_gdip_PointF_2Lorg_eclipse_swt_internal_gdip_RectF_2_FUNC,
-	Graphics_1ReleaseHDC_FUNC,
-	Graphics_1ResetClip_FUNC,
-	Graphics_1Restore_FUNC,
-	Graphics_1Save_FUNC,
-	Graphics_1ScaleTransform_FUNC,
-	Graphics_1SetClip__II_FUNC,
-	Graphics_1SetClip__III_FUNC,
-	Graphics_1SetClip__ILorg_eclipse_swt_internal_gdip_RectF_2_FUNC,
-	Graphics_1SetCompositingQuality_FUNC,
-	Graphics_1SetInterpolationMode_FUNC,
-	Graphics_1SetPageUnit_FUNC,
-	Graphics_1SetPixelOffsetMode_FUNC,
-	Graphics_1SetSmoothingMode_FUNC,
-	Graphics_1SetTextRenderingHint_FUNC,
-	Graphics_1SetTransform_FUNC,
-	Graphics_1TranslateTransform_FUNC,
-	Graphics_1delete_FUNC,
-	Graphics_1new_FUNC,
-	HatchBrush_1delete_FUNC,
-	HatchBrush_1new_FUNC,
-	ImageAttributes_1SetColorMatrix_FUNC,
-	ImageAttributes_1SetWrapMode_FUNC,
-	ImageAttributes_1delete_FUNC,
-	ImageAttributes_1new_FUNC,
-	Image_1GetHeight_FUNC,
-	Image_1GetLastStatus_FUNC,
-	Image_1GetPalette_FUNC,
-	Image_1GetPaletteSize_FUNC,
-	Image_1GetPixelFormat_FUNC,
-	Image_1GetWidth_FUNC,
-	LinearGradientBrush_1SetInterpolationColors_FUNC,
-	LinearGradientBrush_1SetWrapMode_FUNC,
-	LinearGradientBrush_1delete_FUNC,
-	LinearGradientBrush_1new_FUNC,
-	Matrix_1GetElements_FUNC,
-	Matrix_1Invert_FUNC,
-	Matrix_1IsIdentity_FUNC,
-	Matrix_1Multiply_FUNC,
-	Matrix_1Rotate_FUNC,
-	Matrix_1Scale_FUNC,
-	Matrix_1SetElements_FUNC,
-	Matrix_1Shear_FUNC,
-	Matrix_1TransformPoints__ILorg_eclipse_swt_internal_gdip_PointF_2I_FUNC,
-	Matrix_1TransformPoints__I_3FI_FUNC,
-	Matrix_1Translate_FUNC,
-	Matrix_1delete_FUNC,
-	Matrix_1new_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_gdip_BitmapData_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_gdip_ColorPalette_2II_FUNC,
-	PathGradientBrush_1SetCenterColor_FUNC,
-	PathGradientBrush_1SetCenterPoint_FUNC,
-	PathGradientBrush_1SetGraphicsPath_FUNC,
-	PathGradientBrush_1SetSurroundColors_FUNC,
-	PathGradientBrush_1delete_FUNC,
-	PathGradientBrush_1new_FUNC,
-	Pen_1GetBrush_FUNC,
-	Pen_1SetBrush_FUNC,
-	Pen_1SetDashPattern_FUNC,
-	Pen_1SetDashStyle_FUNC,
-	Pen_1SetLineCap_FUNC,
-	Pen_1SetLineJoin_FUNC,
-	Pen_1delete_FUNC,
-	Pen_1new_FUNC,
-	Point_1delete_FUNC,
-	Point_1new_FUNC,
-	Region_1GetHRGN_FUNC,
-	Region_1IsInfinite_FUNC,
-	Region_1delete_FUNC,
-	Region_1new___FUNC,
-	Region_1new__I_FUNC,
-	SolidBrush_1delete_FUNC,
-	SolidBrush_1new_FUNC,
-	StringFormat_1Clone_FUNC,
-	StringFormat_1GenericDefault_FUNC,
-	StringFormat_1GenericTypographic_FUNC,
-	StringFormat_1GetFormatFlags_FUNC,
-	StringFormat_1SetFormatFlags_FUNC,
-	StringFormat_1SetHotkeyPrefix_FUNC,
-	StringFormat_1SetTabStops_FUNC,
-	StringFormat_1delete_FUNC,
-	TextureBrush_1SetTransform_FUNC,
-	TextureBrush_1delete_FUNC,
-	TextureBrush_1new_FUNC,
-} Gdip_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.cpp b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.cpp
deleted file mode 100644
index 85eb6c8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.cpp
+++ /dev/null
@@ -1,257 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "gdip_structs.h"
-
-#ifndef NO_BitmapData
-typedef struct BitmapData_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID Width, Height, Stride, PixelFormat, Scan0, Reserved;
-} BitmapData_FID_CACHE;
-
-BitmapData_FID_CACHE BitmapDataFc;
-
-void cacheBitmapDataFields(JNIEnv *env, jobject lpObject)
-{
-	if (BitmapDataFc.cached) return;
-	BitmapDataFc.clazz = env->GetObjectClass(lpObject);
-	BitmapDataFc.Width = env->GetFieldID(BitmapDataFc.clazz, "Width", "I");
-	BitmapDataFc.Height = env->GetFieldID(BitmapDataFc.clazz, "Height", "I");
-	BitmapDataFc.Stride = env->GetFieldID(BitmapDataFc.clazz, "Stride", "I");
-	BitmapDataFc.PixelFormat = env->GetFieldID(BitmapDataFc.clazz, "PixelFormat", "I");
-	BitmapDataFc.Scan0 = env->GetFieldID(BitmapDataFc.clazz, "Scan0", "I");
-	BitmapDataFc.Reserved = env->GetFieldID(BitmapDataFc.clazz, "Reserved", "I");
-	BitmapDataFc.cached = 1;
-}
-
-BitmapData *getBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct)
-{
-	if (!BitmapDataFc.cached) cacheBitmapDataFields(env, lpObject);
-	lpStruct->Width = env->GetIntField(lpObject, BitmapDataFc.Width);
-	lpStruct->Height = env->GetIntField(lpObject, BitmapDataFc.Height);
-	lpStruct->Stride = env->GetIntField(lpObject, BitmapDataFc.Stride);
-	lpStruct->PixelFormat = (PixelFormat)env->GetIntField(lpObject, BitmapDataFc.PixelFormat);
-	lpStruct->Scan0 = (void*)env->GetIntField(lpObject, BitmapDataFc.Scan0);
-	lpStruct->Reserved = (UINT_PTR)env->GetIntField(lpObject, BitmapDataFc.Reserved);
-	return lpStruct;
-}
-
-void setBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct)
-{
-	if (!BitmapDataFc.cached) cacheBitmapDataFields(env, lpObject);
-	env->SetIntField(lpObject, BitmapDataFc.Width, (jint)lpStruct->Width);
-	env->SetIntField(lpObject, BitmapDataFc.Height, (jint)lpStruct->Height);
-	env->SetIntField(lpObject, BitmapDataFc.Stride, (jint)lpStruct->Stride);
-	env->SetIntField(lpObject, BitmapDataFc.PixelFormat, (jint)lpStruct->PixelFormat);
-	env->SetIntField(lpObject, BitmapDataFc.Scan0, (jint)lpStruct->Scan0);
-	env->SetIntField(lpObject, BitmapDataFc.Reserved, (jint)lpStruct->Reserved);
-}
-#endif
-
-#ifndef NO_ColorPalette
-typedef struct ColorPalette_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID Flags, Count, Entries;
-} ColorPalette_FID_CACHE;
-
-ColorPalette_FID_CACHE ColorPaletteFc;
-
-void cacheColorPaletteFields(JNIEnv *env, jobject lpObject)
-{
-	if (ColorPaletteFc.cached) return;
-	ColorPaletteFc.clazz = env->GetObjectClass(lpObject);
-	ColorPaletteFc.Flags = env->GetFieldID(ColorPaletteFc.clazz, "Flags", "I");
-	ColorPaletteFc.Count = env->GetFieldID(ColorPaletteFc.clazz, "Count", "I");
-	ColorPaletteFc.Entries = env->GetFieldID(ColorPaletteFc.clazz, "Entries", "[I");
-	ColorPaletteFc.cached = 1;
-}
-
-ColorPalette *getColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct)
-{
-	if (!ColorPaletteFc.cached) cacheColorPaletteFields(env, lpObject);
-	lpStruct->Flags = env->GetIntField(lpObject, ColorPaletteFc.Flags);
-	lpStruct->Count = env->GetIntField(lpObject, ColorPaletteFc.Count);
-	{
-	jintArray lpObject1 = (jintArray)env->GetObjectField(lpObject, ColorPaletteFc.Entries);
-	env->GetIntArrayRegion(lpObject1, 0, sizeof(lpStruct->Entries) / 4, (jint *)lpStruct->Entries);
-	}
-	return lpStruct;
-}
-
-void setColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct)
-{
-	if (!ColorPaletteFc.cached) cacheColorPaletteFields(env, lpObject);
-	env->SetIntField(lpObject, ColorPaletteFc.Flags, (jint)lpStruct->Flags);
-	env->SetIntField(lpObject, ColorPaletteFc.Count, (jint)lpStruct->Count);
-	{
-	jintArray lpObject1 = (jintArray)env->GetObjectField(lpObject, ColorPaletteFc.Entries);
-	env->SetIntArrayRegion(lpObject1, 0, sizeof(lpStruct->Entries) / 4, (jint *)lpStruct->Entries);
-	}
-}
-#endif
-
-#ifndef NO_GdiplusStartupInput
-typedef struct GdiplusStartupInput_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID GdiplusVersion, DebugEventCallback, SuppressBackgroundThread, SuppressExternalCodecs;
-} GdiplusStartupInput_FID_CACHE;
-
-GdiplusStartupInput_FID_CACHE GdiplusStartupInputFc;
-
-void cacheGdiplusStartupInputFields(JNIEnv *env, jobject lpObject)
-{
-	if (GdiplusStartupInputFc.cached) return;
-	GdiplusStartupInputFc.clazz = env->GetObjectClass(lpObject);
-	GdiplusStartupInputFc.GdiplusVersion = env->GetFieldID(GdiplusStartupInputFc.clazz, "GdiplusVersion", "I");
-	GdiplusStartupInputFc.DebugEventCallback = env->GetFieldID(GdiplusStartupInputFc.clazz, "DebugEventCallback", "I");
-	GdiplusStartupInputFc.SuppressBackgroundThread = env->GetFieldID(GdiplusStartupInputFc.clazz, "SuppressBackgroundThread", "I");
-	GdiplusStartupInputFc.SuppressExternalCodecs = env->GetFieldID(GdiplusStartupInputFc.clazz, "SuppressExternalCodecs", "I");
-	GdiplusStartupInputFc.cached = 1;
-}
-
-GdiplusStartupInput *getGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct)
-{
-	if (!GdiplusStartupInputFc.cached) cacheGdiplusStartupInputFields(env, lpObject);
-	lpStruct->GdiplusVersion = env->GetIntField(lpObject, GdiplusStartupInputFc.GdiplusVersion);
-	lpStruct->DebugEventCallback = (DebugEventProc)env->GetIntField(lpObject, GdiplusStartupInputFc.DebugEventCallback);
-	lpStruct->SuppressBackgroundThread = (BOOL)env->GetIntField(lpObject, GdiplusStartupInputFc.SuppressBackgroundThread);
-	lpStruct->SuppressExternalCodecs = (BOOL)env->GetIntField(lpObject, GdiplusStartupInputFc.SuppressExternalCodecs);
-	return lpStruct;
-}
-
-void setGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct)
-{
-	if (!GdiplusStartupInputFc.cached) cacheGdiplusStartupInputFields(env, lpObject);
-	env->SetIntField(lpObject, GdiplusStartupInputFc.GdiplusVersion, (jint)lpStruct->GdiplusVersion);
-	env->SetIntField(lpObject, GdiplusStartupInputFc.DebugEventCallback, (jint)lpStruct->DebugEventCallback);
-	env->SetIntField(lpObject, GdiplusStartupInputFc.SuppressBackgroundThread, (jint)lpStruct->SuppressBackgroundThread);
-	env->SetIntField(lpObject, GdiplusStartupInputFc.SuppressExternalCodecs, (jint)lpStruct->SuppressExternalCodecs);
-}
-#endif
-
-#ifndef NO_PointF
-typedef struct PointF_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID X, Y;
-} PointF_FID_CACHE;
-
-PointF_FID_CACHE PointFFc;
-
-void cachePointFFields(JNIEnv *env, jobject lpObject)
-{
-	if (PointFFc.cached) return;
-	PointFFc.clazz = env->GetObjectClass(lpObject);
-	PointFFc.X = env->GetFieldID(PointFFc.clazz, "X", "F");
-	PointFFc.Y = env->GetFieldID(PointFFc.clazz, "Y", "F");
-	PointFFc.cached = 1;
-}
-
-PointF *getPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct)
-{
-	if (!PointFFc.cached) cachePointFFields(env, lpObject);
-	lpStruct->X = (REAL)env->GetFloatField(lpObject, PointFFc.X);
-	lpStruct->Y = (REAL)env->GetFloatField(lpObject, PointFFc.Y);
-	return lpStruct;
-}
-
-void setPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct)
-{
-	if (!PointFFc.cached) cachePointFFields(env, lpObject);
-	env->SetFloatField(lpObject, PointFFc.X, (jfloat)lpStruct->X);
-	env->SetFloatField(lpObject, PointFFc.Y, (jfloat)lpStruct->Y);
-}
-#endif
-
-#ifndef NO_Rect
-typedef struct Rect_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID X, Y, Width, Height;
-} Rect_FID_CACHE;
-
-Rect_FID_CACHE RectFc;
-
-void cacheRectFields(JNIEnv *env, jobject lpObject)
-{
-	if (RectFc.cached) return;
-	RectFc.clazz = env->GetObjectClass(lpObject);
-	RectFc.X = env->GetFieldID(RectFc.clazz, "X", "I");
-	RectFc.Y = env->GetFieldID(RectFc.clazz, "Y", "I");
-	RectFc.Width = env->GetFieldID(RectFc.clazz, "Width", "I");
-	RectFc.Height = env->GetFieldID(RectFc.clazz, "Height", "I");
-	RectFc.cached = 1;
-}
-
-Rect *getRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
-{
-	if (!RectFc.cached) cacheRectFields(env, lpObject);
-	lpStruct->X = env->GetIntField(lpObject, RectFc.X);
-	lpStruct->Y = env->GetIntField(lpObject, RectFc.Y);
-	lpStruct->Width = env->GetIntField(lpObject, RectFc.Width);
-	lpStruct->Height = env->GetIntField(lpObject, RectFc.Height);
-	return lpStruct;
-}
-
-void setRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
-{
-	if (!RectFc.cached) cacheRectFields(env, lpObject);
-	env->SetIntField(lpObject, RectFc.X, (jint)lpStruct->X);
-	env->SetIntField(lpObject, RectFc.Y, (jint)lpStruct->Y);
-	env->SetIntField(lpObject, RectFc.Width, (jint)lpStruct->Width);
-	env->SetIntField(lpObject, RectFc.Height, (jint)lpStruct->Height);
-}
-#endif
-
-#ifndef NO_RectF
-typedef struct RectF_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID X, Y, Width, Height;
-} RectF_FID_CACHE;
-
-RectF_FID_CACHE RectFFc;
-
-void cacheRectFFields(JNIEnv *env, jobject lpObject)
-{
-	if (RectFFc.cached) return;
-	RectFFc.clazz = env->GetObjectClass(lpObject);
-	RectFFc.X = env->GetFieldID(RectFFc.clazz, "X", "F");
-	RectFFc.Y = env->GetFieldID(RectFFc.clazz, "Y", "F");
-	RectFFc.Width = env->GetFieldID(RectFFc.clazz, "Width", "F");
-	RectFFc.Height = env->GetFieldID(RectFFc.clazz, "Height", "F");
-	RectFFc.cached = 1;
-}
-
-RectF *getRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct)
-{
-	if (!RectFFc.cached) cacheRectFFields(env, lpObject);
-	lpStruct->X = env->GetFloatField(lpObject, RectFFc.X);
-	lpStruct->Y = env->GetFloatField(lpObject, RectFFc.Y);
-	lpStruct->Width = env->GetFloatField(lpObject, RectFFc.Width);
-	lpStruct->Height = env->GetFloatField(lpObject, RectFFc.Height);
-	return lpStruct;
-}
-
-void setRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct)
-{
-	if (!RectFFc.cached) cacheRectFFields(env, lpObject);
-	env->SetFloatField(lpObject, RectFFc.X, (jfloat)lpStruct->X);
-	env->SetFloatField(lpObject, RectFFc.Y, (jfloat)lpStruct->Y);
-	env->SetFloatField(lpObject, RectFFc.Width, (jfloat)lpStruct->Width);
-	env->SetFloatField(lpObject, RectFFc.Height, (jfloat)lpStruct->Height);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.h
deleted file mode 100644
index 5eaaa18..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/gdip_structs.h
+++ /dev/null
@@ -1,85 +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
- *******************************************************************************/
-
-#include "gdip.h"
-
-#ifndef NO_BitmapData
-void cacheBitmapDataFields(JNIEnv *env, jobject lpObject);
-BitmapData *getBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct);
-void setBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct);
-#define BitmapData_sizeof() sizeof(BitmapData)
-#else
-#define cacheBitmapDataFields(a,b)
-#define getBitmapDataFields(a,b,c) NULL
-#define setBitmapDataFields(a,b,c)
-#define BitmapData_sizeof() 0
-#endif
-
-#ifndef NO_ColorPalette
-void cacheColorPaletteFields(JNIEnv *env, jobject lpObject);
-ColorPalette *getColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct);
-void setColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct);
-#define ColorPalette_sizeof() sizeof(ColorPalette)
-#else
-#define cacheColorPaletteFields(a,b)
-#define getColorPaletteFields(a,b,c) NULL
-#define setColorPaletteFields(a,b,c)
-#define ColorPalette_sizeof() 0
-#endif
-
-#ifndef NO_GdiplusStartupInput
-void cacheGdiplusStartupInputFields(JNIEnv *env, jobject lpObject);
-GdiplusStartupInput *getGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct);
-void setGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct);
-#define GdiplusStartupInput_sizeof() sizeof(GdiplusStartupInput)
-#else
-#define cacheGdiplusStartupInputFields(a,b)
-#define getGdiplusStartupInputFields(a,b,c) NULL
-#define setGdiplusStartupInputFields(a,b,c)
-#define GdiplusStartupInput_sizeof() 0
-#endif
-
-#ifndef NO_PointF
-void cachePointFFields(JNIEnv *env, jobject lpObject);
-PointF *getPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct);
-void setPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct);
-#define PointF_sizeof() sizeof(PointF)
-#else
-#define cachePointFFields(a,b)
-#define getPointFFields(a,b,c) NULL
-#define setPointFFields(a,b,c)
-#define PointF_sizeof() 0
-#endif
-
-#ifndef NO_Rect
-void cacheRectFields(JNIEnv *env, jobject lpObject);
-Rect *getRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct);
-void setRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct);
-#define Rect_sizeof() sizeof(Rect)
-#else
-#define cacheRectFields(a,b)
-#define getRectFields(a,b,c) NULL
-#define setRectFields(a,b,c)
-#define Rect_sizeof() 0
-#endif
-
-#ifndef NO_RectF
-void cacheRectFFields(JNIEnv *env, jobject lpObject);
-RectF *getRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct);
-void setRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct);
-#define RectF_sizeof() sizeof(RectF)
-#else
-#define cacheRectFFields(a,b)
-#define getRectFFields(a,b,c) NULL
-#define setRectFFields(a,b,c)
-#define RectF_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/javaw.exe.manifest b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/javaw.exe.manifest
deleted file mode 100644
index 5e7beab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/javaw.exe.manifest
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="SWT.javaw" type="win32"/><description>Standard Widget Toolkit</description><dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/></dependentAssembly></dependency></assembly>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_win32.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_win32.mak
deleted file mode 100644
index 3e3200b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_win32.mak
+++ /dev/null
@@ -1,127 +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
-#*******************************************************************************
-
-# Makefile for SWT libraries on Windows
-
-# assumes JAVA_HOME is set in the environment from which nmake is run
-
-APPVER=5.0
-!include <make_common.mak>
-!include <win32.mak>
-
-pgm_ver_str="SWT $(maj_ver).$(min_ver) for Windows"
-timestamp_str=__DATE__\" \"__TIME__\" (EST)\"
-copyright = "Copyright (C) 1999, 2004 IBM Corp.  All rights reserved."
-
-SWT_PREFIX  = swt
-WS_PREFIX   = win32
-SWT_VERSION = $(maj_ver)$(min_ver)
-SWT_LIB     = $(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
-SWT_LIBS    = ole32.lib comctl32.lib user32.lib gdi32.lib comdlg32.lib kernel32.lib shell32.lib oleaut32.lib advapi32.lib imm32.lib winspool.lib oleacc.lib usp10.lib wininet.lib vfw32.lib
-SWT_OBJS    = swt.obj os.obj os_structs.obj os_custom.obj os_stats.obj callback.obj com_structs.obj com.obj com_stats.obj
-
-GDIP_PREFIX  = swt-gdip
-GDIP_LIB     = $(GDIP_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
-GDIP_LIBS    = gdi32.lib gdiplus.lib
-GDIP_OBJS    = gdip.obj gdip_structs.obj gdip_stats.obj gdip_custom.obj
-
-AWT_PREFIX = swt-awt
-AWT_LIB    = $(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
-AWT_LIBS   = $(JAVA_HOME)\jre\bin\jawt.lib
-AWT_OBJS   = swt_awt.obj
-
-WGL_PREFIX = swt-wgl
-WGL_LIB    = $(WGL_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
-WGL_LIBS   = opengl32.lib gdi32.lib
-WGL_OBJS   = wgl.obj wgl_structs.obj wgl_stats.obj
-
-# Uncomment for Native Stats tool
-#NATIVE_STATS = -DNATIVE_STATS
-
-# Uncomment for debug flags
-#SWT_CDEBUG = -Zi -Odi
-#SWT_LDEBUG = /DEBUG /DEBUGTYPE:both
-
-# note: thoroughly test all examples after changing any optimization flags
-SWT_WINDOWS_SDK = -DWINVER=0x0500 -D_WIN32_WINDOWS=0x0400 -D_WIN32_WINNT=0x501 -D_WIN32_IE=0x0500
-CFLAGS = -c -W3 -G6 -GD -O1 $(SWT_CDEBUG) -DSWT_VERSION=$(SWT_VERSION) $(NATIVE_STATS) $(SWT_WINDOWS_SDK) -DVC_EXTRALEAN -nologo -MT -D_X86_=1 -DWIN32 -D_WIN32 -D_WIN32_DCOM /I$(JAVA_HOME)\include /I$(JAVA_HOME)\include\win32 /I.
-RCFLAGS = -DSWT_FILE_VERSION=\"$(maj_ver).$(min_ver)\" -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
-
-all: $(SWT_LIB) $(AWT_LIB) $(GDIP_LIB) $(WGL_LIB)
-
-.c.obj:
-	cl $(CFLAGS) $*.c
-
-.cpp.obj:
-	cl $(CFLAGS) $*.cpp
-
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	echo $(LFLAGS) >templrf
-	echo $(SWT_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
-
-$(GDIP_LIB): $(GDIP_OBJS) swt_gdip.res
-	echo $(LFLAGS) >templrf
-	echo $(GDIP_LIBS) >>templrf
-	echo -machine:IX86 >>templrf
-	echo -subsystem:windows >>templrf
-	echo -out:$(GDIP_LIB) >>templrf
-	echo $(GDIP_OBJS) >>templrf
-	echo swt_gdip.res >>templrf
-	link @templrf
-	del templrf
-
-$(AWT_LIB): $(AWT_OBJS) swt_awt.res
-	echo $(LFLAGS) >templrf
-	echo $(AWT_LIBS) >>templrf
-	echo -machine:IX86 >>templrf
-	echo -subsystem:windows >>templrf
-	echo -out:$(AWT_LIB) >>templrf
-	echo $(AWT_OBJS) >>templrf
-	echo swt_awt.res >>templrf
-	link @templrf
-	del templrf
-
-$(WGL_LIB): $(WGL_OBJS) swt_wgl.res
-	echo $(LFLAGS) >templrf
-	echo $(WGL_LIBS) >>templrf
-	echo -machine:IX86 >>templrf
-	echo -subsystem:windows >>templrf
-	echo -out:$(WGL_LIB) >>templrf
-	echo $(WGL_OBJS) >>templrf
-	echo swt_wgl.res >>templrf
-	link @templrf
-	del templrf
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-
-swt_gdip.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(GDIP_LIB)\" -r -fo swt_gdip.res swt_gdip.rc
-
-swt_awt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(AWT_LIB)\" -r -fo swt_awt.res swt_awt.rc
-
-swt_wgl.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(WGL_LIB)\" -r -fo swt_wgl.res swt_wgl.rc
-
-install: all
-	copy *.dll $(OUTPUT_DIR)
-
-clean:
-    del *.obj *.res *.dll *.lib *.exp
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_wince.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_wince.mak
deleted file mode 100644
index 367a3d2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/make_wince.mak
+++ /dev/null
@@ -1,121 +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
-#*******************************************************************************
-
-# Makefile for SWT libraries on Windows CE
-
-# assumes JAVA_HOME is set in the environment from which nmake is run
-
-!include <make_common.mak>
-
-SWT_PREFIX  = swt
-WS_PREFIX   = win32
-SWT_VERSION = $(maj_ver)$(min_ver)
-SWT_LIB     = $(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).dll
-
-!IF "$(PLATFORM)" == "MS Pocket PC"
-
-CPU=ARM
-
-LINK_LIBS =  aygshell.lib corelibc.lib coredll.lib commdlg.lib commctrl.lib ceshell.lib
-
-CFLAGS = /nologo /c /W3 -O1 -DSWT_VERSION=$(SWT_VERSION) -DREDUCED_CALLBACKS -DJ9WINCE -D_WIN32_WCE=300 -D"WIN32_PLATFORM_PSPC" /DUNDER_CE=300 /D"UNICODE" /D"_MBCS" /Zm200 -DARM -D_ARM_ -DFIXUP_UNALIGNED /I. /I$(JAVA_HOME)\include $*.c
-RCFLAGS = -DSWT_FILE_VERSION=\"$(maj_ver).$(min_ver)\" -DSWT_COMMA_VERSION=$(comma_ver) -D"WIN32_PLATFORM_PSPC"
-LFLAGS = $(dlllflags) /dll /entry:"_DllMainCRTStartup" /NODEFAULTLIB:libc.lib /nodefaultlib:oldnames.lib
-
-SWT_OBJS = swt.obj os.obj os_structs.obj os_custom.obj callback.obj
-
-all: $(SWT_LIB)
-
-.c.obj:
-	clarm $(CFLAGS) $*.c
-	
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	link $(LFLAGS) $(LINK_LIBS) \
-	-machine:$(CPU) \
-	-subsystem:windowsce,3.00 \
-	-out:$(SWT_LIB) \
-	$(SWT_OBJS) swt.res
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-
-install: all
-	copy *.dll $(OUTPUT_DIR)
-
-clean:
-    del *.obj *.res *.dll *.lib *.exp
-    
-!ELSEIF "$(PLATFORM)" == "hpc2000"
-
-CPU=ARM
-
-LINK_LIBS =  corelibc.lib coredll.lib commdlg.lib commctrl.lib ceshell.lib
-
-CFLAGS = /nologo /c /W3 -O1 -DSWT_VERSION=$(SWT_VERSION) -DREDUCED_CALLBACKS -DJ9WINCE -D_WIN32_WCE=300 -D"WIN32_PLATFORM_HPC2000" /DUNDER_CE=300 /D"UNICODE" /D"_MBCS" /Zm200 -DARM -D_ARM_ -DFIXUP_UNALIGNED /I. /I$(JAVA_HOME)\include $*.c
-RCFLAGS = -DSWT_FILE_VERSION=\"$(maj_ver).$(min_ver)\" -DSWT_COMMA_VERSION=$(comma_ver) -D"WIN32_PLATFORM_HPC2000"
-LFLAGS = $(dlllflags) /dll /entry:"_DllMainCRTStartup" /NODEFAULTLIB:libc.lib /nodefaultlib:oldnames.lib
-
-SWT_OBJS = swt.obj structs.obj callback.obj
-
-all: $(SWT_LIB)
-
-.c.obj:
-	clarm $(CFLAGS) $*.c
-	
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	link $(LFLAGS) $(LINK_LIBS) \
-	-machine:$(CPU) \
-	-subsystem:windowsce,3.00 \
-	-out:$(SWT_LIB) \
-	$(SWT_OBJS) swt.res
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-
-install: all
-	copy *.dll $(OUTPUT_DIR)
-
-clean:
-    del *.obj *.res *.dll *.lib *.exp
-    
-!ELSEIF "$(PLATFORM)" == "SmartPhone 2002"
-
-CPU=ARM
-
-LINK_LIBS =  aygshell.lib corelibc.lib coredll.lib commctrl.lib ceshell.lib
-CFLAGS = /nologo /c /W3 -O1 -DSWT_VERSION=$(SWT_VERSION) -DREDUCED_CALLBACKS -DJ9WINCE -D_WIN32_WCE=300 -D"WIN32_PLATFORM_WFSP=100" /DUNDER_CE=300 /D"UNICODE" /D"_MBCS" /Zm200 -DARM -D_ARM_ -DFIXUP_UNALIGNED /I. /I$(JAVA_HOME)\include $*.c
-RCFLAGS = -DSWT_FILE_VERSION=\"$(maj_ver).$(min_ver)\" -DSWT_COMMA_VERSION=$(comma_ver) -D"WIN32_PLATFORM_WFSP=100"
-LFLAGS = $(dlllflags) /dll /entry:"_DllMainCRTStartup" /NODEFAULTLIB:libc.lib /nodefaultlib:oldnames.lib
-
-SWT_OBJS = swt.obj structs.obj callback.obj 
-
-all: $(SWT_LIB)
-
-.c.obj:
-	clarm $(CFLAGS) $*.c
-	
-$(SWT_LIB): $(SWT_OBJS) swt.res
-	link $(LFLAGS) $(LINK_LIBS) \
-	-machine:$(CPU) \
-	-subsystem:windowsce,3.00 \
-	-out:$(SWT_LIB) \
-	$(SWT_OBJS) swt.res
-	
-swt.res:
-	rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc
-
-install: all
-	copy *.dll $(OUTPUT_DIR)
-
-clean:
-    del *.obj *.res *.dll *.lib *.exp
-    
-!ENDIF
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
deleted file mode 100644
index 6146de5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
+++ /dev/null
@@ -1,11437 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_win32_OS_##func
-
-#ifndef NO_AbortDoc
-JNIEXPORT jint JNICALL OS_NATIVE(AbortDoc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, AbortDoc_FUNC);
-	rc = (jint)AbortDoc((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, AbortDoc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ActivateActCtx
-JNIEXPORT jboolean JNICALL OS_NATIVE(ActivateActCtx)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ActivateActCtx_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	rc = (jboolean)ActivateActCtx(arg0, (ULONG_PTR*)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(ActivateActCtx_LIB);
-			if (hm) fp = GetProcAddress(hm, "ActivateActCtx");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp(arg0, (ULONG_PTR*)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ActivateActCtx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ActivateKeyboardLayout
-JNIEXPORT jint JNICALL OS_NATIVE(ActivateKeyboardLayout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ActivateKeyboardLayout_FUNC);
-	rc = (jint)ActivateKeyboardLayout((HKL)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ActivateKeyboardLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AdjustWindowRectEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(AdjustWindowRectEx)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jboolean arg2, jint arg3)
-{
-	RECT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, AdjustWindowRectEx_FUNC);
-	if (arg0) if ((lparg0 = getRECTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)AdjustWindowRectEx(lparg0, arg1, arg2, arg3);
-fail:
-	if (arg0 && lparg0) setRECTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, AdjustWindowRectEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_AlphaBlend
-JNIEXPORT jboolean JNICALL OS_NATIVE(AlphaBlend)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jobject arg10)
-{
-	BLENDFUNCTION _arg10, *lparg10=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, AlphaBlend_FUNC);
-	if (arg10) if ((lparg10 = getBLENDFUNCTIONFields(env, arg10, &_arg10)) == NULL) goto fail;
-/*
-	rc = (jboolean)AlphaBlend(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, *lparg10);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(AlphaBlend_LIB);
-			if (hm) fp = GetProcAddress(hm, "AlphaBlend");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, *lparg10);
-		}
-	}
-fail:
-	if (arg10 && lparg10) setBLENDFUNCTIONFields(env, arg10, lparg10);
-	OS_NATIVE_EXIT(env, that, AlphaBlend_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Arc
-JNIEXPORT jboolean JNICALL OS_NATIVE(Arc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Arc_FUNC);
-	rc = (jboolean)Arc((HDC)arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, Arc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BeginDeferWindowPos
-JNIEXPORT jint JNICALL OS_NATIVE(BeginDeferWindowPos)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, BeginDeferWindowPos_FUNC);
-	rc = (jint)BeginDeferWindowPos(arg0);
-	OS_NATIVE_EXIT(env, that, BeginDeferWindowPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BeginPaint
-JNIEXPORT jint JNICALL OS_NATIVE(BeginPaint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PAINTSTRUCT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, BeginPaint_FUNC);
-	if (arg1) if ((lparg1 = getPAINTSTRUCTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)BeginPaint((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPAINTSTRUCTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, BeginPaint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BeginPath
-JNIEXPORT jboolean JNICALL OS_NATIVE(BeginPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, BeginPath_FUNC);
-	rc = (jboolean)BeginPath((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, BeginPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BitBlt
-JNIEXPORT jboolean JNICALL OS_NATIVE(BitBlt)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, BitBlt_FUNC);
-	rc = (jboolean)BitBlt((HDC)arg0, arg1, arg2, arg3, arg4, (HDC)arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, BitBlt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_BringWindowToTop
-JNIEXPORT jboolean JNICALL OS_NATIVE(BringWindowToTop)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, BringWindowToTop_FUNC);
-	rc = (jboolean)BringWindowToTop((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, BringWindowToTop_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Call
-JNIEXPORT jint JNICALL OS_NATIVE(Call)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DLLVERSIONINFO _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, Call_FUNC);
-	if (arg1) if ((lparg1 = getDLLVERSIONINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)((DLLGETVERSIONPROC)arg0)(lparg1);
-fail:
-	if (arg1 && lparg1) setDLLVERSIONINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, Call_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CallNextHookEx
-JNIEXPORT jint JNICALL OS_NATIVE(CallNextHookEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CallNextHookEx_FUNC);
-	rc = (jint)CallNextHookEx((HHOOK)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, CallNextHookEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CallWindowProcA
-JNIEXPORT jint JNICALL OS_NATIVE(CallWindowProcA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CallWindowProcA_FUNC);
-	rc = (jint)CallWindowProcA((WNDPROC)arg0, (HWND)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, CallWindowProcA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CallWindowProcW
-JNIEXPORT jint JNICALL OS_NATIVE(CallWindowProcW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CallWindowProcW_FUNC);
-	rc = (jint)CallWindowProcW((WNDPROC)arg0, (HWND)arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, CallWindowProcW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CharLowerA
-JNIEXPORT jshort JNICALL OS_NATIVE(CharLowerA)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CharLowerA_FUNC);
-	rc = (jshort)CharLowerA((LPSTR)arg0);
-	OS_NATIVE_EXIT(env, that, CharLowerA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CharLowerW
-JNIEXPORT jshort JNICALL OS_NATIVE(CharLowerW)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CharLowerW_FUNC);
-	rc = (jshort)CharLowerW((LPWSTR)arg0);
-	OS_NATIVE_EXIT(env, that, CharLowerW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CharUpperA
-JNIEXPORT jshort JNICALL OS_NATIVE(CharUpperA)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CharUpperA_FUNC);
-	rc = (jshort)CharUpperA((LPSTR)arg0);
-	OS_NATIVE_EXIT(env, that, CharUpperA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CharUpperW
-JNIEXPORT jshort JNICALL OS_NATIVE(CharUpperW)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, CharUpperW_FUNC);
-	rc = (jshort)CharUpperW((LPWSTR)arg0);
-	OS_NATIVE_EXIT(env, that, CharUpperW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CheckMenuItem
-JNIEXPORT jboolean JNICALL OS_NATIVE(CheckMenuItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CheckMenuItem_FUNC);
-	rc = (jboolean)CheckMenuItem((HMENU)arg0, (UINT)arg1, (UINT)arg2);
-	OS_NATIVE_EXIT(env, that, CheckMenuItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ChooseColorA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ChooseColorA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	CHOOSECOLOR _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ChooseColorA_FUNC);
-	if (arg0) if ((lparg0 = getCHOOSECOLORFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ChooseColorA(lparg0);
-fail:
-	if (arg0 && lparg0) setCHOOSECOLORFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ChooseColorA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ChooseColorW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ChooseColorW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	CHOOSECOLOR _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ChooseColorW_FUNC);
-	if (arg0) if ((lparg0 = getCHOOSECOLORFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ChooseColorW((LPCHOOSECOLORW)lparg0);
-fail:
-	if (arg0 && lparg0) setCHOOSECOLORFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ChooseColorW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ChooseFontA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ChooseFontA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	CHOOSEFONT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ChooseFontA_FUNC);
-	if (arg0) if ((lparg0 = getCHOOSEFONTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ChooseFontA(lparg0);
-fail:
-	if (arg0 && lparg0) setCHOOSEFONTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ChooseFontA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ChooseFontW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ChooseFontW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	CHOOSEFONT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ChooseFontW_FUNC);
-	if (arg0) if ((lparg0 = getCHOOSEFONTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ChooseFontW((LPCHOOSEFONTW)lparg0);
-fail:
-	if (arg0 && lparg0) setCHOOSEFONTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ChooseFontW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ClientToScreen
-JNIEXPORT jboolean JNICALL OS_NATIVE(ClientToScreen)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	POINT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ClientToScreen_FUNC);
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ClientToScreen((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ClientToScreen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CloseClipboard
-JNIEXPORT jboolean JNICALL OS_NATIVE(CloseClipboard)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CloseClipboard_FUNC);
-	rc = (jboolean)CloseClipboard();
-	OS_NATIVE_EXIT(env, that, CloseClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CloseThemeData
-JNIEXPORT jint JNICALL OS_NATIVE(CloseThemeData)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CloseThemeData_FUNC);
-/*
-	rc = (jint)CloseThemeData((HTHEME)arg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(CloseThemeData_LIB);
-			if (hm) fp = GetProcAddress(hm, "CloseThemeData");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HTHEME)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, CloseThemeData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CoCreateInstance
-JNIEXPORT jint JNICALL OS_NATIVE(CoCreateInstance)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jbyteArray arg3, jintArray arg4)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CoCreateInstance_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)CoCreateInstance((REFCLSID)lparg0, (LPUNKNOWN)arg1, arg2, (REFIID)lparg3, (LPVOID *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CoCreateInstance_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CombineRgn
-JNIEXPORT jint JNICALL OS_NATIVE(CombineRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CombineRgn_FUNC);
-	rc = (jint)CombineRgn((HRGN)arg0, (HRGN)arg1, (HRGN)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, CombineRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommDlgExtendedError
-JNIEXPORT jint JNICALL OS_NATIVE(CommDlgExtendedError)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CommDlgExtendedError_FUNC);
-	rc = (jint)CommDlgExtendedError();
-	OS_NATIVE_EXIT(env, that, CommDlgExtendedError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1AddAdornments
-JNIEXPORT jboolean JNICALL OS_NATIVE(CommandBar_1AddAdornments)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1AddAdornments_FUNC);
-	rc = (jboolean)CommandBar_AddAdornments((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, CommandBar_1AddAdornments_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1Create
-JNIEXPORT jint JNICALL OS_NATIVE(CommandBar_1Create)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1Create_FUNC);
-	rc = (jint)CommandBar_Create((HINSTANCE)arg0, (HWND)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, CommandBar_1Create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1Destroy
-JNIEXPORT void JNICALL OS_NATIVE(CommandBar_1Destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, CommandBar_1Destroy_FUNC);
-	CommandBar_Destroy((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, CommandBar_1Destroy_FUNC);
-}
-#endif
-
-#ifndef NO_CommandBar_1DrawMenuBar
-JNIEXPORT jboolean JNICALL OS_NATIVE(CommandBar_1DrawMenuBar)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1DrawMenuBar_FUNC);
-	rc = (jboolean)CommandBar_DrawMenuBar((HWND)arg0, (WORD)arg1);
-	OS_NATIVE_EXIT(env, that, CommandBar_1DrawMenuBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1Height
-JNIEXPORT jint JNICALL OS_NATIVE(CommandBar_1Height)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1Height_FUNC);
-	rc = (jint)CommandBar_Height((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, CommandBar_1Height_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1InsertMenubarEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(CommandBar_1InsertMenubarEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1InsertMenubarEx_FUNC);
-	rc = (jboolean)CommandBar_InsertMenubarEx((HWND)arg0, (HINSTANCE)arg1, (LPTSTR)arg2, (WORD)arg3);
-	OS_NATIVE_EXIT(env, that, CommandBar_1InsertMenubarEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CommandBar_1Show
-JNIEXPORT jboolean JNICALL OS_NATIVE(CommandBar_1Show)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CommandBar_1Show_FUNC);
-	rc = (jboolean)CommandBar_Show((HWND)arg0, (BOOL)arg1);
-	OS_NATIVE_EXIT(env, that, CommandBar_1Show_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CopyImage
-JNIEXPORT jint JNICALL OS_NATIVE(CopyImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CopyImage_FUNC);
-	rc = (jint)CopyImage((HANDLE)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, CopyImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateAcceleratorTableA
-JNIEXPORT jint JNICALL OS_NATIVE(CreateAcceleratorTableA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateAcceleratorTableA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)CreateAcceleratorTableA((LPACCEL)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CreateAcceleratorTableA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateAcceleratorTableW
-JNIEXPORT jint JNICALL OS_NATIVE(CreateAcceleratorTableW)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateAcceleratorTableW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)CreateAcceleratorTableW((LPACCEL)lparg0, arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CreateAcceleratorTableW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateActCtxA
-JNIEXPORT jint JNICALL OS_NATIVE(CreateActCtxA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	ACTCTX _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateActCtxA_FUNC);
-	if (arg0) if ((lparg0 = getACTCTXFields(env, arg0, &_arg0)) == NULL) goto fail;
-/*
-	rc = (jint)CreateActCtxA(lparg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(CreateActCtxA_LIB);
-			if (hm) fp = GetProcAddress(hm, "CreateActCtxA");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(lparg0);
-		}
-	}
-fail:
-	OS_NATIVE_EXIT(env, that, CreateActCtxA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateActCtxW
-JNIEXPORT jint JNICALL OS_NATIVE(CreateActCtxW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	ACTCTX _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateActCtxW_FUNC);
-	if (arg0) if ((lparg0 = getACTCTXFields(env, arg0, &_arg0)) == NULL) goto fail;
-/*
-	rc = (jint)CreateActCtxW(lparg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(CreateActCtxW_LIB);
-			if (hm) fp = GetProcAddress(hm, "CreateActCtxW");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(lparg0);
-		}
-	}
-fail:
-	OS_NATIVE_EXIT(env, that, CreateActCtxW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateBitmap
-JNIEXPORT jint JNICALL OS_NATIVE(CreateBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateBitmap_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)CreateBitmap(arg0, arg1, arg2, arg3, (CONST VOID *)lparg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, CreateBitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCaret
-JNIEXPORT jboolean JNICALL OS_NATIVE(CreateCaret)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCaret_FUNC);
-	rc = (jboolean)CreateCaret((HWND)arg0, (HBITMAP)arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, CreateCaret_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCompatibleBitmap
-JNIEXPORT jint JNICALL OS_NATIVE(CreateCompatibleBitmap)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCompatibleBitmap_FUNC);
-	rc = (jint)CreateCompatibleBitmap((HDC)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, CreateCompatibleBitmap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCompatibleDC
-JNIEXPORT jint JNICALL OS_NATIVE(CreateCompatibleDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCompatibleDC_FUNC);
-	rc = (jint)CreateCompatibleDC((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, CreateCompatibleDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateCursor
-JNIEXPORT jint JNICALL OS_NATIVE(CreateCursor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jbyteArray arg5, jbyteArray arg6)
-{
-	jbyte *lparg5=NULL;
-	jbyte *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateCursor_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) if ((lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL)) == NULL) goto fail;
-		if (arg6) if ((lparg6 = (*env)->GetPrimitiveArrayCritical(env, arg6, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-		if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)CreateCursor((HINSTANCE)arg0, arg1, arg2, arg3, arg4, (CONST VOID *)lparg5, (CONST VOID *)lparg6);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg6 && lparg6) (*env)->ReleasePrimitiveArrayCritical(env, arg6, lparg6, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, CreateCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateDCA
-JNIEXPORT jint JNICALL OS_NATIVE(CreateDCA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateDCA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateDCA((LPSTR)lparg0, (LPSTR)lparg1, (LPSTR)arg2, (CONST DEVMODE *)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CreateDCA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateDCW
-JNIEXPORT jint JNICALL OS_NATIVE(CreateDCW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jcharArray arg1, jint arg2, jint arg3)
-{
-	jchar *lparg0=NULL;
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateDCW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)CreateDCW((LPWSTR)lparg0, (LPWSTR)lparg1, (LPWSTR)arg2, (CONST DEVMODEW *)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CreateDCW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateDIBSection
-JNIEXPORT jint JNICALL OS_NATIVE(CreateDIBSection)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateDIBSection_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)CreateDIBSection((HDC)arg0, (BITMAPINFO *)lparg1, arg2, (VOID **)lparg3, (HANDLE)arg4, arg5);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, CreateDIBSection_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateFontIndirectA__I
-JNIEXPORT jint JNICALL OS_NATIVE(CreateFontIndirectA__I)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateFontIndirectA__I_FUNC);
-	rc = (jint)CreateFontIndirectA((LPLOGFONTA)arg0);
-	OS_NATIVE_EXIT(env, that, CreateFontIndirectA__I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2
-JNIEXPORT jint JNICALL OS_NATIVE(CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	LOGFONTA _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC);
-	if (arg0) if ((lparg0 = getLOGFONTAFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)CreateFontIndirectA(lparg0);
-fail:
-	OS_NATIVE_EXIT(env, that, CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateFontIndirectW__I
-JNIEXPORT jint JNICALL OS_NATIVE(CreateFontIndirectW__I)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateFontIndirectW__I_FUNC);
-	rc = (jint)CreateFontIndirectW((LPLOGFONTW)arg0);
-	OS_NATIVE_EXIT(env, that, CreateFontIndirectW__I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2
-JNIEXPORT jint JNICALL OS_NATIVE(CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	LOGFONTW _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC);
-	if (arg0) if ((lparg0 = getLOGFONTWFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)CreateFontIndirectW(lparg0);
-fail:
-	OS_NATIVE_EXIT(env, that, CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateIconIndirect
-JNIEXPORT jint JNICALL OS_NATIVE(CreateIconIndirect)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	ICONINFO _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateIconIndirect_FUNC);
-	if (arg0) if ((lparg0 = getICONINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)CreateIconIndirect(lparg0);
-fail:
-	OS_NATIVE_EXIT(env, that, CreateIconIndirect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateMenu
-JNIEXPORT jint JNICALL OS_NATIVE(CreateMenu)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateMenu_FUNC);
-	rc = (jint)CreateMenu();
-	OS_NATIVE_EXIT(env, that, CreateMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePalette
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePalette)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePalette_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)CreatePalette((LOGPALETTE *)lparg0);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, CreatePalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePatternBrush
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePatternBrush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePatternBrush_FUNC);
-	rc = (jint)CreatePatternBrush((HBITMAP)arg0);
-	OS_NATIVE_EXIT(env, that, CreatePatternBrush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePen
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePen)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePen_FUNC);
-	rc = (jint)CreatePen(arg0, arg1, (COLORREF)arg2);
-	OS_NATIVE_EXIT(env, that, CreatePen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePolygonRgn
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePolygonRgn)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePolygonRgn_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)CreatePolygonRgn((CONST POINT *)lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, CreatePolygonRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreatePopupMenu
-JNIEXPORT jint JNICALL OS_NATIVE(CreatePopupMenu)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreatePopupMenu_FUNC);
-	rc = (jint)CreatePopupMenu();
-	OS_NATIVE_EXIT(env, that, CreatePopupMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateRectRgn
-JNIEXPORT jint JNICALL OS_NATIVE(CreateRectRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateRectRgn_FUNC);
-	rc = (jint)CreateRectRgn(arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, CreateRectRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateSolidBrush
-JNIEXPORT jint JNICALL OS_NATIVE(CreateSolidBrush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateSolidBrush_FUNC);
-	rc = (jint)CreateSolidBrush((COLORREF)arg0);
-	OS_NATIVE_EXIT(env, that, CreateSolidBrush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateStreamOnHGlobal
-JNIEXPORT jint JNICALL OS_NATIVE(CreateStreamOnHGlobal)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateStreamOnHGlobal_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)CreateStreamOnHGlobal((HGLOBAL)arg0, (BOOL)arg1, (LPSTREAM *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, CreateStreamOnHGlobal_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateWindowExA
-JNIEXPORT jint JNICALL OS_NATIVE(CreateWindowExA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jobject arg11)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	CREATESTRUCT _arg11, *lparg11=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateWindowExA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg11) if ((lparg11 = getCREATESTRUCTFields(env, arg11, &_arg11)) == NULL) goto fail;
-	rc = (jint)CreateWindowExA(arg0, (LPSTR)lparg1, lparg2, arg3, arg4, arg5, arg6, arg7, (HWND)arg8, (HMENU)arg9, (HINSTANCE)arg10, lparg11);
-fail:
-	if (arg11 && lparg11) setCREATESTRUCTFields(env, arg11, lparg11);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateWindowExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_CreateWindowExW
-JNIEXPORT jint JNICALL OS_NATIVE(CreateWindowExW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jobject arg11)
-{
-	jchar *lparg1=NULL;
-	jchar *lparg2=NULL;
-	CREATESTRUCT _arg11, *lparg11=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, CreateWindowExW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg11) if ((lparg11 = getCREATESTRUCTFields(env, arg11, &_arg11)) == NULL) goto fail;
-	rc = (jint)CreateWindowExW(arg0, (LPWSTR)lparg1, (LPWSTR)lparg2, arg3, arg4, arg5, arg6, arg7, (HWND)arg8, (HMENU)arg9, (HINSTANCE)arg10, lparg11);
-fail:
-	if (arg11 && lparg11) setCREATESTRUCTFields(env, arg11, lparg11);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, CreateWindowExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefFrameProcA
-JNIEXPORT jint JNICALL OS_NATIVE(DefFrameProcA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefFrameProcA_FUNC);
-	rc = (jint)DefFrameProcA((HWND)arg0, (HWND)arg1, arg2, (WPARAM)arg3, (LPARAM)arg4);
-	OS_NATIVE_EXIT(env, that, DefFrameProcA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefFrameProcW
-JNIEXPORT jint JNICALL OS_NATIVE(DefFrameProcW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefFrameProcW_FUNC);
-	rc = (jint)DefFrameProcW((HWND)arg0, (HWND)arg1, arg2, (WPARAM)arg3, (LPARAM)arg4);
-	OS_NATIVE_EXIT(env, that, DefFrameProcW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefMDIChildProcA
-JNIEXPORT jint JNICALL OS_NATIVE(DefMDIChildProcA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefMDIChildProcA_FUNC);
-	rc = (jint)DefMDIChildProcA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, DefMDIChildProcA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefMDIChildProcW
-JNIEXPORT jint JNICALL OS_NATIVE(DefMDIChildProcW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefMDIChildProcW_FUNC);
-	rc = (jint)DefMDIChildProcW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, DefMDIChildProcW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefWindowProcA
-JNIEXPORT jint JNICALL OS_NATIVE(DefWindowProcA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefWindowProcA_FUNC);
-	rc = (jint)DefWindowProcA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, DefWindowProcA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DefWindowProcW
-JNIEXPORT jint JNICALL OS_NATIVE(DefWindowProcW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DefWindowProcW_FUNC);
-	rc = (jint)DefWindowProcW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, DefWindowProcW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeferWindowPos
-JNIEXPORT jint JNICALL OS_NATIVE(DeferWindowPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DeferWindowPos_FUNC);
-	rc = (jint)DeferWindowPos((HDWP)arg0, (HWND)arg1, (HWND)arg2, arg3, arg4, arg5, arg6, arg7);
-	OS_NATIVE_EXIT(env, that, DeferWindowPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeleteDC
-JNIEXPORT jboolean JNICALL OS_NATIVE(DeleteDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DeleteDC_FUNC);
-	rc = (jboolean)DeleteDC((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, DeleteDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeleteMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(DeleteMenu)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DeleteMenu_FUNC);
-	rc = (jboolean)DeleteMenu((HMENU)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, DeleteMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DeleteObject
-JNIEXPORT jboolean JNICALL OS_NATIVE(DeleteObject)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DeleteObject_FUNC);
-	rc = (jboolean)DeleteObject((HGDIOBJ)arg0);
-	OS_NATIVE_EXIT(env, that, DeleteObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyAcceleratorTable
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyAcceleratorTable)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyAcceleratorTable_FUNC);
-	rc = (jboolean)DestroyAcceleratorTable((HACCEL)arg0);
-	OS_NATIVE_EXIT(env, that, DestroyAcceleratorTable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyCaret
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyCaret)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyCaret_FUNC);
-	rc = (jboolean)DestroyCaret();
-	OS_NATIVE_EXIT(env, that, DestroyCaret_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyCursor
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyCursor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyCursor_FUNC);
-	rc = (jboolean)DestroyCursor((HCURSOR)arg0);
-	OS_NATIVE_EXIT(env, that, DestroyCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyIcon
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyIcon)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyIcon_FUNC);
-	rc = (jboolean)DestroyIcon((HICON)arg0);
-	OS_NATIVE_EXIT(env, that, DestroyIcon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyMenu_FUNC);
-	rc = (jboolean)DestroyMenu((HMENU)arg0);
-	OS_NATIVE_EXIT(env, that, DestroyMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DestroyWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(DestroyWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DestroyWindow_FUNC);
-	rc = (jboolean)DestroyWindow((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, DestroyWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DispatchMessageA
-JNIEXPORT jint JNICALL OS_NATIVE(DispatchMessageA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	MSG _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DispatchMessageA_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DispatchMessageA(lparg0);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DispatchMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DispatchMessageW
-JNIEXPORT jint JNICALL OS_NATIVE(DispatchMessageW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	MSG _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DispatchMessageW_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)DispatchMessageW(lparg0);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, DispatchMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DragDetect
-JNIEXPORT jboolean JNICALL OS_NATIVE(DragDetect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	POINT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DragDetect_FUNC);
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)DragDetect((HWND)arg0, *lparg1);
-fail:
-	if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, DragDetect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DragFinish
-JNIEXPORT void JNICALL OS_NATIVE(DragFinish)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	OS_NATIVE_ENTER(env, that, DragFinish_FUNC);
-	DragFinish((HDROP)arg0);
-	OS_NATIVE_EXIT(env, that, DragFinish_FUNC);
-}
-#endif
-
-#ifndef NO_DragQueryFileA
-JNIEXPORT jint JNICALL OS_NATIVE(DragQueryFileA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DragQueryFileA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)DragQueryFileA((HDROP)arg0, arg1, (LPTSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, DragQueryFileA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DragQueryFileW
-JNIEXPORT jint JNICALL OS_NATIVE(DragQueryFileW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DragQueryFileW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)DragQueryFileW((HDROP)arg0, arg1, (LPWSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, DragQueryFileW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawEdge
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawEdge)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawEdge_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)DrawEdge((HDC)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, DrawEdge_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawFocusRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawFocusRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawFocusRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)DrawFocusRect((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, DrawFocusRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawFrameControl
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawFrameControl)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawFrameControl_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)DrawFrameControl((HDC)arg0, lparg1, arg2, arg3);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, DrawFrameControl_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawIconEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawIconEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawIconEx_FUNC);
-	rc = (jboolean)DrawIconEx((HDC)arg0, arg1, arg2, (HICON)arg3, arg4, arg5, arg6, (HBRUSH)arg7, arg8);
-	OS_NATIVE_EXIT(env, that, DrawIconEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawMenuBar
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawMenuBar)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawMenuBar_FUNC);
-	rc = (jboolean)DrawMenuBar((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, DrawMenuBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawStateA
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawStateA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawStateA_FUNC);
-	rc = (jboolean)DrawStateA((HDC)arg0, (HBRUSH)arg1, (DRAWSTATEPROC)arg2, (LPARAM)arg3, (WPARAM)arg4, arg5, arg6, arg7, arg8, arg9);
-	OS_NATIVE_EXIT(env, that, DrawStateA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawStateW
-JNIEXPORT jboolean JNICALL OS_NATIVE(DrawStateW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawStateW_FUNC);
-	rc = (jboolean)DrawStateW((HDC)arg0, (HBRUSH)arg1, (DRAWSTATEPROC)arg2, (LPARAM)arg3, (WPARAM)arg4, arg5, arg6, arg7, arg8, arg9);
-	OS_NATIVE_EXIT(env, that, DrawStateW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawTextA
-JNIEXPORT jint JNICALL OS_NATIVE(DrawTextA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jobject arg3, jint arg4)
-{
-	jbyte *lparg1=NULL;
-	RECT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawTextA_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)DrawTextA((HDC)arg0, (LPSTR)lparg1, arg2, lparg3, arg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, DrawTextA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawTextW
-JNIEXPORT jint JNICALL OS_NATIVE(DrawTextW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jobject arg3, jint arg4)
-{
-	jchar *lparg1=NULL;
-	RECT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawTextW_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)DrawTextW((HDC)arg0, (LPWSTR)lparg1, arg2, lparg3, arg4);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, DrawTextW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeBackground
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeBackground)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	RECT _arg4, *lparg4=NULL;
-	RECT _arg5, *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeBackground_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-/*
-	rc = (jint)DrawThemeBackground((HTHEME)arg0, (HDC)arg1, arg2, arg3, (const RECT *)lparg4, (const RECT *)lparg5);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(DrawThemeBackground_LIB);
-			if (hm) fp = GetProcAddress(hm, "DrawThemeBackground");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HTHEME)arg0, (HDC)arg1, arg2, arg3, (const RECT *)lparg4, (const RECT *)lparg5);
-		}
-	}
-fail:
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, DrawThemeBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeEdge
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeEdge)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jint arg6, jobject arg7)
-{
-	RECT _arg4, *lparg4=NULL;
-	RECT _arg7, *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeEdge_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getRECTFields(env, arg7, &_arg7)) == NULL) goto fail;
-/*
-	rc = (jint)DrawThemeEdge(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, lparg7);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(DrawThemeEdge_LIB);
-			if (hm) fp = GetProcAddress(hm, "DrawThemeEdge");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, lparg7);
-		}
-	}
-fail:
-	if (arg7 && lparg7) setRECTFields(env, arg7, lparg7);
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, DrawThemeEdge_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeIcon
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeIcon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jint arg6)
-{
-	RECT _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeIcon_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-/*
-	rc = (jint)DrawThemeIcon(arg0, arg1, arg2, arg3, lparg4, arg5, arg6);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(DrawThemeIcon_LIB);
-			if (hm) fp = GetProcAddress(hm, "DrawThemeIcon");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, arg5, arg6);
-		}
-	}
-fail:
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, DrawThemeIcon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeParentBackground
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeParentBackground)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	RECT _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeParentBackground_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-/*
-	rc = (jint)DrawThemeParentBackground(arg0, arg1, lparg2);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(DrawThemeParentBackground_LIB);
-			if (hm) fp = GetProcAddress(hm, "DrawThemeParentBackground");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, lparg2);
-		}
-	}
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, DrawThemeParentBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_DrawThemeText
-JNIEXPORT jint JNICALL OS_NATIVE(DrawThemeText)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4, jint arg5, jint arg6, jint arg7, jobject arg8)
-{
-	jchar *lparg4=NULL;
-	RECT _arg8, *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, DrawThemeText_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = getRECTFields(env, arg8, &_arg8)) == NULL) goto fail;
-/*
-	rc = (jint)DrawThemeText(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, arg7, lparg8);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(DrawThemeText_LIB);
-			if (hm) fp = GetProcAddress(hm, "DrawThemeText");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, arg7, lparg8);
-		}
-	}
-fail:
-	if (arg8 && lparg8) setRECTFields(env, arg8, lparg8);
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, DrawThemeText_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Ellipse
-JNIEXPORT jboolean JNICALL OS_NATIVE(Ellipse)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Ellipse_FUNC);
-	rc = (jboolean)Ellipse((HDC)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, Ellipse_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnableMenuItem
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnableMenuItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnableMenuItem_FUNC);
-	rc = (jboolean)EnableMenuItem((HMENU)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, EnableMenuItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnableScrollBar
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnableScrollBar)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnableScrollBar_FUNC);
-	rc = (jboolean)EnableScrollBar((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, EnableScrollBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnableWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnableWindow)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnableWindow_FUNC);
-	rc = (jboolean)EnableWindow((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, EnableWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EndDeferWindowPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(EndDeferWindowPos)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EndDeferWindowPos_FUNC);
-	rc = (jboolean)EndDeferWindowPos((HDWP)arg0);
-	OS_NATIVE_EXIT(env, that, EndDeferWindowPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EndDoc
-JNIEXPORT jint JNICALL OS_NATIVE(EndDoc)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EndDoc_FUNC);
-	rc = (jint)EndDoc((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, EndDoc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EndPage
-JNIEXPORT jint JNICALL OS_NATIVE(EndPage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EndPage_FUNC);
-	rc = (jint)EndPage((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, EndPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EndPaint
-JNIEXPORT jint JNICALL OS_NATIVE(EndPaint)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	PAINTSTRUCT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EndPaint_FUNC);
-	if (arg1) if ((lparg1 = getPAINTSTRUCTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)EndPaint((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPAINTSTRUCTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, EndPaint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EndPath
-JNIEXPORT jboolean JNICALL OS_NATIVE(EndPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EndPath_FUNC);
-	rc = (jboolean)EndPath((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, EndPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumDisplayMonitors
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnumDisplayMonitors)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumDisplayMonitors_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)EnumDisplayMonitors((HDC)arg0, (LPCRECT)lparg1, (MONITORENUMPROC)arg2, (LPARAM)arg3);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(EnumDisplayMonitors_LIB);
-			if (hm) fp = GetProcAddress(hm, "EnumDisplayMonitors");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HDC)arg0, (LPCRECT)lparg1, (MONITORENUMPROC)arg2, (LPARAM)arg3);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, EnumDisplayMonitors_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumFontFamiliesA
-JNIEXPORT jint JNICALL OS_NATIVE(EnumFontFamiliesA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumFontFamiliesA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)EnumFontFamiliesA((HDC)arg0, (LPSTR)lparg1, (FONTENUMPROC)arg2, (LPARAM)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, EnumFontFamiliesA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumFontFamiliesExA
-JNIEXPORT jint JNICALL OS_NATIVE(EnumFontFamiliesExA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4)
-{
-	LOGFONTA _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumFontFamiliesExA_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)EnumFontFamiliesExA((HDC)arg0, (LPLOGFONTA)lparg1, (FONTENUMPROCA)arg2, (LPARAM)arg3, arg4);
-fail:
-	if (arg1 && lparg1) setLOGFONTAFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, EnumFontFamiliesExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumFontFamiliesExW
-JNIEXPORT jint JNICALL OS_NATIVE(EnumFontFamiliesExW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3, jint arg4)
-{
-	LOGFONTW _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumFontFamiliesExW_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)EnumFontFamiliesExW((HDC)arg0, (LPLOGFONTW)lparg1, (FONTENUMPROCW)arg2, (LPARAM)arg3, arg4);
-fail:
-	if (arg1 && lparg1) setLOGFONTWFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, EnumFontFamiliesExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumFontFamiliesW
-JNIEXPORT jint JNICALL OS_NATIVE(EnumFontFamiliesW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumFontFamiliesW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)EnumFontFamiliesW((HDC)arg0, (LPCWSTR)lparg1, (FONTENUMPROCW)arg2, (LPARAM)arg3);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, EnumFontFamiliesW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumSystemLanguageGroupsA
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnumSystemLanguageGroupsA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumSystemLanguageGroupsA_FUNC);
-/*
-	rc = (jboolean)EnumSystemLanguageGroupsA((LANGUAGEGROUP_ENUMPROCA)arg0, arg1, (LONG_PTR)arg2);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(EnumSystemLanguageGroupsA_LIB);
-			if (hm) fp = GetProcAddress(hm, "EnumSystemLanguageGroupsA");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((LANGUAGEGROUP_ENUMPROCA)arg0, arg1, (LONG_PTR)arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, EnumSystemLanguageGroupsA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumSystemLanguageGroupsW
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnumSystemLanguageGroupsW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumSystemLanguageGroupsW_FUNC);
-/*
-	rc = (jboolean)EnumSystemLanguageGroupsW((LANGUAGEGROUP_ENUMPROCW)arg0, arg1, (LONG_PTR)arg2);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(EnumSystemLanguageGroupsW_LIB);
-			if (hm) fp = GetProcAddress(hm, "EnumSystemLanguageGroupsW");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((LANGUAGEGROUP_ENUMPROCW)arg0, arg1, (LONG_PTR)arg2);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, EnumSystemLanguageGroupsW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumSystemLocalesA
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnumSystemLocalesA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumSystemLocalesA_FUNC);
-	rc = (jboolean)EnumSystemLocalesA((LOCALE_ENUMPROCA)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, EnumSystemLocalesA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EnumSystemLocalesW
-JNIEXPORT jboolean JNICALL OS_NATIVE(EnumSystemLocalesW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EnumSystemLocalesW_FUNC);
-	rc = (jboolean)EnumSystemLocalesW((LOCALE_ENUMPROCW)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, EnumSystemLocalesW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EqualRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(EqualRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	RECT _arg0, *lparg0=NULL;
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EqualRect_FUNC);
-	if (arg0) if ((lparg0 = getRECTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)EqualRect((CONST RECT *)lparg0, (CONST RECT *)lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, EqualRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_EqualRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(EqualRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, EqualRgn_FUNC);
-	rc = (jboolean)EqualRgn((HRGN)arg0, (HRGN)arg1);
-	OS_NATIVE_EXIT(env, that, EqualRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExcludeClipRect
-JNIEXPORT jint JNICALL OS_NATIVE(ExcludeClipRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExcludeClipRect_FUNC);
-	rc = (jint)ExcludeClipRect((HDC)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, ExcludeClipRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExpandEnvironmentStringsA
-JNIEXPORT jint JNICALL OS_NATIVE(ExpandEnvironmentStringsA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExpandEnvironmentStringsA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)ExpandEnvironmentStringsA(lparg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ExpandEnvironmentStringsA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExpandEnvironmentStringsW
-JNIEXPORT jint JNICALL OS_NATIVE(ExpandEnvironmentStringsW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExpandEnvironmentStringsW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)ExpandEnvironmentStringsW(lparg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ExpandEnvironmentStringsW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtCreatePen
-JNIEXPORT jint JNICALL OS_NATIVE(ExtCreatePen)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3, jintArray arg4)
-{
-	LOGBRUSH _arg2, *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtCreatePen_FUNC);
-	if (arg2) if ((lparg2 = getLOGBRUSHFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)ExtCreatePen(arg0, arg1, (CONST LOGBRUSH *)lparg2, arg3, (CONST DWORD *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) setLOGBRUSHFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, ExtCreatePen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtCreateRegion
-JNIEXPORT jint JNICALL OS_NATIVE(ExtCreateRegion)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jint arg1, jintArray arg2)
-{
-	jfloat *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtCreateRegion_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ExtCreateRegion((XFORM *)lparg0, arg1, (CONST RGNDATA *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ExtCreateRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtTextOutA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ExtTextOutA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jbyteArray arg5, jint arg6, jintArray arg7)
-{
-	RECT _arg4, *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg7=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtTextOutA_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) if ((lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL)) == NULL) goto fail;
-		if (arg7) if ((lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-		if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)ExtTextOutA((HDC)arg0, arg1, arg2, arg3, lparg4, (LPSTR)lparg5, arg6, (CONST INT *)lparg7);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7 && lparg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, ExtTextOutA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtTextOutW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ExtTextOutW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jcharArray arg5, jint arg6, jintArray arg7)
-{
-	RECT _arg4, *lparg4=NULL;
-	jchar *lparg5=NULL;
-	jint *lparg7=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtTextOutW_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) if ((lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL)) == NULL) goto fail;
-		if (arg7) if ((lparg7 = (*env)->GetPrimitiveArrayCritical(env, arg7, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg5) if ((lparg5 = (*env)->GetCharArrayElements(env, arg5, NULL)) == NULL) goto fail;
-		if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)ExtTextOutW((HDC)arg0, arg1, arg2, arg3, lparg4, (LPWSTR)lparg5, arg6, (CONST INT *)lparg7);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg7 && lparg7) (*env)->ReleasePrimitiveArrayCritical(env, arg7, lparg7, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, JNI_ABORT);
-		if (arg5 && lparg5) (*env)->ReleaseCharArrayElements(env, arg5, lparg5, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, ExtTextOutW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtractIconExA
-JNIEXPORT jint JNICALL OS_NATIVE(ExtractIconExA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jintArray arg2, jintArray arg3, jint arg4)
-{
-	jbyte *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtractIconExA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ExtractIconExA((LPSTR)lparg0, arg1, (HICON FAR *)lparg2, (HICON FAR *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ExtractIconExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ExtractIconExW
-JNIEXPORT jint JNICALL OS_NATIVE(ExtractIconExW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jintArray arg2, jintArray arg3, jint arg4)
-{
-	jchar *lparg0=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ExtractIconExW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ExtractIconExW((LPWSTR)lparg0, arg1, (HICON FAR *)lparg2, (HICON FAR *)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ExtractIconExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FillPath
-JNIEXPORT jboolean JNICALL OS_NATIVE(FillPath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, FillPath_FUNC);
-	rc = (jboolean)FillPath((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, FillPath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FillRect
-JNIEXPORT jint JNICALL OS_NATIVE(FillRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	RECT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FillRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)FillRect((HDC)arg0, lparg1, (HBRUSH)arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, FillRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FindWindowA
-JNIEXPORT jint JNICALL OS_NATIVE(FindWindowA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FindWindowA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FindWindowA((LPSTR)lparg0, (LPSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FindWindowA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FindWindowW
-JNIEXPORT jint JNICALL OS_NATIVE(FindWindowW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jcharArray arg1)
-{
-	jchar *lparg0=NULL;
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FindWindowW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)FindWindowW((LPWSTR)lparg0, (LPWSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, FindWindowW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FormatMessageA
-JNIEXPORT jint JNICALL OS_NATIVE(FormatMessageA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jint arg5, jint arg6)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FormatMessageA_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)FormatMessageA(arg0, (LPCVOID)arg1, arg2, arg3, (LPSTR)lparg4, arg5, (va_list*)arg6);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, FormatMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FormatMessageW
-JNIEXPORT jint JNICALL OS_NATIVE(FormatMessageW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jint arg5, jint arg6)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, FormatMessageW_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)FormatMessageW(arg0, (LPCVOID)arg1, arg2, arg3, (LPWSTR)lparg4, arg5, (va_list*)arg6);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, FormatMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_FreeLibrary
-JNIEXPORT jboolean JNICALL OS_NATIVE(FreeLibrary)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, FreeLibrary_FUNC);
-	rc = (jboolean)FreeLibrary((HMODULE)arg0);
-	OS_NATIVE_EXIT(env, that, FreeLibrary_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GdiSetBatchLimit
-JNIEXPORT jint JNICALL OS_NATIVE(GdiSetBatchLimit)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GdiSetBatchLimit_FUNC);
-	rc = (jint)GdiSetBatchLimit((DWORD)arg0);
-	OS_NATIVE_EXIT(env, that, GdiSetBatchLimit_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetACP
-JNIEXPORT jint JNICALL OS_NATIVE(GetACP)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetACP_FUNC);
-	rc = (jint)GetACP();
-	OS_NATIVE_EXIT(env, that, GetACP_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetActiveWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetActiveWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetActiveWindow_FUNC);
-	rc = (jint)GetActiveWindow();
-	OS_NATIVE_EXIT(env, that, GetActiveWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetBkColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetBkColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetBkColor_FUNC);
-	rc = (jint)GetBkColor((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetBkColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCapture
-JNIEXPORT jint JNICALL OS_NATIVE(GetCapture)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCapture_FUNC);
-	rc = (jint)GetCapture();
-	OS_NATIVE_EXIT(env, that, GetCapture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCaretPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCaretPos)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	POINT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCaretPos_FUNC);
-	if (arg0) if ((lparg0 = getPOINTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetCaretPos(lparg0);
-fail:
-	if (arg0 && lparg0) setPOINTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetCaretPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharABCWidthsA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCharABCWidthsA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharABCWidthsA_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetCharABCWidthsA((HDC)arg0, arg1, arg2, (LPABC)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetCharABCWidthsA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharABCWidthsW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCharABCWidthsW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharABCWidthsW_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetCharABCWidthsW((HDC)arg0, arg1, arg2, (LPABC)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetCharABCWidthsW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharWidthA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCharWidthA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharWidthA_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetCharWidthA((HDC)arg0, arg1, arg2, (LPINT)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetCharWidthA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharWidthW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCharWidthW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharWidthW_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetCharWidthW((HDC)arg0, arg1, arg2, (LPINT)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetCharWidthW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharacterPlacementA
-JNIEXPORT jint JNICALL OS_NATIVE(GetCharacterPlacementA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jobject arg4, jint arg5)
-{
-	jbyte *lparg1=NULL;
-	GCP_RESULTS _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharacterPlacementA_FUNC);
-	if (arg4) if ((lparg4 = getGCP_RESULTSFields(env, arg4, &_arg4)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetCharacterPlacementA((HDC)arg0, (LPSTR)lparg1, arg2, arg3, lparg4, arg5);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg4 && lparg4) setGCP_RESULTSFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetCharacterPlacementA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCharacterPlacementW
-JNIEXPORT jint JNICALL OS_NATIVE(GetCharacterPlacementW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jobject arg4, jint arg5)
-{
-	jchar *lparg1=NULL;
-	GCP_RESULTS _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCharacterPlacementW_FUNC);
-	if (arg4) if ((lparg4 = getGCP_RESULTSFields(env, arg4, &_arg4)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetCharacterPlacementW((HDC)arg0, (LPWSTR)lparg1, arg2, arg3, (LPGCP_RESULTSW)lparg4, arg5);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg4 && lparg4) setGCP_RESULTSFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetCharacterPlacementW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClassInfoA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetClassInfoA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2)
-{
-	jbyte *lparg1=NULL;
-	WNDCLASS _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClassInfoA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getWNDCLASSFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)GetClassInfoA((HINSTANCE)arg0, (LPSTR)lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) setWNDCLASSFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClassInfoA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClassInfoW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetClassInfoW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jobject arg2)
-{
-	jchar *lparg1=NULL;
-	WNDCLASS _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClassInfoW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getWNDCLASSFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)GetClassInfoW((HINSTANCE)arg0, (LPWSTR)lparg1, (LPWNDCLASSW)lparg2);
-fail:
-	if (arg2 && lparg2) setWNDCLASSFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClassInfoW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClassNameA
-JNIEXPORT jint JNICALL OS_NATIVE(GetClassNameA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClassNameA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetClassNameA((HWND)arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClassNameA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClassNameW
-JNIEXPORT jint JNICALL OS_NATIVE(GetClassNameW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClassNameW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetClassNameW((HWND)arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClassNameW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClientRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetClientRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClientRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetClientRect((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetClientRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClipBox
-JNIEXPORT jint JNICALL OS_NATIVE(GetClipBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClipBox_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)GetClipBox((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetClipBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClipRgn
-JNIEXPORT jint JNICALL OS_NATIVE(GetClipRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClipRgn_FUNC);
-	rc = (jint)GetClipRgn((HDC)arg0, (HRGN)arg1);
-	OS_NATIVE_EXIT(env, that, GetClipRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClipboardData
-JNIEXPORT jint JNICALL OS_NATIVE(GetClipboardData)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClipboardData_FUNC);
-	rc = (jint)GetClipboardData(arg0);
-	OS_NATIVE_EXIT(env, that, GetClipboardData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClipboardFormatNameA
-JNIEXPORT jint JNICALL OS_NATIVE(GetClipboardFormatNameA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClipboardFormatNameA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetClipboardFormatNameA(arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClipboardFormatNameA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetClipboardFormatNameW
-JNIEXPORT jint JNICALL OS_NATIVE(GetClipboardFormatNameW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetClipboardFormatNameW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetClipboardFormatNameW(arg0, (LPWSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetClipboardFormatNameW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetComboBoxInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetComboBoxInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	COMBOBOXINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetComboBoxInfo_FUNC);
-	if (arg1) if ((lparg1 = getCOMBOBOXINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)GetComboBoxInfo((HWND)arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetComboBoxInfo_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetComboBoxInfo");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HWND)arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setCOMBOBOXINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetComboBoxInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentObject
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentObject)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentObject_FUNC);
-	rc = (jint)GetCurrentObject((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetCurrentObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentProcessId
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentProcessId)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentProcessId_FUNC);
-	rc = (jint)GetCurrentProcessId();
-	OS_NATIVE_EXIT(env, that, GetCurrentProcessId_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCurrentThreadId
-JNIEXPORT jint JNICALL OS_NATIVE(GetCurrentThreadId)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCurrentThreadId_FUNC);
-	rc = (jint)GetCurrentThreadId();
-	OS_NATIVE_EXIT(env, that, GetCurrentThreadId_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCursor
-JNIEXPORT jint JNICALL OS_NATIVE(GetCursor)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCursor_FUNC);
-	rc = (jint)GetCursor();
-	OS_NATIVE_EXIT(env, that, GetCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetCursorPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetCursorPos)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	POINT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetCursorPos_FUNC);
-	if (arg0) if ((lparg0 = getPOINTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetCursorPos(lparg0);
-fail:
-	if (arg0 && lparg0) setPOINTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetCursorPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDC
-JNIEXPORT jint JNICALL OS_NATIVE(GetDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDC_FUNC);
-	rc = (jint)GetDC((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDCEx
-JNIEXPORT jint JNICALL OS_NATIVE(GetDCEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDCEx_FUNC);
-	rc = (jint)GetDCEx((HWND)arg0, (HRGN)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, GetDCEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDIBColorTable
-JNIEXPORT jint JNICALL OS_NATIVE(GetDIBColorTable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDIBColorTable_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetDIBColorTable((HDC)arg0, arg1, arg2, (RGBQUAD *)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetDIBColorTable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDIBits
-JNIEXPORT jint JNICALL OS_NATIVE(GetDIBits)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jbyteArray arg5, jint arg6)
-{
-	jbyte *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDIBits_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5) if ((lparg5 = (*env)->GetPrimitiveArrayCritical(env, arg5, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetDIBits((HDC)arg0, (HBITMAP)arg1, arg2, arg3, (LPVOID)arg4, (LPBITMAPINFO)lparg5, arg6);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg5 && lparg5) (*env)->ReleasePrimitiveArrayCritical(env, arg5, lparg5, 0);
-	} else
-#endif
-	{
-		if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetDIBits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDesktopWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetDesktopWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDesktopWindow_FUNC);
-	rc = (jint)GetDesktopWindow();
-	OS_NATIVE_EXIT(env, that, GetDesktopWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDeviceCaps
-JNIEXPORT jint JNICALL OS_NATIVE(GetDeviceCaps)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDeviceCaps_FUNC);
-	rc = (jint)GetDeviceCaps((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetDeviceCaps_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDialogBaseUnits
-JNIEXPORT jint JNICALL OS_NATIVE(GetDialogBaseUnits)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDialogBaseUnits_FUNC);
-	rc = (jint)GetDialogBaseUnits();
-	OS_NATIVE_EXIT(env, that, GetDialogBaseUnits_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDlgItem
-JNIEXPORT jint JNICALL OS_NATIVE(GetDlgItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDlgItem_FUNC);
-	rc = (jint)GetDlgItem((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetDlgItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetDoubleClickTime
-JNIEXPORT jint JNICALL OS_NATIVE(GetDoubleClickTime)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetDoubleClickTime_FUNC);
-	rc = (jint)GetDoubleClickTime();
-	OS_NATIVE_EXIT(env, that, GetDoubleClickTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFocus
-JNIEXPORT jint JNICALL OS_NATIVE(GetFocus)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetFocus_FUNC);
-	rc = (jint)GetFocus();
-	OS_NATIVE_EXIT(env, that, GetFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetFontLanguageInfo
-JNIEXPORT jint JNICALL OS_NATIVE(GetFontLanguageInfo)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetFontLanguageInfo_FUNC);
-	rc = (jint)GetFontLanguageInfo((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetFontLanguageInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetForegroundWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetForegroundWindow)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetForegroundWindow_FUNC);
-	rc = (jint)GetForegroundWindow();
-	OS_NATIVE_EXIT(env, that, GetForegroundWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetGUIThreadInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetGUIThreadInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	GUITHREADINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetGUIThreadInfo_FUNC);
-	if (arg1) if ((lparg1 = getGUITHREADINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetGUIThreadInfo((DWORD)arg0, (LPGUITHREADINFO)lparg1);
-fail:
-	if (arg1 && lparg1) setGUITHREADINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetGUIThreadInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetIconInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetIconInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	ICONINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetIconInfo_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	rc = (jboolean)GetIconInfo((HICON)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setICONINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetIconInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyNameTextA
-JNIEXPORT jint JNICALL OS_NATIVE(GetKeyNameTextA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyNameTextA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetKeyNameTextA(arg0, (LPSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetKeyNameTextA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyNameTextW
-JNIEXPORT jint JNICALL OS_NATIVE(GetKeyNameTextW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyNameTextW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetKeyNameTextW(arg0, (LPWSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetKeyNameTextW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyState
-JNIEXPORT jshort JNICALL OS_NATIVE(GetKeyState)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyState_FUNC);
-	rc = (jshort)GetKeyState(arg0);
-	OS_NATIVE_EXIT(env, that, GetKeyState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyboardLayout
-JNIEXPORT jint JNICALL OS_NATIVE(GetKeyboardLayout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyboardLayout_FUNC);
-	rc = (jint)GetKeyboardLayout(arg0);
-	OS_NATIVE_EXIT(env, that, GetKeyboardLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyboardLayoutList
-JNIEXPORT jint JNICALL OS_NATIVE(GetKeyboardLayoutList)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyboardLayoutList_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetKeyboardLayoutList(arg0, (HKL FAR *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetKeyboardLayoutList_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetKeyboardState
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetKeyboardState)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetKeyboardState_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)GetKeyboardState((PBYTE)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetKeyboardState_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLastActivePopup
-JNIEXPORT jint JNICALL OS_NATIVE(GetLastActivePopup)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLastActivePopup_FUNC);
-	rc = (jint)GetLastActivePopup((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetLastActivePopup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLastError
-JNIEXPORT jint JNICALL OS_NATIVE(GetLastError)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLastError_FUNC);
-	rc = (jint)GetLastError();
-	OS_NATIVE_EXIT(env, that, GetLastError_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLayout
-JNIEXPORT jint JNICALL OS_NATIVE(GetLayout)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLayout_FUNC);
-/*
-	rc = (jint)GetLayout((HDC)arg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetLayout_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetLayout");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HDC)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, GetLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLocaleInfoA
-JNIEXPORT jint JNICALL OS_NATIVE(GetLocaleInfoA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLocaleInfoA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetLocaleInfoA(arg0, arg1, (LPSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetLocaleInfoA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetLocaleInfoW
-JNIEXPORT jint JNICALL OS_NATIVE(GetLocaleInfoW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetLocaleInfoW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)GetLocaleInfoW(arg0, arg1, (LPWSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, GetLocaleInfoW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenu
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenu)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenu_FUNC);
-	rc = (jint)GetMenu((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuBarInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMenuBarInfo)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	MENUBARINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuBarInfo_FUNC);
-	if (arg3) if ((lparg3 = getMENUBARINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-/*
-	rc = (jboolean)GetMenuBarInfo(arg0, arg1, arg2, lparg3);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetMenuBarInfo_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetMenuBarInfo");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp(arg0, arg1, arg2, lparg3);
-		}
-	}
-fail:
-	if (arg3 && lparg3) setMENUBARINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetMenuBarInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuDefaultItem
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuDefaultItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuDefaultItem_FUNC);
-	rc = (jint)GetMenuDefaultItem((HMENU)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, GetMenuDefaultItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMenuInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MENUINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuInfo_FUNC);
-	if (arg1) if ((lparg1 = getMENUINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)GetMenuInfo((HMENU)arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetMenuInfo_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetMenuInfo");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HMENU)arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setMENUINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetMenuInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemCount
-JNIEXPORT jint JNICALL OS_NATIVE(GetMenuItemCount)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemCount_FUNC);
-	rc = (jint)GetMenuItemCount((HMENU)arg0);
-	OS_NATIVE_EXIT(env, that, GetMenuItemCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemInfoA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMenuItemInfoA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemInfoA_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)GetMenuItemInfoA((HMENU)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetMenuItemInfoA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemInfoW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMenuItemInfoW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemInfoW_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)GetMenuItemInfoW((HMENU)arg0, arg1, arg2, (LPMENUITEMINFOW)lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetMenuItemInfoW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMenuItemRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMenuItemRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	RECT _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMenuItemRect_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)GetMenuItemRect((HWND)arg0, (HMENU)arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetMenuItemRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMessageA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMessageA)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3)
-{
-	MSG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMessageA_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetMessageA(lparg0, (HWND)arg1, arg2, arg3);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMessagePos
-JNIEXPORT jint JNICALL OS_NATIVE(GetMessagePos)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMessagePos_FUNC);
-	rc = (jint)GetMessagePos();
-	OS_NATIVE_EXIT(env, that, GetMessagePos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMessageTime
-JNIEXPORT jint JNICALL OS_NATIVE(GetMessageTime)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMessageTime_FUNC);
-	rc = (jint)GetMessageTime();
-	OS_NATIVE_EXIT(env, that, GetMessageTime_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMessageW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMessageW)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3)
-{
-	MSG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMessageW_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetMessageW(lparg0, (HWND)arg1, arg2, arg3);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMetaRgn
-JNIEXPORT jint JNICALL OS_NATIVE(GetMetaRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMetaRgn_FUNC);
-	rc = (jint)GetMetaRgn((HDC)arg0, (HRGN)arg1);
-	OS_NATIVE_EXIT(env, that, GetMetaRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetModuleFileNameA
-JNIEXPORT jint JNICALL OS_NATIVE(GetModuleFileNameA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetModuleFileNameA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetModuleFileNameA((HMODULE)arg0, (LPSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetModuleFileNameA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetModuleFileNameW
-JNIEXPORT jint JNICALL OS_NATIVE(GetModuleFileNameW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetModuleFileNameW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetModuleFileNameW((HMODULE)arg0, (LPWSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetModuleFileNameW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetModuleHandleA
-JNIEXPORT jint JNICALL OS_NATIVE(GetModuleHandleA)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetModuleHandleA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GetModuleHandleA((LPSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetModuleHandleA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetModuleHandleW
-JNIEXPORT jint JNICALL OS_NATIVE(GetModuleHandleW)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetModuleHandleW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GetModuleHandleW((LPWSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetModuleHandleW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMonitorInfoA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMonitorInfoA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MONITORINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMonitorInfoA_FUNC);
-	if (arg1) if ((lparg1 = getMONITORINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)GetMonitorInfoA((HMONITOR)arg0, (LPMONITORINFO)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetMonitorInfoA_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetMonitorInfoA");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HMONITOR)arg0, (LPMONITORINFO)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setMONITORINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetMonitorInfoA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetMonitorInfoW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetMonitorInfoW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MONITORINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetMonitorInfoW_FUNC);
-	if (arg1) if ((lparg1 = getMONITORINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)GetMonitorInfoW((HMONITOR)arg0, (LPMONITORINFO)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetMonitorInfoW_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetMonitorInfoW");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HMONITOR)arg0, (LPMONITORINFO)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setMONITORINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetMonitorInfoW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetNearestPaletteIndex
-JNIEXPORT jint JNICALL OS_NATIVE(GetNearestPaletteIndex)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetNearestPaletteIndex_FUNC);
-	rc = (jint)GetNearestPaletteIndex((HPALETTE)arg0, (COLORREF)arg1);
-	OS_NATIVE_EXIT(env, that, GetNearestPaletteIndex_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__III
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__III_FUNC);
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, (LPVOID)arg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	BITMAP _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setBITMAPFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	DIBSECTION _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setDIBSECTIONFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	EXTLOGPEN _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setEXTLOGPENFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGBRUSH _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGBRUSHFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGFONTA _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGFONTAFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGPEN _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectA((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGPENFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__III
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__III_FUNC);
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, (LPVOID)arg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	BITMAP _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setBITMAPFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	DIBSECTION _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setDIBSECTIONFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	EXTLOGPEN _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setEXTLOGPENFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGBRUSH _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGBRUSHFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGFONTW _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGFONTWFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2
-JNIEXPORT jint JNICALL OS_NATIVE(GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	LOGPEN _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC);
-	if (arg2) if ((lparg2 = &_arg2) == NULL) goto fail;
-	rc = (jint)GetObjectW((HGDIOBJ)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setLOGPENFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetOpenFileNameA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetOpenFileNameA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OPENFILENAME _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetOpenFileNameA_FUNC);
-	if (arg0) if ((lparg0 = getOPENFILENAMEFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetOpenFileNameA(lparg0);
-fail:
-	if (arg0 && lparg0) setOPENFILENAMEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetOpenFileNameA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetOpenFileNameW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetOpenFileNameW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OPENFILENAME _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetOpenFileNameW_FUNC);
-	if (arg0) if ((lparg0 = getOPENFILENAMEFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetOpenFileNameW((LPOPENFILENAMEW)lparg0);
-fail:
-	if (arg0 && lparg0) setOPENFILENAMEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetOpenFileNameW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPaletteEntries
-JNIEXPORT jint JNICALL OS_NATIVE(GetPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPaletteEntries_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetPaletteEntries((HPALETTE)arg0, arg1, arg2, (LPPALETTEENTRY)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetPaletteEntries_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetParent
-JNIEXPORT jint JNICALL OS_NATIVE(GetParent)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetParent_FUNC);
-	rc = (jint)GetParent((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPixel
-JNIEXPORT jint JNICALL OS_NATIVE(GetPixel)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPixel_FUNC);
-	rc = (jint)GetPixel((HDC)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, GetPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPolyFillMode
-JNIEXPORT jint JNICALL OS_NATIVE(GetPolyFillMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPolyFillMode_FUNC);
-	rc = (jint)GetPolyFillMode((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetPolyFillMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetProcAddress
-JNIEXPORT jint JNICALL OS_NATIVE(GetProcAddress)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetProcAddress_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetProcAddress((HMODULE)arg0, (LPCTSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetProcAddress_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetProcessHeap
-JNIEXPORT jint JNICALL OS_NATIVE(GetProcessHeap)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetProcessHeap_FUNC);
-	rc = (jint)GetProcessHeap();
-	OS_NATIVE_EXIT(env, that, GetProcessHeap_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetProfileStringA
-JNIEXPORT jint JNICALL OS_NATIVE(GetProfileStringA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jbyteArray arg2, jbyteArray arg3, jint arg4)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetProfileStringA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetProfileStringA((LPSTR)lparg0, (LPSTR)lparg1, (LPSTR)lparg2, (LPSTR)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetProfileStringA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetProfileStringW
-JNIEXPORT jint JNICALL OS_NATIVE(GetProfileStringW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jcharArray arg1, jcharArray arg2, jcharArray arg3, jint arg4)
-{
-	jchar *lparg0=NULL;
-	jchar *lparg1=NULL;
-	jchar *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetProfileStringW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)GetProfileStringW((LPWSTR)lparg0, (LPWSTR)lparg1, (LPWSTR)lparg2, (LPWSTR)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GetProfileStringW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPropA
-JNIEXPORT jint JNICALL OS_NATIVE(GetPropA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPropA_FUNC);
-	rc = (jint)GetPropA((HWND)arg0, (LPCTSTR)arg1);
-	OS_NATIVE_EXIT(env, that, GetPropA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetPropW
-JNIEXPORT jint JNICALL OS_NATIVE(GetPropW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetPropW_FUNC);
-	rc = (jint)GetPropW((HWND)arg0, (LPCWSTR)arg1);
-	OS_NATIVE_EXIT(env, that, GetPropW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetROP2
-JNIEXPORT jint JNICALL OS_NATIVE(GetROP2)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetROP2_FUNC);
-	rc = (jint)GetROP2((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetROP2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetRandomRgn
-JNIEXPORT jint JNICALL OS_NATIVE(GetRandomRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetRandomRgn_FUNC);
-	rc = (jint)GetRandomRgn((HDC)arg0, (HRGN)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, GetRandomRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetRegionData
-JNIEXPORT jint JNICALL OS_NATIVE(GetRegionData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetRegionData_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetRegionData((HRGN)arg0, arg1, (RGNDATA *)lparg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, 0);
-	} else
-#endif
-	{
-		if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetRegionData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetRgnBox
-JNIEXPORT jint JNICALL OS_NATIVE(GetRgnBox)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetRgnBox_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	rc = (jint)GetRgnBox((HRGN)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetRgnBox_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSaveFileNameA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetSaveFileNameA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OPENFILENAME _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSaveFileNameA_FUNC);
-	if (arg0) if ((lparg0 = getOPENFILENAMEFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetSaveFileNameA(lparg0);
-fail:
-	if (arg0 && lparg0) setOPENFILENAMEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetSaveFileNameA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSaveFileNameW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetSaveFileNameW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OPENFILENAME _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSaveFileNameW_FUNC);
-	if (arg0) if ((lparg0 = getOPENFILENAMEFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetSaveFileNameW((LPOPENFILENAMEW)lparg0);
-fail:
-	if (arg0 && lparg0) setOPENFILENAMEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetSaveFileNameW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetScrollInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetScrollInfo)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	SCROLLINFO _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetScrollInfo_FUNC);
-	if (arg2) if ((lparg2 = getSCROLLINFOFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)GetScrollInfo((HWND)arg0, arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setSCROLLINFOFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, GetScrollInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetStockObject
-JNIEXPORT jint JNICALL OS_NATIVE(GetStockObject)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetStockObject_FUNC);
-	rc = (jint)GetStockObject(arg0);
-	OS_NATIVE_EXIT(env, that, GetStockObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSysColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetSysColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSysColor_FUNC);
-	rc = (jint)GetSysColor(arg0);
-	OS_NATIVE_EXIT(env, that, GetSysColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSysColorBrush
-JNIEXPORT jint JNICALL OS_NATIVE(GetSysColorBrush)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSysColorBrush_FUNC);
-	rc = (jint)GetSysColorBrush(arg0);
-	OS_NATIVE_EXIT(env, that, GetSysColorBrush_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSystemDefaultUILanguage
-JNIEXPORT jshort JNICALL OS_NATIVE(GetSystemDefaultUILanguage)
-	(JNIEnv *env, jclass that)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSystemDefaultUILanguage_FUNC);
-/*
-	rc = (jshort)GetSystemDefaultUILanguage();
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetSystemDefaultUILanguage_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetSystemDefaultUILanguage");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jshort)fp();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, GetSystemDefaultUILanguage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSystemMenu
-JNIEXPORT jint JNICALL OS_NATIVE(GetSystemMenu)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSystemMenu_FUNC);
-	rc = (jint)GetSystemMenu((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetSystemMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSystemMetrics
-JNIEXPORT jint JNICALL OS_NATIVE(GetSystemMetrics)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSystemMetrics_FUNC);
-	rc = (jint)GetSystemMetrics(arg0);
-	OS_NATIVE_EXIT(env, that, GetSystemMetrics_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetSystemPaletteEntries
-JNIEXPORT jint JNICALL OS_NATIVE(GetSystemPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetSystemPaletteEntries_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)GetSystemPaletteEntries((HDC)arg0, (UINT)arg1, (UINT)arg2, (LPPALETTEENTRY)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, 0);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	}
-	OS_NATIVE_EXIT(env, that, GetSystemPaletteEntries_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextCharset
-JNIEXPORT jint JNICALL OS_NATIVE(GetTextCharset)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextCharset_FUNC);
-	rc = (jint)GetTextCharset((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetTextCharset_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetTextColor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextColor_FUNC);
-	rc = (jint)GetTextColor((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, GetTextColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextExtentPoint32A
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetTextExtentPoint32A)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jobject arg3)
-{
-	jbyte *lparg1=NULL;
-	SIZE _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextExtentPoint32A_FUNC);
-	if (arg3) if ((lparg3 = &_arg3) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetTextExtentPoint32A((HDC)arg0, (LPSTR)lparg1, arg2, lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetTextExtentPoint32A_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextExtentPoint32W
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetTextExtentPoint32W)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jobject arg3)
-{
-	jchar *lparg1=NULL;
-	SIZE _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextExtentPoint32W_FUNC);
-	if (arg3) if ((lparg3 = &_arg3) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)GetTextExtentPoint32W((HDC)arg0, (LPWSTR)lparg1, arg2, lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, GetTextExtentPoint32W_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextMetricsA
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetTextMetricsA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	TEXTMETRICA _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextMetricsA_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	rc = (jboolean)GetTextMetricsA((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setTEXTMETRICAFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetTextMetricsA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTextMetricsW
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetTextMetricsW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	TEXTMETRICW _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTextMetricsW_FUNC);
-	if (arg1) if ((lparg1 = &_arg1) == NULL) goto fail;
-	rc = (jboolean)GetTextMetricsW((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setTEXTMETRICWFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetTextMetricsW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeBackgroundContentRect
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeBackgroundContentRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	RECT _arg4, *lparg4=NULL;
-	RECT _arg5, *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeBackgroundContentRect_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeBackgroundContentRect(arg0, arg1, arg2, arg3, lparg4, lparg5);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeBackgroundContentRect_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeBackgroundContentRect");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, lparg5);
-		}
-	}
-fail:
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetThemeBackgroundContentRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeBackgroundExtent
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeBackgroundExtent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
-{
-	RECT _arg4, *lparg4=NULL;
-	RECT _arg5, *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeBackgroundExtent_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeBackgroundExtent(arg0, arg1, arg2, arg3, lparg4, lparg5);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeBackgroundExtent_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeBackgroundExtent");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, lparg5);
-		}
-	}
-fail:
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	OS_NATIVE_EXIT(env, that, GetThemeBackgroundExtent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeColor
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeColor_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeColor(arg0, arg1, arg2, arg3, lparg4);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeColor_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeColor");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4);
-		}
-	}
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeInt
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeInt)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeInt_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeInt(arg0, arg1, arg2, arg3, lparg4);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeInt_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeInt");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4);
-		}
-	}
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeInt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeMargins
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeMargins)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jobject arg6)
-{
-	RECT _arg5, *lparg5=NULL;
-	MARGINS _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeMargins_FUNC);
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getMARGINSFields(env, arg6, &_arg6)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeMargins(arg0, arg1, arg2, arg3, arg4, lparg5, lparg6);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeMargins_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeMargins");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, arg4, lparg5, lparg6);
-		}
-	}
-fail:
-	if (arg6 && lparg6) setMARGINSFields(env, arg6, lparg6);
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	OS_NATIVE_EXIT(env, that, GetThemeMargins_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeMetric
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeMetric)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeMetric_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeMetric(arg0, arg1, arg2, arg3, arg4, lparg5);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeMetric_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeMetric");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, arg4, lparg5);
-		}
-	}
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeMetric_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemePartSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemePartSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jobject arg6)
-{
-	RECT _arg4, *lparg4=NULL;
-	SIZE _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemePartSize_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getSIZEFields(env, arg6, &_arg6)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemePartSize(arg0, arg1, arg2, arg3, lparg4, arg5, lparg6);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemePartSize_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemePartSize");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, arg5, lparg6);
-		}
-	}
-fail:
-	if (arg6 && lparg6) setSIZEFields(env, arg6, lparg6);
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetThemePartSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeRect
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
-{
-	RECT _arg4, *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeRect_FUNC);
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeRect(arg0, arg1, arg2, arg3, lparg4);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeRect_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeRect");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4);
-		}
-	}
-fail:
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	OS_NATIVE_EXIT(env, that, GetThemeRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeSysSize
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeSysSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeSysSize_FUNC);
-/*
-	rc = (jint)GetThemeSysSize(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeSysSize_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeSysSize");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, GetThemeSysSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetThemeTextExtent
-JNIEXPORT jint JNICALL OS_NATIVE(GetThemeTextExtent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4, jint arg5, jint arg6, jobject arg7, jobject arg8)
-{
-	jchar *lparg4=NULL;
-	RECT _arg7, *lparg7=NULL;
-	RECT _arg8, *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetThemeTextExtent_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getRECTFields(env, arg7, &_arg7)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = getRECTFields(env, arg8, &_arg8)) == NULL) goto fail;
-/*
-	rc = (jint)GetThemeTextExtent(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, lparg7, lparg8);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GetThemeTextExtent_LIB);
-			if (hm) fp = GetProcAddress(hm, "GetThemeTextExtent");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, lparg4, arg5, arg6, lparg7, lparg8);
-		}
-	}
-fail:
-	if (arg8 && lparg8) setRECTFields(env, arg8, lparg8);
-	if (arg7 && lparg7) setRECTFields(env, arg7, lparg7);
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, GetThemeTextExtent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetTickCount
-JNIEXPORT jint JNICALL OS_NATIVE(GetTickCount)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetTickCount_FUNC);
-	rc = (jint)GetTickCount();
-	OS_NATIVE_EXIT(env, that, GetTickCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetUpdateRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetUpdateRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetUpdateRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetUpdateRect((HWND)arg0, (LPRECT)lparg1, (BOOL)arg2);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetUpdateRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetUpdateRgn
-JNIEXPORT jint JNICALL OS_NATIVE(GetUpdateRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetUpdateRgn_FUNC);
-	rc = (jint)GetUpdateRgn((HWND)arg0, (HRGN)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, GetUpdateRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OSVERSIONINFOA _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2_FUNC);
-	if (arg0) if ((lparg0 = getOSVERSIONINFOAFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetVersionExA(lparg0);
-fail:
-	if (arg0 && lparg0) setOSVERSIONINFOAFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OSVERSIONINFOEXA _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2_FUNC);
-	if (arg0) if ((lparg0 = getOSVERSIONINFOEXAFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetVersionExA((LPOSVERSIONINFOA)lparg0);
-fail:
-	if (arg0 && lparg0) setOSVERSIONINFOEXAFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OSVERSIONINFOEXW _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2_FUNC);
-	if (arg0) if ((lparg0 = getOSVERSIONINFOEXWFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetVersionExW((LPOSVERSIONINFOW)lparg0);
-fail:
-	if (arg0 && lparg0) setOSVERSIONINFOEXWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	OSVERSIONINFOW _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2_FUNC);
-	if (arg0) if ((lparg0 = getOSVERSIONINFOWFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)GetVersionExW(lparg0);
-fail:
-	if (arg0 && lparg0) setOSVERSIONINFOWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindow
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindow_FUNC);
-	rc = (jint)GetWindow((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowDC
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowDC_FUNC);
-	rc = (jint)GetWindowDC((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowLongA
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowLongA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowLongA_FUNC);
-	rc = (jint)GetWindowLongA((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetWindowLongA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowLongW
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowLongW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowLongW_FUNC);
-	rc = (jint)GetWindowLongW((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GetWindowLongW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowOrgEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetWindowOrgEx)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	POINT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowOrgEx_FUNC);
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetWindowOrgEx((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetWindowOrgEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowPlacement
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetWindowPlacement)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	WINDOWPLACEMENT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowPlacement_FUNC);
-	if (arg1) if ((lparg1 = getWINDOWPLACEMENTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetWindowPlacement((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setWINDOWPLACEMENTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetWindowPlacement_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetWindowRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)GetWindowRect((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, GetWindowRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowRgn
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowRgn_FUNC);
-	rc = (jint)GetWindowRgn((HWND)arg0, (HRGN)arg1);
-	OS_NATIVE_EXIT(env, that, GetWindowRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowTextA
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowTextA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowTextA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowTextA((HWND)arg0, (LPSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowTextA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowTextLengthA
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowTextLengthA)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowTextLengthA_FUNC);
-	rc = (jint)GetWindowTextLengthA((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowTextLengthA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowTextLengthW
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowTextLengthW)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowTextLengthW_FUNC);
-	rc = (jint)GetWindowTextLengthW((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, GetWindowTextLengthW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowTextW
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowTextW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowTextW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowTextW((HWND)arg0, (LPWSTR)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowTextW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWindowThreadProcessId
-JNIEXPORT jint JNICALL OS_NATIVE(GetWindowThreadProcessId)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
-{
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWindowThreadProcessId_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)GetWindowThreadProcessId((HWND)arg0, (LPDWORD)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWindowThreadProcessId_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GetWorldTransform
-JNIEXPORT jboolean JNICALL OS_NATIVE(GetWorldTransform)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GetWorldTransform_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)GetWorldTransform((HDC)arg0, (LPXFORM)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, GetWorldTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalAddAtomA
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalAddAtomA)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalAddAtomA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GlobalAddAtomA((LPCTSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GlobalAddAtomA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalAddAtomW
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalAddAtomW)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalAddAtomW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)GlobalAddAtomW((LPCWSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, GlobalAddAtomW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalAlloc
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalAlloc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalAlloc_FUNC);
-	rc = (jint)GlobalAlloc(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, GlobalAlloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalFree
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalFree_FUNC);
-	rc = (jint)GlobalFree((HANDLE)arg0);
-	OS_NATIVE_EXIT(env, that, GlobalFree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalLock
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalLock)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalLock_FUNC);
-	rc = (jint)GlobalLock((HANDLE)arg0);
-	OS_NATIVE_EXIT(env, that, GlobalLock_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalSize
-JNIEXPORT jint JNICALL OS_NATIVE(GlobalSize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalSize_FUNC);
-	rc = (jint)GlobalSize((HANDLE)arg0);
-	OS_NATIVE_EXIT(env, that, GlobalSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GlobalUnlock
-JNIEXPORT jboolean JNICALL OS_NATIVE(GlobalUnlock)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GlobalUnlock_FUNC);
-	rc = (jboolean)GlobalUnlock((HANDLE)arg0);
-	OS_NATIVE_EXIT(env, that, GlobalUnlock_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_GradientFill
-JNIEXPORT jboolean JNICALL OS_NATIVE(GradientFill)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, GradientFill_FUNC);
-/*
-	rc = (jboolean)GradientFill((HDC)arg0, (PTRIVERTEX)arg1, (ULONG)arg2, (PVOID)arg3, (ULONG)arg4, (ULONG)arg5);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(GradientFill_LIB);
-			if (hm) fp = GetProcAddress(hm, "GradientFill");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HDC)arg0, (PTRIVERTEX)arg1, (ULONG)arg2, (PVOID)arg3, (ULONG)arg4, (ULONG)arg5);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, GradientFill_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HeapAlloc
-JNIEXPORT jint JNICALL OS_NATIVE(HeapAlloc)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HeapAlloc_FUNC);
-	rc = (jint)HeapAlloc((HANDLE)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, HeapAlloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HeapFree
-JNIEXPORT jboolean JNICALL OS_NATIVE(HeapFree)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HeapFree_FUNC);
-	rc = (jboolean)HeapFree((HANDLE)arg0, arg1, (LPVOID)arg2);
-	OS_NATIVE_EXIT(env, that, HeapFree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HideCaret
-JNIEXPORT jboolean JNICALL OS_NATIVE(HideCaret)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, HideCaret_FUNC);
-	rc = (jboolean)HideCaret((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, HideCaret_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_HitTestThemeBackground
-JNIEXPORT jint JNICALL OS_NATIVE(HitTestThemeBackground)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jint arg6, jobject arg7, jshortArray arg8)
-{
-	RECT _arg5, *lparg5=NULL;
-	POINT _arg7, *lparg7=NULL;
-	jshort *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, HitTestThemeBackground_FUNC);
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getPOINTFields(env, arg7, &_arg7)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetShortArrayElements(env, arg8, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)HitTestThemeBackground(arg0, arg1, arg2, arg3, arg4, lparg5, arg6, *lparg7, lparg8);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(HitTestThemeBackground_LIB);
-			if (hm) fp = GetProcAddress(hm, "HitTestThemeBackground");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1, arg2, arg3, arg4, lparg5, arg6, *lparg7, lparg8);
-		}
-	}
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseShortArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) setPOINTFields(env, arg7, lparg7);
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	OS_NATIVE_EXIT(env, that, HitTestThemeBackground_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IIDFromString
-JNIEXPORT jint JNICALL OS_NATIVE(IIDFromString)
-	(JNIEnv *env, jclass that, jcharArray arg0, jbyteArray arg1)
-{
-	jchar *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, IIDFromString_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)IIDFromString((LPOLESTR)lparg0, (LPIID)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, IIDFromString_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Add
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1Add)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Add_FUNC);
-	rc = (jint)ImageList_Add((HIMAGELIST)arg0, (HBITMAP)arg1, (HBITMAP)arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1Add_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1AddMasked
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1AddMasked)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1AddMasked_FUNC);
-	rc = (jint)ImageList_AddMasked((HIMAGELIST)arg0, (HBITMAP)arg1, (COLORREF)arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1AddMasked_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1BeginDrag
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1BeginDrag)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1BeginDrag_FUNC);
-	rc = (jboolean)ImageList_BeginDrag((HIMAGELIST)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, ImageList_1BeginDrag_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Create
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1Create)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Create_FUNC);
-	rc = (jint)ImageList_Create(arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, ImageList_1Create_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Destroy
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1Destroy)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Destroy_FUNC);
-	rc = (jboolean)ImageList_Destroy((HIMAGELIST)arg0);
-	OS_NATIVE_EXIT(env, that, ImageList_1Destroy_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1DragEnter
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1DragEnter)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1DragEnter_FUNC);
-	rc = (jboolean)ImageList_DragEnter((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1DragEnter_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1DragLeave
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1DragLeave)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1DragLeave_FUNC);
-	rc = (jboolean)ImageList_DragLeave((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, ImageList_1DragLeave_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1DragMove
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1DragMove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1DragMove_FUNC);
-	rc = (jboolean)ImageList_DragMove(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ImageList_1DragMove_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1DragShowNolock
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1DragShowNolock)
-	(JNIEnv *env, jclass that, jboolean arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1DragShowNolock_FUNC);
-	rc = (jboolean)ImageList_DragShowNolock((BOOL)arg0);
-	OS_NATIVE_EXIT(env, that, ImageList_1DragShowNolock_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Draw
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1Draw)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Draw_FUNC);
-	rc = (jboolean)ImageList_Draw((HIMAGELIST)arg0, arg1, (HDC)arg2, arg3, arg4, (UINT)arg5);
-	OS_NATIVE_EXIT(env, that, ImageList_1Draw_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1EndDrag
-JNIEXPORT void JNICALL OS_NATIVE(ImageList_1EndDrag)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, ImageList_1EndDrag_FUNC);
-	ImageList_EndDrag();
-	OS_NATIVE_EXIT(env, that, ImageList_1EndDrag_FUNC);
-}
-#endif
-
-#ifndef NO_ImageList_1GetDragImage
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1GetDragImage)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	POINT _arg0, *lparg0=NULL;
-	POINT _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1GetDragImage_FUNC);
-	if (arg0) if ((lparg0 = getPOINTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)ImageList_GetDragImage((POINT *)lparg0, (POINT *)lparg1);
-fail:
-	if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setPOINTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ImageList_1GetDragImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1GetIcon
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1GetIcon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1GetIcon_FUNC);
-	rc = (jint)ImageList_GetIcon((HIMAGELIST)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1GetIcon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1GetIconSize
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1GetIconSize)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1GetIconSize_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)ImageList_GetIconSize((HIMAGELIST)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ImageList_1GetIconSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1GetImageCount
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1GetImageCount)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1GetImageCount_FUNC);
-	rc = (jint)ImageList_GetImageCount((HIMAGELIST)arg0);
-	OS_NATIVE_EXIT(env, that, ImageList_1GetImageCount_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Remove
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1Remove)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Remove_FUNC);
-	rc = (jboolean)ImageList_Remove((HIMAGELIST)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ImageList_1Remove_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1Replace
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1Replace)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1Replace_FUNC);
-	rc = (jboolean)ImageList_Replace((HIMAGELIST)arg0, arg1, (HBITMAP)arg2, (HBITMAP)arg3);
-	OS_NATIVE_EXIT(env, that, ImageList_1Replace_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1ReplaceIcon
-JNIEXPORT jint JNICALL OS_NATIVE(ImageList_1ReplaceIcon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1ReplaceIcon_FUNC);
-	rc = (jint)ImageList_ReplaceIcon((HIMAGELIST)arg0, arg1, (HICON)arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1ReplaceIcon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImageList_1SetIconSize
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImageList_1SetIconSize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImageList_1SetIconSize_FUNC);
-	rc = (jboolean)ImageList_SetIconSize((HIMAGELIST)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ImageList_1SetIconSize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmAssociateContext
-JNIEXPORT jint JNICALL OS_NATIVE(ImmAssociateContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmAssociateContext_FUNC);
-	rc = (jint)ImmAssociateContext((HWND)arg0, (HIMC)arg1);
-	OS_NATIVE_EXIT(env, that, ImmAssociateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmCreateContext
-JNIEXPORT jint JNICALL OS_NATIVE(ImmCreateContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmCreateContext_FUNC);
-	rc = (jint)ImmCreateContext();
-	OS_NATIVE_EXIT(env, that, ImmCreateContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmDestroyContext
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmDestroyContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmDestroyContext_FUNC);
-	rc = (jboolean)ImmDestroyContext((HIMC)arg0);
-	OS_NATIVE_EXIT(env, that, ImmDestroyContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmDisableTextFrameService
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmDisableTextFrameService)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmDisableTextFrameService_FUNC);
-/*
-	rc = (jboolean)ImmDisableTextFrameService(arg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(ImmDisableTextFrameService_LIB);
-			if (hm) fp = GetProcAddress(hm, "ImmDisableTextFrameService");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp(arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, ImmDisableTextFrameService_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetCompositionFontA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmGetCompositionFontA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	LOGFONTA _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetCompositionFontA_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ImmGetCompositionFontA((HIMC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setLOGFONTAFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ImmGetCompositionFontA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetCompositionFontW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmGetCompositionFontW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	LOGFONTW _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetCompositionFontW_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ImmGetCompositionFontW((HIMC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setLOGFONTWFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ImmGetCompositionFontW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetCompositionStringA
-JNIEXPORT jint JNICALL OS_NATIVE(ImmGetCompositionStringA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetCompositionStringA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ImmGetCompositionStringA((HIMC)arg0, arg1, (LPSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ImmGetCompositionStringA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetCompositionStringW
-JNIEXPORT jint JNICALL OS_NATIVE(ImmGetCompositionStringW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetCompositionStringW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ImmGetCompositionStringW((HIMC)arg0, arg1, (LPWSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ImmGetCompositionStringW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetContext
-JNIEXPORT jint JNICALL OS_NATIVE(ImmGetContext)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetContext_FUNC);
-	rc = (jint)ImmGetContext((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, ImmGetContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetConversionStatus
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmGetConversionStatus)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
-{
-	jint *lparg1=NULL;
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetConversionStatus_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)ImmGetConversionStatus((HIMC)arg0, lparg1, lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ImmGetConversionStatus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetDefaultIMEWnd
-JNIEXPORT jint JNICALL OS_NATIVE(ImmGetDefaultIMEWnd)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetDefaultIMEWnd_FUNC);
-	rc = (jint)ImmGetDefaultIMEWnd((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, ImmGetDefaultIMEWnd_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmGetOpenStatus
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmGetOpenStatus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmGetOpenStatus_FUNC);
-	rc = (jboolean)ImmGetOpenStatus((HIMC)arg0);
-	OS_NATIVE_EXIT(env, that, ImmGetOpenStatus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmReleaseContext
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmReleaseContext)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmReleaseContext_FUNC);
-	rc = (jboolean)ImmReleaseContext((HWND)arg0, (HIMC)arg1);
-	OS_NATIVE_EXIT(env, that, ImmReleaseContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmSetCompositionFontA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmSetCompositionFontA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	LOGFONTA _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmSetCompositionFontA_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ImmSetCompositionFontA((HIMC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setLOGFONTAFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ImmSetCompositionFontA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmSetCompositionFontW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmSetCompositionFontW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	LOGFONTW _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmSetCompositionFontW_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ImmSetCompositionFontW((HIMC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setLOGFONTWFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ImmSetCompositionFontW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmSetCompositionWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmSetCompositionWindow)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	COMPOSITIONFORM _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmSetCompositionWindow_FUNC);
-	if (arg1) if ((lparg1 = getCOMPOSITIONFORMFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ImmSetCompositionWindow((HIMC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setCOMPOSITIONFORMFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ImmSetCompositionWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmSetConversionStatus
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmSetConversionStatus)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmSetConversionStatus_FUNC);
-	rc = (jboolean)ImmSetConversionStatus((HIMC)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ImmSetConversionStatus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ImmSetOpenStatus
-JNIEXPORT jboolean JNICALL OS_NATIVE(ImmSetOpenStatus)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ImmSetOpenStatus_FUNC);
-	rc = (jboolean)ImmSetOpenStatus((HIMC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ImmSetOpenStatus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InitCommonControls
-JNIEXPORT void JNICALL OS_NATIVE(InitCommonControls)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, InitCommonControls_FUNC);
-	InitCommonControls();
-	OS_NATIVE_EXIT(env, that, InitCommonControls_FUNC);
-}
-#endif
-
-#ifndef NO_InitCommonControlsEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(InitCommonControlsEx)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	INITCOMMONCONTROLSEX _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InitCommonControlsEx_FUNC);
-	if (arg0) if ((lparg0 = getINITCOMMONCONTROLSEXFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)InitCommonControlsEx(lparg0);
-fail:
-	if (arg0 && lparg0) setINITCOMMONCONTROLSEXFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, InitCommonControlsEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InsertMenuA
-JNIEXPORT jboolean JNICALL OS_NATIVE(InsertMenuA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jbyteArray arg4)
-{
-	jbyte *lparg4=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InsertMenuA_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jboolean)InsertMenuA((HMENU)arg0, arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, InsertMenuA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InsertMenuItemA
-JNIEXPORT jboolean JNICALL OS_NATIVE(InsertMenuItemA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InsertMenuItemA_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)InsertMenuItemA((HMENU)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, InsertMenuItemA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InsertMenuItemW
-JNIEXPORT jboolean JNICALL OS_NATIVE(InsertMenuItemW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InsertMenuItemW_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)InsertMenuItemW((HMENU)arg0, arg1, arg2, (LPMENUITEMINFOW)lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, InsertMenuItemW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InsertMenuW
-JNIEXPORT jboolean JNICALL OS_NATIVE(InsertMenuW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4)
-{
-	jchar *lparg4=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InsertMenuW_FUNC);
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jboolean)InsertMenuW((HMENU)arg0, arg1, arg2, arg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	OS_NATIVE_EXIT(env, that, InsertMenuW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InternetSetOption
-JNIEXPORT jboolean JNICALL OS_NATIVE(InternetSetOption)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InternetSetOption_FUNC);
-	rc = (jboolean)InternetSetOption((HINTERNET)arg0, arg1, (LPVOID)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, InternetSetOption_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IntersectClipRect
-JNIEXPORT jint JNICALL OS_NATIVE(IntersectClipRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, IntersectClipRect_FUNC);
-	rc = (jint)IntersectClipRect((HDC)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, IntersectClipRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IntersectRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(IntersectRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	RECT _arg0, *lparg0=NULL;
-	RECT _arg1, *lparg1=NULL;
-	RECT _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IntersectRect_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)IntersectRect(lparg0, lparg1, lparg2);
-fail:
-	if (arg0 && lparg0) setRECTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, IntersectRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InvalidateRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(InvalidateRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InvalidateRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)InvalidateRect((HWND)arg0, lparg1, arg2);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, InvalidateRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_InvalidateRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(InvalidateRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, InvalidateRgn_FUNC);
-	rc = (jboolean)InvalidateRgn((HWND)arg0, (HRGN)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, InvalidateRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsAppThemed
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsAppThemed)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsAppThemed_FUNC);
-/*
-	rc = (jboolean)IsAppThemed();
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(IsAppThemed_LIB);
-			if (hm) fp = GetProcAddress(hm, "IsAppThemed");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp();
-		}
-	}
-	OS_NATIVE_EXIT(env, that, IsAppThemed_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsDBCSLeadByte
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsDBCSLeadByte)
-	(JNIEnv *env, jclass that, jbyte arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsDBCSLeadByte_FUNC);
-	rc = (jboolean)IsDBCSLeadByte(arg0);
-	OS_NATIVE_EXIT(env, that, IsDBCSLeadByte_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsHungAppWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsHungAppWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsHungAppWindow_FUNC);
-/*
-	rc = (jboolean)IsHungAppWindow((HWND)arg0);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(IsHungAppWindow_LIB);
-			if (hm) fp = GetProcAddress(hm, "IsHungAppWindow");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HWND)arg0);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, IsHungAppWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsIconic
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsIconic)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsIconic_FUNC);
-	rc = (jboolean)IsIconic((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, IsIconic_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsWindowEnabled
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsWindowEnabled)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsWindowEnabled_FUNC);
-	rc = (jboolean)IsWindowEnabled((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, IsWindowEnabled_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsWindowVisible
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsWindowVisible)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsWindowVisible_FUNC);
-	rc = (jboolean)IsWindowVisible((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, IsWindowVisible_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_IsZoomed
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsZoomed)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, IsZoomed_FUNC);
-	rc = (jboolean)IsZoomed((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, IsZoomed_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_KillTimer
-JNIEXPORT jboolean JNICALL OS_NATIVE(KillTimer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, KillTimer_FUNC);
-	rc = (jboolean)KillTimer((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, KillTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LineTo
-JNIEXPORT jboolean JNICALL OS_NATIVE(LineTo)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, LineTo_FUNC);
-	rc = (jboolean)LineTo((HDC)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, LineTo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadBitmapA
-JNIEXPORT jint JNICALL OS_NATIVE(LoadBitmapA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadBitmapA_FUNC);
-	rc = (jint)LoadBitmapA((HINSTANCE)arg0, (LPSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadBitmapA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadBitmapW
-JNIEXPORT jint JNICALL OS_NATIVE(LoadBitmapW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadBitmapW_FUNC);
-	rc = (jint)LoadBitmapW((HINSTANCE)arg0, (LPWSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadBitmapW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadCursorA
-JNIEXPORT jint JNICALL OS_NATIVE(LoadCursorA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadCursorA_FUNC);
-	rc = (jint)LoadCursorA((HINSTANCE)arg0, (LPSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadCursorA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadCursorW
-JNIEXPORT jint JNICALL OS_NATIVE(LoadCursorW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadCursorW_FUNC);
-	rc = (jint)LoadCursorW((HINSTANCE)arg0, (LPWSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadCursorW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadIconA
-JNIEXPORT jint JNICALL OS_NATIVE(LoadIconA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadIconA_FUNC);
-	rc = (jint)LoadIconA((HINSTANCE)arg0, (LPSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadIconA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadIconW
-JNIEXPORT jint JNICALL OS_NATIVE(LoadIconW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadIconW_FUNC);
-	rc = (jint)LoadIconW((HINSTANCE)arg0, (LPWSTR)arg1);
-	OS_NATIVE_EXIT(env, that, LoadIconW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadImageA__IIIIII
-JNIEXPORT jint JNICALL OS_NATIVE(LoadImageA__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadImageA__IIIIII_FUNC);
-	rc = (jint)LoadImageA((HINSTANCE)arg0, (LPSTR)arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, LoadImageA__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadImageA__I_3BIIII
-JNIEXPORT jint JNICALL OS_NATIVE(LoadImageA__I_3BIIII)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadImageA__I_3BIIII_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)LoadImageA((HINSTANCE)arg0, (LPSTR)lparg1, arg2, arg3, arg4, arg5);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, LoadImageA__I_3BIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadImageW__IIIIII
-JNIEXPORT jint JNICALL OS_NATIVE(LoadImageW__IIIIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadImageW__IIIIII_FUNC);
-	rc = (jint)LoadImageW((HINSTANCE)arg0, (LPWSTR)arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, LoadImageW__IIIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadImageW__I_3CIIII
-JNIEXPORT jint JNICALL OS_NATIVE(LoadImageW__I_3CIIII)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadImageW__I_3CIIII_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)LoadImageW((HINSTANCE)arg0, (LPWSTR)lparg1, arg2, arg3, arg4, arg5);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, LoadImageW__I_3CIIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadLibraryA
-JNIEXPORT jint JNICALL OS_NATIVE(LoadLibraryA)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadLibraryA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)LoadLibraryA((LPSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, LoadLibraryA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadLibraryW
-JNIEXPORT jint JNICALL OS_NATIVE(LoadLibraryW)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadLibraryW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)LoadLibraryW((LPWSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, LoadLibraryW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadStringA
-JNIEXPORT jint JNICALL OS_NATIVE(LoadStringA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadStringA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)LoadStringA((HINSTANCE)arg0, arg1, (LPSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, LoadStringA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LoadStringW
-JNIEXPORT jint JNICALL OS_NATIVE(LoadStringW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LoadStringW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)LoadStringW((HINSTANCE)arg0, arg1, (LPWSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, LoadStringW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LocalFree
-JNIEXPORT jint JNICALL OS_NATIVE(LocalFree)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, LocalFree_FUNC);
-	rc = (jint)LocalFree((HLOCAL)arg0);
-	OS_NATIVE_EXIT(env, that, LocalFree_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_LockWindowUpdate
-JNIEXPORT jboolean JNICALL OS_NATIVE(LockWindowUpdate)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, LockWindowUpdate_FUNC);
-	rc = (jboolean)LockWindowUpdate((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, LockWindowUpdate_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MCIWndRegisterClass
-JNIEXPORT jboolean JNICALL OS_NATIVE(MCIWndRegisterClass)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, MCIWndRegisterClass_FUNC);
-	rc = (jboolean)MCIWndRegisterClass((HINSTANCE)arg0);
-	OS_NATIVE_EXIT(env, that, MCIWndRegisterClass_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MapVirtualKeyA
-JNIEXPORT jint JNICALL OS_NATIVE(MapVirtualKeyA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MapVirtualKeyA_FUNC);
-	rc = (jint)MapVirtualKeyA(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, MapVirtualKeyA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MapVirtualKeyW
-JNIEXPORT jint JNICALL OS_NATIVE(MapVirtualKeyW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MapVirtualKeyW_FUNC);
-	rc = (jint)MapVirtualKeyW(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, MapVirtualKeyW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I
-JNIEXPORT jint JNICALL OS_NATIVE(MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	POINT _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
-	if (arg2) if ((lparg2 = getPOINTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)MapWindowPoints((HWND)arg0, (HWND)arg1, (LPPOINT)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setPOINTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I
-JNIEXPORT jint JNICALL OS_NATIVE(MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	RECT _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)MapWindowPoints((HWND)arg0, (HWND)arg1, (LPPOINT)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MessageBeep
-JNIEXPORT jboolean JNICALL OS_NATIVE(MessageBeep)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, MessageBeep_FUNC);
-	rc = (jboolean)MessageBeep(arg0);
-	OS_NATIVE_EXIT(env, that, MessageBeep_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MessageBoxA
-JNIEXPORT jint JNICALL OS_NATIVE(MessageBoxA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jint arg3)
-{
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MessageBoxA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)MessageBoxA((HWND)arg0, (LPSTR)lparg1, (LPSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, MessageBoxA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MessageBoxW
-JNIEXPORT jint JNICALL OS_NATIVE(MessageBoxW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jcharArray arg2, jint arg3)
-{
-	jchar *lparg1=NULL;
-	jchar *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MessageBoxW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)MessageBoxW((HWND)arg0, (LPWSTR)lparg1, (LPWSTR)lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, MessageBoxW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MonitorFromWindow
-JNIEXPORT jint JNICALL OS_NATIVE(MonitorFromWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MonitorFromWindow_FUNC);
-/*
-	rc = (jint)MonitorFromWindow(arg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(MonitorFromWindow_LIB);
-			if (hm) fp = GetProcAddress(hm, "MonitorFromWindow");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp(arg0, arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, MonitorFromWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	DROPFILES _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I_FUNC);
-	if (arg1) if ((lparg1 = getDROPFILESFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	GRADIENT_RECT _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I_FUNC);
-	if (arg1) if ((lparg1 = getGRADIENT_RECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	KEYBDINPUT _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I_FUNC);
-	if (arg1) if ((lparg1 = getKEYBDINPUTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	LOGFONTA _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	LOGFONTW _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I_FUNC);
-	if (arg1) if ((lparg1 = getLOGFONTWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	MEASUREITEMSTRUCT _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I_FUNC);
-	if (arg1) if ((lparg1 = getMEASUREITEMSTRUCTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	MINMAXINFO _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I_FUNC);
-	if (arg1) if ((lparg1 = getMINMAXINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	MOUSEINPUT _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I_FUNC);
-	if (arg1) if ((lparg1 = getMOUSEINPUTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	MSG _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I_FUNC);
-	if (arg1) if ((lparg1 = getMSGFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMLVCUSTOMDRAW _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMLVCUSTOMDRAWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMLVDISPINFO _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMLVDISPINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMTTDISPINFOA _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMTTDISPINFOAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMTTDISPINFOW _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMTTDISPINFOWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMTVCUSTOMDRAW _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMTVCUSTOMDRAWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	NMTVDISPINFO _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC);
-	if (arg1) if ((lparg1 = getNMTVDISPINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	RECT _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	TRIVERTEX _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I_FUNC);
-	if (arg1) if ((lparg1 = getTRIVERTEXFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	UDACCEL _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I_FUNC);
-	if (arg1) if ((lparg1 = getUDACCELFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
-{
-	WINDOWPOS _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I_FUNC);
-	if (arg1) if ((lparg1 = getWINDOWPOSFields(env, arg1, &_arg1)) == NULL) goto fail;
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-	OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3BI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3BI)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
-{
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3BI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3CI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2)
-{
-	jchar *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3CI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3DI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3DI)
-	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2)
-{
-	jdouble *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3DI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3DI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3FI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3FI)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1, jint arg2)
-{
-	jfloat *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3FI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3FI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3II)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3II_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3JI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3JI)
-	(JNIEnv *env, jclass that, jint arg0, jlongArray arg1, jint arg2)
-{
-	jlong *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3JI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseLongArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3JI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__I_3SI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__I_3SI)
-	(JNIEnv *env, jclass that, jint arg0, jshortArray arg1, jint arg2)
-{
-	jshort *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__I_3SI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetShortArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseShortArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory__I_3SI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI)
-	(JNIEnv *env, jclass that, jobject arg0, jbyteArray arg1, jint arg2)
-{
-	BITMAPINFOHEADER _arg0, *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	if (arg0 && lparg0) setBITMAPINFOHEADERFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	DRAWITEMSTRUCT _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setDRAWITEMSTRUCTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	EXTLOGPEN _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setEXTLOGPENFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	HDITEM _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setHDITEMFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	HELPINFO _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setHELPINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	LOGFONTA _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setLOGFONTAFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	LOGFONTW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setLOGFONTWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	MEASUREITEMSTRUCT _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setMEASUREITEMSTRUCTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	MINMAXINFO _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setMINMAXINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	MSG _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMCUSTOMDRAW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMCUSTOMDRAWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMHDR _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMHDRFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMHEADER _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMHEADERFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMLINK _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMLINKFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMLISTVIEW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMLISTVIEWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMLVCUSTOMDRAW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMLVCUSTOMDRAWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMLVDISPINFO _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMLVDISPINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMLVFINDITEM _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMLVFINDITEMFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMREBARCHEVRON _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMREBARCHEVRONFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMREBARCHILDSIZE _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMREBARCHILDSIZEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMRGINFO _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMRGINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTBHOTITEM _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTBHOTITEMFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTOOLBAR _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTOOLBARFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTTDISPINFOA _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTTDISPINFOAFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTTDISPINFOW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTTDISPINFOWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTVCUSTOMDRAW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTVCUSTOMDRAWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTVDISPINFO _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTVDISPINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMTVITEMCHANGE _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMTVITEMCHANGEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	NMUPDOWN _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setNMUPDOWNFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	POINT _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setPOINTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	SCRIPT_ITEM _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setSCRIPT_ITEMFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	SCRIPT_LOGATTR _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setSCRIPT_LOGATTRFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	SCRIPT_PROPERTIES _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setSCRIPT_PROPERTIESFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	TEXTMETRICA _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setTEXTMETRICAFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	TEXTMETRICW _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setTEXTMETRICWFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	TVITEM _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setTVITEMFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	UDACCEL _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setUDACCELFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	WINDOWPOS _arg0, *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-	if (arg0 && lparg0) setWINDOWPOSFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3BII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3BII)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3BII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3BII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jobject arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	ACCEL _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I_FUNC);
-	if (arg1) if ((lparg1 = getACCELFields(env, arg1, &_arg1)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jobject arg1, jint arg2)
-{
-	jbyte *lparg0=NULL;
-	BITMAPINFOHEADER _arg1, *lparg1=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I_FUNC);
-	if (arg1) if ((lparg1 = getBITMAPINFOHEADERFields(env, arg1, &_arg1)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3CII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3CII)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
-{
-	jchar *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3CII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3CII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3DII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3DII)
-	(JNIEnv *env, jclass that, jdoubleArray arg0, jint arg1, jint arg2)
-{
-	jdouble *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3DII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3DII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3FII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3FII)
-	(JNIEnv *env, jclass that, jfloatArray arg0, jint arg1, jint arg2)
-{
-	jfloat *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3FII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3FII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3III
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3III)
-	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
-{
-	jint *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3III_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3III_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3JII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3JII)
-	(JNIEnv *env, jclass that, jlongArray arg0, jint arg1, jint arg2)
-{
-	jlong *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3JII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetLongArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseLongArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3JII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveMemory___3SII
-JNIEXPORT void JNICALL OS_NATIVE(MoveMemory___3SII)
-	(JNIEnv *env, jclass that, jshortArray arg0, jint arg1, jint arg2)
-{
-	jshort *lparg0=NULL;
-	OS_NATIVE_ENTER(env, that, MoveMemory___3SII_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0) if ((lparg0 = (*env)->GetPrimitiveArrayCritical(env, arg0, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg0) if ((lparg0 = (*env)->GetShortArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	}
-	MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg0 && lparg0) (*env)->ReleasePrimitiveArrayCritical(env, arg0, lparg0, 0);
-	} else
-#endif
-	{
-		if (arg0 && lparg0) (*env)->ReleaseShortArrayElements(env, arg0, lparg0, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MoveMemory___3SII_FUNC);
-}
-#endif
-
-#ifndef NO_MoveToEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(MoveToEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, MoveToEx_FUNC);
-	rc = (jboolean)MoveToEx((HDC)arg0, arg1, arg2, (LPPOINT)arg3);
-	OS_NATIVE_EXIT(env, that, MoveToEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MsgWaitForMultipleObjectsEx
-JNIEXPORT jint JNICALL OS_NATIVE(MsgWaitForMultipleObjectsEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MsgWaitForMultipleObjectsEx_FUNC);
-	rc = (jint)MsgWaitForMultipleObjectsEx((DWORD)arg0, (LPHANDLE)arg1, (DWORD)arg2, (DWORD)arg3, (DWORD)arg4);
-	OS_NATIVE_EXIT(env, that, MsgWaitForMultipleObjectsEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MultiByteToWideChar__IIII_3CI
-JNIEXPORT jint JNICALL OS_NATIVE(MultiByteToWideChar__IIII_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jcharArray arg4, jint arg5)
-{
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MultiByteToWideChar__IIII_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)MultiByteToWideChar(arg0, arg1, (LPCSTR)arg2, arg3, (LPWSTR)lparg4, arg5);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	}
-	OS_NATIVE_EXIT(env, that, MultiByteToWideChar__IIII_3CI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_MultiByteToWideChar__II_3BI_3CI
-JNIEXPORT jint JNICALL OS_NATIVE(MultiByteToWideChar__II_3BI_3CI)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jcharArray arg4, jint arg5)
-{
-	jbyte *lparg2=NULL;
-	jchar *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, MultiByteToWideChar__II_3BI_3CI_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)MultiByteToWideChar(arg0, arg1, (LPCSTR)lparg2, arg3, (LPWSTR)lparg4, arg5);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-		if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, MultiByteToWideChar__II_3BI_3CI_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_NotifyWinEvent
-JNIEXPORT void JNICALL OS_NATIVE(NotifyWinEvent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	OS_NATIVE_ENTER(env, that, NotifyWinEvent_FUNC);
-/*
-	NotifyWinEvent((DWORD)arg0, (HWND)arg1, (LONG)arg2, (LONG)arg3);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(NotifyWinEvent_LIB);
-			if (hm) fp = GetProcAddress(hm, "NotifyWinEvent");
-			initialized = 1;
-		}
-		if (fp) {
-			fp((DWORD)arg0, (HWND)arg1, (LONG)arg2, (LONG)arg3);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, NotifyWinEvent_FUNC);
-}
-#endif
-
-#ifndef NO_OffsetRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(OffsetRect)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	RECT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, OffsetRect_FUNC);
-	if (arg0) if ((lparg0 = getRECTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)OffsetRect(lparg0, arg1, arg2);
-fail:
-	if (arg0 && lparg0) setRECTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, OffsetRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OffsetRgn
-JNIEXPORT jint JNICALL OS_NATIVE(OffsetRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, OffsetRgn_FUNC);
-	rc = (jint)OffsetRgn((HRGN)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, OffsetRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleInitialize
-JNIEXPORT jint JNICALL OS_NATIVE(OleInitialize)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, OleInitialize_FUNC);
-	rc = (jint)OleInitialize((LPVOID)arg0);
-	OS_NATIVE_EXIT(env, that, OleInitialize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OleUninitialize
-JNIEXPORT void JNICALL OS_NATIVE(OleUninitialize)
-	(JNIEnv *env, jclass that)
-{
-	OS_NATIVE_ENTER(env, that, OleUninitialize_FUNC);
-	OleUninitialize();
-	OS_NATIVE_EXIT(env, that, OleUninitialize_FUNC);
-}
-#endif
-
-#ifndef NO_OpenClipboard
-JNIEXPORT jboolean JNICALL OS_NATIVE(OpenClipboard)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, OpenClipboard_FUNC);
-	rc = (jboolean)OpenClipboard((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, OpenClipboard_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_OpenThemeData
-JNIEXPORT jint JNICALL OS_NATIVE(OpenThemeData)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1)
-{
-	jchar *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, OpenThemeData_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)OpenThemeData((HWND)arg0, (LPCWSTR)lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(OpenThemeData_LIB);
-			if (hm) fp = GetProcAddress(hm, "OpenThemeData");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HWND)arg0, (LPCWSTR)lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, OpenThemeData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PRIMARYLANGID
-JNIEXPORT jshort JNICALL OS_NATIVE(PRIMARYLANGID)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, PRIMARYLANGID_FUNC);
-	rc = (jshort)PRIMARYLANGID(arg0);
-	OS_NATIVE_EXIT(env, that, PRIMARYLANGID_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PatBlt
-JNIEXPORT jboolean JNICALL OS_NATIVE(PatBlt)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PatBlt_FUNC);
-	rc = (jboolean)PatBlt((HDC)arg0, arg1, arg2, arg3, arg4, arg5);
-	OS_NATIVE_EXIT(env, that, PatBlt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PeekMessageA
-JNIEXPORT jboolean JNICALL OS_NATIVE(PeekMessageA)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	MSG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PeekMessageA_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)PeekMessageA(lparg0, (HWND)arg1, arg2, arg3, arg4);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PeekMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PeekMessageW
-JNIEXPORT jboolean JNICALL OS_NATIVE(PeekMessageW)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	MSG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PeekMessageW_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)PeekMessageW(lparg0, (HWND)arg1, arg2, arg3, arg4);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PeekMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Pie
-JNIEXPORT jboolean JNICALL OS_NATIVE(Pie)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Pie_FUNC);
-	rc = (jboolean)Pie((HDC)arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-	OS_NATIVE_EXIT(env, that, Pie_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Polygon
-JNIEXPORT jboolean JNICALL OS_NATIVE(Polygon)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Polygon_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)Polygon((HDC)arg0, (CONST POINT *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, Polygon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Polyline
-JNIEXPORT jboolean JNICALL OS_NATIVE(Polyline)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Polyline_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1) if ((lparg1 = (*env)->GetPrimitiveArrayCritical(env, arg1, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	}
-	rc = (jboolean)Polyline((HDC)arg0, (CONST POINT *)lparg1, arg2);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg1 && lparg1) (*env)->ReleasePrimitiveArrayCritical(env, arg1, lparg1, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, Polyline_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostMessageA
-JNIEXPORT jboolean JNICALL OS_NATIVE(PostMessageA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PostMessageA_FUNC);
-	rc = (jboolean)PostMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, PostMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostMessageW
-JNIEXPORT jboolean JNICALL OS_NATIVE(PostMessageW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PostMessageW_FUNC);
-	rc = (jboolean)PostMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, PostMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostThreadMessageA
-JNIEXPORT jboolean JNICALL OS_NATIVE(PostThreadMessageA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PostThreadMessageA_FUNC);
-	rc = (jboolean)PostThreadMessageA(arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, PostThreadMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PostThreadMessageW
-JNIEXPORT jboolean JNICALL OS_NATIVE(PostThreadMessageW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PostThreadMessageW_FUNC);
-	rc = (jboolean)PostThreadMessageW(arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, PostThreadMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PrintDlgA
-JNIEXPORT jboolean JNICALL OS_NATIVE(PrintDlgA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PRINTDLG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PrintDlgA_FUNC);
-	if (arg0) if ((lparg0 = getPRINTDLGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)PrintDlgA(lparg0);
-fail:
-	if (arg0 && lparg0) setPRINTDLGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PrintDlgA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PrintDlgW
-JNIEXPORT jboolean JNICALL OS_NATIVE(PrintDlgW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	PRINTDLG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PrintDlgW_FUNC);
-	if (arg0) if ((lparg0 = getPRINTDLGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)PrintDlgW((LPPRINTDLGW)lparg0);
-fail:
-	if (arg0 && lparg0) setPRINTDLGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, PrintDlgW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(PtInRect)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1)
-{
-	RECT _arg0, *lparg0=NULL;
-	POINT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInRect_FUNC);
-	if (arg0) if ((lparg0 = getRECTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)PtInRect(lparg0, *lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, PtInRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_PtInRegion
-JNIEXPORT jboolean JNICALL OS_NATIVE(PtInRegion)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, PtInRegion_FUNC);
-	rc = (jboolean)PtInRegion((HRGN)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, PtInRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RealizePalette
-JNIEXPORT jint JNICALL OS_NATIVE(RealizePalette)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RealizePalette_FUNC);
-	rc = (jint)RealizePalette((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, RealizePalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RectInRegion
-JNIEXPORT jboolean JNICALL OS_NATIVE(RectInRegion)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RectInRegion_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)RectInRegion((HRGN)arg0, lparg1);
-fail:
-	OS_NATIVE_EXIT(env, that, RectInRegion_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Rectangle
-JNIEXPORT jboolean JNICALL OS_NATIVE(Rectangle)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Rectangle_FUNC);
-	rc = (jboolean)Rectangle((HDC)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, Rectangle_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RedrawWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(RedrawWindow)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2, jint arg3)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RedrawWindow_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)RedrawWindow((HWND)arg0, lparg1, (HRGN)arg2, arg3);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, RedrawWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegCloseKey
-JNIEXPORT jint JNICALL OS_NATIVE(RegCloseKey)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegCloseKey_FUNC);
-	rc = (jint)RegCloseKey((HKEY)arg0);
-	OS_NATIVE_EXIT(env, that, RegCloseKey_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegEnumKeyExA
-JNIEXPORT jint JNICALL OS_NATIVE(RegEnumKeyExA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jintArray arg3, jintArray arg4, jbyteArray arg5, jintArray arg6, jobject arg7)
-{
-	jbyte *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg6=NULL;
-	FILETIME _arg7, *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegEnumKeyExA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getFILETIMEFields(env, arg7, &_arg7)) == NULL) goto fail;
-	rc = (jint)RegEnumKeyExA((HKEY)arg0, arg1, (LPSTR)lparg2, lparg3, lparg4, (LPSTR)lparg5, lparg6, lparg7);
-fail:
-	if (arg7 && lparg7) setFILETIMEFields(env, arg7, lparg7);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, RegEnumKeyExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegEnumKeyExW
-JNIEXPORT jint JNICALL OS_NATIVE(RegEnumKeyExW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jintArray arg3, jintArray arg4, jcharArray arg5, jintArray arg6, jobject arg7)
-{
-	jchar *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jchar *lparg5=NULL;
-	jint *lparg6=NULL;
-	FILETIME _arg7, *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegEnumKeyExW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetCharArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = getFILETIMEFields(env, arg7, &_arg7)) == NULL) goto fail;
-	rc = (jint)RegEnumKeyExW((HKEY)arg0, arg1, (LPWSTR)lparg2, lparg3, lparg4, (LPWSTR)lparg5, lparg6, lparg7);
-fail:
-	if (arg7 && lparg7) setFILETIMEFields(env, arg7, lparg7);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseCharArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, RegEnumKeyExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegOpenKeyExA
-JNIEXPORT jint JNICALL OS_NATIVE(RegOpenKeyExA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegOpenKeyExA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)RegOpenKeyExA((HKEY)arg0, (LPSTR)lparg1, arg2, arg3, (PHKEY)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegOpenKeyExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegOpenKeyExW
-JNIEXPORT jint JNICALL OS_NATIVE(RegOpenKeyExW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jint arg3, jintArray arg4)
-{
-	jchar *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegOpenKeyExW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)RegOpenKeyExW((HKEY)arg0, (LPWSTR)lparg1, arg2, arg3, (PHKEY)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegOpenKeyExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryInfoKeyA
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryInfoKeyA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jintArray arg4, jintArray arg5, jintArray arg6, jintArray arg7, jintArray arg8, jintArray arg9, jintArray arg10, jint arg11)
-{
-	jint *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint *lparg9=NULL;
-	jint *lparg10=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryInfoKeyA_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	if (arg10) if ((lparg10 = (*env)->GetIntArrayElements(env, arg10, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryInfoKeyA((HKEY)arg0, (LPSTR)arg1, lparg2, (LPDWORD)arg3, lparg4, lparg5, lparg6, lparg7, lparg8, lparg9, lparg10, (PFILETIME)arg11);
-fail:
-	if (arg10 && lparg10) (*env)->ReleaseIntArrayElements(env, arg10, lparg10, 0);
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryInfoKeyA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryInfoKeyW
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryInfoKeyW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jintArray arg4, jintArray arg5, jintArray arg6, jintArray arg7, jintArray arg8, jintArray arg9, jintArray arg10, jint arg11)
-{
-	jint *lparg2=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint *lparg9=NULL;
-	jint *lparg10=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryInfoKeyW_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	if (arg10) if ((lparg10 = (*env)->GetIntArrayElements(env, arg10, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryInfoKeyW((HKEY)arg0, (LPWSTR)arg1, lparg2, (LPDWORD)arg3, lparg4, lparg5, lparg6, lparg7, lparg8, lparg9, lparg10, (PFILETIME)arg11);
-fail:
-	if (arg10 && lparg10) (*env)->ReleaseIntArrayElements(env, arg10, lparg10, 0);
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryInfoKeyW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryValueExA__I_3BI_3I_3B_3I
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryValueExA__I_3BI_3I_3B_3I)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3, jbyteArray arg4, jintArray arg5)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryValueExA__I_3BI_3I_3B_3I_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryValueExA((HKEY)arg0, (LPSTR)lparg1, (LPDWORD)arg2, lparg3, (LPBYTE)lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryValueExA__I_3BI_3I_3B_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryValueExA__I_3BI_3I_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryValueExA__I_3BI_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryValueExA__I_3BI_3I_3I_3I_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryValueExA((HKEY)arg0, (LPSTR)lparg1, (LPDWORD)arg2, lparg3, (LPBYTE)lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryValueExA__I_3BI_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryValueExW__I_3CI_3I_3C_3I
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryValueExW__I_3CI_3I_3C_3I)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jintArray arg3, jcharArray arg4, jintArray arg5)
-{
-	jchar *lparg1=NULL;
-	jint *lparg3=NULL;
-	jchar *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryValueExW__I_3CI_3I_3C_3I_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryValueExW((HKEY)arg0, (LPWSTR)lparg1, (LPDWORD)arg2, lparg3, (LPBYTE)lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryValueExW__I_3CI_3I_3C_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegQueryValueExW__I_3CI_3I_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(RegQueryValueExW__I_3CI_3I_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5)
-{
-	jchar *lparg1=NULL;
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegQueryValueExW__I_3CI_3I_3I_3I_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)RegQueryValueExW((HKEY)arg0, (LPWSTR)lparg1, (LPDWORD)arg2, lparg3, (LPBYTE)lparg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, RegQueryValueExW__I_3CI_3I_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterClassA
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterClassA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	WNDCLASS _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterClassA_FUNC);
-	if (arg0) if ((lparg0 = getWNDCLASSFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)RegisterClassA(lparg0);
-fail:
-	if (arg0 && lparg0) setWNDCLASSFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, RegisterClassA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterClassW
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterClassW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	WNDCLASS _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterClassW_FUNC);
-	if (arg0) if ((lparg0 = getWNDCLASSFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)RegisterClassW((LPWNDCLASSW)lparg0);
-fail:
-	if (arg0 && lparg0) setWNDCLASSFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, RegisterClassW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterClipboardFormatA
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterClipboardFormatA)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterClipboardFormatA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)RegisterClipboardFormatA((LPTSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, RegisterClipboardFormatA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterClipboardFormatW
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterClipboardFormatW)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterClipboardFormatW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)RegisterClipboardFormatW((LPWSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, RegisterClipboardFormatW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterWindowMessageA
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterWindowMessageA)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterWindowMessageA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)RegisterWindowMessageA((LPTSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, RegisterWindowMessageA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RegisterWindowMessageW
-JNIEXPORT jint JNICALL OS_NATIVE(RegisterWindowMessageW)
-	(JNIEnv *env, jclass that, jcharArray arg0)
-{
-	jchar *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RegisterWindowMessageW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)RegisterWindowMessageW((LPWSTR)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, RegisterWindowMessageW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseCapture
-JNIEXPORT jboolean JNICALL OS_NATIVE(ReleaseCapture)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ReleaseCapture_FUNC);
-	rc = (jboolean)ReleaseCapture();
-	OS_NATIVE_EXIT(env, that, ReleaseCapture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ReleaseDC
-JNIEXPORT jint JNICALL OS_NATIVE(ReleaseDC)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ReleaseDC_FUNC);
-	rc = (jint)ReleaseDC((HWND)arg0, (HDC)arg1);
-	OS_NATIVE_EXIT(env, that, ReleaseDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemoveMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(RemoveMenu)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RemoveMenu_FUNC);
-	rc = (jboolean)RemoveMenu((HMENU)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, RemoveMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemovePropA
-JNIEXPORT jint JNICALL OS_NATIVE(RemovePropA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemovePropA_FUNC);
-	rc = (jint)RemovePropA((HWND)arg0, (LPCTSTR)arg1);
-	OS_NATIVE_EXIT(env, that, RemovePropA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RemovePropW
-JNIEXPORT jint JNICALL OS_NATIVE(RemovePropW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, RemovePropW_FUNC);
-	rc = (jint)RemovePropW((HWND)arg0, (LPCWSTR)arg1);
-	OS_NATIVE_EXIT(env, that, RemovePropW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RestoreDC
-JNIEXPORT jboolean JNICALL OS_NATIVE(RestoreDC)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RestoreDC_FUNC);
-	rc = (jboolean)RestoreDC((HDC)arg0, (int)arg1);
-	OS_NATIVE_EXIT(env, that, RestoreDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_RoundRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(RoundRect)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, RoundRect_FUNC);
-	rc = (jboolean)RoundRect((HDC)arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, RoundRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHBrowseForFolderA
-JNIEXPORT jint JNICALL OS_NATIVE(SHBrowseForFolderA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	BROWSEINFO _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SHBrowseForFolderA_FUNC);
-	if (arg0) if ((lparg0 = getBROWSEINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)SHBrowseForFolderA(lparg0);
-fail:
-	if (arg0 && lparg0) setBROWSEINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SHBrowseForFolderA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHBrowseForFolderW
-JNIEXPORT jint JNICALL OS_NATIVE(SHBrowseForFolderW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	BROWSEINFO _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SHBrowseForFolderW_FUNC);
-	if (arg0) if ((lparg0 = getBROWSEINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)SHBrowseForFolderW((LPBROWSEINFOW)lparg0);
-fail:
-	if (arg0 && lparg0) setBROWSEINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SHBrowseForFolderW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHCreateMenuBar
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHCreateMenuBar)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	SHMENUBARINFO _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHCreateMenuBar_FUNC);
-	if (arg0) if ((lparg0 = getSHMENUBARINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)SHCreateMenuBar((PSHMENUBARINFO)lparg0);
-fail:
-	if (arg0 && lparg0) setSHMENUBARINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SHCreateMenuBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHGetMalloc
-JNIEXPORT jint JNICALL OS_NATIVE(SHGetMalloc)
-	(JNIEnv *env, jclass that, jintArray arg0)
-{
-	jint *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SHGetMalloc_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)SHGetMalloc((LPMALLOC *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, SHGetMalloc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHGetPathFromIDListA
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHGetPathFromIDListA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHGetPathFromIDListA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)SHGetPathFromIDListA((LPCITEMIDLIST)arg0, (LPSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, SHGetPathFromIDListA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHGetPathFromIDListW
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHGetPathFromIDListW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1)
-{
-	jchar *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHGetPathFromIDListW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)SHGetPathFromIDListW((LPCITEMIDLIST)arg0, (LPWSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, SHGetPathFromIDListW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHHandleWMSettingChange
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHHandleWMSettingChange)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	SHACTIVATEINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHHandleWMSettingChange_FUNC);
-	if (arg3) if ((lparg3 = getSHACTIVATEINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)SHHandleWMSettingChange((HWND)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setSHACTIVATEINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SHHandleWMSettingChange_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHRecognizeGesture
-JNIEXPORT jint JNICALL OS_NATIVE(SHRecognizeGesture)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	SHRGINFO _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SHRecognizeGesture_FUNC);
-	if (arg0) if ((lparg0 = getSHRGINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)SHRecognizeGesture(lparg0);
-fail:
-	if (arg0 && lparg0) setSHRGINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SHRecognizeGesture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHSendBackToFocusWindow
-JNIEXPORT void JNICALL OS_NATIVE(SHSendBackToFocusWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	OS_NATIVE_ENTER(env, that, SHSendBackToFocusWindow_FUNC);
-	SHSendBackToFocusWindow(arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SHSendBackToFocusWindow_FUNC);
-}
-#endif
-
-#ifndef NO_SHSetAppKeyWndAssoc
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHSetAppKeyWndAssoc)
-	(JNIEnv *env, jclass that, jbyte arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHSetAppKeyWndAssoc_FUNC);
-	rc = (jboolean)SHSetAppKeyWndAssoc((BYTE)arg0, (HWND)arg1);
-	OS_NATIVE_EXIT(env, that, SHSetAppKeyWndAssoc_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SHSipPreference
-JNIEXPORT jboolean JNICALL OS_NATIVE(SHSipPreference)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SHSipPreference_FUNC);
-	rc = (jboolean)SHSipPreference((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SHSipPreference_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SaveDC
-JNIEXPORT jint JNICALL OS_NATIVE(SaveDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SaveDC_FUNC);
-	rc = (jint)SaveDC((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, SaveDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScreenToClient
-JNIEXPORT jboolean JNICALL OS_NATIVE(ScreenToClient)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	POINT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ScreenToClient_FUNC);
-	if (arg1) if ((lparg1 = getPOINTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ScreenToClient((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setPOINTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ScreenToClient_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptApplyDigitSubstitution
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptApplyDigitSubstitution)
-	(JNIEnv *env, jclass that, jobject arg0, jobject arg1, jobject arg2)
-{
-	SCRIPT_DIGITSUBSTITUTE _arg0, *lparg0=NULL;
-	SCRIPT_CONTROL _arg1, *lparg1=NULL;
-	SCRIPT_STATE _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptApplyDigitSubstitution_FUNC);
-	if (arg0) if ((lparg0 = getSCRIPT_DIGITSUBSTITUTEFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = getSCRIPT_CONTROLFields(env, arg1, &_arg1)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getSCRIPT_STATEFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)ScriptApplyDigitSubstitution((const SCRIPT_DIGITSUBSTITUTE*)lparg0, (SCRIPT_CONTROL*)lparg1, (SCRIPT_STATE*)lparg2);
-fail:
-	if (arg2 && lparg2) setSCRIPT_STATEFields(env, arg2, lparg2);
-	if (arg1 && lparg1) setSCRIPT_CONTROLFields(env, arg1, lparg1);
-	if (arg0 && lparg0) setSCRIPT_DIGITSUBSTITUTEFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ScriptApplyDigitSubstitution_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptBreak
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptBreak)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jobject arg2, jint arg3)
-{
-	jchar *lparg0=NULL;
-	SCRIPT_ANALYSIS _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptBreak_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getSCRIPT_ANALYSISFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)ScriptBreak((const WCHAR *)lparg0, arg1, (const SCRIPT_ANALYSIS *)lparg2, (SCRIPT_LOGATTR *)arg3);
-fail:
-	if (arg2 && lparg2) setSCRIPT_ANALYSISFields(env, arg2, lparg2);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ScriptBreak_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptCPtoX
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptCPtoX)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jobject arg7, jintArray arg8)
-{
-	SCRIPT_ANALYSIS _arg7, *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptCPtoX_FUNC);
-	if (arg7) if ((lparg7 = getSCRIPT_ANALYSISFields(env, arg7, &_arg7)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptCPtoX(arg0, arg1, arg2, arg3, (const WORD *)arg4, (const SCRIPT_VISATTR *)arg5, (const int *)arg6, (const SCRIPT_ANALYSIS *)lparg7, (int *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) setSCRIPT_ANALYSISFields(env, arg7, lparg7);
-	OS_NATIVE_EXIT(env, that, ScriptCPtoX_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptCacheGetHeight
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptCacheGetHeight)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptCacheGetHeight_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptCacheGetHeight((HDC)arg0, (SCRIPT_CACHE *)arg1, (long *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ScriptCacheGetHeight_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptFreeCache
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptFreeCache)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptFreeCache_FUNC);
-	rc = (jint)ScriptFreeCache((SCRIPT_CACHE *)arg0);
-	OS_NATIVE_EXIT(env, that, ScriptFreeCache_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptGetFontProperties
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptGetFontProperties)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	SCRIPT_FONTPROPERTIES _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptGetFontProperties_FUNC);
-	if (arg2) if ((lparg2 = getSCRIPT_FONTPROPERTIESFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)ScriptGetFontProperties((HDC)arg0, (SCRIPT_CACHE *)arg1, (SCRIPT_FONTPROPERTIES *)lparg2);
-fail:
-	if (arg2 && lparg2) setSCRIPT_FONTPROPERTIESFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, ScriptGetFontProperties_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptGetLogicalWidths
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptGetLogicalWidths)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
-{
-	SCRIPT_ANALYSIS _arg0, *lparg0=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptGetLogicalWidths_FUNC);
-	if (arg0) if ((lparg0 = getSCRIPT_ANALYSISFields(env, arg0, &_arg0)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptGetLogicalWidths((const SCRIPT_ANALYSIS *)lparg0, arg1, arg2, (const int *)arg3, (const WORD *)arg4, (const SCRIPT_VISATTR *)arg5, (int *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg0 && lparg0) setSCRIPT_ANALYSISFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ScriptGetLogicalWidths_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptGetProperties
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptGetProperties)
-	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
-{
-	jint *lparg0=NULL;
-	jint *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptGetProperties_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptGetProperties((const SCRIPT_PROPERTIES ***)lparg0, (int *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ScriptGetProperties_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptItemize
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptItemize)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2, jobject arg3, jobject arg4, jint arg5, jintArray arg6)
-{
-	jchar *lparg0=NULL;
-	SCRIPT_CONTROL _arg3, *lparg3=NULL;
-	SCRIPT_STATE _arg4, *lparg4=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptItemize_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = getSCRIPT_CONTROLFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getSCRIPT_STATEFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptItemize((const WCHAR *)lparg0, arg1, arg2, (const SCRIPT_CONTROL *)lparg3, (const SCRIPT_STATE *)lparg4, (SCRIPT_ITEM *)arg5, (int *)lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg4 && lparg4) setSCRIPT_STATEFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setSCRIPT_CONTROLFields(env, arg3, lparg3);
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, ScriptItemize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptJustify
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptJustify)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptJustify_FUNC);
-	rc = (jint)ScriptJustify((SCRIPT_VISATTR *)arg0, (const int *)arg1, arg2, arg3, arg4, (int *)arg5);
-	OS_NATIVE_EXIT(env, that, ScriptJustify_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptLayout
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptLayout)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jintArray arg3)
-{
-	jbyte *lparg1=NULL;
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptLayout_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptLayout(arg0, (const BYTE *)lparg1, (int *)lparg2, (int *)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, ScriptLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptPlace
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptPlace)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jint arg6, jint arg7, jintArray arg8)
-{
-	SCRIPT_ANALYSIS _arg5, *lparg5=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptPlace_FUNC);
-	if (arg5) if ((lparg5 = getSCRIPT_ANALYSISFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptPlace((HDC)arg0, (SCRIPT_CACHE *)arg1, (const WORD *)arg2, arg3, (const SCRIPT_VISATTR *)arg4, (SCRIPT_ANALYSIS *)lparg5, (int *)arg6, (GOFFSET *)arg7, (ABC *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg5 && lparg5) setSCRIPT_ANALYSISFields(env, arg5, lparg5);
-	OS_NATIVE_EXIT(env, that, ScriptPlace_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptRecordDigitSubstitution
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptRecordDigitSubstitution)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	SCRIPT_DIGITSUBSTITUTE _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptRecordDigitSubstitution_FUNC);
-	if (arg1) if ((lparg1 = getSCRIPT_DIGITSUBSTITUTEFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)ScriptRecordDigitSubstitution((LCID)arg0, (SCRIPT_DIGITSUBSTITUTE*)lparg1);
-fail:
-	if (arg1 && lparg1) setSCRIPT_DIGITSUBSTITUTEFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ScriptRecordDigitSubstitution_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptShape
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptShape)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jobject arg5, jint arg6, jint arg7, jint arg8, jintArray arg9)
-{
-	jchar *lparg2=NULL;
-	SCRIPT_ANALYSIS _arg5, *lparg5=NULL;
-	jint *lparg9=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptShape_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = getSCRIPT_ANALYSISFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptShape((HDC)arg0, (SCRIPT_CACHE *)arg1, (const WCHAR *)lparg2, arg3, arg4, (SCRIPT_ANALYSIS *)lparg5, (WORD *)arg6, (WORD *)arg7, (SCRIPT_VISATTR *)arg8, (int *)lparg9);
-fail:
-	if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
-	if (arg5 && lparg5) setSCRIPT_ANALYSISFields(env, arg5, lparg5);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ScriptShape_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptTextOut
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptTextOut)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jobject arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12, jint arg13)
-{
-	RECT _arg5, *lparg5=NULL;
-	SCRIPT_ANALYSIS _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptTextOut_FUNC);
-	if (arg5) if ((lparg5 = getRECTFields(env, arg5, &_arg5)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getSCRIPT_ANALYSISFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)ScriptTextOut((const HDC)arg0, (SCRIPT_CACHE *)arg1, arg2, arg3, arg4, (const RECT *)lparg5, (const SCRIPT_ANALYSIS *)lparg6, (const WCHAR *)arg7, arg8, (const WORD *)arg9, arg10, (const int *)arg11, (const int *)arg12, (const GOFFSET *)arg13);
-fail:
-	if (arg6 && lparg6) setSCRIPT_ANALYSISFields(env, arg6, lparg6);
-	if (arg5 && lparg5) setRECTFields(env, arg5, lparg5);
-	OS_NATIVE_EXIT(env, that, ScriptTextOut_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScriptXtoCP
-JNIEXPORT jint JNICALL OS_NATIVE(ScriptXtoCP)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jobject arg6, jintArray arg7, jintArray arg8)
-{
-	SCRIPT_ANALYSIS _arg6, *lparg6=NULL;
-	jint *lparg7=NULL;
-	jint *lparg8=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScriptXtoCP_FUNC);
-	if (arg6) if ((lparg6 = getSCRIPT_ANALYSISFields(env, arg6, &_arg6)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
-	rc = (jint)ScriptXtoCP(arg0, arg1, arg2, (const WORD *)arg3, (const SCRIPT_VISATTR *)arg4, (const int *)arg5, (const SCRIPT_ANALYSIS *)lparg6, (int *)lparg7, (int *)lparg8);
-fail:
-	if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) setSCRIPT_ANALYSISFields(env, arg6, lparg6);
-	OS_NATIVE_EXIT(env, that, ScriptXtoCP_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ScrollWindowEx
-JNIEXPORT jint JNICALL OS_NATIVE(ScrollWindowEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jobject arg4, jint arg5, jobject arg6, jint arg7)
-{
-	RECT _arg3, *lparg3=NULL;
-	RECT _arg4, *lparg4=NULL;
-	RECT _arg6, *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ScrollWindowEx_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = getRECTFields(env, arg4, &_arg4)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = getRECTFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jint)ScrollWindowEx((HWND)arg0, arg1, arg2, lparg3, lparg4, (HRGN)arg5, lparg6, arg7);
-fail:
-	if (arg6 && lparg6) setRECTFields(env, arg6, lparg6);
-	if (arg4 && lparg4) setRECTFields(env, arg4, lparg4);
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, ScrollWindowEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SelectClipRgn
-JNIEXPORT jint JNICALL OS_NATIVE(SelectClipRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SelectClipRgn_FUNC);
-	rc = (jint)SelectClipRgn((HDC)arg0, (HRGN)arg1);
-	OS_NATIVE_EXIT(env, that, SelectClipRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SelectObject
-JNIEXPORT jint JNICALL OS_NATIVE(SelectObject)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SelectObject_FUNC);
-	rc = (jint)SelectObject((HDC)arg0, (HGDIOBJ)arg1);
-	OS_NATIVE_EXIT(env, that, SelectObject_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SelectPalette
-JNIEXPORT jint JNICALL OS_NATIVE(SelectPalette)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SelectPalette_FUNC);
-	rc = (jint)SelectPalette((HDC)arg0, (HPALETTE)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SelectPalette_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendInput
-JNIEXPORT jint JNICALL OS_NATIVE(SendInput)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendInput_FUNC);
-	rc = (jint)SendInput(arg0, (LPINPUT)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SendInput_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIII
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIII_FUNC);
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	BUTTON_IMAGELIST _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC);
-	if (arg3) if ((lparg3 = getBUTTON_IMAGELISTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setBUTTON_IMAGELISTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	HDITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getHDITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setHDITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	HDLAYOUT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
-	if (arg3) if ((lparg3 = getHDLAYOUTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setHDLAYOUTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getLITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVCOLUMN _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC);
-	if (arg3) if ((lparg3 = getLVCOLUMNFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVCOLUMNFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVHITTESTINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getLVHITTESTINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVHITTESTINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getLVITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	MARGINS _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC);
-	if (arg3) if ((lparg3 = getMARGINSFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setMARGINSFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	POINT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC);
-	if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	REBARBANDINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getREBARBANDINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setREBARBANDINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	RECT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	SIZE _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	if (arg3) if ((lparg3 = getSIZEFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TBBUTTONINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTBBUTTONINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTBBUTTONINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TBBUTTON _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC);
-	if (arg3) if ((lparg3 = getTBBUTTONFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTBBUTTONFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TCITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getTCITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTCITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TOOLINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTOOLINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTOOLINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVHITTESTINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTVHITTESTINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVHITTESTINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVINSERTSTRUCT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC);
-	if (arg3) if ((lparg3 = getTVINSERTSTRUCTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVINSERTSTRUCTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getTVITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	UDACCEL _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC);
-	if (arg3) if ((lparg3 = getUDACCELFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setUDACCELFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__III_3B
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__III_3B)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__III_3B_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageA__III_3B_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__III_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__III_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__III_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageA__III_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__III_3S
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__III_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshortArray arg3)
-{
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__III_3S_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageA__III_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__II_3II
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__II_3II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__II_3II_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageA__II_3II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageA__II_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__II_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageA__II_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageA__II_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIII
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIII)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIII_FUNC);
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)arg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIII_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	BUTTON_IMAGELIST _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC);
-	if (arg3) if ((lparg3 = getBUTTON_IMAGELISTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setBUTTON_IMAGELISTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	HDITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getHDITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setHDITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	HDLAYOUT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
-	if (arg3) if ((lparg3 = getHDLAYOUTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setHDLAYOUTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getLITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVCOLUMN _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC);
-	if (arg3) if ((lparg3 = getLVCOLUMNFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVCOLUMNFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVHITTESTINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getLVHITTESTINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVHITTESTINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	LVITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getLVITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setLVITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	MARGINS _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC);
-	if (arg3) if ((lparg3 = getMARGINSFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setMARGINSFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	POINT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC);
-	if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	REBARBANDINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getREBARBANDINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setREBARBANDINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	RECT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setRECTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	SIZE _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	if (arg3) if ((lparg3 = getSIZEFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TBBUTTONINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTBBUTTONINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTBBUTTONINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TBBUTTON _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC);
-	if (arg3) if ((lparg3 = getTBBUTTONFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTBBUTTONFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TCITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getTCITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTCITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TOOLINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTOOLINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTOOLINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVHITTESTINFO _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC);
-	if (arg3) if ((lparg3 = getTVHITTESTINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVHITTESTINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVINSERTSTRUCT _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC);
-	if (arg3) if ((lparg3 = getTVINSERTSTRUCTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVINSERTSTRUCTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	TVITEM _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC);
-	if (arg3) if ((lparg3 = getTVITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setTVITEMFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	UDACCEL _arg3, *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC);
-	if (arg3) if ((lparg3 = getUDACCELFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) setUDACCELFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__III_3C
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__III_3C)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jcharArray arg3)
-{
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__III_3C_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageW__III_3C_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__III_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__III_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3)
-{
-	jint *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__III_3I_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageW__III_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__III_3S
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__III_3S)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jshortArray arg3)
-{
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__III_3S_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageW__III_3S_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__II_3II
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__II_3II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SendMessageW__II_3II_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageW__II_3II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetActiveWindow
-JNIEXPORT jint JNICALL OS_NATIVE(SetActiveWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetActiveWindow_FUNC);
-	rc = (jint)SetActiveWindow((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, SetActiveWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetBkColor
-JNIEXPORT jint JNICALL OS_NATIVE(SetBkColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetBkColor_FUNC);
-	rc = (jint)SetBkColor((HDC)arg0, (COLORREF)arg1);
-	OS_NATIVE_EXIT(env, that, SetBkColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetBkMode
-JNIEXPORT jint JNICALL OS_NATIVE(SetBkMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetBkMode_FUNC);
-	rc = (jint)SetBkMode((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetBkMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetBrushOrgEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetBrushOrgEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	POINT _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetBrushOrgEx_FUNC);
-	if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)SetBrushOrgEx((HDC)arg0, arg1, arg2, (LPPOINT)lparg3);
-fail:
-	if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SetBrushOrgEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetCapture
-JNIEXPORT jint JNICALL OS_NATIVE(SetCapture)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetCapture_FUNC);
-	rc = (jint)SetCapture((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, SetCapture_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetCaretPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetCaretPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetCaretPos_FUNC);
-	rc = (jboolean)SetCaretPos(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetCaretPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetClipboardData
-JNIEXPORT jint JNICALL OS_NATIVE(SetClipboardData)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetClipboardData_FUNC);
-	rc = (jint)SetClipboardData(arg0, (HANDLE)arg1);
-	OS_NATIVE_EXIT(env, that, SetClipboardData_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetCursor
-JNIEXPORT jint JNICALL OS_NATIVE(SetCursor)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetCursor_FUNC);
-	rc = (jint)SetCursor((HCURSOR)arg0);
-	OS_NATIVE_EXIT(env, that, SetCursor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetCursorPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetCursorPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetCursorPos_FUNC);
-	rc = (jboolean)SetCursorPos(arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetCursorPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetDIBColorTable
-JNIEXPORT jint JNICALL OS_NATIVE(SetDIBColorTable)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetDIBColorTable_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)SetDIBColorTable((HDC)arg0, arg1, arg2, (RGBQUAD *)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, SetDIBColorTable_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetErrorMode
-JNIEXPORT jint JNICALL OS_NATIVE(SetErrorMode)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetErrorMode_FUNC);
-	rc = (jint)SetErrorMode(arg0);
-	OS_NATIVE_EXIT(env, that, SetErrorMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetFocus
-JNIEXPORT jint JNICALL OS_NATIVE(SetFocus)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetFocus_FUNC);
-	rc = (jint)SetFocus((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, SetFocus_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetForegroundWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetForegroundWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetForegroundWindow_FUNC);
-	rc = (jboolean)SetForegroundWindow((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, SetForegroundWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetGraphicsMode
-JNIEXPORT jint JNICALL OS_NATIVE(SetGraphicsMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetGraphicsMode_FUNC);
-	rc = (jint)SetGraphicsMode((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetGraphicsMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetLayout
-JNIEXPORT jint JNICALL OS_NATIVE(SetLayout)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetLayout_FUNC);
-/*
-	rc = (jint)SetLayout((HDC)arg0, (DWORD)arg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(SetLayout_LIB);
-			if (hm) fp = GetProcAddress(hm, "SetLayout");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jint)fp((HDC)arg0, (DWORD)arg1);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, SetLayout_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetMenu)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenu_FUNC);
-	rc = (jboolean)SetMenu((HWND)arg0, (HMENU)arg1);
-	OS_NATIVE_EXIT(env, that, SetMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuDefaultItem
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetMenuDefaultItem)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuDefaultItem_FUNC);
-	rc = (jboolean)SetMenuDefaultItem((HMENU)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetMenuDefaultItem_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetMenuInfo)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MENUINFO _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuInfo_FUNC);
-	if (arg1) if ((lparg1 = getMENUINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-/*
-	rc = (jboolean)SetMenuInfo((HMENU)arg0, lparg1);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(SetMenuInfo_LIB);
-			if (hm) fp = GetProcAddress(hm, "SetMenuInfo");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp((HMENU)arg0, lparg1);
-		}
-	}
-fail:
-	if (arg1 && lparg1) setMENUINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetMenuInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemInfoA
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetMenuItemInfoA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemInfoA_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)SetMenuItemInfoA((HMENU)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SetMenuItemInfoA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMenuItemInfoW
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetMenuItemInfoW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2, jobject arg3)
-{
-	MENUITEMINFO _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMenuItemInfoW_FUNC);
-	if (arg3) if ((lparg3 = getMENUITEMINFOFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)SetMenuItemInfoW((HMENU)arg0, arg1, arg2, (LPMENUITEMINFOW)lparg3);
-fail:
-	if (arg3 && lparg3) setMENUITEMINFOFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SetMenuItemInfoW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetMetaRgn
-JNIEXPORT jint JNICALL OS_NATIVE(SetMetaRgn)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetMetaRgn_FUNC);
-	rc = (jint)SetMetaRgn((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, SetMetaRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPaletteEntries
-JNIEXPORT jint JNICALL OS_NATIVE(SetPaletteEntries)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3)
-{
-	jbyte *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetPaletteEntries_FUNC);
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3) if ((lparg3 = (*env)->GetPrimitiveArrayCritical(env, arg3, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)SetPaletteEntries((HPALETTE)arg0, arg1, arg2, (PALETTEENTRY *)lparg3);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg3 && lparg3) (*env)->ReleasePrimitiveArrayCritical(env, arg3, lparg3, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, JNI_ABORT);
-	}
-	OS_NATIVE_EXIT(env, that, SetPaletteEntries_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetParent
-JNIEXPORT jint JNICALL OS_NATIVE(SetParent)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetParent_FUNC);
-	rc = (jint)SetParent((HWND)arg0, (HWND)arg1);
-	OS_NATIVE_EXIT(env, that, SetParent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPixel
-JNIEXPORT jint JNICALL OS_NATIVE(SetPixel)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetPixel_FUNC);
-	rc = (jint)SetPixel((HDC)arg0, arg1, arg2, arg3);
-	OS_NATIVE_EXIT(env, that, SetPixel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPolyFillMode
-JNIEXPORT jint JNICALL OS_NATIVE(SetPolyFillMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetPolyFillMode_FUNC);
-	rc = (jint)SetPolyFillMode((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetPolyFillMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPropA
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetPropA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetPropA_FUNC);
-	rc = (jboolean)SetPropA((HWND)arg0, (LPCTSTR)arg1, (HANDLE)arg2);
-	OS_NATIVE_EXIT(env, that, SetPropA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetPropW
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetPropW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetPropW_FUNC);
-	rc = (jboolean)SetPropW((HWND)arg0, (LPCWSTR)arg1, (HANDLE)arg2);
-	OS_NATIVE_EXIT(env, that, SetPropW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetROP2
-JNIEXPORT jint JNICALL OS_NATIVE(SetROP2)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetROP2_FUNC);
-	rc = (jint)SetROP2((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetROP2_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetRect)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	RECT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetRect_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	rc = (jboolean)SetRect(lparg0, arg1, arg2, arg3, arg4);
-fail:
-	if (arg0 && lparg0) setRECTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SetRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetRectRgn
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetRectRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetRectRgn_FUNC);
-	rc = (jboolean)SetRectRgn((HRGN)arg0, arg1, arg2, arg3, arg4);
-	OS_NATIVE_EXIT(env, that, SetRectRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetScrollInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetScrollInfo)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jboolean arg3)
-{
-	SCROLLINFO _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetScrollInfo_FUNC);
-	if (arg2) if ((lparg2 = getSCROLLINFOFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SetScrollInfo((HWND)arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setSCROLLINFOFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SetScrollInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetStretchBltMode
-JNIEXPORT jint JNICALL OS_NATIVE(SetStretchBltMode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetStretchBltMode_FUNC);
-	rc = (jint)SetStretchBltMode((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetStretchBltMode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetTextAlign
-JNIEXPORT jint JNICALL OS_NATIVE(SetTextAlign)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetTextAlign_FUNC);
-	rc = (jint)SetTextAlign((HDC)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, SetTextAlign_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetTextColor
-JNIEXPORT jint JNICALL OS_NATIVE(SetTextColor)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetTextColor_FUNC);
-	rc = (jint)SetTextColor((HDC)arg0, (COLORREF)arg1);
-	OS_NATIVE_EXIT(env, that, SetTextColor_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetTimer
-JNIEXPORT jint JNICALL OS_NATIVE(SetTimer)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetTimer_FUNC);
-	rc = (jint)SetTimer((HWND)arg0, arg1, arg2, (TIMERPROC)arg3);
-	OS_NATIVE_EXIT(env, that, SetTimer_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowLongA
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowLongA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowLongA_FUNC);
-	rc = (jint)SetWindowLongA((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetWindowLongA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowLongW
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowLongW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowLongW_FUNC);
-	rc = (jint)SetWindowLongW((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetWindowLongW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowOrgEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWindowOrgEx)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
-{
-	POINT _arg3, *lparg3=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowOrgEx_FUNC);
-	if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
-	rc = (jboolean)SetWindowOrgEx((HDC)arg0, arg1, arg2, lparg3);
-fail:
-	if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
-	OS_NATIVE_EXIT(env, that, SetWindowOrgEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowPlacement
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWindowPlacement)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	WINDOWPLACEMENT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowPlacement_FUNC);
-	if (arg1) if ((lparg1 = getWINDOWPLACEMENTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)SetWindowPlacement((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setWINDOWPLACEMENTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, SetWindowPlacement_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowPos
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWindowPos)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowPos_FUNC);
-	rc = (jboolean)SetWindowPos((HWND)arg0, (HWND)arg1, arg2, arg3, arg4, arg5, arg6);
-	OS_NATIVE_EXIT(env, that, SetWindowPos_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowRgn
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowRgn)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowRgn_FUNC);
-	rc = (jint)SetWindowRgn((HWND)arg0, (HRGN)arg1, arg2);
-	OS_NATIVE_EXIT(env, that, SetWindowRgn_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowTextA
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWindowTextA)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
-{
-	jbyte *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowTextA_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)SetWindowTextA((HWND)arg0, (LPSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, SetWindowTextA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowTextW
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWindowTextW)
-	(JNIEnv *env, jclass that, jint arg0, jcharArray arg1)
-{
-	jchar *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowTextW_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetCharArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)SetWindowTextW((HWND)arg0, (LPWSTR)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseCharArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, SetWindowTextW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowsHookExA
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowsHookExA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowsHookExA_FUNC);
-	rc = (jint)SetWindowsHookExA(arg0, (HOOKPROC)arg1, (HINSTANCE)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, SetWindowsHookExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWindowsHookExW
-JNIEXPORT jint JNICALL OS_NATIVE(SetWindowsHookExW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWindowsHookExW_FUNC);
-	rc = (jint)SetWindowsHookExW(arg0, (HOOKPROC)arg1, (HINSTANCE)arg2, arg3);
-	OS_NATIVE_EXIT(env, that, SetWindowsHookExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SetWorldTransform
-JNIEXPORT jboolean JNICALL OS_NATIVE(SetWorldTransform)
-	(JNIEnv *env, jclass that, jint arg0, jfloatArray arg1)
-{
-	jfloat *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SetWorldTransform_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)SetWorldTransform((HDC)arg0, (XFORM *)lparg1);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, SetWorldTransform_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShellExecuteExA
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShellExecuteExA)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	SHELLEXECUTEINFO _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShellExecuteExA_FUNC);
-	if (arg0) if ((lparg0 = getSHELLEXECUTEINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ShellExecuteExA(lparg0);
-fail:
-	if (arg0 && lparg0) setSHELLEXECUTEINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ShellExecuteExA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShellExecuteExW
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShellExecuteExW)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	SHELLEXECUTEINFO _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShellExecuteExW_FUNC);
-	if (arg0) if ((lparg0 = getSHELLEXECUTEINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)ShellExecuteExW((LPSHELLEXECUTEINFOW)lparg0);
-fail:
-	if (arg0 && lparg0) setSHELLEXECUTEINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, ShellExecuteExW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Shell_1NotifyIconA
-JNIEXPORT jboolean JNICALL OS_NATIVE(Shell_1NotifyIconA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	NOTIFYICONDATAA _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Shell_1NotifyIconA_FUNC);
-	if (arg1) if ((lparg1 = getNOTIFYICONDATAAFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)Shell_NotifyIconA(arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setNOTIFYICONDATAAFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, Shell_1NotifyIconA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_Shell_1NotifyIconW
-JNIEXPORT jboolean JNICALL OS_NATIVE(Shell_1NotifyIconW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	NOTIFYICONDATAW _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, Shell_1NotifyIconW_FUNC);
-	if (arg1) if ((lparg1 = getNOTIFYICONDATAWFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)Shell_NotifyIconW(arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setNOTIFYICONDATAWFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, Shell_1NotifyIconW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShowCaret
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShowCaret)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShowCaret_FUNC);
-	rc = (jboolean)ShowCaret((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, ShowCaret_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShowOwnedPopups
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShowOwnedPopups)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShowOwnedPopups_FUNC);
-	rc = (jboolean)ShowOwnedPopups((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ShowOwnedPopups_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShowScrollBar
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShowScrollBar)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShowScrollBar_FUNC);
-	rc = (jboolean)ShowScrollBar((HWND)arg0, arg1, arg2);
-	OS_NATIVE_EXIT(env, that, ShowScrollBar_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ShowWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(ShowWindow)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ShowWindow_FUNC);
-	rc = (jboolean)ShowWindow((HWND)arg0, arg1);
-	OS_NATIVE_EXIT(env, that, ShowWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SipGetInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(SipGetInfo)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	SIPINFO _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SipGetInfo_FUNC);
-	if (arg0) if ((lparg0 = getSIPINFOFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)SipGetInfo(lparg0);
-fail:
-	if (arg0 && lparg0) setSIPINFOFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, SipGetInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StartDocA
-JNIEXPORT jint JNICALL OS_NATIVE(StartDocA)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DOCINFO _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, StartDocA_FUNC);
-	if (arg1) if ((lparg1 = getDOCINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)StartDocA((HDC)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setDOCINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, StartDocA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StartDocW
-JNIEXPORT jint JNICALL OS_NATIVE(StartDocW)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	DOCINFO _arg1, *lparg1=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, StartDocW_FUNC);
-	if (arg1) if ((lparg1 = getDOCINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jint)StartDocW((HDC)arg0, (LPDOCINFOW)lparg1);
-fail:
-	if (arg1 && lparg1) setDOCINFOFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, StartDocW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StartPage
-JNIEXPORT jint JNICALL OS_NATIVE(StartPage)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, StartPage_FUNC);
-	rc = (jint)StartPage((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, StartPage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StretchBlt
-JNIEXPORT jboolean JNICALL OS_NATIVE(StretchBlt)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, StretchBlt_FUNC);
-	rc = (jboolean)StretchBlt((HDC)arg0, arg1, arg2, arg3, arg4, (HDC)arg5, arg6, arg7, arg8, arg9, arg10);
-	OS_NATIVE_EXIT(env, that, StretchBlt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_StrokePath
-JNIEXPORT jboolean JNICALL OS_NATIVE(StrokePath)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, StrokePath_FUNC);
-	rc = (jboolean)StrokePath((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, StrokePath_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	HIGHCONTRAST _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC);
-	if (arg2) if ((lparg2 = getHIGHCONTRASTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoA(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setHIGHCONTRASTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	NONCLIENTMETRICSA _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I_FUNC);
-	if (arg2) if ((lparg2 = getNONCLIENTMETRICSAFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoA(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setNONCLIENTMETRICSAFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	RECT _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoA(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoA__II_3II
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoA__II_3II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoA__II_3II_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoA(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoA__II_3II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	HIGHCONTRAST _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC);
-	if (arg2) if ((lparg2 = getHIGHCONTRASTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoW(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setHIGHCONTRASTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	NONCLIENTMETRICSW _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I_FUNC);
-	if (arg2) if ((lparg2 = getNONCLIENTMETRICSWFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoW(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setNONCLIENTMETRICSWFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
-{
-	RECT _arg2, *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoW(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_SystemParametersInfoW__II_3II
-JNIEXPORT jboolean JNICALL OS_NATIVE(SystemParametersInfoW__II_3II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
-{
-	jint *lparg2=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, SystemParametersInfoW__II_3II_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jboolean)SystemParametersInfoW(arg0, arg1, lparg2, arg3);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, SystemParametersInfoW__II_3II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ToAscii
-JNIEXPORT jint JNICALL OS_NATIVE(ToAscii)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jshortArray arg3, jint arg4)
-{
-	jbyte *lparg2=NULL;
-	jshort *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ToAscii_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetShortArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ToAscii(arg0, arg1, (PBYTE)lparg2, (LPWORD)lparg3, arg4);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseShortArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ToAscii_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ToUnicode
-JNIEXPORT jint JNICALL OS_NATIVE(ToUnicode)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jcharArray arg3, jint arg4, jint arg5)
-{
-	jbyte *lparg2=NULL;
-	jchar *lparg3=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, ToUnicode_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	rc = (jint)ToUnicode(arg0, arg1, (PBYTE)lparg2, (LPWSTR)lparg3, arg4, arg5);
-fail:
-	if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, ToUnicode_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TrackMouseEvent
-JNIEXPORT jboolean JNICALL OS_NATIVE(TrackMouseEvent)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	TRACKMOUSEEVENT _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TrackMouseEvent_FUNC);
-	if (arg0) if ((lparg0 = getTRACKMOUSEEVENTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)TrackMouseEvent(lparg0);
-fail:
-	if (arg0 && lparg0) setTRACKMOUSEEVENTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, TrackMouseEvent_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TrackPopupMenu
-JNIEXPORT jboolean JNICALL OS_NATIVE(TrackPopupMenu)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jobject arg6)
-{
-	RECT _arg6, *lparg6=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TrackPopupMenu_FUNC);
-	if (arg6) if ((lparg6 = getRECTFields(env, arg6, &_arg6)) == NULL) goto fail;
-	rc = (jboolean)TrackPopupMenu((HMENU)arg0, arg1, arg2, arg3, arg4, (HWND)arg5, lparg6);
-fail:
-	if (arg6 && lparg6) setRECTFields(env, arg6, lparg6);
-	OS_NATIVE_EXIT(env, that, TrackPopupMenu_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TranslateAcceleratorA
-JNIEXPORT jint JNICALL OS_NATIVE(TranslateAcceleratorA)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	MSG _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TranslateAcceleratorA_FUNC);
-	if (arg2) if ((lparg2 = getMSGFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)TranslateAcceleratorA((HWND)arg0, (HACCEL)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setMSGFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, TranslateAcceleratorA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TranslateAcceleratorW
-JNIEXPORT jint JNICALL OS_NATIVE(TranslateAcceleratorW)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
-{
-	MSG _arg2, *lparg2=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, TranslateAcceleratorW_FUNC);
-	if (arg2) if ((lparg2 = getMSGFields(env, arg2, &_arg2)) == NULL) goto fail;
-	rc = (jint)TranslateAcceleratorW((HWND)arg0, (HACCEL)arg1, lparg2);
-fail:
-	if (arg2 && lparg2) setMSGFields(env, arg2, lparg2);
-	OS_NATIVE_EXIT(env, that, TranslateAcceleratorW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TranslateCharsetInfo
-JNIEXPORT jboolean JNICALL OS_NATIVE(TranslateCharsetInfo)
-	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
-{
-	jint *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TranslateCharsetInfo_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	rc = (jboolean)TranslateCharsetInfo((DWORD *)arg0, (LPCHARSETINFO)lparg1, arg2);
-fail:
-	if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
-	OS_NATIVE_EXIT(env, that, TranslateCharsetInfo_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TranslateMDISysAccel
-JNIEXPORT jboolean JNICALL OS_NATIVE(TranslateMDISysAccel)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	MSG _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TranslateMDISysAccel_FUNC);
-	if (arg1) if ((lparg1 = getMSGFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)TranslateMDISysAccel((HWND)arg0, (LPMSG)lparg1);
-fail:
-	if (arg1 && lparg1) setMSGFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, TranslateMDISysAccel_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TranslateMessage
-JNIEXPORT jboolean JNICALL OS_NATIVE(TranslateMessage)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	MSG _arg0, *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TranslateMessage_FUNC);
-	if (arg0) if ((lparg0 = getMSGFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jboolean)TranslateMessage(lparg0);
-fail:
-	if (arg0 && lparg0) setMSGFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, TranslateMessage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TransparentBlt
-JNIEXPORT jboolean JNICALL OS_NATIVE(TransparentBlt)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TransparentBlt_FUNC);
-/*
-	rc = (jboolean)TransparentBlt(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-*/
-	{
-		static int initialized = 0;
-		static HMODULE hm = NULL;
-		static FARPROC fp = NULL;
-		rc = 0;
-		if (!initialized) {
-			if (!hm) hm = LoadLibrary(TransparentBlt_LIB);
-			if (hm) fp = GetProcAddress(hm, "TransparentBlt");
-			initialized = 1;
-		}
-		if (fp) {
-			rc = (jboolean)fp(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
-		}
-	}
-	OS_NATIVE_EXIT(env, that, TransparentBlt_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_TransparentImage
-JNIEXPORT jboolean JNICALL OS_NATIVE(TransparentImage)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, TransparentImage_FUNC);
-	rc = (jboolean)TransparentImage((HDC)arg0, arg1, arg2, arg3, arg4, (HANDLE)arg5, arg6, arg7, arg8, arg9, (COLORREF)arg10);
-	OS_NATIVE_EXIT(env, that, TransparentImage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UnhookWindowsHookEx
-JNIEXPORT jboolean JNICALL OS_NATIVE(UnhookWindowsHookEx)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, UnhookWindowsHookEx_FUNC);
-	rc = (jboolean)UnhookWindowsHookEx((HHOOK)arg0);
-	OS_NATIVE_EXIT(env, that, UnhookWindowsHookEx_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UnregisterClassA
-JNIEXPORT jboolean JNICALL OS_NATIVE(UnregisterClassA)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, UnregisterClassA_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)UnregisterClassA((LPSTR)lparg0, (HINSTANCE)arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, UnregisterClassA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UnregisterClassW
-JNIEXPORT jboolean JNICALL OS_NATIVE(UnregisterClassW)
-	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1)
-{
-	jchar *lparg0=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, UnregisterClassW_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)UnregisterClassW((LPWSTR)lparg0, (HINSTANCE)arg1);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
-	OS_NATIVE_EXIT(env, that, UnregisterClassW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_UpdateWindow
-JNIEXPORT jboolean JNICALL OS_NATIVE(UpdateWindow)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, UpdateWindow_FUNC);
-	rc = (jboolean)UpdateWindow((HWND)arg0);
-	OS_NATIVE_EXIT(env, that, UpdateWindow_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_ValidateRect
-JNIEXPORT jboolean JNICALL OS_NATIVE(ValidateRect)
-	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
-{
-	RECT _arg1, *lparg1=NULL;
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, ValidateRect_FUNC);
-	if (arg1) if ((lparg1 = getRECTFields(env, arg1, &_arg1)) == NULL) goto fail;
-	rc = (jboolean)ValidateRect((HWND)arg0, lparg1);
-fail:
-	if (arg1 && lparg1) setRECTFields(env, arg1, lparg1);
-	OS_NATIVE_EXIT(env, that, ValidateRect_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VkKeyScanA
-JNIEXPORT jshort JNICALL OS_NATIVE(VkKeyScanA)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, VkKeyScanA_FUNC);
-	rc = (jshort)VkKeyScanA((TCHAR)arg0);
-	OS_NATIVE_EXIT(env, that, VkKeyScanA_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VkKeyScanW
-JNIEXPORT jshort JNICALL OS_NATIVE(VkKeyScanW)
-	(JNIEnv *env, jclass that, jshort arg0)
-{
-	jshort rc = 0;
-	OS_NATIVE_ENTER(env, that, VkKeyScanW_FUNC);
-	rc = (jshort)VkKeyScanW((WCHAR)arg0);
-	OS_NATIVE_EXIT(env, that, VkKeyScanW_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II
-JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, VtblCall__II_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint))(*(jint **)arg1)[arg0])(arg1);
-	OS_NATIVE_EXIT(env, that, VtblCall__II_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__III
-JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__III)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, VtblCall__III_FUNC);
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint))(*(jint **)arg1)[arg0])(arg1, arg2);
-	OS_NATIVE_EXIT(env, that, VtblCall__III_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__IIIII_3I
-JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IIIII_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
-{
-	jint *lparg5=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, VtblCall__IIIII_3I_FUNC);
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jint, jint, jint, jint *))(*(jint **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5);
-fail:
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	OS_NATIVE_EXIT(env, that, VtblCall__IIIII_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_VtblCall__II_3CII_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3CII_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jintArray arg5, jintArray arg6)
-{
-	jchar *lparg2=NULL;
-	jint *lparg5=NULL;
-	jint *lparg6=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, VtblCall__II_3CII_3I_3I_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jint)((jint (STDMETHODCALLTYPE *)(jint, jchar *, jint, jint, jint *, jint *))(*(jint **)arg1)[arg0])(arg1, lparg2, arg3, arg4, lparg5, lparg6);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
-	if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-	OS_NATIVE_EXIT(env, that, VtblCall__II_3CII_3I_3I_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WaitMessage
-JNIEXPORT jboolean JNICALL OS_NATIVE(WaitMessage)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	OS_NATIVE_ENTER(env, that, WaitMessage_FUNC);
-	rc = (jboolean)WaitMessage();
-	OS_NATIVE_EXIT(env, that, WaitMessage_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WideCharToMultiByte__II_3CIII_3B_3Z
-JNIEXPORT jint JNICALL OS_NATIVE(WideCharToMultiByte__II_3CIII_3B_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jbyteArray arg6, jbooleanArray arg7)
-{
-	jchar *lparg2=NULL;
-	jbyte *lparg6=NULL;
-	jboolean *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, WideCharToMultiByte__II_3CIII_3B_3Z_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetBooleanArrayElements(env, arg7, NULL)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)WideCharToMultiByte(arg0, arg1, (LPCWSTR)lparg2, arg3, (LPSTR)arg4, arg5, (LPCSTR)lparg6, (LPBOOL)lparg7);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, JNI_ABORT);
-	}
-	if (arg7 && lparg7) (*env)->ReleaseBooleanArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, WideCharToMultiByte__II_3CIII_3B_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WideCharToMultiByte__II_3CI_3BI_3B_3Z
-JNIEXPORT jint JNICALL OS_NATIVE(WideCharToMultiByte__II_3CI_3BI_3B_3Z)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2, jint arg3, jbyteArray arg4, jint arg5, jbyteArray arg6, jbooleanArray arg7)
-{
-	jchar *lparg2=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg6=NULL;
-	jboolean *lparg7=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, WideCharToMultiByte__II_3CI_3BI_3B_3Z_FUNC);
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetBooleanArrayElements(env, arg7, NULL)) == NULL) goto fail;
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg2) if ((lparg2 = (*env)->GetPrimitiveArrayCritical(env, arg2, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetPrimitiveArrayCritical(env, arg4, NULL)) == NULL) goto fail;
-	} else
-#endif
-	{
-		if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
-		if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	}
-	rc = (jint)WideCharToMultiByte(arg0, arg1, (LPCWSTR)lparg2, arg3, (LPSTR)lparg4, arg5, (LPCSTR)lparg6, (LPBOOL)lparg7);
-fail:
-#ifdef JNI_VERSION_1_2
-	if (IS_JNI_1_2) {
-		if (arg4 && lparg4) (*env)->ReleasePrimitiveArrayCritical(env, arg4, lparg4, 0);
-		if (arg2 && lparg2) (*env)->ReleasePrimitiveArrayCritical(env, arg2, lparg2, JNI_ABORT);
-	} else
-#endif
-	{
-		if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-		if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, JNI_ABORT);
-	}
-	if (arg7 && lparg7) (*env)->ReleaseBooleanArrayElements(env, arg7, lparg7, 0);
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	OS_NATIVE_EXIT(env, that, WideCharToMultiByte__II_3CI_3BI_3B_3Z_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WindowFromDC
-JNIEXPORT jint JNICALL OS_NATIVE(WindowFromDC)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, WindowFromDC_FUNC);
-	rc = (jint)WindowFromDC((HDC)arg0);
-	OS_NATIVE_EXIT(env, that, WindowFromDC_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_WindowFromPoint
-JNIEXPORT jint JNICALL OS_NATIVE(WindowFromPoint)
-	(JNIEnv *env, jclass that, jobject arg0)
-{
-	POINT _arg0, *lparg0=NULL;
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, WindowFromPoint_FUNC);
-	if (arg0) if ((lparg0 = getPOINTFields(env, arg0, &_arg0)) == NULL) goto fail;
-	rc = (jint)WindowFromPoint(*lparg0);
-fail:
-	if (arg0 && lparg0) setPOINTFields(env, arg0, lparg0);
-	OS_NATIVE_EXIT(env, that, WindowFromPoint_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_strlen
-JNIEXPORT jint JNICALL OS_NATIVE(strlen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, strlen_FUNC);
-	rc = (jint)strlen((const char *)arg0);
-	OS_NATIVE_EXIT(env, that, strlen_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_wcslen
-JNIEXPORT jint JNICALL OS_NATIVE(wcslen)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	OS_NATIVE_ENTER(env, that, wcslen_FUNC);
-	rc = (jint)wcslen((const wchar_t *)arg0);
-	OS_NATIVE_EXIT(env, that, wcslen_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
deleted file mode 100644
index 2ff7e46..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
+++ /dev/null
@@ -1,513 +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
- *******************************************************************************/
-
-#ifndef INC_os_H
-#define INC_os_H
-
-#include <windows.h>
-#include <winuser.h>
-#include <commctrl.h>
-#include <commdlg.h>
-#include <oaidl.h>
-#include <shlobj.h>
-#include <ole2.h>
-#include <olectl.h>
-#include <objbase.h>
-#include <shlwapi.h>
-#include <shellapi.h>
-#include <wininet.h>
-
-#ifndef _WIN32_WCE
-#include <initguid.h>
-#include <oleacc.h>
-#include <usp10.h>
-#include <uxtheme.h>
-#include <winable.h>
-#include <vfw.h>
-#endif // _WIN32_WCE
-
-#if defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP)
-#include <aygshell.h>
-#endif // WIN32_PLATFORM_PSPC, WIN32_PLATFORM_WFSP
-
-#ifdef WIN32_PLATFORM_WFSP
-#include <tpcshell.h>
-#endif /* WIN32_PLATFORM_WFSP */
-
-/* Optional custom definitions to exclude some types */
-#include "defines.h"
-
-/* Structs excludes */
-#ifdef _WIN32_WCE
-#define NO_ACTCTX
-#define NO_BLENDFUNCTION
-#define NO_BROWSEINFO
-#define NO_BUTTON_IMAGELIST
-#define NO_CHOOSEFONT
-#define NO_COMBOBOXINFO
-#define NO_DOCINFO
-#define NO_EXTLOGPEN
-#define NO_GCP_RESULTS
-#define NO_GRADIENT_RECT
-#define NO_GUITHREADINFO
-#define NO_HELPINFO
-#define NO_HIGHCONTRAST
-#define NO_LITEM
-#define NO_MARGINS
-#define NO_MENUBARINFO
-#define NO_MENUINFO
-#define NO_MINMAXINFO
-#define NO_NMLINK
-#define NO_NMREBARCHEVRON
-#define NO_NMREBARCHILDSIZE
-#define NO_NMTBHOTITEM
-#define NO_NMTTDISPINFO
-#define NO_NMTTDISPINFOA
-#define NO_NMTTDISPINFOW
-#define NO_NMTVITEMCHANGE
-#define NO_NONCLIENTMETRICS
-#define NO_NONCLIENTMETRICSA
-#define NO_NONCLIENTMETRICSW
-#define NO_OSVERSIONINFOEX
-#define NO_OSVERSIONINFOEXA
-#define NO_OSVERSIONINFOEXW
-#define NO_PRINTDLG
-#define NO_SCRIPT_ANALYSIS
-#define NO_SCRIPT_CONTROL
-#define NO_SCRIPT_DIGITSUBSTITUTE
-#define NO_SCRIPT_ITEM
-#define NO_SCRIPT_LOGATTR
-#define NO_SCRIPT_FONTPROPERTIES
-#define NO_SCRIPT_PROPERTIES
-#define NO_SCRIPT_STATE
-#define NO_TOOLINFO
-#define NO_TRACKMOUSEEVENT
-#define NO_TRIVERTEX
-#define NO_TVITEMEX
-#define NO_WINDOWPLACEMENT
-#define NO_DROPFILES
-#define NO_MONITORINFO
-#define NO_OLECMD
-#define NO_OLECMDTEXT
-
-/* OLE */
-#define NO_CAUUID
-#define NO_CONTROLINFO
-#define NO_COSERVERINFO
-#define NO_DISPPARAMS
-#define NO_DVTARGETDEVICE
-#define NO_EXCEPINFO
-#define NO_FORMATETC
-#define NO_FUNCDESC1
-#define NO_FUNCDESC2
-#define NO_GUID
-#define NO_LICINFO
-#define NO_OLEINPLACEFRAMEINFO
-#define NO_STATSTG
-#define NO_STGMEDIUM
-#define NO_TYPEATTR
-#define NO_VARDESC1
-#define NO_VARDESC2
-#endif /* _WIN32_WCE */
-
-#if !defined(WIN32_PLATFORM_PSPC) && !defined(WIN32_PLATFORM_WFSP)
-#define NO_SHMENUBARINFO
-#endif /* WIN32_PLATFORM_PSPC, WIN32_PLATFORM_WFSP */
-
-#ifndef WIN32_PLATFORM_PSPC
-#define NO_SHACTIVATEINFO
-#define NO_SHRGINFO
-#define NO_SIPINFO
-#endif /* WIN32_PLATFORM_PSPC */
-
-/* Functions excludes */
-#ifdef _WIN32_WCE
-#define NO_AbortDoc
-#define NO_ActivateActCtx
-#define NO_ActivateKeyboardLayout
-#define NO_Arc
-#define NO_AlphaBlend
-#define NO_BeginPath
-#define NO_CallNextHookEx
-#define NO_CallWindowProcA
-#define NO_CharLowerA
-#define NO_CharUpperA
-#define NO_ChooseColorA
-#define NO_ChooseFontA
-#define NO_ChooseFontW
-#define NO_CloseThemeData
-#define NO_CoCreateInstance
-#define NO_CopyImage
-#define NO_CreateAcceleratorTableA
-#define NO_CreateActCtxA
-#define NO_CreateActCtxW
-#define NO_CreateCursor
-#define NO_CreateDCA
-#define NO_CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2
-#define NO_CreateFontIndirectA__I
-#define NO_CreatePolygonRgn
-#define NO_CreateStreamOnHGlobal
-#define NO_CreateWindowExA
-#define NO_DefFrameProcA
-#define NO_DefFrameProcW
-#define NO_DefMDIChildProcA
-#define NO_DefMDIChildProcW
-#define NO_DefWindowProcA
-#define NO_DestroyCursor
-#define NO_DispatchMessageA
-#define NO_DragDetect
-#define NO_DragFinish
-#define NO_DragQueryFileA
-#define NO_DragQueryFileW
-#define NO_DrawStateA
-#define NO_DrawStateW
-#define NO_DrawTextA
-#define NO_DrawThemeBackground
-#define NO_DrawThemeEdge
-#define NO_DrawThemeIcon
-#define NO_DrawThemeParentBackground
-#define NO_DrawThemeText
-#define NO_EnableScrollBar
-#define NO_EndDoc
-#define NO_EndPage
-#define NO_EndPath
-#define NO_EnumDisplayMonitors
-#define NO_EnumFontFamiliesA
-#define NO_EnumFontFamiliesExA
-#define NO_EnumFontFamiliesExW
-#define NO_EnumSystemLanguageGroupsA
-#define NO_EnumSystemLanguageGroupsW
-#define NO_EnumSystemLocalesA
-#define NO_ExpandEnvironmentStringsW
-#define NO_ExpandEnvironmentStringsA
-#define NO_ExtCreatePen
-#define NO_ExtCreateRegion
-#define NO_ExtTextOutA
-#define NO_ExtractIconExA
-#define NO_FillPath
-#define NO_FindWindowA
-#define NO_FormatMessageA
-#define NO_GdiSetBatchLimit
-#define NO_GetCharABCWidthsA
-#define NO_GetCharABCWidthsW
-#define NO_GetCharWidthA
-#define NO_GetCharWidthW
-#define NO_GetCharacterPlacementA
-#define NO_GetCharacterPlacementW
-#define NO_GetClassInfoA
-#define NO_GetClassNameA
-#define NO_GetClipboardFormatNameA
-#define NO_GetComboBoxInfo
-#define NO_GetDIBColorTable
-#define NO_GetDIBits
-#define NO_GetFontLanguageInfo
-#define NO_GetGUIThreadInfo
-#define NO_GetIconInfo
-#define NO_GetKeyboardLayout
-#define NO_GetKeyboardLayoutList
-#define NO_GetKeyboardState
-#define NO_GetKeyNameTextA
-#define NO_GetKeyNameTextW
-#define NO_GetLastActivePopup
-#define NO_GetLayout
-#define NO_GetLocaleInfoA
-#define NO_GetMenu
-#define NO_GetMenuBarInfo
-#define NO_GetMenuDefaultItem
-#define NO_GetMenuInfo
-#define NO_GetMenuItemCount
-#define NO_GetMenuItemInfoA
-#define NO_GetMenuItemRect
-#define NO_GetMessageA
-#define NO_GetMessageTime
-#define NO_GetMetaRgn
-#define NO_GetModuleFileNameA
-#define NO_GetModuleHandleA
-#define NO_GetMonitorInfoA
-#define NO_GetMonitorInfoW
-#define NO_GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2
-#define NO_GetObjectA__III
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2
-#define NO_GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2
-#define NO_GetOpenFileNameA
-#define NO_GetPolyFillMode
-#define NO_GetProfileStringA
-#define NO_GetProfileStringW
-#define NO_GetPropA
-#define NO_GetPropW
-#define NO_GetRandomRgn
-#define NO_GetROP2
-#define NO_GetSaveFileNameA
-#define NO_GetSystemDefaultUILanguage
-#define NO_GetTextCharset
-#define NO_GetTextExtentPoint32A
-#define NO_GetTextMetricsA
-#define NO_GetThemeColor
-#define NO_GetThemeTextExtent
-#define NO_GetThemeInt
-#define NO_GetThemeMargins
-#define NO_GetThemeBackgroundContentRect
-#define NO_GetThemeBackgroundExtent
-#define NO_GetThemePartSize
-#define NO_GetThemeMetric
-#define NO_GetThemeRect
-#define NO_GetThemeSysSize
-#define NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2
-#define NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2
-#define NO_GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2
-#define NO_GetWindowLongA
-#define NO_GetWindowOrgEx
-#define NO_GetWindowPlacement
-#define NO_GetWindowTextA
-#define NO_GetWindowTextLengthA
-#define NO_GetWorldTransform
-#define NO_GlobalAddAtomA
-#define NO_GlobalAddAtomW
-#define NO_GradientFill
-#define NO_HitTestThemeBackground
-#define NO_IIDFromString
-#define NO_ImmDisableTextFrameService
-#define NO_ImmGetCompositionFontA
-#define NO_ImmGetCompositionStringA
-#define NO_ImmSetCompositionFontA
-#define NO_InsertMenuA
-#define NO_InsertMenuItemA
-#define NO_InsertMenuItemW
-#define NO_InternetSetOption
-#define NO_InvalidateRgn
-#define NO_IsAppThemed
-#define NO_IsHungAppWindow
-#define NO_IsIconic
-#define NO_IsZoomed
-#define NO_LineTo
-#define NO_LoadBitmapA
-#define NO_LoadCursorA
-#define NO_LoadIconA
-#define NO_LoadImageA__IIIIII
-#define NO_LoadImageA__I_3BIIII
-#define NO_LoadLibraryA
-#define NO_LoadStringA
-#define NO_LockWindowUpdate
-#define NO_MapVirtualKeyA
-#define NO_MCIWndRegisterClass
-#define NO_MessageBoxA
-#define NO_MonitorFromWindow
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2I
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II
-#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II
-#define NO_MoveToEx
-#define NO_NotifyWinEvent
-#define NO_OleInitialize
-#define NO_OleUninitialize
-#define NO_OpenThemeData
-#define NO_PeekMessageA
-#define NO_Pie
-#define NO_PostMessageA
-#define NO_PostThreadMessageA
-#define NO_PRIMARYLANGID
-#define NO_PrintDlgA
-#define NO_PrintDlgW
-#define NO_RedrawWindow
-#define NO_RegEnumKeyExA
-#define NO_RegOpenKeyExA
-#define NO_RegQueryInfoKeyA
-#define NO_RegQueryValueExA__I_3BI_3I_3B_3I
-#define NO_RegQueryValueExA__I_3BI_3I_3I_3I
-#define NO_RegQueryValueExW__I_3CI_3I_3C_3I
-#define NO_RegQueryValueExW__I_3CI_3I_3I_3I
-#define NO_RegisterClassA
-#define NO_RegisterClipboardFormatA
-#define NO_RegisterWindowMessageA
-#define NO_RemovePropA
-#define NO_RemovePropW
-#define NO_SetLayout
-#define NO_Shell_1NotifyIconA
-#define NO_SHBrowseForFolderA
-#define NO_SHBrowseForFolderW
-#define NO_SHGetPathFromIDListA
-#define NO_SHGetPathFromIDListW
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
-#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2
-#define NO_SendMessageA__IIII
-#define NO_SendMessageA__III_3S
-#define NO_SendMessageA__III_3I
-#define NO_SendMessageA__III_3B
-#define NO_SendMessageA__II_3II
-#define NO_SendMessageA__II_3I_3I
-#define NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2
-#define NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2
-#define NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2
-#define NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2
-#define NO_SetDIBColorTable
-#define NO_SetErrorMode
-#define NO_SetGraphicsMode
-#define NO_SetMenu
-#define NO_SetMenuDefaultItem
-#define NO_SetMenuInfo
-#define NO_SetMenuItemInfoA
-#define NO_SetMetaRgn
-#define NO_SetPolyFillMode
-#define NO_SetPropA
-#define NO_SetPropW
-#define NO_SetStretchBltMode
-#define NO_SetTextAlign
-#define NO_SetWindowLongA
-#define NO_SetWindowOrgEx
-#define NO_SetWindowPlacement
-#define NO_SetWindowTextA
-#define NO_SetWindowsHookExA
-#define NO_SetWindowsHookExW
-#define NO_SetWorldTransform
-#define NO_ShellExecuteExA
-#define NO_ShowOwnedPopups
-#define NO_ShowScrollBar
-#define NO_StartDocA
-#define NO_StartDocW
-#define NO_StartPage
-#define NO_SystemParametersInfoA__II_3II
-#define NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I
-#define NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I
-#define NO_SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I
-#define NO_SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I
-#define NO_SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I
-#define NO_ScriptApplyDigitSubstitution
-#define NO_ScriptBreak
-#define NO_ScriptCacheGetHeight
-#define NO_ScriptCPtoX
-#define NO_ScriptFreeCache
-#define NO_ScriptGetLogicalWidths
-#define NO_ScriptGetFontProperties
-#define NO_ScriptGetProperties
-#define NO_ScriptItemize
-#define NO_ScriptJustify
-#define NO_ScriptLayout
-#define NO_ScriptPlace
-#define NO_ScriptRecordDigitSubstitution
-#define NO_ScriptShape
-#define NO_ScriptTextOut
-#define NO_ScriptXtoCP
-#define NO_StrokePath
-#define NO_ToAscii
-#define NO_ToUnicode
-#define NO_TrackMouseEvent
-#define NO_TranslateAcceleratorA
-#define NO_TranslateMDISysAccel
-#define NO_TransparentBlt
-#define NO_UnhookWindowsHookEx
-#define NO_UnregisterClassA
-#define NO_VkKeyScanA
-#define NO_VkKeyScanW
-#define NO_WaitMessage
-#define NO_WindowFromDC
-
-#define ChooseColorW ChooseColor
-#define CHOOSECOLORW CHOOSECOLOR
-#define LPCHOOSECOLORW LPCHOOSECOLOR
-#define FONTENUMPROCW FONTENUMPROC
-#define NOTIFYICONDATAW NOTIFYICONDATA
-#define Shell_NotifyIconW Shell_NotifyIcon
-#define ShellExecuteExW ShellExecuteEx
-#define LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO
-#endif /* _WIN32_WCE */
-
-#ifndef WIN32_PLATFORM_HPC2000
-#define NO_CommandBar_1AddAdornments
-#define NO_CommandBar_1Create
-#define NO_CommandBar_1DrawMenuBar
-#define NO_CommandBar_1Height
-#define NO_CommandBar_1InsertMenubarEx
-#define NO_CommandBar_1Show
-#endif /* WIN32_PLATFORM_HPC2000 */
-
-#if !defined(WIN32_PLATFORM_PSPC) && !defined(WIN32_PLATFORM_WFSP)
-#define NO_SHCreateMenuBar
-#define NO_SHSetAppKeyWndAssoc
-#endif /* WIN32_PLATFORM_PSPC, WIN32_PLATFORM_WFSP */
-
-#ifdef WIN32_PLATFORM_WFSP
-#define NO_CommDlgExtendedError
-#define NO_ChooseColorW
-#endif /* WIN32_PLATFORM_WFSP */
-
-#ifndef WIN32_PLATFORM_PSPC
-#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II
-#define NO_NMRGINFO
-#define NO_SHHandleWMSettingChange
-#define NO_SHRecognizeGesture
-#define NO_SHSipPreference
-#define NO_SipGetInfo
-#endif /* WIN32_PLATFORM_PSPC */
-
-#ifndef WIN32_PLATFORM_WFSP
-#define NO_SHSendBackToFocusWindow
-#endif /* WIN32_PLATFORM_WFSP */
-
-#ifndef _WIN32_WCE
-#define NO_CommandBar_1Destroy
-#define NO_TransparentImage
-#endif /* _WIN32_WCE */
-
-#define TrackMouseEvent _TrackMouseEvent
-
-#if (_WIN32_IE <= 0x0600)
-typedef struct tagTVITEMCHANGE {
-    NMHDR hdr;
-    UINT uChanged;
-    HTREEITEM hItem;
-    UINT uStateNew;
-    UINT uStateOld;
-    LPARAM lParam;
-} NMTVITEMCHANGE;
-#endif /* _WIN32_IE <= 0x0600 */
-
-#include "os_custom.h"
-
-#endif /* INC_os_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c
deleted file mode 100644
index 26d33af..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c
+++ /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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-#include "os_stats.h"
-
-#define OS_NATIVE(func) Java_org_eclipse_swt_internal_win32_OS_##func
-
-__declspec(dllexport) HRESULT DllGetVersion(DLLVERSIONINFO *dvi);
-HRESULT DllGetVersion(DLLVERSIONINFO *dvi)
-{
-     dvi->dwMajorVersion = SWT_VERSION / 1000;
-     dvi->dwMinorVersion = SWT_VERSION % 1000;
-     dvi->dwBuildNumber = 0;
-     dvi->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
-     return 1;
-}
-
-HINSTANCE g_hInstance = NULL;
-BOOL WINAPI DllMain(HANDLE hInstDLL, DWORD dwReason, LPVOID lpvReserved)
-{
-	if (dwReason == DLL_PROCESS_ATTACH) {
-		if (g_hInstance == NULL) g_hInstance = hInstDLL;
-	}
-	return TRUE;
-}
-
-#ifndef NO_GetLibraryHandle
-JNIEXPORT jint JNICALL OS_NATIVE(GetLibraryHandle)
-	(JNIEnv *env, jclass that)
-{
-	jint rc;
-	OS_NATIVE_ENTER(env, that, GetLibraryHandle_FUNC)
-	rc = (jint)g_hInstance;
-	OS_NATIVE_EXIT(env, that, GetLibraryHandle_FUNC)
-	return rc;
-}
-#endif
-
-#ifndef NO_IsPPC
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsPPC)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc;
-	OS_NATIVE_ENTER(env, that, IsPPC_FUNC)
-#ifdef WIN32_PLATFORM_PSPC
-	rc = (jboolean)TRUE;
-#else
-	rc = (jboolean)FALSE;
-#endif
-	OS_NATIVE_EXIT(env, that, IsPPC_FUNC)
-	return rc;
-}
-#endif
-
-#ifndef NO_IsSP
-JNIEXPORT jboolean JNICALL OS_NATIVE(IsSP)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc;
-	OS_NATIVE_ENTER(env, that, IsSP_FUNC)
-#ifdef WIN32_PLATFORM_WFSP
-	rc = (jboolean)TRUE;
-#else
-	rc = (jboolean)FALSE;
-#endif
-	OS_NATIVE_EXIT(env, that, IsSP_FUNC)
-	return rc;
-}
-#endif
-
-#ifndef NO_SendMessageW__II_3I_3I
-JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__II_3I_3I)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3)
-{
-	jint *lparg2=NULL;
-	jint *lparg3=NULL;
-	jint rc;
-	OS_NATIVE_ENTER(env, that, SendMessageW__II_3I_3I_FUNC)
-	if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-#ifdef _WIN32_WCE
-	/*
-	* Bug on WinCE.  SendMessage can fail (return 0) when being passed references
-	* to parameters allocated from the heap. The workaround is to allocate
-	* the parameters on the stack and to copy them back to the java array.
-	* Observed on Pocket PC WinCE 3.0 with EM_GETSEL and CB_GETEDITSEL messages.
-	*/
-	switch (arg1) {
-		case EM_GETSEL:
-		case CB_GETEDITSEL: {
-			jint wParam = 0, lParam = 0;
-			jint *lpwParam = NULL, *lplParam = NULL;
-			if (lparg2 != NULL) lpwParam = &wParam;
-			if (lparg3 != NULL) lplParam = &lParam;
-			rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)lpwParam, (LPARAM)lplParam);
-			if (lparg2 != NULL) lparg2[0] = wParam;
-			if (lparg3 != NULL) lparg3[0] = lParam;
-			break;
-		}
-		default:
-			rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)lparg3);
-	}
-#else
-	rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)lparg3);
-#endif
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	OS_NATIVE_EXIT(env, that, SendMessageW__II_3I_3I_FUNC)
-	return rc;
-}
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
deleted file mode 100644
index 3b9e2b7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
+++ /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
- *******************************************************************************/
-
-/* Libraries for dynamic loaded functions */
-#define ActivateActCtx_LIB "kernel32.dll"
-#define AlphaBlend_LIB "msimg32.dll"
-#define CloseThemeData_LIB "uxtheme.dll"
-#define CreateActCtxW_LIB "kernel32.dll"
-#define CreateActCtxA_LIB "kernel32.dll"
-#define DrawThemeBackground_LIB "uxtheme.dll"
-#define DrawThemeEdge_LIB "uxtheme.dll"
-#define DrawThemeIcon_LIB "uxtheme.dll"
-#define DrawThemeParentBackground_LIB "uxtheme.dll"
-#define DrawThemeText_LIB "uxtheme.dll"
-#define GetThemeInt_LIB "uxtheme.dll"
-#define GetThemeMargins_LIB "uxtheme.dll"
-#define GetThemeBackgroundContentRect_LIB "uxtheme.dll"
-#define GetThemeBackgroundExtent_LIB "uxtheme.dll"
-#define GetThemeColor_LIB "uxtheme.dll"
-#define GetThemePartSize_LIB "uxtheme.dll"
-#define GetThemeMetric_LIB "uxtheme.dll"
-#define GetThemeRect_LIB "uxtheme.dll"
-#define GetThemeSysSize_LIB "uxtheme.dll"
-#define HitTestThemeBackground_LIB "uxtheme.dll"
-#define EnumDisplayMonitors_LIB "user32.dll"
-#define EnumSystemLanguageGroupsA_LIB "kernel32.dll"
-#define EnumSystemLanguageGroupsW_LIB "kernel32.dll"
-#define GetComboBoxInfo_LIB "user32.dll"
-#define GetLayout_LIB "gdi32.dll"
-#define GetMenuBarInfo_LIB "user32.dll"
-#define GetMenuInfo_LIB "user32.dll"
-#define GetMonitorInfoA_LIB "user32.dll"
-#define GetMonitorInfoW_LIB "user32.dll"
-#define GetSystemDefaultUILanguage_LIB "kernel32.dll"
-#define GetThemeTextExtent_LIB "uxtheme.dll"
-#define GradientFill_LIB "msimg32.dll"
-#define ImmDisableTextFrameService_LIB "imm32.dll"
-#define IsAppThemed_LIB "uxtheme.dll"
-#define IsHungAppWindow_LIB "user32.dll"
-#define MCIWndRegisterClass_LIB "msvfw32.dll"
-#define MonitorFromWindow_LIB "user32.dll"
-#define NotifyWinEvent_LIB "user32.dll"
-#define OpenThemeData_LIB "uxtheme.dll"
-#define SetLayout_LIB "gdi32.dll"
-#define SetMenuInfo_LIB "user32.dll"
-#define TransparentBlt_LIB "msimg32.dll"
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
deleted file mode 100644
index 396cf6e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
+++ /dev/null
@@ -1,738 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_stats.h"
-
-#ifdef NATIVE_STATS
-
-int OS_nativeFunctionCount = 696;
-int OS_nativeFunctionCallCount[696];
-char * OS_nativeFunctionNames[] = {
-	"AbortDoc",
-	"ActivateActCtx",
-	"ActivateKeyboardLayout",
-	"AdjustWindowRectEx",
-	"AlphaBlend",
-	"Arc",
-	"BeginDeferWindowPos",
-	"BeginPaint",
-	"BeginPath",
-	"BitBlt",
-	"BringWindowToTop",
-	"Call",
-	"CallNextHookEx",
-	"CallWindowProcA",
-	"CallWindowProcW",
-	"CharLowerA",
-	"CharLowerW",
-	"CharUpperA",
-	"CharUpperW",
-	"CheckMenuItem",
-	"ChooseColorA",
-	"ChooseColorW",
-	"ChooseFontA",
-	"ChooseFontW",
-	"ClientToScreen",
-	"CloseClipboard",
-	"CloseThemeData",
-	"CoCreateInstance",
-	"CombineRgn",
-	"CommDlgExtendedError",
-	"CommandBar_1AddAdornments",
-	"CommandBar_1Create",
-	"CommandBar_1Destroy",
-	"CommandBar_1DrawMenuBar",
-	"CommandBar_1Height",
-	"CommandBar_1InsertMenubarEx",
-	"CommandBar_1Show",
-	"CopyImage",
-	"CreateAcceleratorTableA",
-	"CreateAcceleratorTableW",
-	"CreateActCtxA",
-	"CreateActCtxW",
-	"CreateBitmap",
-	"CreateCaret",
-	"CreateCompatibleBitmap",
-	"CreateCompatibleDC",
-	"CreateCursor",
-	"CreateDCA",
-	"CreateDCW",
-	"CreateDIBSection",
-	"CreateFontIndirectA__I",
-	"CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2",
-	"CreateFontIndirectW__I",
-	"CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2",
-	"CreateIconIndirect",
-	"CreateMenu",
-	"CreatePalette",
-	"CreatePatternBrush",
-	"CreatePen",
-	"CreatePolygonRgn",
-	"CreatePopupMenu",
-	"CreateRectRgn",
-	"CreateSolidBrush",
-	"CreateStreamOnHGlobal",
-	"CreateWindowExA",
-	"CreateWindowExW",
-	"DefFrameProcA",
-	"DefFrameProcW",
-	"DefMDIChildProcA",
-	"DefMDIChildProcW",
-	"DefWindowProcA",
-	"DefWindowProcW",
-	"DeferWindowPos",
-	"DeleteDC",
-	"DeleteMenu",
-	"DeleteObject",
-	"DestroyAcceleratorTable",
-	"DestroyCaret",
-	"DestroyCursor",
-	"DestroyIcon",
-	"DestroyMenu",
-	"DestroyWindow",
-	"DispatchMessageA",
-	"DispatchMessageW",
-	"DragDetect",
-	"DragFinish",
-	"DragQueryFileA",
-	"DragQueryFileW",
-	"DrawEdge",
-	"DrawFocusRect",
-	"DrawFrameControl",
-	"DrawIconEx",
-	"DrawMenuBar",
-	"DrawStateA",
-	"DrawStateW",
-	"DrawTextA",
-	"DrawTextW",
-	"DrawThemeBackground",
-	"DrawThemeEdge",
-	"DrawThemeIcon",
-	"DrawThemeParentBackground",
-	"DrawThemeText",
-	"Ellipse",
-	"EnableMenuItem",
-	"EnableScrollBar",
-	"EnableWindow",
-	"EndDeferWindowPos",
-	"EndDoc",
-	"EndPage",
-	"EndPaint",
-	"EndPath",
-	"EnumDisplayMonitors",
-	"EnumFontFamiliesA",
-	"EnumFontFamiliesExA",
-	"EnumFontFamiliesExW",
-	"EnumFontFamiliesW",
-	"EnumSystemLanguageGroupsA",
-	"EnumSystemLanguageGroupsW",
-	"EnumSystemLocalesA",
-	"EnumSystemLocalesW",
-	"EqualRect",
-	"EqualRgn",
-	"ExcludeClipRect",
-	"ExpandEnvironmentStringsA",
-	"ExpandEnvironmentStringsW",
-	"ExtCreatePen",
-	"ExtCreateRegion",
-	"ExtTextOutA",
-	"ExtTextOutW",
-	"ExtractIconExA",
-	"ExtractIconExW",
-	"FillPath",
-	"FillRect",
-	"FindWindowA",
-	"FindWindowW",
-	"FormatMessageA",
-	"FormatMessageW",
-	"FreeLibrary",
-	"GdiSetBatchLimit",
-	"GetACP",
-	"GetActiveWindow",
-	"GetBkColor",
-	"GetCapture",
-	"GetCaretPos",
-	"GetCharABCWidthsA",
-	"GetCharABCWidthsW",
-	"GetCharWidthA",
-	"GetCharWidthW",
-	"GetCharacterPlacementA",
-	"GetCharacterPlacementW",
-	"GetClassInfoA",
-	"GetClassInfoW",
-	"GetClassNameA",
-	"GetClassNameW",
-	"GetClientRect",
-	"GetClipBox",
-	"GetClipRgn",
-	"GetClipboardData",
-	"GetClipboardFormatNameA",
-	"GetClipboardFormatNameW",
-	"GetComboBoxInfo",
-	"GetCurrentObject",
-	"GetCurrentProcessId",
-	"GetCurrentThreadId",
-	"GetCursor",
-	"GetCursorPos",
-	"GetDC",
-	"GetDCEx",
-	"GetDIBColorTable",
-	"GetDIBits",
-	"GetDesktopWindow",
-	"GetDeviceCaps",
-	"GetDialogBaseUnits",
-	"GetDlgItem",
-	"GetDoubleClickTime",
-	"GetFocus",
-	"GetFontLanguageInfo",
-	"GetForegroundWindow",
-	"GetGUIThreadInfo",
-	"GetIconInfo",
-	"GetKeyNameTextA",
-	"GetKeyNameTextW",
-	"GetKeyState",
-	"GetKeyboardLayout",
-	"GetKeyboardLayoutList",
-	"GetKeyboardState",
-	"GetLastActivePopup",
-	"GetLastError",
-	"GetLayout",
-	"GetLibraryHandle",
-	"GetLocaleInfoA",
-	"GetLocaleInfoW",
-	"GetMenu",
-	"GetMenuBarInfo",
-	"GetMenuDefaultItem",
-	"GetMenuInfo",
-	"GetMenuItemCount",
-	"GetMenuItemInfoA",
-	"GetMenuItemInfoW",
-	"GetMenuItemRect",
-	"GetMessageA",
-	"GetMessagePos",
-	"GetMessageTime",
-	"GetMessageW",
-	"GetMetaRgn",
-	"GetModuleFileNameA",
-	"GetModuleFileNameW",
-	"GetModuleHandleA",
-	"GetModuleHandleW",
-	"GetMonitorInfoA",
-	"GetMonitorInfoW",
-	"GetNearestPaletteIndex",
-	"GetObjectA__III",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2",
-	"GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2",
-	"GetObjectW__III",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2",
-	"GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2",
-	"GetOpenFileNameA",
-	"GetOpenFileNameW",
-	"GetPaletteEntries",
-	"GetParent",
-	"GetPixel",
-	"GetPolyFillMode",
-	"GetProcAddress",
-	"GetProcessHeap",
-	"GetProfileStringA",
-	"GetProfileStringW",
-	"GetPropA",
-	"GetPropW",
-	"GetROP2",
-	"GetRandomRgn",
-	"GetRegionData",
-	"GetRgnBox",
-	"GetSaveFileNameA",
-	"GetSaveFileNameW",
-	"GetScrollInfo",
-	"GetStockObject",
-	"GetSysColor",
-	"GetSysColorBrush",
-	"GetSystemDefaultUILanguage",
-	"GetSystemMenu",
-	"GetSystemMetrics",
-	"GetSystemPaletteEntries",
-	"GetTextCharset",
-	"GetTextColor",
-	"GetTextExtentPoint32A",
-	"GetTextExtentPoint32W",
-	"GetTextMetricsA",
-	"GetTextMetricsW",
-	"GetThemeBackgroundContentRect",
-	"GetThemeBackgroundExtent",
-	"GetThemeColor",
-	"GetThemeInt",
-	"GetThemeMargins",
-	"GetThemeMetric",
-	"GetThemePartSize",
-	"GetThemeRect",
-	"GetThemeSysSize",
-	"GetThemeTextExtent",
-	"GetTickCount",
-	"GetUpdateRect",
-	"GetUpdateRgn",
-	"GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2",
-	"GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2",
-	"GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2",
-	"GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2",
-	"GetWindow",
-	"GetWindowDC",
-	"GetWindowLongA",
-	"GetWindowLongW",
-	"GetWindowOrgEx",
-	"GetWindowPlacement",
-	"GetWindowRect",
-	"GetWindowRgn",
-	"GetWindowTextA",
-	"GetWindowTextLengthA",
-	"GetWindowTextLengthW",
-	"GetWindowTextW",
-	"GetWindowThreadProcessId",
-	"GetWorldTransform",
-	"GlobalAddAtomA",
-	"GlobalAddAtomW",
-	"GlobalAlloc",
-	"GlobalFree",
-	"GlobalLock",
-	"GlobalSize",
-	"GlobalUnlock",
-	"GradientFill",
-	"HeapAlloc",
-	"HeapFree",
-	"HideCaret",
-	"HitTestThemeBackground",
-	"IIDFromString",
-	"ImageList_1Add",
-	"ImageList_1AddMasked",
-	"ImageList_1BeginDrag",
-	"ImageList_1Create",
-	"ImageList_1Destroy",
-	"ImageList_1DragEnter",
-	"ImageList_1DragLeave",
-	"ImageList_1DragMove",
-	"ImageList_1DragShowNolock",
-	"ImageList_1Draw",
-	"ImageList_1EndDrag",
-	"ImageList_1GetDragImage",
-	"ImageList_1GetIcon",
-	"ImageList_1GetIconSize",
-	"ImageList_1GetImageCount",
-	"ImageList_1Remove",
-	"ImageList_1Replace",
-	"ImageList_1ReplaceIcon",
-	"ImageList_1SetIconSize",
-	"ImmAssociateContext",
-	"ImmCreateContext",
-	"ImmDestroyContext",
-	"ImmDisableTextFrameService",
-	"ImmGetCompositionFontA",
-	"ImmGetCompositionFontW",
-	"ImmGetCompositionStringA",
-	"ImmGetCompositionStringW",
-	"ImmGetContext",
-	"ImmGetConversionStatus",
-	"ImmGetDefaultIMEWnd",
-	"ImmGetOpenStatus",
-	"ImmReleaseContext",
-	"ImmSetCompositionFontA",
-	"ImmSetCompositionFontW",
-	"ImmSetCompositionWindow",
-	"ImmSetConversionStatus",
-	"ImmSetOpenStatus",
-	"InitCommonControls",
-	"InitCommonControlsEx",
-	"InsertMenuA",
-	"InsertMenuItemA",
-	"InsertMenuItemW",
-	"InsertMenuW",
-	"InternetSetOption",
-	"IntersectClipRect",
-	"IntersectRect",
-	"InvalidateRect",
-	"InvalidateRgn",
-	"IsAppThemed",
-	"IsDBCSLeadByte",
-	"IsHungAppWindow",
-	"IsIconic",
-	"IsPPC",
-	"IsSP",
-	"IsWindowEnabled",
-	"IsWindowVisible",
-	"IsZoomed",
-	"KillTimer",
-	"LineTo",
-	"LoadBitmapA",
-	"LoadBitmapW",
-	"LoadCursorA",
-	"LoadCursorW",
-	"LoadIconA",
-	"LoadIconW",
-	"LoadImageA__IIIIII",
-	"LoadImageA__I_3BIIII",
-	"LoadImageW__IIIIII",
-	"LoadImageW__I_3CIIII",
-	"LoadLibraryA",
-	"LoadLibraryW",
-	"LoadStringA",
-	"LoadStringW",
-	"LocalFree",
-	"LockWindowUpdate",
-	"MCIWndRegisterClass",
-	"MapVirtualKeyA",
-	"MapVirtualKeyW",
-	"MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I",
-	"MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I",
-	"MessageBeep",
-	"MessageBoxA",
-	"MessageBoxW",
-	"MonitorFromWindow",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I",
-	"MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I",
-	"MoveMemory__I_3BI",
-	"MoveMemory__I_3CI",
-	"MoveMemory__I_3DI",
-	"MoveMemory__I_3FI",
-	"MoveMemory__I_3II",
-	"MoveMemory__I_3JI",
-	"MoveMemory__I_3SI",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II",
-	"MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II",
-	"MoveMemory___3BII",
-	"MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I",
-	"MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I",
-	"MoveMemory___3CII",
-	"MoveMemory___3DII",
-	"MoveMemory___3FII",
-	"MoveMemory___3III",
-	"MoveMemory___3JII",
-	"MoveMemory___3SII",
-	"MoveToEx",
-	"MsgWaitForMultipleObjectsEx",
-	"MultiByteToWideChar__IIII_3CI",
-	"MultiByteToWideChar__II_3BI_3CI",
-	"NotifyWinEvent",
-	"OffsetRect",
-	"OffsetRgn",
-	"OleInitialize",
-	"OleUninitialize",
-	"OpenClipboard",
-	"OpenThemeData",
-	"PRIMARYLANGID",
-	"PatBlt",
-	"PeekMessageA",
-	"PeekMessageW",
-	"Pie",
-	"Polygon",
-	"Polyline",
-	"PostMessageA",
-	"PostMessageW",
-	"PostThreadMessageA",
-	"PostThreadMessageW",
-	"PrintDlgA",
-	"PrintDlgW",
-	"PtInRect",
-	"PtInRegion",
-	"RealizePalette",
-	"RectInRegion",
-	"Rectangle",
-	"RedrawWindow",
-	"RegCloseKey",
-	"RegEnumKeyExA",
-	"RegEnumKeyExW",
-	"RegOpenKeyExA",
-	"RegOpenKeyExW",
-	"RegQueryInfoKeyA",
-	"RegQueryInfoKeyW",
-	"RegQueryValueExA__I_3BI_3I_3B_3I",
-	"RegQueryValueExA__I_3BI_3I_3I_3I",
-	"RegQueryValueExW__I_3CI_3I_3C_3I",
-	"RegQueryValueExW__I_3CI_3I_3I_3I",
-	"RegisterClassA",
-	"RegisterClassW",
-	"RegisterClipboardFormatA",
-	"RegisterClipboardFormatW",
-	"RegisterWindowMessageA",
-	"RegisterWindowMessageW",
-	"ReleaseCapture",
-	"ReleaseDC",
-	"RemoveMenu",
-	"RemovePropA",
-	"RemovePropW",
-	"RestoreDC",
-	"RoundRect",
-	"SHBrowseForFolderA",
-	"SHBrowseForFolderW",
-	"SHCreateMenuBar",
-	"SHGetMalloc",
-	"SHGetPathFromIDListA",
-	"SHGetPathFromIDListW",
-	"SHHandleWMSettingChange",
-	"SHRecognizeGesture",
-	"SHSendBackToFocusWindow",
-	"SHSetAppKeyWndAssoc",
-	"SHSipPreference",
-	"SaveDC",
-	"ScreenToClient",
-	"ScriptApplyDigitSubstitution",
-	"ScriptBreak",
-	"ScriptCPtoX",
-	"ScriptCacheGetHeight",
-	"ScriptFreeCache",
-	"ScriptGetFontProperties",
-	"ScriptGetLogicalWidths",
-	"ScriptGetProperties",
-	"ScriptItemize",
-	"ScriptJustify",
-	"ScriptLayout",
-	"ScriptPlace",
-	"ScriptRecordDigitSubstitution",
-	"ScriptShape",
-	"ScriptTextOut",
-	"ScriptXtoCP",
-	"ScrollWindowEx",
-	"SelectClipRgn",
-	"SelectObject",
-	"SelectPalette",
-	"SendInput",
-	"SendMessageA__IIII",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2",
-	"SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2",
-	"SendMessageA__III_3B",
-	"SendMessageA__III_3I",
-	"SendMessageA__III_3S",
-	"SendMessageA__II_3II",
-	"SendMessageA__II_3I_3I",
-	"SendMessageW__IIII",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2",
-	"SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2",
-	"SendMessageW__III_3C",
-	"SendMessageW__III_3I",
-	"SendMessageW__III_3S",
-	"SendMessageW__II_3II",
-	"SendMessageW__II_3I_3I",
-	"SetActiveWindow",
-	"SetBkColor",
-	"SetBkMode",
-	"SetBrushOrgEx",
-	"SetCapture",
-	"SetCaretPos",
-	"SetClipboardData",
-	"SetCursor",
-	"SetCursorPos",
-	"SetDIBColorTable",
-	"SetErrorMode",
-	"SetFocus",
-	"SetForegroundWindow",
-	"SetGraphicsMode",
-	"SetLayout",
-	"SetMenu",
-	"SetMenuDefaultItem",
-	"SetMenuInfo",
-	"SetMenuItemInfoA",
-	"SetMenuItemInfoW",
-	"SetMetaRgn",
-	"SetPaletteEntries",
-	"SetParent",
-	"SetPixel",
-	"SetPolyFillMode",
-	"SetPropA",
-	"SetPropW",
-	"SetROP2",
-	"SetRect",
-	"SetRectRgn",
-	"SetScrollInfo",
-	"SetStretchBltMode",
-	"SetTextAlign",
-	"SetTextColor",
-	"SetTimer",
-	"SetWindowLongA",
-	"SetWindowLongW",
-	"SetWindowOrgEx",
-	"SetWindowPlacement",
-	"SetWindowPos",
-	"SetWindowRgn",
-	"SetWindowTextA",
-	"SetWindowTextW",
-	"SetWindowsHookExA",
-	"SetWindowsHookExW",
-	"SetWorldTransform",
-	"ShellExecuteExA",
-	"ShellExecuteExW",
-	"Shell_1NotifyIconA",
-	"Shell_1NotifyIconW",
-	"ShowCaret",
-	"ShowOwnedPopups",
-	"ShowScrollBar",
-	"ShowWindow",
-	"SipGetInfo",
-	"StartDocA",
-	"StartDocW",
-	"StartPage",
-	"StretchBlt",
-	"StrokePath",
-	"SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I",
-	"SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I",
-	"SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I",
-	"SystemParametersInfoA__II_3II",
-	"SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I",
-	"SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I",
-	"SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I",
-	"SystemParametersInfoW__II_3II",
-	"ToAscii",
-	"ToUnicode",
-	"TrackMouseEvent",
-	"TrackPopupMenu",
-	"TranslateAcceleratorA",
-	"TranslateAcceleratorW",
-	"TranslateCharsetInfo",
-	"TranslateMDISysAccel",
-	"TranslateMessage",
-	"TransparentBlt",
-	"TransparentImage",
-	"UnhookWindowsHookEx",
-	"UnregisterClassA",
-	"UnregisterClassW",
-	"UpdateWindow",
-	"ValidateRect",
-	"VkKeyScanA",
-	"VkKeyScanW",
-	"VtblCall__II",
-	"VtblCall__III",
-	"VtblCall__IIIII_3I",
-	"VtblCall__II_3CII_3I_3I",
-	"WaitMessage",
-	"WideCharToMultiByte__II_3CIII_3B_3Z",
-	"WideCharToMultiByte__II_3CI_3BI_3B_3Z",
-	"WindowFromDC",
-	"WindowFromPoint",
-	"strlen",
-	"wcslen",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return OS_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return OS_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
deleted file mode 100644
index eebb7f4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
+++ /dev/null
@@ -1,720 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int OS_nativeFunctionCount;
-extern int OS_nativeFunctionCallCount[];
-extern char* OS_nativeFunctionNames[];
-#define OS_NATIVE_ENTER(env, that, func) OS_nativeFunctionCallCount[func]++;
-#define OS_NATIVE_EXIT(env, that, func) 
-#else
-#define OS_NATIVE_ENTER(env, that, func) 
-#define OS_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	AbortDoc_FUNC,
-	ActivateActCtx_FUNC,
-	ActivateKeyboardLayout_FUNC,
-	AdjustWindowRectEx_FUNC,
-	AlphaBlend_FUNC,
-	Arc_FUNC,
-	BeginDeferWindowPos_FUNC,
-	BeginPaint_FUNC,
-	BeginPath_FUNC,
-	BitBlt_FUNC,
-	BringWindowToTop_FUNC,
-	Call_FUNC,
-	CallNextHookEx_FUNC,
-	CallWindowProcA_FUNC,
-	CallWindowProcW_FUNC,
-	CharLowerA_FUNC,
-	CharLowerW_FUNC,
-	CharUpperA_FUNC,
-	CharUpperW_FUNC,
-	CheckMenuItem_FUNC,
-	ChooseColorA_FUNC,
-	ChooseColorW_FUNC,
-	ChooseFontA_FUNC,
-	ChooseFontW_FUNC,
-	ClientToScreen_FUNC,
-	CloseClipboard_FUNC,
-	CloseThemeData_FUNC,
-	CoCreateInstance_FUNC,
-	CombineRgn_FUNC,
-	CommDlgExtendedError_FUNC,
-	CommandBar_1AddAdornments_FUNC,
-	CommandBar_1Create_FUNC,
-	CommandBar_1Destroy_FUNC,
-	CommandBar_1DrawMenuBar_FUNC,
-	CommandBar_1Height_FUNC,
-	CommandBar_1InsertMenubarEx_FUNC,
-	CommandBar_1Show_FUNC,
-	CopyImage_FUNC,
-	CreateAcceleratorTableA_FUNC,
-	CreateAcceleratorTableW_FUNC,
-	CreateActCtxA_FUNC,
-	CreateActCtxW_FUNC,
-	CreateBitmap_FUNC,
-	CreateCaret_FUNC,
-	CreateCompatibleBitmap_FUNC,
-	CreateCompatibleDC_FUNC,
-	CreateCursor_FUNC,
-	CreateDCA_FUNC,
-	CreateDCW_FUNC,
-	CreateDIBSection_FUNC,
-	CreateFontIndirectA__I_FUNC,
-	CreateFontIndirectA__Lorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC,
-	CreateFontIndirectW__I_FUNC,
-	CreateFontIndirectW__Lorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC,
-	CreateIconIndirect_FUNC,
-	CreateMenu_FUNC,
-	CreatePalette_FUNC,
-	CreatePatternBrush_FUNC,
-	CreatePen_FUNC,
-	CreatePolygonRgn_FUNC,
-	CreatePopupMenu_FUNC,
-	CreateRectRgn_FUNC,
-	CreateSolidBrush_FUNC,
-	CreateStreamOnHGlobal_FUNC,
-	CreateWindowExA_FUNC,
-	CreateWindowExW_FUNC,
-	DefFrameProcA_FUNC,
-	DefFrameProcW_FUNC,
-	DefMDIChildProcA_FUNC,
-	DefMDIChildProcW_FUNC,
-	DefWindowProcA_FUNC,
-	DefWindowProcW_FUNC,
-	DeferWindowPos_FUNC,
-	DeleteDC_FUNC,
-	DeleteMenu_FUNC,
-	DeleteObject_FUNC,
-	DestroyAcceleratorTable_FUNC,
-	DestroyCaret_FUNC,
-	DestroyCursor_FUNC,
-	DestroyIcon_FUNC,
-	DestroyMenu_FUNC,
-	DestroyWindow_FUNC,
-	DispatchMessageA_FUNC,
-	DispatchMessageW_FUNC,
-	DragDetect_FUNC,
-	DragFinish_FUNC,
-	DragQueryFileA_FUNC,
-	DragQueryFileW_FUNC,
-	DrawEdge_FUNC,
-	DrawFocusRect_FUNC,
-	DrawFrameControl_FUNC,
-	DrawIconEx_FUNC,
-	DrawMenuBar_FUNC,
-	DrawStateA_FUNC,
-	DrawStateW_FUNC,
-	DrawTextA_FUNC,
-	DrawTextW_FUNC,
-	DrawThemeBackground_FUNC,
-	DrawThemeEdge_FUNC,
-	DrawThemeIcon_FUNC,
-	DrawThemeParentBackground_FUNC,
-	DrawThemeText_FUNC,
-	Ellipse_FUNC,
-	EnableMenuItem_FUNC,
-	EnableScrollBar_FUNC,
-	EnableWindow_FUNC,
-	EndDeferWindowPos_FUNC,
-	EndDoc_FUNC,
-	EndPage_FUNC,
-	EndPaint_FUNC,
-	EndPath_FUNC,
-	EnumDisplayMonitors_FUNC,
-	EnumFontFamiliesA_FUNC,
-	EnumFontFamiliesExA_FUNC,
-	EnumFontFamiliesExW_FUNC,
-	EnumFontFamiliesW_FUNC,
-	EnumSystemLanguageGroupsA_FUNC,
-	EnumSystemLanguageGroupsW_FUNC,
-	EnumSystemLocalesA_FUNC,
-	EnumSystemLocalesW_FUNC,
-	EqualRect_FUNC,
-	EqualRgn_FUNC,
-	ExcludeClipRect_FUNC,
-	ExpandEnvironmentStringsA_FUNC,
-	ExpandEnvironmentStringsW_FUNC,
-	ExtCreatePen_FUNC,
-	ExtCreateRegion_FUNC,
-	ExtTextOutA_FUNC,
-	ExtTextOutW_FUNC,
-	ExtractIconExA_FUNC,
-	ExtractIconExW_FUNC,
-	FillPath_FUNC,
-	FillRect_FUNC,
-	FindWindowA_FUNC,
-	FindWindowW_FUNC,
-	FormatMessageA_FUNC,
-	FormatMessageW_FUNC,
-	FreeLibrary_FUNC,
-	GdiSetBatchLimit_FUNC,
-	GetACP_FUNC,
-	GetActiveWindow_FUNC,
-	GetBkColor_FUNC,
-	GetCapture_FUNC,
-	GetCaretPos_FUNC,
-	GetCharABCWidthsA_FUNC,
-	GetCharABCWidthsW_FUNC,
-	GetCharWidthA_FUNC,
-	GetCharWidthW_FUNC,
-	GetCharacterPlacementA_FUNC,
-	GetCharacterPlacementW_FUNC,
-	GetClassInfoA_FUNC,
-	GetClassInfoW_FUNC,
-	GetClassNameA_FUNC,
-	GetClassNameW_FUNC,
-	GetClientRect_FUNC,
-	GetClipBox_FUNC,
-	GetClipRgn_FUNC,
-	GetClipboardData_FUNC,
-	GetClipboardFormatNameA_FUNC,
-	GetClipboardFormatNameW_FUNC,
-	GetComboBoxInfo_FUNC,
-	GetCurrentObject_FUNC,
-	GetCurrentProcessId_FUNC,
-	GetCurrentThreadId_FUNC,
-	GetCursor_FUNC,
-	GetCursorPos_FUNC,
-	GetDC_FUNC,
-	GetDCEx_FUNC,
-	GetDIBColorTable_FUNC,
-	GetDIBits_FUNC,
-	GetDesktopWindow_FUNC,
-	GetDeviceCaps_FUNC,
-	GetDialogBaseUnits_FUNC,
-	GetDlgItem_FUNC,
-	GetDoubleClickTime_FUNC,
-	GetFocus_FUNC,
-	GetFontLanguageInfo_FUNC,
-	GetForegroundWindow_FUNC,
-	GetGUIThreadInfo_FUNC,
-	GetIconInfo_FUNC,
-	GetKeyNameTextA_FUNC,
-	GetKeyNameTextW_FUNC,
-	GetKeyState_FUNC,
-	GetKeyboardLayout_FUNC,
-	GetKeyboardLayoutList_FUNC,
-	GetKeyboardState_FUNC,
-	GetLastActivePopup_FUNC,
-	GetLastError_FUNC,
-	GetLayout_FUNC,
-	GetLibraryHandle_FUNC,
-	GetLocaleInfoA_FUNC,
-	GetLocaleInfoW_FUNC,
-	GetMenu_FUNC,
-	GetMenuBarInfo_FUNC,
-	GetMenuDefaultItem_FUNC,
-	GetMenuInfo_FUNC,
-	GetMenuItemCount_FUNC,
-	GetMenuItemInfoA_FUNC,
-	GetMenuItemInfoW_FUNC,
-	GetMenuItemRect_FUNC,
-	GetMessageA_FUNC,
-	GetMessagePos_FUNC,
-	GetMessageTime_FUNC,
-	GetMessageW_FUNC,
-	GetMetaRgn_FUNC,
-	GetModuleFileNameA_FUNC,
-	GetModuleFileNameW_FUNC,
-	GetModuleHandleA_FUNC,
-	GetModuleHandleW_FUNC,
-	GetMonitorInfoA_FUNC,
-	GetMonitorInfoW_FUNC,
-	GetNearestPaletteIndex_FUNC,
-	GetObjectA__III_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_LOGFONTA_2_FUNC,
-	GetObjectA__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC,
-	GetObjectW__III_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_BITMAP_2_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_DIBSECTION_2_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_EXTLOGPEN_2_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_LOGBRUSH_2_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_LOGFONTW_2_FUNC,
-	GetObjectW__IILorg_eclipse_swt_internal_win32_LOGPEN_2_FUNC,
-	GetOpenFileNameA_FUNC,
-	GetOpenFileNameW_FUNC,
-	GetPaletteEntries_FUNC,
-	GetParent_FUNC,
-	GetPixel_FUNC,
-	GetPolyFillMode_FUNC,
-	GetProcAddress_FUNC,
-	GetProcessHeap_FUNC,
-	GetProfileStringA_FUNC,
-	GetProfileStringW_FUNC,
-	GetPropA_FUNC,
-	GetPropW_FUNC,
-	GetROP2_FUNC,
-	GetRandomRgn_FUNC,
-	GetRegionData_FUNC,
-	GetRgnBox_FUNC,
-	GetSaveFileNameA_FUNC,
-	GetSaveFileNameW_FUNC,
-	GetScrollInfo_FUNC,
-	GetStockObject_FUNC,
-	GetSysColor_FUNC,
-	GetSysColorBrush_FUNC,
-	GetSystemDefaultUILanguage_FUNC,
-	GetSystemMenu_FUNC,
-	GetSystemMetrics_FUNC,
-	GetSystemPaletteEntries_FUNC,
-	GetTextCharset_FUNC,
-	GetTextColor_FUNC,
-	GetTextExtentPoint32A_FUNC,
-	GetTextExtentPoint32W_FUNC,
-	GetTextMetricsA_FUNC,
-	GetTextMetricsW_FUNC,
-	GetThemeBackgroundContentRect_FUNC,
-	GetThemeBackgroundExtent_FUNC,
-	GetThemeColor_FUNC,
-	GetThemeInt_FUNC,
-	GetThemeMargins_FUNC,
-	GetThemeMetric_FUNC,
-	GetThemePartSize_FUNC,
-	GetThemeRect_FUNC,
-	GetThemeSysSize_FUNC,
-	GetThemeTextExtent_FUNC,
-	GetTickCount_FUNC,
-	GetUpdateRect_FUNC,
-	GetUpdateRgn_FUNC,
-	GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2_FUNC,
-	GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2_FUNC,
-	GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2_FUNC,
-	GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOW_2_FUNC,
-	GetWindow_FUNC,
-	GetWindowDC_FUNC,
-	GetWindowLongA_FUNC,
-	GetWindowLongW_FUNC,
-	GetWindowOrgEx_FUNC,
-	GetWindowPlacement_FUNC,
-	GetWindowRect_FUNC,
-	GetWindowRgn_FUNC,
-	GetWindowTextA_FUNC,
-	GetWindowTextLengthA_FUNC,
-	GetWindowTextLengthW_FUNC,
-	GetWindowTextW_FUNC,
-	GetWindowThreadProcessId_FUNC,
-	GetWorldTransform_FUNC,
-	GlobalAddAtomA_FUNC,
-	GlobalAddAtomW_FUNC,
-	GlobalAlloc_FUNC,
-	GlobalFree_FUNC,
-	GlobalLock_FUNC,
-	GlobalSize_FUNC,
-	GlobalUnlock_FUNC,
-	GradientFill_FUNC,
-	HeapAlloc_FUNC,
-	HeapFree_FUNC,
-	HideCaret_FUNC,
-	HitTestThemeBackground_FUNC,
-	IIDFromString_FUNC,
-	ImageList_1Add_FUNC,
-	ImageList_1AddMasked_FUNC,
-	ImageList_1BeginDrag_FUNC,
-	ImageList_1Create_FUNC,
-	ImageList_1Destroy_FUNC,
-	ImageList_1DragEnter_FUNC,
-	ImageList_1DragLeave_FUNC,
-	ImageList_1DragMove_FUNC,
-	ImageList_1DragShowNolock_FUNC,
-	ImageList_1Draw_FUNC,
-	ImageList_1EndDrag_FUNC,
-	ImageList_1GetDragImage_FUNC,
-	ImageList_1GetIcon_FUNC,
-	ImageList_1GetIconSize_FUNC,
-	ImageList_1GetImageCount_FUNC,
-	ImageList_1Remove_FUNC,
-	ImageList_1Replace_FUNC,
-	ImageList_1ReplaceIcon_FUNC,
-	ImageList_1SetIconSize_FUNC,
-	ImmAssociateContext_FUNC,
-	ImmCreateContext_FUNC,
-	ImmDestroyContext_FUNC,
-	ImmDisableTextFrameService_FUNC,
-	ImmGetCompositionFontA_FUNC,
-	ImmGetCompositionFontW_FUNC,
-	ImmGetCompositionStringA_FUNC,
-	ImmGetCompositionStringW_FUNC,
-	ImmGetContext_FUNC,
-	ImmGetConversionStatus_FUNC,
-	ImmGetDefaultIMEWnd_FUNC,
-	ImmGetOpenStatus_FUNC,
-	ImmReleaseContext_FUNC,
-	ImmSetCompositionFontA_FUNC,
-	ImmSetCompositionFontW_FUNC,
-	ImmSetCompositionWindow_FUNC,
-	ImmSetConversionStatus_FUNC,
-	ImmSetOpenStatus_FUNC,
-	InitCommonControls_FUNC,
-	InitCommonControlsEx_FUNC,
-	InsertMenuA_FUNC,
-	InsertMenuItemA_FUNC,
-	InsertMenuItemW_FUNC,
-	InsertMenuW_FUNC,
-	InternetSetOption_FUNC,
-	IntersectClipRect_FUNC,
-	IntersectRect_FUNC,
-	InvalidateRect_FUNC,
-	InvalidateRgn_FUNC,
-	IsAppThemed_FUNC,
-	IsDBCSLeadByte_FUNC,
-	IsHungAppWindow_FUNC,
-	IsIconic_FUNC,
-	IsPPC_FUNC,
-	IsSP_FUNC,
-	IsWindowEnabled_FUNC,
-	IsWindowVisible_FUNC,
-	IsZoomed_FUNC,
-	KillTimer_FUNC,
-	LineTo_FUNC,
-	LoadBitmapA_FUNC,
-	LoadBitmapW_FUNC,
-	LoadCursorA_FUNC,
-	LoadCursorW_FUNC,
-	LoadIconA_FUNC,
-	LoadIconW_FUNC,
-	LoadImageA__IIIIII_FUNC,
-	LoadImageA__I_3BIIII_FUNC,
-	LoadImageW__IIIIII_FUNC,
-	LoadImageW__I_3CIIII_FUNC,
-	LoadLibraryA_FUNC,
-	LoadLibraryW_FUNC,
-	LoadStringA_FUNC,
-	LoadStringW_FUNC,
-	LocalFree_FUNC,
-	LockWindowUpdate_FUNC,
-	MCIWndRegisterClass_FUNC,
-	MapVirtualKeyA_FUNC,
-	MapVirtualKeyW_FUNC,
-	MapWindowPoints__IILorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
-	MapWindowPoints__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC,
-	MessageBeep_FUNC,
-	MessageBoxA_FUNC,
-	MessageBoxW_FUNC,
-	MonitorFromWindow_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_KEYBDINPUT_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTA_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_LOGFONTW_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_MOUSEINPUT_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_MSG_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMLVDISPINFO_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I_FUNC,
-	MoveMemory__ILorg_eclipse_swt_internal_win32_WINDOWPOS_2I_FUNC,
-	MoveMemory__I_3BI_FUNC,
-	MoveMemory__I_3CI_FUNC,
-	MoveMemory__I_3DI_FUNC,
-	MoveMemory__I_3FI_FUNC,
-	MoveMemory__I_3II_FUNC,
-	MoveMemory__I_3JI_FUNC,
-	MoveMemory__I_3SI_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2_3BI_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_DRAWITEMSTRUCT_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTA_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_LOGFONTW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_MEASUREITEMSTRUCT_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_MSG_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMCUSTOMDRAW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMHDR_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMHEADER_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMLISTVIEW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVCUSTOMDRAW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVITEMCHANGE_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_NMUPDOWN_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1PROPERTIES_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICA_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_UDACCEL_2II_FUNC,
-	MoveMemory__Lorg_eclipse_swt_internal_win32_WINDOWPOS_2II_FUNC,
-	MoveMemory___3BII_FUNC,
-	MoveMemory___3BLorg_eclipse_swt_internal_win32_ACCEL_2I_FUNC,
-	MoveMemory___3BLorg_eclipse_swt_internal_win32_BITMAPINFOHEADER_2I_FUNC,
-	MoveMemory___3CII_FUNC,
-	MoveMemory___3DII_FUNC,
-	MoveMemory___3FII_FUNC,
-	MoveMemory___3III_FUNC,
-	MoveMemory___3JII_FUNC,
-	MoveMemory___3SII_FUNC,
-	MoveToEx_FUNC,
-	MsgWaitForMultipleObjectsEx_FUNC,
-	MultiByteToWideChar__IIII_3CI_FUNC,
-	MultiByteToWideChar__II_3BI_3CI_FUNC,
-	NotifyWinEvent_FUNC,
-	OffsetRect_FUNC,
-	OffsetRgn_FUNC,
-	OleInitialize_FUNC,
-	OleUninitialize_FUNC,
-	OpenClipboard_FUNC,
-	OpenThemeData_FUNC,
-	PRIMARYLANGID_FUNC,
-	PatBlt_FUNC,
-	PeekMessageA_FUNC,
-	PeekMessageW_FUNC,
-	Pie_FUNC,
-	Polygon_FUNC,
-	Polyline_FUNC,
-	PostMessageA_FUNC,
-	PostMessageW_FUNC,
-	PostThreadMessageA_FUNC,
-	PostThreadMessageW_FUNC,
-	PrintDlgA_FUNC,
-	PrintDlgW_FUNC,
-	PtInRect_FUNC,
-	PtInRegion_FUNC,
-	RealizePalette_FUNC,
-	RectInRegion_FUNC,
-	Rectangle_FUNC,
-	RedrawWindow_FUNC,
-	RegCloseKey_FUNC,
-	RegEnumKeyExA_FUNC,
-	RegEnumKeyExW_FUNC,
-	RegOpenKeyExA_FUNC,
-	RegOpenKeyExW_FUNC,
-	RegQueryInfoKeyA_FUNC,
-	RegQueryInfoKeyW_FUNC,
-	RegQueryValueExA__I_3BI_3I_3B_3I_FUNC,
-	RegQueryValueExA__I_3BI_3I_3I_3I_FUNC,
-	RegQueryValueExW__I_3CI_3I_3C_3I_FUNC,
-	RegQueryValueExW__I_3CI_3I_3I_3I_FUNC,
-	RegisterClassA_FUNC,
-	RegisterClassW_FUNC,
-	RegisterClipboardFormatA_FUNC,
-	RegisterClipboardFormatW_FUNC,
-	RegisterWindowMessageA_FUNC,
-	RegisterWindowMessageW_FUNC,
-	ReleaseCapture_FUNC,
-	ReleaseDC_FUNC,
-	RemoveMenu_FUNC,
-	RemovePropA_FUNC,
-	RemovePropW_FUNC,
-	RestoreDC_FUNC,
-	RoundRect_FUNC,
-	SHBrowseForFolderA_FUNC,
-	SHBrowseForFolderW_FUNC,
-	SHCreateMenuBar_FUNC,
-	SHGetMalloc_FUNC,
-	SHGetPathFromIDListA_FUNC,
-	SHGetPathFromIDListW_FUNC,
-	SHHandleWMSettingChange_FUNC,
-	SHRecognizeGesture_FUNC,
-	SHSendBackToFocusWindow_FUNC,
-	SHSetAppKeyWndAssoc_FUNC,
-	SHSipPreference_FUNC,
-	SaveDC_FUNC,
-	ScreenToClient_FUNC,
-	ScriptApplyDigitSubstitution_FUNC,
-	ScriptBreak_FUNC,
-	ScriptCPtoX_FUNC,
-	ScriptCacheGetHeight_FUNC,
-	ScriptFreeCache_FUNC,
-	ScriptGetFontProperties_FUNC,
-	ScriptGetLogicalWidths_FUNC,
-	ScriptGetProperties_FUNC,
-	ScriptItemize_FUNC,
-	ScriptJustify_FUNC,
-	ScriptLayout_FUNC,
-	ScriptPlace_FUNC,
-	ScriptRecordDigitSubstitution_FUNC,
-	ScriptShape_FUNC,
-	ScriptTextOut_FUNC,
-	ScriptXtoCP_FUNC,
-	ScrollWindowEx_FUNC,
-	SelectClipRgn_FUNC,
-	SelectObject_FUNC,
-	SelectPalette_FUNC,
-	SendInput_FUNC,
-	SendMessageA__IIII_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC,
-	SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC,
-	SendMessageA__III_3B_FUNC,
-	SendMessageA__III_3I_FUNC,
-	SendMessageA__III_3S_FUNC,
-	SendMessageA__II_3II_FUNC,
-	SendMessageA__II_3I_3I_FUNC,
-	SendMessageW__IIII_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_BUTTON_1IMAGELIST_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_LITEM_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_MARGINS_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_POINT_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_REBARBANDINFO_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTONINFO_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TBBUTTON_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TCITEM_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TOOLINFO_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TVHITTESTINFO_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TVINSERTSTRUCT_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_TVITEM_2_FUNC,
-	SendMessageW__IIILorg_eclipse_swt_internal_win32_UDACCEL_2_FUNC,
-	SendMessageW__III_3C_FUNC,
-	SendMessageW__III_3I_FUNC,
-	SendMessageW__III_3S_FUNC,
-	SendMessageW__II_3II_FUNC,
-	SendMessageW__II_3I_3I_FUNC,
-	SetActiveWindow_FUNC,
-	SetBkColor_FUNC,
-	SetBkMode_FUNC,
-	SetBrushOrgEx_FUNC,
-	SetCapture_FUNC,
-	SetCaretPos_FUNC,
-	SetClipboardData_FUNC,
-	SetCursor_FUNC,
-	SetCursorPos_FUNC,
-	SetDIBColorTable_FUNC,
-	SetErrorMode_FUNC,
-	SetFocus_FUNC,
-	SetForegroundWindow_FUNC,
-	SetGraphicsMode_FUNC,
-	SetLayout_FUNC,
-	SetMenu_FUNC,
-	SetMenuDefaultItem_FUNC,
-	SetMenuInfo_FUNC,
-	SetMenuItemInfoA_FUNC,
-	SetMenuItemInfoW_FUNC,
-	SetMetaRgn_FUNC,
-	SetPaletteEntries_FUNC,
-	SetParent_FUNC,
-	SetPixel_FUNC,
-	SetPolyFillMode_FUNC,
-	SetPropA_FUNC,
-	SetPropW_FUNC,
-	SetROP2_FUNC,
-	SetRect_FUNC,
-	SetRectRgn_FUNC,
-	SetScrollInfo_FUNC,
-	SetStretchBltMode_FUNC,
-	SetTextAlign_FUNC,
-	SetTextColor_FUNC,
-	SetTimer_FUNC,
-	SetWindowLongA_FUNC,
-	SetWindowLongW_FUNC,
-	SetWindowOrgEx_FUNC,
-	SetWindowPlacement_FUNC,
-	SetWindowPos_FUNC,
-	SetWindowRgn_FUNC,
-	SetWindowTextA_FUNC,
-	SetWindowTextW_FUNC,
-	SetWindowsHookExA_FUNC,
-	SetWindowsHookExW_FUNC,
-	SetWorldTransform_FUNC,
-	ShellExecuteExA_FUNC,
-	ShellExecuteExW_FUNC,
-	Shell_1NotifyIconA_FUNC,
-	Shell_1NotifyIconW_FUNC,
-	ShowCaret_FUNC,
-	ShowOwnedPopups_FUNC,
-	ShowScrollBar_FUNC,
-	ShowWindow_FUNC,
-	SipGetInfo_FUNC,
-	StartDocA_FUNC,
-	StartDocW_FUNC,
-	StartPage_FUNC,
-	StretchBlt_FUNC,
-	StrokePath_FUNC,
-	SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC,
-	SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSA_2I_FUNC,
-	SystemParametersInfoA__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC,
-	SystemParametersInfoA__II_3II_FUNC,
-	SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_HIGHCONTRAST_2I_FUNC,
-	SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_NONCLIENTMETRICSW_2I_FUNC,
-	SystemParametersInfoW__IILorg_eclipse_swt_internal_win32_RECT_2I_FUNC,
-	SystemParametersInfoW__II_3II_FUNC,
-	ToAscii_FUNC,
-	ToUnicode_FUNC,
-	TrackMouseEvent_FUNC,
-	TrackPopupMenu_FUNC,
-	TranslateAcceleratorA_FUNC,
-	TranslateAcceleratorW_FUNC,
-	TranslateCharsetInfo_FUNC,
-	TranslateMDISysAccel_FUNC,
-	TranslateMessage_FUNC,
-	TransparentBlt_FUNC,
-	TransparentImage_FUNC,
-	UnhookWindowsHookEx_FUNC,
-	UnregisterClassA_FUNC,
-	UnregisterClassW_FUNC,
-	UpdateWindow_FUNC,
-	ValidateRect_FUNC,
-	VkKeyScanA_FUNC,
-	VkKeyScanW_FUNC,
-	VtblCall__II_FUNC,
-	VtblCall__III_FUNC,
-	VtblCall__IIIII_3I_FUNC,
-	VtblCall__II_3CII_3I_3I_FUNC,
-	WaitMessage_FUNC,
-	WideCharToMultiByte__II_3CIII_3B_3Z_FUNC,
-	WideCharToMultiByte__II_3CI_3BI_3B_3Z_FUNC,
-	WindowFromDC_FUNC,
-	WindowFromPoint_FUNC,
-	strlen_FUNC,
-	wcslen_FUNC,
-} OS_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
deleted file mode 100644
index 2dc2a58..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
+++ /dev/null
@@ -1,6382 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "os_structs.h"
-
-#ifndef NO_ACCEL
-typedef struct ACCEL_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID fVirt, key, cmd;
-} ACCEL_FID_CACHE;
-
-ACCEL_FID_CACHE ACCELFc;
-
-void cacheACCELFields(JNIEnv *env, jobject lpObject)
-{
-	if (ACCELFc.cached) return;
-	ACCELFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ACCELFc.fVirt = (*env)->GetFieldID(env, ACCELFc.clazz, "fVirt", "B");
-	ACCELFc.key = (*env)->GetFieldID(env, ACCELFc.clazz, "key", "S");
-	ACCELFc.cmd = (*env)->GetFieldID(env, ACCELFc.clazz, "cmd", "S");
-	ACCELFc.cached = 1;
-}
-
-ACCEL *getACCELFields(JNIEnv *env, jobject lpObject, ACCEL *lpStruct)
-{
-	if (!ACCELFc.cached) cacheACCELFields(env, lpObject);
-	lpStruct->fVirt = (*env)->GetByteField(env, lpObject, ACCELFc.fVirt);
-	lpStruct->key = (*env)->GetShortField(env, lpObject, ACCELFc.key);
-	lpStruct->cmd = (*env)->GetShortField(env, lpObject, ACCELFc.cmd);
-	return lpStruct;
-}
-
-void setACCELFields(JNIEnv *env, jobject lpObject, ACCEL *lpStruct)
-{
-	if (!ACCELFc.cached) cacheACCELFields(env, lpObject);
-	(*env)->SetByteField(env, lpObject, ACCELFc.fVirt, (jbyte)lpStruct->fVirt);
-	(*env)->SetShortField(env, lpObject, ACCELFc.key, (jshort)lpStruct->key);
-	(*env)->SetShortField(env, lpObject, ACCELFc.cmd, (jshort)lpStruct->cmd);
-}
-#endif
-
-#ifndef NO_ACTCTX
-typedef struct ACTCTX_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, dwFlags, lpSource, wProcessorArchitecture, wLangId, lpAssemblyDirectory, lpResourceName, lpApplicationName, hModule;
-} ACTCTX_FID_CACHE;
-
-ACTCTX_FID_CACHE ACTCTXFc;
-
-void cacheACTCTXFields(JNIEnv *env, jobject lpObject)
-{
-	if (ACTCTXFc.cached) return;
-	ACTCTXFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ACTCTXFc.cbSize = (*env)->GetFieldID(env, ACTCTXFc.clazz, "cbSize", "I");
-	ACTCTXFc.dwFlags = (*env)->GetFieldID(env, ACTCTXFc.clazz, "dwFlags", "I");
-	ACTCTXFc.lpSource = (*env)->GetFieldID(env, ACTCTXFc.clazz, "lpSource", "I");
-	ACTCTXFc.wProcessorArchitecture = (*env)->GetFieldID(env, ACTCTXFc.clazz, "wProcessorArchitecture", "S");
-	ACTCTXFc.wLangId = (*env)->GetFieldID(env, ACTCTXFc.clazz, "wLangId", "S");
-	ACTCTXFc.lpAssemblyDirectory = (*env)->GetFieldID(env, ACTCTXFc.clazz, "lpAssemblyDirectory", "I");
-	ACTCTXFc.lpResourceName = (*env)->GetFieldID(env, ACTCTXFc.clazz, "lpResourceName", "I");
-	ACTCTXFc.lpApplicationName = (*env)->GetFieldID(env, ACTCTXFc.clazz, "lpApplicationName", "I");
-	ACTCTXFc.hModule = (*env)->GetFieldID(env, ACTCTXFc.clazz, "hModule", "I");
-	ACTCTXFc.cached = 1;
-}
-
-ACTCTX *getACTCTXFields(JNIEnv *env, jobject lpObject, ACTCTX *lpStruct)
-{
-	if (!ACTCTXFc.cached) cacheACTCTXFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, ACTCTXFc.cbSize);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, ACTCTXFc.dwFlags);
-	lpStruct->lpSource = (LPCTSTR)(*env)->GetIntField(env, lpObject, ACTCTXFc.lpSource);
-	lpStruct->wProcessorArchitecture = (*env)->GetShortField(env, lpObject, ACTCTXFc.wProcessorArchitecture);
-	lpStruct->wLangId = (*env)->GetShortField(env, lpObject, ACTCTXFc.wLangId);
-	lpStruct->lpAssemblyDirectory = (LPCTSTR)(*env)->GetIntField(env, lpObject, ACTCTXFc.lpAssemblyDirectory);
-	lpStruct->lpResourceName = (LPCTSTR)(*env)->GetIntField(env, lpObject, ACTCTXFc.lpResourceName);
-	lpStruct->lpApplicationName = (LPCTSTR)(*env)->GetIntField(env, lpObject, ACTCTXFc.lpApplicationName);
-	lpStruct->hModule = (HMODULE)(*env)->GetIntField(env, lpObject, ACTCTXFc.hModule);
-	return lpStruct;
-}
-
-void setACTCTXFields(JNIEnv *env, jobject lpObject, ACTCTX *lpStruct)
-{
-	if (!ACTCTXFc.cached) cacheACTCTXFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.lpSource, (jint)lpStruct->lpSource);
-	(*env)->SetShortField(env, lpObject, ACTCTXFc.wProcessorArchitecture, (jshort)lpStruct->wProcessorArchitecture);
-	(*env)->SetShortField(env, lpObject, ACTCTXFc.wLangId, (jshort)lpStruct->wLangId);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.lpAssemblyDirectory, (jint)lpStruct->lpAssemblyDirectory);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.lpResourceName, (jint)lpStruct->lpResourceName);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.lpApplicationName, (jint)lpStruct->lpApplicationName);
-	(*env)->SetIntField(env, lpObject, ACTCTXFc.hModule, (jint)lpStruct->hModule);
-}
-#endif
-
-#ifndef NO_BITMAP
-typedef struct BITMAP_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID bmType, bmWidth, bmHeight, bmWidthBytes, bmPlanes, bmBitsPixel, bmBits;
-} BITMAP_FID_CACHE;
-
-BITMAP_FID_CACHE BITMAPFc;
-
-void cacheBITMAPFields(JNIEnv *env, jobject lpObject)
-{
-	if (BITMAPFc.cached) return;
-	BITMAPFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BITMAPFc.bmType = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmType", "I");
-	BITMAPFc.bmWidth = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmWidth", "I");
-	BITMAPFc.bmHeight = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmHeight", "I");
-	BITMAPFc.bmWidthBytes = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmWidthBytes", "I");
-	BITMAPFc.bmPlanes = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmPlanes", "S");
-	BITMAPFc.bmBitsPixel = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmBitsPixel", "S");
-	BITMAPFc.bmBits = (*env)->GetFieldID(env, BITMAPFc.clazz, "bmBits", "I");
-	BITMAPFc.cached = 1;
-}
-
-BITMAP *getBITMAPFields(JNIEnv *env, jobject lpObject, BITMAP *lpStruct)
-{
-	if (!BITMAPFc.cached) cacheBITMAPFields(env, lpObject);
-	lpStruct->bmType = (*env)->GetIntField(env, lpObject, BITMAPFc.bmType);
-	lpStruct->bmWidth = (*env)->GetIntField(env, lpObject, BITMAPFc.bmWidth);
-	lpStruct->bmHeight = (*env)->GetIntField(env, lpObject, BITMAPFc.bmHeight);
-	lpStruct->bmWidthBytes = (*env)->GetIntField(env, lpObject, BITMAPFc.bmWidthBytes);
-	lpStruct->bmPlanes = (*env)->GetShortField(env, lpObject, BITMAPFc.bmPlanes);
-	lpStruct->bmBitsPixel = (*env)->GetShortField(env, lpObject, BITMAPFc.bmBitsPixel);
-	lpStruct->bmBits = (LPVOID)(*env)->GetIntField(env, lpObject, BITMAPFc.bmBits);
-	return lpStruct;
-}
-
-void setBITMAPFields(JNIEnv *env, jobject lpObject, BITMAP *lpStruct)
-{
-	if (!BITMAPFc.cached) cacheBITMAPFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, BITMAPFc.bmType, (jint)lpStruct->bmType);
-	(*env)->SetIntField(env, lpObject, BITMAPFc.bmWidth, (jint)lpStruct->bmWidth);
-	(*env)->SetIntField(env, lpObject, BITMAPFc.bmHeight, (jint)lpStruct->bmHeight);
-	(*env)->SetIntField(env, lpObject, BITMAPFc.bmWidthBytes, (jint)lpStruct->bmWidthBytes);
-	(*env)->SetShortField(env, lpObject, BITMAPFc.bmPlanes, (jshort)lpStruct->bmPlanes);
-	(*env)->SetShortField(env, lpObject, BITMAPFc.bmBitsPixel, (jshort)lpStruct->bmBitsPixel);
-	(*env)->SetIntField(env, lpObject, BITMAPFc.bmBits, (jint)lpStruct->bmBits);
-}
-#endif
-
-#ifndef NO_BITMAPINFOHEADER
-typedef struct BITMAPINFOHEADER_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID biSize, biWidth, biHeight, biPlanes, biBitCount, biCompression, biSizeImage, biXPelsPerMeter, biYPelsPerMeter, biClrUsed, biClrImportant;
-} BITMAPINFOHEADER_FID_CACHE;
-
-BITMAPINFOHEADER_FID_CACHE BITMAPINFOHEADERFc;
-
-void cacheBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject)
-{
-	if (BITMAPINFOHEADERFc.cached) return;
-	BITMAPINFOHEADERFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BITMAPINFOHEADERFc.biSize = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biSize", "I");
-	BITMAPINFOHEADERFc.biWidth = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biWidth", "I");
-	BITMAPINFOHEADERFc.biHeight = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biHeight", "I");
-	BITMAPINFOHEADERFc.biPlanes = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biPlanes", "S");
-	BITMAPINFOHEADERFc.biBitCount = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biBitCount", "S");
-	BITMAPINFOHEADERFc.biCompression = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biCompression", "I");
-	BITMAPINFOHEADERFc.biSizeImage = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biSizeImage", "I");
-	BITMAPINFOHEADERFc.biXPelsPerMeter = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biXPelsPerMeter", "I");
-	BITMAPINFOHEADERFc.biYPelsPerMeter = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biYPelsPerMeter", "I");
-	BITMAPINFOHEADERFc.biClrUsed = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biClrUsed", "I");
-	BITMAPINFOHEADERFc.biClrImportant = (*env)->GetFieldID(env, BITMAPINFOHEADERFc.clazz, "biClrImportant", "I");
-	BITMAPINFOHEADERFc.cached = 1;
-}
-
-BITMAPINFOHEADER *getBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject, BITMAPINFOHEADER *lpStruct)
-{
-	if (!BITMAPINFOHEADERFc.cached) cacheBITMAPINFOHEADERFields(env, lpObject);
-	lpStruct->biSize = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biSize);
-	lpStruct->biWidth = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biWidth);
-	lpStruct->biHeight = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biHeight);
-	lpStruct->biPlanes = (*env)->GetShortField(env, lpObject, BITMAPINFOHEADERFc.biPlanes);
-	lpStruct->biBitCount = (*env)->GetShortField(env, lpObject, BITMAPINFOHEADERFc.biBitCount);
-	lpStruct->biCompression = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biCompression);
-	lpStruct->biSizeImage = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biSizeImage);
-	lpStruct->biXPelsPerMeter = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biXPelsPerMeter);
-	lpStruct->biYPelsPerMeter = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biYPelsPerMeter);
-	lpStruct->biClrUsed = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biClrUsed);
-	lpStruct->biClrImportant = (*env)->GetIntField(env, lpObject, BITMAPINFOHEADERFc.biClrImportant);
-	return lpStruct;
-}
-
-void setBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject, BITMAPINFOHEADER *lpStruct)
-{
-	if (!BITMAPINFOHEADERFc.cached) cacheBITMAPINFOHEADERFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biSize, (jint)lpStruct->biSize);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biWidth, (jint)lpStruct->biWidth);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biHeight, (jint)lpStruct->biHeight);
-	(*env)->SetShortField(env, lpObject, BITMAPINFOHEADERFc.biPlanes, (jshort)lpStruct->biPlanes);
-	(*env)->SetShortField(env, lpObject, BITMAPINFOHEADERFc.biBitCount, (jshort)lpStruct->biBitCount);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biCompression, (jint)lpStruct->biCompression);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biSizeImage, (jint)lpStruct->biSizeImage);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biXPelsPerMeter, (jint)lpStruct->biXPelsPerMeter);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biYPelsPerMeter, (jint)lpStruct->biYPelsPerMeter);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biClrUsed, (jint)lpStruct->biClrUsed);
-	(*env)->SetIntField(env, lpObject, BITMAPINFOHEADERFc.biClrImportant, (jint)lpStruct->biClrImportant);
-}
-#endif
-
-#ifndef NO_BLENDFUNCTION
-typedef struct BLENDFUNCTION_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID BlendOp, BlendFlags, SourceConstantAlpha, AlphaFormat;
-} BLENDFUNCTION_FID_CACHE;
-
-BLENDFUNCTION_FID_CACHE BLENDFUNCTIONFc;
-
-void cacheBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject)
-{
-	if (BLENDFUNCTIONFc.cached) return;
-	BLENDFUNCTIONFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BLENDFUNCTIONFc.BlendOp = (*env)->GetFieldID(env, BLENDFUNCTIONFc.clazz, "BlendOp", "B");
-	BLENDFUNCTIONFc.BlendFlags = (*env)->GetFieldID(env, BLENDFUNCTIONFc.clazz, "BlendFlags", "B");
-	BLENDFUNCTIONFc.SourceConstantAlpha = (*env)->GetFieldID(env, BLENDFUNCTIONFc.clazz, "SourceConstantAlpha", "B");
-	BLENDFUNCTIONFc.AlphaFormat = (*env)->GetFieldID(env, BLENDFUNCTIONFc.clazz, "AlphaFormat", "B");
-	BLENDFUNCTIONFc.cached = 1;
-}
-
-BLENDFUNCTION *getBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject, BLENDFUNCTION *lpStruct)
-{
-	if (!BLENDFUNCTIONFc.cached) cacheBLENDFUNCTIONFields(env, lpObject);
-	lpStruct->BlendOp = (*env)->GetByteField(env, lpObject, BLENDFUNCTIONFc.BlendOp);
-	lpStruct->BlendFlags = (*env)->GetByteField(env, lpObject, BLENDFUNCTIONFc.BlendFlags);
-	lpStruct->SourceConstantAlpha = (*env)->GetByteField(env, lpObject, BLENDFUNCTIONFc.SourceConstantAlpha);
-	lpStruct->AlphaFormat = (*env)->GetByteField(env, lpObject, BLENDFUNCTIONFc.AlphaFormat);
-	return lpStruct;
-}
-
-void setBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject, BLENDFUNCTION *lpStruct)
-{
-	if (!BLENDFUNCTIONFc.cached) cacheBLENDFUNCTIONFields(env, lpObject);
-	(*env)->SetByteField(env, lpObject, BLENDFUNCTIONFc.BlendOp, (jbyte)lpStruct->BlendOp);
-	(*env)->SetByteField(env, lpObject, BLENDFUNCTIONFc.BlendFlags, (jbyte)lpStruct->BlendFlags);
-	(*env)->SetByteField(env, lpObject, BLENDFUNCTIONFc.SourceConstantAlpha, (jbyte)lpStruct->SourceConstantAlpha);
-	(*env)->SetByteField(env, lpObject, BLENDFUNCTIONFc.AlphaFormat, (jbyte)lpStruct->AlphaFormat);
-}
-#endif
-
-#ifndef NO_BROWSEINFO
-typedef struct BROWSEINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hwndOwner, pidlRoot, pszDisplayName, lpszTitle, ulFlags, lpfn, lParam, iImage;
-} BROWSEINFO_FID_CACHE;
-
-BROWSEINFO_FID_CACHE BROWSEINFOFc;
-
-void cacheBROWSEINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (BROWSEINFOFc.cached) return;
-	BROWSEINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BROWSEINFOFc.hwndOwner = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "hwndOwner", "I");
-	BROWSEINFOFc.pidlRoot = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "pidlRoot", "I");
-	BROWSEINFOFc.pszDisplayName = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "pszDisplayName", "I");
-	BROWSEINFOFc.lpszTitle = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "lpszTitle", "I");
-	BROWSEINFOFc.ulFlags = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "ulFlags", "I");
-	BROWSEINFOFc.lpfn = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "lpfn", "I");
-	BROWSEINFOFc.lParam = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "lParam", "I");
-	BROWSEINFOFc.iImage = (*env)->GetFieldID(env, BROWSEINFOFc.clazz, "iImage", "I");
-	BROWSEINFOFc.cached = 1;
-}
-
-BROWSEINFO *getBROWSEINFOFields(JNIEnv *env, jobject lpObject, BROWSEINFO *lpStruct)
-{
-	if (!BROWSEINFOFc.cached) cacheBROWSEINFOFields(env, lpObject);
-	lpStruct->hwndOwner = (HWND)(*env)->GetIntField(env, lpObject, BROWSEINFOFc.hwndOwner);
-	lpStruct->pidlRoot = (LPCITEMIDLIST)(*env)->GetIntField(env, lpObject, BROWSEINFOFc.pidlRoot);
-	lpStruct->pszDisplayName = (LPTSTR)(*env)->GetIntField(env, lpObject, BROWSEINFOFc.pszDisplayName);
-	lpStruct->lpszTitle = (LPCTSTR)(*env)->GetIntField(env, lpObject, BROWSEINFOFc.lpszTitle);
-	lpStruct->ulFlags = (*env)->GetIntField(env, lpObject, BROWSEINFOFc.ulFlags);
-	lpStruct->lpfn = (BFFCALLBACK)(*env)->GetIntField(env, lpObject, BROWSEINFOFc.lpfn);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, BROWSEINFOFc.lParam);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, BROWSEINFOFc.iImage);
-	return lpStruct;
-}
-
-void setBROWSEINFOFields(JNIEnv *env, jobject lpObject, BROWSEINFO *lpStruct)
-{
-	if (!BROWSEINFOFc.cached) cacheBROWSEINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.hwndOwner, (jint)lpStruct->hwndOwner);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.pidlRoot, (jint)lpStruct->pidlRoot);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.pszDisplayName, (jint)lpStruct->pszDisplayName);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.lpszTitle, (jint)lpStruct->lpszTitle);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.ulFlags, (jint)lpStruct->ulFlags);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.lpfn, (jint)lpStruct->lpfn);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, BROWSEINFOFc.iImage, (jint)lpStruct->iImage);
-}
-#endif
-
-#ifndef NO_BUTTON_IMAGELIST
-typedef struct BUTTON_IMAGELIST_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID himl, margin_left, margin_top, margin_right, margin_bottom, uAlign;
-} BUTTON_IMAGELIST_FID_CACHE;
-
-BUTTON_IMAGELIST_FID_CACHE BUTTON_IMAGELISTFc;
-
-void cacheBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject)
-{
-	if (BUTTON_IMAGELISTFc.cached) return;
-	BUTTON_IMAGELISTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	BUTTON_IMAGELISTFc.himl = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "himl", "I");
-	BUTTON_IMAGELISTFc.margin_left = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "margin_left", "I");
-	BUTTON_IMAGELISTFc.margin_top = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "margin_top", "I");
-	BUTTON_IMAGELISTFc.margin_right = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "margin_right", "I");
-	BUTTON_IMAGELISTFc.margin_bottom = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "margin_bottom", "I");
-	BUTTON_IMAGELISTFc.uAlign = (*env)->GetFieldID(env, BUTTON_IMAGELISTFc.clazz, "uAlign", "I");
-	BUTTON_IMAGELISTFc.cached = 1;
-}
-
-BUTTON_IMAGELIST *getBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject, BUTTON_IMAGELIST *lpStruct)
-{
-	if (!BUTTON_IMAGELISTFc.cached) cacheBUTTON_IMAGELISTFields(env, lpObject);
-	lpStruct->himl = (HIMAGELIST)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.himl);
-	lpStruct->margin.left = (LONG)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_left);
-	lpStruct->margin.top = (LONG)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_top);
-	lpStruct->margin.right = (LONG)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_right);
-	lpStruct->margin.bottom = (LONG)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_bottom);
-	lpStruct->uAlign = (UINT)(*env)->GetIntField(env, lpObject, BUTTON_IMAGELISTFc.uAlign);
-	return lpStruct;
-}
-
-void setBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject, BUTTON_IMAGELIST *lpStruct)
-{
-	if (!BUTTON_IMAGELISTFc.cached) cacheBUTTON_IMAGELISTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.himl, (jint)lpStruct->himl);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_left, (jint)lpStruct->margin.left);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_top, (jint)lpStruct->margin.top);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_right, (jint)lpStruct->margin.right);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.margin_bottom, (jint)lpStruct->margin.bottom);
-	(*env)->SetIntField(env, lpObject, BUTTON_IMAGELISTFc.uAlign, (jint)lpStruct->uAlign);
-}
-#endif
-
-#ifndef NO_CHOOSECOLOR
-typedef struct CHOOSECOLOR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lStructSize, hwndOwner, hInstance, rgbResult, lpCustColors, Flags, lCustData, lpfnHook, lpTemplateName;
-} CHOOSECOLOR_FID_CACHE;
-
-CHOOSECOLOR_FID_CACHE CHOOSECOLORFc;
-
-void cacheCHOOSECOLORFields(JNIEnv *env, jobject lpObject)
-{
-	if (CHOOSECOLORFc.cached) return;
-	CHOOSECOLORFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CHOOSECOLORFc.lStructSize = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "lStructSize", "I");
-	CHOOSECOLORFc.hwndOwner = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "hwndOwner", "I");
-	CHOOSECOLORFc.hInstance = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "hInstance", "I");
-	CHOOSECOLORFc.rgbResult = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "rgbResult", "I");
-	CHOOSECOLORFc.lpCustColors = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "lpCustColors", "I");
-	CHOOSECOLORFc.Flags = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "Flags", "I");
-	CHOOSECOLORFc.lCustData = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "lCustData", "I");
-	CHOOSECOLORFc.lpfnHook = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "lpfnHook", "I");
-	CHOOSECOLORFc.lpTemplateName = (*env)->GetFieldID(env, CHOOSECOLORFc.clazz, "lpTemplateName", "I");
-	CHOOSECOLORFc.cached = 1;
-}
-
-CHOOSECOLOR *getCHOOSECOLORFields(JNIEnv *env, jobject lpObject, CHOOSECOLOR *lpStruct)
-{
-	if (!CHOOSECOLORFc.cached) cacheCHOOSECOLORFields(env, lpObject);
-	lpStruct->lStructSize = (*env)->GetIntField(env, lpObject, CHOOSECOLORFc.lStructSize);
-	lpStruct->hwndOwner = (HWND)(*env)->GetIntField(env, lpObject, CHOOSECOLORFc.hwndOwner);
-	lpStruct->hInstance = (HANDLE)(*env)->GetIntField(env, lpObject, CHOOSECOLORFc.hInstance);
-	lpStruct->rgbResult = (*env)->GetIntField(env, lpObject, CHOOSECOLORFc.rgbResult);
-	lpStruct->lpCustColors = (COLORREF *)(*env)->GetIntField(env, lpObject, CHOOSECOLORFc.lpCustColors);
-	lpStruct->Flags = (*env)->GetIntField(env, lpObject, CHOOSECOLORFc.Flags);
-	lpStruct->lCustData = (*env)->GetIntField(env, lpObject, CHOOSECOLORFc.lCustData);
-	lpStruct->lpfnHook = (LPCCHOOKPROC)(*env)->GetIntField(env, lpObject, CHOOSECOLORFc.lpfnHook);
-	lpStruct->lpTemplateName = (LPCTSTR)(*env)->GetIntField(env, lpObject, CHOOSECOLORFc.lpTemplateName);
-	return lpStruct;
-}
-
-void setCHOOSECOLORFields(JNIEnv *env, jobject lpObject, CHOOSECOLOR *lpStruct)
-{
-	if (!CHOOSECOLORFc.cached) cacheCHOOSECOLORFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.lStructSize, (jint)lpStruct->lStructSize);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.hwndOwner, (jint)lpStruct->hwndOwner);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.rgbResult, (jint)lpStruct->rgbResult);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.lpCustColors, (jint)lpStruct->lpCustColors);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.Flags, (jint)lpStruct->Flags);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.lCustData, (jint)lpStruct->lCustData);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.lpfnHook, (jint)lpStruct->lpfnHook);
-	(*env)->SetIntField(env, lpObject, CHOOSECOLORFc.lpTemplateName, (jint)lpStruct->lpTemplateName);
-}
-#endif
-
-#ifndef NO_CHOOSEFONT
-typedef struct CHOOSEFONT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lStructSize, hwndOwner, hDC, lpLogFont, iPointSize, Flags, rgbColors, lCustData, lpfnHook, lpTemplateName, hInstance, lpszStyle, nFontType, nSizeMin, nSizeMax;
-} CHOOSEFONT_FID_CACHE;
-
-CHOOSEFONT_FID_CACHE CHOOSEFONTFc;
-
-void cacheCHOOSEFONTFields(JNIEnv *env, jobject lpObject)
-{
-	if (CHOOSEFONTFc.cached) return;
-	CHOOSEFONTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CHOOSEFONTFc.lStructSize = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lStructSize", "I");
-	CHOOSEFONTFc.hwndOwner = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "hwndOwner", "I");
-	CHOOSEFONTFc.hDC = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "hDC", "I");
-	CHOOSEFONTFc.lpLogFont = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lpLogFont", "I");
-	CHOOSEFONTFc.iPointSize = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "iPointSize", "I");
-	CHOOSEFONTFc.Flags = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "Flags", "I");
-	CHOOSEFONTFc.rgbColors = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "rgbColors", "I");
-	CHOOSEFONTFc.lCustData = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lCustData", "I");
-	CHOOSEFONTFc.lpfnHook = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lpfnHook", "I");
-	CHOOSEFONTFc.lpTemplateName = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lpTemplateName", "I");
-	CHOOSEFONTFc.hInstance = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "hInstance", "I");
-	CHOOSEFONTFc.lpszStyle = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "lpszStyle", "I");
-	CHOOSEFONTFc.nFontType = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "nFontType", "S");
-	CHOOSEFONTFc.nSizeMin = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "nSizeMin", "I");
-	CHOOSEFONTFc.nSizeMax = (*env)->GetFieldID(env, CHOOSEFONTFc.clazz, "nSizeMax", "I");
-	CHOOSEFONTFc.cached = 1;
-}
-
-CHOOSEFONT *getCHOOSEFONTFields(JNIEnv *env, jobject lpObject, CHOOSEFONT *lpStruct)
-{
-	if (!CHOOSEFONTFc.cached) cacheCHOOSEFONTFields(env, lpObject);
-	lpStruct->lStructSize = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lStructSize);
-	lpStruct->hwndOwner = (HWND)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.hwndOwner);
-	lpStruct->hDC = (HDC)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.hDC);
-	lpStruct->lpLogFont = (LPLOGFONT)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lpLogFont);
-	lpStruct->iPointSize = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.iPointSize);
-	lpStruct->Flags = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.Flags);
-	lpStruct->rgbColors = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.rgbColors);
-	lpStruct->lCustData = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lCustData);
-	lpStruct->lpfnHook = (LPCFHOOKPROC)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lpfnHook);
-	lpStruct->lpTemplateName = (LPCTSTR)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lpTemplateName);
-	lpStruct->hInstance = (HINSTANCE)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.hInstance);
-	lpStruct->lpszStyle = (LPTSTR)(*env)->GetIntField(env, lpObject, CHOOSEFONTFc.lpszStyle);
-	lpStruct->nFontType = (*env)->GetShortField(env, lpObject, CHOOSEFONTFc.nFontType);
-	lpStruct->nSizeMin = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.nSizeMin);
-	lpStruct->nSizeMax = (*env)->GetIntField(env, lpObject, CHOOSEFONTFc.nSizeMax);
-	return lpStruct;
-}
-
-void setCHOOSEFONTFields(JNIEnv *env, jobject lpObject, CHOOSEFONT *lpStruct)
-{
-	if (!CHOOSEFONTFc.cached) cacheCHOOSEFONTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lStructSize, (jint)lpStruct->lStructSize);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.hwndOwner, (jint)lpStruct->hwndOwner);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.hDC, (jint)lpStruct->hDC);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lpLogFont, (jint)lpStruct->lpLogFont);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.iPointSize, (jint)lpStruct->iPointSize);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.Flags, (jint)lpStruct->Flags);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.rgbColors, (jint)lpStruct->rgbColors);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lCustData, (jint)lpStruct->lCustData);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lpfnHook, (jint)lpStruct->lpfnHook);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lpTemplateName, (jint)lpStruct->lpTemplateName);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.lpszStyle, (jint)lpStruct->lpszStyle);
-	(*env)->SetShortField(env, lpObject, CHOOSEFONTFc.nFontType, (jshort)lpStruct->nFontType);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.nSizeMin, (jint)lpStruct->nSizeMin);
-	(*env)->SetIntField(env, lpObject, CHOOSEFONTFc.nSizeMax, (jint)lpStruct->nSizeMax);
-}
-#endif
-
-#ifndef NO_COMBOBOXINFO
-typedef struct COMBOBOXINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, itemLeft, itemTop, itemRight, itemBottom, buttonLeft, buttonTop, buttonRight, buttonBottom, stateButton, hwndCombo, hwndItem, hwndList;
-} COMBOBOXINFO_FID_CACHE;
-
-COMBOBOXINFO_FID_CACHE COMBOBOXINFOFc;
-
-void cacheCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (COMBOBOXINFOFc.cached) return;
-	COMBOBOXINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	COMBOBOXINFOFc.cbSize = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "cbSize", "I");
-	COMBOBOXINFOFc.itemLeft = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "itemLeft", "I");
-	COMBOBOXINFOFc.itemTop = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "itemTop", "I");
-	COMBOBOXINFOFc.itemRight = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "itemRight", "I");
-	COMBOBOXINFOFc.itemBottom = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "itemBottom", "I");
-	COMBOBOXINFOFc.buttonLeft = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "buttonLeft", "I");
-	COMBOBOXINFOFc.buttonTop = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "buttonTop", "I");
-	COMBOBOXINFOFc.buttonRight = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "buttonRight", "I");
-	COMBOBOXINFOFc.buttonBottom = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "buttonBottom", "I");
-	COMBOBOXINFOFc.stateButton = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "stateButton", "I");
-	COMBOBOXINFOFc.hwndCombo = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "hwndCombo", "I");
-	COMBOBOXINFOFc.hwndItem = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "hwndItem", "I");
-	COMBOBOXINFOFc.hwndList = (*env)->GetFieldID(env, COMBOBOXINFOFc.clazz, "hwndList", "I");
-	COMBOBOXINFOFc.cached = 1;
-}
-
-COMBOBOXINFO *getCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject, COMBOBOXINFO *lpStruct)
-{
-	if (!COMBOBOXINFOFc.cached) cacheCOMBOBOXINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.cbSize);
-	lpStruct->rcItem.left = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.itemLeft);
-	lpStruct->rcItem.top = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.itemTop);
-	lpStruct->rcItem.right = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.itemRight);
-	lpStruct->rcItem.bottom = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.itemBottom);
-	lpStruct->rcButton.left = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.buttonLeft);
-	lpStruct->rcButton.top = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.buttonTop);
-	lpStruct->rcButton.right = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.buttonRight);
-	lpStruct->rcButton.bottom = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.buttonBottom);
-	lpStruct->stateButton = (*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.stateButton);
-	lpStruct->hwndCombo = (HWND)(*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.hwndCombo);
-	lpStruct->hwndItem = (HWND)(*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.hwndItem);
-	lpStruct->hwndList = (HWND)(*env)->GetIntField(env, lpObject, COMBOBOXINFOFc.hwndList);
-	return lpStruct;
-}
-
-void setCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject, COMBOBOXINFO *lpStruct)
-{
-	if (!COMBOBOXINFOFc.cached) cacheCOMBOBOXINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.itemLeft, (jint)lpStruct->rcItem.left);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.itemTop, (jint)lpStruct->rcItem.top);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.itemRight, (jint)lpStruct->rcItem.right);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.itemBottom, (jint)lpStruct->rcItem.bottom);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.buttonLeft, (jint)lpStruct->rcButton.left);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.buttonTop, (jint)lpStruct->rcButton.top);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.buttonRight, (jint)lpStruct->rcButton.right);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.buttonBottom, (jint)lpStruct->rcButton.bottom);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.stateButton, (jint)lpStruct->stateButton);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.hwndCombo, (jint)lpStruct->hwndCombo);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.hwndItem, (jint)lpStruct->hwndItem);
-	(*env)->SetIntField(env, lpObject, COMBOBOXINFOFc.hwndList, (jint)lpStruct->hwndList);
-}
-#endif
-
-#ifndef NO_COMPOSITIONFORM
-typedef struct COMPOSITIONFORM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwStyle, x, y, left, top, right, bottom;
-} COMPOSITIONFORM_FID_CACHE;
-
-COMPOSITIONFORM_FID_CACHE COMPOSITIONFORMFc;
-
-void cacheCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject)
-{
-	if (COMPOSITIONFORMFc.cached) return;
-	COMPOSITIONFORMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	COMPOSITIONFORMFc.dwStyle = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "dwStyle", "I");
-	COMPOSITIONFORMFc.x = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "x", "I");
-	COMPOSITIONFORMFc.y = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "y", "I");
-	COMPOSITIONFORMFc.left = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "left", "I");
-	COMPOSITIONFORMFc.top = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "top", "I");
-	COMPOSITIONFORMFc.right = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "right", "I");
-	COMPOSITIONFORMFc.bottom = (*env)->GetFieldID(env, COMPOSITIONFORMFc.clazz, "bottom", "I");
-	COMPOSITIONFORMFc.cached = 1;
-}
-
-COMPOSITIONFORM *getCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject, COMPOSITIONFORM *lpStruct)
-{
-	if (!COMPOSITIONFORMFc.cached) cacheCOMPOSITIONFORMFields(env, lpObject);
-	lpStruct->dwStyle = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.dwStyle);
-	lpStruct->ptCurrentPos.x = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.x);
-	lpStruct->ptCurrentPos.y = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.y);
-	lpStruct->rcArea.left = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.left);
-	lpStruct->rcArea.top = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.top);
-	lpStruct->rcArea.right = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.right);
-	lpStruct->rcArea.bottom = (*env)->GetIntField(env, lpObject, COMPOSITIONFORMFc.bottom);
-	return lpStruct;
-}
-
-void setCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject, COMPOSITIONFORM *lpStruct)
-{
-	if (!COMPOSITIONFORMFc.cached) cacheCOMPOSITIONFORMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.dwStyle, (jint)lpStruct->dwStyle);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.x, (jint)lpStruct->ptCurrentPos.x);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.y, (jint)lpStruct->ptCurrentPos.y);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.left, (jint)lpStruct->rcArea.left);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.top, (jint)lpStruct->rcArea.top);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.right, (jint)lpStruct->rcArea.right);
-	(*env)->SetIntField(env, lpObject, COMPOSITIONFORMFc.bottom, (jint)lpStruct->rcArea.bottom);
-}
-#endif
-
-#ifndef NO_CREATESTRUCT
-typedef struct CREATESTRUCT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lpCreateParams, hInstance, hMenu, hwndParent, cy, cx, y, x, style, lpszName, lpszClass, dwExStyle;
-} CREATESTRUCT_FID_CACHE;
-
-CREATESTRUCT_FID_CACHE CREATESTRUCTFc;
-
-void cacheCREATESTRUCTFields(JNIEnv *env, jobject lpObject)
-{
-	if (CREATESTRUCTFc.cached) return;
-	CREATESTRUCTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	CREATESTRUCTFc.lpCreateParams = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "lpCreateParams", "I");
-	CREATESTRUCTFc.hInstance = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "hInstance", "I");
-	CREATESTRUCTFc.hMenu = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "hMenu", "I");
-	CREATESTRUCTFc.hwndParent = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "hwndParent", "I");
-	CREATESTRUCTFc.cy = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "cy", "I");
-	CREATESTRUCTFc.cx = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "cx", "I");
-	CREATESTRUCTFc.y = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "y", "I");
-	CREATESTRUCTFc.x = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "x", "I");
-	CREATESTRUCTFc.style = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "style", "I");
-	CREATESTRUCTFc.lpszName = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "lpszName", "I");
-	CREATESTRUCTFc.lpszClass = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "lpszClass", "I");
-	CREATESTRUCTFc.dwExStyle = (*env)->GetFieldID(env, CREATESTRUCTFc.clazz, "dwExStyle", "I");
-	CREATESTRUCTFc.cached = 1;
-}
-
-CREATESTRUCT *getCREATESTRUCTFields(JNIEnv *env, jobject lpObject, CREATESTRUCT *lpStruct)
-{
-	if (!CREATESTRUCTFc.cached) cacheCREATESTRUCTFields(env, lpObject);
-	lpStruct->lpCreateParams = (LPVOID)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.lpCreateParams);
-	lpStruct->hInstance = (HINSTANCE)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.hInstance);
-	lpStruct->hMenu = (HMENU)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.hMenu);
-	lpStruct->hwndParent = (HWND)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.hwndParent);
-	lpStruct->cy = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.cy);
-	lpStruct->cx = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.cx);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.y);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.x);
-	lpStruct->style = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.style);
-	lpStruct->lpszName = (LPCTSTR)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.lpszName);
-	lpStruct->lpszClass = (LPCTSTR)(*env)->GetIntField(env, lpObject, CREATESTRUCTFc.lpszClass);
-	lpStruct->dwExStyle = (*env)->GetIntField(env, lpObject, CREATESTRUCTFc.dwExStyle);
-	return lpStruct;
-}
-
-void setCREATESTRUCTFields(JNIEnv *env, jobject lpObject, CREATESTRUCT *lpStruct)
-{
-	if (!CREATESTRUCTFc.cached) cacheCREATESTRUCTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.lpCreateParams, (jint)lpStruct->lpCreateParams);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.hMenu, (jint)lpStruct->hMenu);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.hwndParent, (jint)lpStruct->hwndParent);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.cy, (jint)lpStruct->cy);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.cx, (jint)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.style, (jint)lpStruct->style);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.lpszName, (jint)lpStruct->lpszName);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.lpszClass, (jint)lpStruct->lpszClass);
-	(*env)->SetIntField(env, lpObject, CREATESTRUCTFc.dwExStyle, (jint)lpStruct->dwExStyle);
-}
-#endif
-
-#ifndef NO_DIBSECTION
-typedef struct DIBSECTION_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID biSize, biWidth, biHeight, biPlanes, biBitCount, biCompression, biSizeImage, biXPelsPerMeter, biYPelsPerMeter, biClrUsed, biClrImportant, dsBitfields0, dsBitfields1, dsBitfields2, dshSection, dsOffset;
-} DIBSECTION_FID_CACHE;
-
-DIBSECTION_FID_CACHE DIBSECTIONFc;
-
-void cacheDIBSECTIONFields(JNIEnv *env, jobject lpObject)
-{
-	if (DIBSECTIONFc.cached) return;
-	cacheBITMAPFields(env, lpObject);
-	DIBSECTIONFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DIBSECTIONFc.biSize = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biSize", "I");
-	DIBSECTIONFc.biWidth = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biWidth", "I");
-	DIBSECTIONFc.biHeight = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biHeight", "I");
-	DIBSECTIONFc.biPlanes = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biPlanes", "S");
-	DIBSECTIONFc.biBitCount = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biBitCount", "S");
-	DIBSECTIONFc.biCompression = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biCompression", "I");
-	DIBSECTIONFc.biSizeImage = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biSizeImage", "I");
-	DIBSECTIONFc.biXPelsPerMeter = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biXPelsPerMeter", "I");
-	DIBSECTIONFc.biYPelsPerMeter = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biYPelsPerMeter", "I");
-	DIBSECTIONFc.biClrUsed = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biClrUsed", "I");
-	DIBSECTIONFc.biClrImportant = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "biClrImportant", "I");
-	DIBSECTIONFc.dsBitfields0 = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "dsBitfields0", "I");
-	DIBSECTIONFc.dsBitfields1 = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "dsBitfields1", "I");
-	DIBSECTIONFc.dsBitfields2 = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "dsBitfields2", "I");
-	DIBSECTIONFc.dshSection = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "dshSection", "I");
-	DIBSECTIONFc.dsOffset = (*env)->GetFieldID(env, DIBSECTIONFc.clazz, "dsOffset", "I");
-	DIBSECTIONFc.cached = 1;
-}
-
-DIBSECTION *getDIBSECTIONFields(JNIEnv *env, jobject lpObject, DIBSECTION *lpStruct)
-{
-	if (!DIBSECTIONFc.cached) cacheDIBSECTIONFields(env, lpObject);
-	getBITMAPFields(env, lpObject, (BITMAP *)lpStruct);
-	lpStruct->dsBmih.biSize = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biSize);
-	lpStruct->dsBmih.biWidth = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biWidth);
-	lpStruct->dsBmih.biHeight = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biHeight);
-	lpStruct->dsBmih.biPlanes = (*env)->GetShortField(env, lpObject, DIBSECTIONFc.biPlanes);
-	lpStruct->dsBmih.biBitCount = (*env)->GetShortField(env, lpObject, DIBSECTIONFc.biBitCount);
-	lpStruct->dsBmih.biCompression = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biCompression);
-	lpStruct->dsBmih.biSizeImage = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biSizeImage);
-	lpStruct->dsBmih.biXPelsPerMeter = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biXPelsPerMeter);
-	lpStruct->dsBmih.biYPelsPerMeter = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biYPelsPerMeter);
-	lpStruct->dsBmih.biClrUsed = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biClrUsed);
-	lpStruct->dsBmih.biClrImportant = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.biClrImportant);
-	lpStruct->dsBitfields[0] = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.dsBitfields0);
-	lpStruct->dsBitfields[1] = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.dsBitfields1);
-	lpStruct->dsBitfields[2] = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.dsBitfields2);
-	lpStruct->dshSection = (HANDLE)(*env)->GetIntField(env, lpObject, DIBSECTIONFc.dshSection);
-	lpStruct->dsOffset = (*env)->GetIntField(env, lpObject, DIBSECTIONFc.dsOffset);
-	return lpStruct;
-}
-
-void setDIBSECTIONFields(JNIEnv *env, jobject lpObject, DIBSECTION *lpStruct)
-{
-	if (!DIBSECTIONFc.cached) cacheDIBSECTIONFields(env, lpObject);
-	setBITMAPFields(env, lpObject, (BITMAP *)lpStruct);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biSize, (jint)lpStruct->dsBmih.biSize);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biWidth, (jint)lpStruct->dsBmih.biWidth);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biHeight, (jint)lpStruct->dsBmih.biHeight);
-	(*env)->SetShortField(env, lpObject, DIBSECTIONFc.biPlanes, (jshort)lpStruct->dsBmih.biPlanes);
-	(*env)->SetShortField(env, lpObject, DIBSECTIONFc.biBitCount, (jshort)lpStruct->dsBmih.biBitCount);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biCompression, (jint)lpStruct->dsBmih.biCompression);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biSizeImage, (jint)lpStruct->dsBmih.biSizeImage);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biXPelsPerMeter, (jint)lpStruct->dsBmih.biXPelsPerMeter);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biYPelsPerMeter, (jint)lpStruct->dsBmih.biYPelsPerMeter);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biClrUsed, (jint)lpStruct->dsBmih.biClrUsed);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.biClrImportant, (jint)lpStruct->dsBmih.biClrImportant);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.dsBitfields0, (jint)lpStruct->dsBitfields[0]);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.dsBitfields1, (jint)lpStruct->dsBitfields[1]);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.dsBitfields2, (jint)lpStruct->dsBitfields[2]);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.dshSection, (jint)lpStruct->dshSection);
-	(*env)->SetIntField(env, lpObject, DIBSECTIONFc.dsOffset, (jint)lpStruct->dsOffset);
-}
-#endif
-
-#ifndef NO_DLLVERSIONINFO
-typedef struct DLLVERSIONINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, dwMajorVersion, dwMinorVersion, dwBuildNumber, dwPlatformID;
-} DLLVERSIONINFO_FID_CACHE;
-
-DLLVERSIONINFO_FID_CACHE DLLVERSIONINFOFc;
-
-void cacheDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (DLLVERSIONINFOFc.cached) return;
-	DLLVERSIONINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DLLVERSIONINFOFc.cbSize = (*env)->GetFieldID(env, DLLVERSIONINFOFc.clazz, "cbSize", "I");
-	DLLVERSIONINFOFc.dwMajorVersion = (*env)->GetFieldID(env, DLLVERSIONINFOFc.clazz, "dwMajorVersion", "I");
-	DLLVERSIONINFOFc.dwMinorVersion = (*env)->GetFieldID(env, DLLVERSIONINFOFc.clazz, "dwMinorVersion", "I");
-	DLLVERSIONINFOFc.dwBuildNumber = (*env)->GetFieldID(env, DLLVERSIONINFOFc.clazz, "dwBuildNumber", "I");
-	DLLVERSIONINFOFc.dwPlatformID = (*env)->GetFieldID(env, DLLVERSIONINFOFc.clazz, "dwPlatformID", "I");
-	DLLVERSIONINFOFc.cached = 1;
-}
-
-DLLVERSIONINFO *getDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject, DLLVERSIONINFO *lpStruct)
-{
-	if (!DLLVERSIONINFOFc.cached) cacheDLLVERSIONINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, DLLVERSIONINFOFc.cbSize);
-	lpStruct->dwMajorVersion = (*env)->GetIntField(env, lpObject, DLLVERSIONINFOFc.dwMajorVersion);
-	lpStruct->dwMinorVersion = (*env)->GetIntField(env, lpObject, DLLVERSIONINFOFc.dwMinorVersion);
-	lpStruct->dwBuildNumber = (*env)->GetIntField(env, lpObject, DLLVERSIONINFOFc.dwBuildNumber);
-	lpStruct->dwPlatformID = (*env)->GetIntField(env, lpObject, DLLVERSIONINFOFc.dwPlatformID);
-	return lpStruct;
-}
-
-void setDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject, DLLVERSIONINFO *lpStruct)
-{
-	if (!DLLVERSIONINFOFc.cached) cacheDLLVERSIONINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DLLVERSIONINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, DLLVERSIONINFOFc.dwMajorVersion, (jint)lpStruct->dwMajorVersion);
-	(*env)->SetIntField(env, lpObject, DLLVERSIONINFOFc.dwMinorVersion, (jint)lpStruct->dwMinorVersion);
-	(*env)->SetIntField(env, lpObject, DLLVERSIONINFOFc.dwBuildNumber, (jint)lpStruct->dwBuildNumber);
-	(*env)->SetIntField(env, lpObject, DLLVERSIONINFOFc.dwPlatformID, (jint)lpStruct->dwPlatformID);
-}
-#endif
-
-#ifndef NO_DOCINFO
-typedef struct DOCINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, lpszDocName, lpszOutput, lpszDatatype, fwType;
-} DOCINFO_FID_CACHE;
-
-DOCINFO_FID_CACHE DOCINFOFc;
-
-void cacheDOCINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (DOCINFOFc.cached) return;
-	DOCINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DOCINFOFc.cbSize = (*env)->GetFieldID(env, DOCINFOFc.clazz, "cbSize", "I");
-	DOCINFOFc.lpszDocName = (*env)->GetFieldID(env, DOCINFOFc.clazz, "lpszDocName", "I");
-	DOCINFOFc.lpszOutput = (*env)->GetFieldID(env, DOCINFOFc.clazz, "lpszOutput", "I");
-	DOCINFOFc.lpszDatatype = (*env)->GetFieldID(env, DOCINFOFc.clazz, "lpszDatatype", "I");
-	DOCINFOFc.fwType = (*env)->GetFieldID(env, DOCINFOFc.clazz, "fwType", "I");
-	DOCINFOFc.cached = 1;
-}
-
-DOCINFO *getDOCINFOFields(JNIEnv *env, jobject lpObject, DOCINFO *lpStruct)
-{
-	if (!DOCINFOFc.cached) cacheDOCINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, DOCINFOFc.cbSize);
-	lpStruct->lpszDocName = (LPCTSTR)(*env)->GetIntField(env, lpObject, DOCINFOFc.lpszDocName);
-	lpStruct->lpszOutput = (LPCTSTR)(*env)->GetIntField(env, lpObject, DOCINFOFc.lpszOutput);
-	lpStruct->lpszDatatype = (LPCTSTR)(*env)->GetIntField(env, lpObject, DOCINFOFc.lpszDatatype);
-	lpStruct->fwType = (*env)->GetIntField(env, lpObject, DOCINFOFc.fwType);
-	return lpStruct;
-}
-
-void setDOCINFOFields(JNIEnv *env, jobject lpObject, DOCINFO *lpStruct)
-{
-	if (!DOCINFOFc.cached) cacheDOCINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DOCINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, DOCINFOFc.lpszDocName, (jint)lpStruct->lpszDocName);
-	(*env)->SetIntField(env, lpObject, DOCINFOFc.lpszOutput, (jint)lpStruct->lpszOutput);
-	(*env)->SetIntField(env, lpObject, DOCINFOFc.lpszDatatype, (jint)lpStruct->lpszDatatype);
-	(*env)->SetIntField(env, lpObject, DOCINFOFc.fwType, (jint)lpStruct->fwType);
-}
-#endif
-
-#ifndef NO_DRAWITEMSTRUCT
-typedef struct DRAWITEMSTRUCT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID CtlType, CtlID, itemID, itemAction, itemState, hwndItem, hDC, left, top, bottom, right, itemData;
-} DRAWITEMSTRUCT_FID_CACHE;
-
-DRAWITEMSTRUCT_FID_CACHE DRAWITEMSTRUCTFc;
-
-void cacheDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject)
-{
-	if (DRAWITEMSTRUCTFc.cached) return;
-	DRAWITEMSTRUCTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DRAWITEMSTRUCTFc.CtlType = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "CtlType", "I");
-	DRAWITEMSTRUCTFc.CtlID = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "CtlID", "I");
-	DRAWITEMSTRUCTFc.itemID = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "itemID", "I");
-	DRAWITEMSTRUCTFc.itemAction = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "itemAction", "I");
-	DRAWITEMSTRUCTFc.itemState = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "itemState", "I");
-	DRAWITEMSTRUCTFc.hwndItem = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "hwndItem", "I");
-	DRAWITEMSTRUCTFc.hDC = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "hDC", "I");
-	DRAWITEMSTRUCTFc.left = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "left", "I");
-	DRAWITEMSTRUCTFc.top = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "top", "I");
-	DRAWITEMSTRUCTFc.bottom = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "bottom", "I");
-	DRAWITEMSTRUCTFc.right = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "right", "I");
-	DRAWITEMSTRUCTFc.itemData = (*env)->GetFieldID(env, DRAWITEMSTRUCTFc.clazz, "itemData", "I");
-	DRAWITEMSTRUCTFc.cached = 1;
-}
-
-DRAWITEMSTRUCT *getDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject, DRAWITEMSTRUCT *lpStruct)
-{
-	if (!DRAWITEMSTRUCTFc.cached) cacheDRAWITEMSTRUCTFields(env, lpObject);
-	lpStruct->CtlType = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.CtlType);
-	lpStruct->CtlID = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.CtlID);
-	lpStruct->itemID = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemID);
-	lpStruct->itemAction = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemAction);
-	lpStruct->itemState = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemState);
-	lpStruct->hwndItem = (HWND)(*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.hwndItem);
-	lpStruct->hDC = (HDC)(*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.hDC);
-	lpStruct->rcItem.left = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.left);
-	lpStruct->rcItem.top = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.top);
-	lpStruct->rcItem.bottom = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.bottom);
-	lpStruct->rcItem.right = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.right);
-	lpStruct->itemData = (*env)->GetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemData);
-	return lpStruct;
-}
-
-void setDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject, DRAWITEMSTRUCT *lpStruct)
-{
-	if (!DRAWITEMSTRUCTFc.cached) cacheDRAWITEMSTRUCTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.CtlType, (jint)lpStruct->CtlType);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.CtlID, (jint)lpStruct->CtlID);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemID, (jint)lpStruct->itemID);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemAction, (jint)lpStruct->itemAction);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemState, (jint)lpStruct->itemState);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.hwndItem, (jint)lpStruct->hwndItem);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.hDC, (jint)lpStruct->hDC);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.left, (jint)lpStruct->rcItem.left);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.top, (jint)lpStruct->rcItem.top);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.bottom, (jint)lpStruct->rcItem.bottom);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.right, (jint)lpStruct->rcItem.right);
-	(*env)->SetIntField(env, lpObject, DRAWITEMSTRUCTFc.itemData, (jint)lpStruct->itemData);
-}
-#endif
-
-#ifndef NO_DROPFILES
-typedef struct DROPFILES_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID pFiles, pt_x, pt_y, fNC, fWide;
-} DROPFILES_FID_CACHE;
-
-DROPFILES_FID_CACHE DROPFILESFc;
-
-void cacheDROPFILESFields(JNIEnv *env, jobject lpObject)
-{
-	if (DROPFILESFc.cached) return;
-	DROPFILESFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DROPFILESFc.pFiles = (*env)->GetFieldID(env, DROPFILESFc.clazz, "pFiles", "I");
-	DROPFILESFc.pt_x = (*env)->GetFieldID(env, DROPFILESFc.clazz, "pt_x", "I");
-	DROPFILESFc.pt_y = (*env)->GetFieldID(env, DROPFILESFc.clazz, "pt_y", "I");
-	DROPFILESFc.fNC = (*env)->GetFieldID(env, DROPFILESFc.clazz, "fNC", "I");
-	DROPFILESFc.fWide = (*env)->GetFieldID(env, DROPFILESFc.clazz, "fWide", "I");
-	DROPFILESFc.cached = 1;
-}
-
-DROPFILES *getDROPFILESFields(JNIEnv *env, jobject lpObject, DROPFILES *lpStruct)
-{
-	if (!DROPFILESFc.cached) cacheDROPFILESFields(env, lpObject);
-	lpStruct->pFiles = (*env)->GetIntField(env, lpObject, DROPFILESFc.pFiles);
-	lpStruct->pt.x = (*env)->GetIntField(env, lpObject, DROPFILESFc.pt_x);
-	lpStruct->pt.y = (*env)->GetIntField(env, lpObject, DROPFILESFc.pt_y);
-	lpStruct->fNC = (*env)->GetIntField(env, lpObject, DROPFILESFc.fNC);
-	lpStruct->fWide = (*env)->GetIntField(env, lpObject, DROPFILESFc.fWide);
-	return lpStruct;
-}
-
-void setDROPFILESFields(JNIEnv *env, jobject lpObject, DROPFILES *lpStruct)
-{
-	if (!DROPFILESFc.cached) cacheDROPFILESFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DROPFILESFc.pFiles, (jint)lpStruct->pFiles);
-	(*env)->SetIntField(env, lpObject, DROPFILESFc.pt_x, (jint)lpStruct->pt.x);
-	(*env)->SetIntField(env, lpObject, DROPFILESFc.pt_y, (jint)lpStruct->pt.y);
-	(*env)->SetIntField(env, lpObject, DROPFILESFc.fNC, (jint)lpStruct->fNC);
-	(*env)->SetIntField(env, lpObject, DROPFILESFc.fWide, (jint)lpStruct->fWide);
-}
-#endif
-
-#ifndef NO_EXTLOGPEN
-typedef struct EXTLOGPEN_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID elpPenStyle, elpWidth, elpBrushStyle, elpColor, elpHatch, elpNumEntries, elpStyleEntry;
-} EXTLOGPEN_FID_CACHE;
-
-EXTLOGPEN_FID_CACHE EXTLOGPENFc;
-
-void cacheEXTLOGPENFields(JNIEnv *env, jobject lpObject)
-{
-	if (EXTLOGPENFc.cached) return;
-	EXTLOGPENFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	EXTLOGPENFc.elpPenStyle = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpPenStyle", "I");
-	EXTLOGPENFc.elpWidth = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpWidth", "I");
-	EXTLOGPENFc.elpBrushStyle = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpBrushStyle", "I");
-	EXTLOGPENFc.elpColor = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpColor", "I");
-	EXTLOGPENFc.elpHatch = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpHatch", "I");
-	EXTLOGPENFc.elpNumEntries = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpNumEntries", "I");
-	EXTLOGPENFc.elpStyleEntry = (*env)->GetFieldID(env, EXTLOGPENFc.clazz, "elpStyleEntry", "[I");
-	EXTLOGPENFc.cached = 1;
-}
-
-EXTLOGPEN *getEXTLOGPENFields(JNIEnv *env, jobject lpObject, EXTLOGPEN *lpStruct)
-{
-	if (!EXTLOGPENFc.cached) cacheEXTLOGPENFields(env, lpObject);
-	lpStruct->elpPenStyle = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpPenStyle);
-	lpStruct->elpWidth = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpWidth);
-	lpStruct->elpBrushStyle = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpBrushStyle);
-	lpStruct->elpColor = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpColor);
-	lpStruct->elpHatch = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpHatch);
-	lpStruct->elpNumEntries = (*env)->GetIntField(env, lpObject, EXTLOGPENFc.elpNumEntries);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, EXTLOGPENFc.elpStyleEntry);
-	(*env)->GetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->elpStyleEntry) / 4, (jint *)lpStruct->elpStyleEntry);
-	}
-	return lpStruct;
-}
-
-void setEXTLOGPENFields(JNIEnv *env, jobject lpObject, EXTLOGPEN *lpStruct)
-{
-	if (!EXTLOGPENFc.cached) cacheEXTLOGPENFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpPenStyle, (jint)lpStruct->elpPenStyle);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpWidth, (jint)lpStruct->elpWidth);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpBrushStyle, (jint)lpStruct->elpBrushStyle);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpColor, (jint)lpStruct->elpColor);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpHatch, (jint)lpStruct->elpHatch);
-	(*env)->SetIntField(env, lpObject, EXTLOGPENFc.elpNumEntries, (jint)lpStruct->elpNumEntries);
-	{
-	jintArray lpObject1 = (jintArray)(*env)->GetObjectField(env, lpObject, EXTLOGPENFc.elpStyleEntry);
-	(*env)->SetIntArrayRegion(env, lpObject1, 0, sizeof(lpStruct->elpStyleEntry) / 4, (jint *)lpStruct->elpStyleEntry);
-	}
-}
-#endif
-
-#ifndef NO_FILETIME
-typedef struct FILETIME_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwLowDateTime, dwHighDateTime;
-} FILETIME_FID_CACHE;
-
-FILETIME_FID_CACHE FILETIMEFc;
-
-void cacheFILETIMEFields(JNIEnv *env, jobject lpObject)
-{
-	if (FILETIMEFc.cached) return;
-	FILETIMEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	FILETIMEFc.dwLowDateTime = (*env)->GetFieldID(env, FILETIMEFc.clazz, "dwLowDateTime", "I");
-	FILETIMEFc.dwHighDateTime = (*env)->GetFieldID(env, FILETIMEFc.clazz, "dwHighDateTime", "I");
-	FILETIMEFc.cached = 1;
-}
-
-FILETIME *getFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct)
-{
-	if (!FILETIMEFc.cached) cacheFILETIMEFields(env, lpObject);
-	lpStruct->dwLowDateTime = (*env)->GetIntField(env, lpObject, FILETIMEFc.dwLowDateTime);
-	lpStruct->dwHighDateTime = (*env)->GetIntField(env, lpObject, FILETIMEFc.dwHighDateTime);
-	return lpStruct;
-}
-
-void setFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct)
-{
-	if (!FILETIMEFc.cached) cacheFILETIMEFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, FILETIMEFc.dwLowDateTime, (jint)lpStruct->dwLowDateTime);
-	(*env)->SetIntField(env, lpObject, FILETIMEFc.dwHighDateTime, (jint)lpStruct->dwHighDateTime);
-}
-#endif
-
-#ifndef NO_GCP_RESULTS
-typedef struct GCP_RESULTS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lStructSize, lpOutString, lpOrder, lpDx, lpCaretPos, lpClass, lpGlyphs, nGlyphs, nMaxFit;
-} GCP_RESULTS_FID_CACHE;
-
-GCP_RESULTS_FID_CACHE GCP_RESULTSFc;
-
-void cacheGCP_RESULTSFields(JNIEnv *env, jobject lpObject)
-{
-	if (GCP_RESULTSFc.cached) return;
-	GCP_RESULTSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GCP_RESULTSFc.lStructSize = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lStructSize", "I");
-	GCP_RESULTSFc.lpOutString = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpOutString", "I");
-	GCP_RESULTSFc.lpOrder = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpOrder", "I");
-	GCP_RESULTSFc.lpDx = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpDx", "I");
-	GCP_RESULTSFc.lpCaretPos = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpCaretPos", "I");
-	GCP_RESULTSFc.lpClass = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpClass", "I");
-	GCP_RESULTSFc.lpGlyphs = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "lpGlyphs", "I");
-	GCP_RESULTSFc.nGlyphs = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "nGlyphs", "I");
-	GCP_RESULTSFc.nMaxFit = (*env)->GetFieldID(env, GCP_RESULTSFc.clazz, "nMaxFit", "I");
-	GCP_RESULTSFc.cached = 1;
-}
-
-GCP_RESULTS *getGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct)
-{
-	if (!GCP_RESULTSFc.cached) cacheGCP_RESULTSFields(env, lpObject);
-	lpStruct->lStructSize = (*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lStructSize);
-	lpStruct->lpOutString = (LPTSTR)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpOutString);
-	lpStruct->lpOrder = (UINT  *)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpOrder);
-	lpStruct->lpDx = (int  *)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpDx);
-	lpStruct->lpCaretPos = (int  *)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpCaretPos);
-	lpStruct->lpClass = (LPSTR)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpClass);
-	lpStruct->lpGlyphs = (LPWSTR)(*env)->GetIntField(env, lpObject, GCP_RESULTSFc.lpGlyphs);
-	lpStruct->nGlyphs = (*env)->GetIntField(env, lpObject, GCP_RESULTSFc.nGlyphs);
-	lpStruct->nMaxFit = (*env)->GetIntField(env, lpObject, GCP_RESULTSFc.nMaxFit);
-	return lpStruct;
-}
-
-void setGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct)
-{
-	if (!GCP_RESULTSFc.cached) cacheGCP_RESULTSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lStructSize, (jint)lpStruct->lStructSize);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpOutString, (jint)lpStruct->lpOutString);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpOrder, (jint)lpStruct->lpOrder);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpDx, (jint)lpStruct->lpDx);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpCaretPos, (jint)lpStruct->lpCaretPos);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpClass, (jint)lpStruct->lpClass);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.lpGlyphs, (jint)lpStruct->lpGlyphs);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.nGlyphs, (jint)lpStruct->nGlyphs);
-	(*env)->SetIntField(env, lpObject, GCP_RESULTSFc.nMaxFit, (jint)lpStruct->nMaxFit);
-}
-#endif
-
-#ifndef NO_GRADIENT_RECT
-typedef struct GRADIENT_RECT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID UpperLeft, LowerRight;
-} GRADIENT_RECT_FID_CACHE;
-
-GRADIENT_RECT_FID_CACHE GRADIENT_RECTFc;
-
-void cacheGRADIENT_RECTFields(JNIEnv *env, jobject lpObject)
-{
-	if (GRADIENT_RECTFc.cached) return;
-	GRADIENT_RECTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GRADIENT_RECTFc.UpperLeft = (*env)->GetFieldID(env, GRADIENT_RECTFc.clazz, "UpperLeft", "I");
-	GRADIENT_RECTFc.LowerRight = (*env)->GetFieldID(env, GRADIENT_RECTFc.clazz, "LowerRight", "I");
-	GRADIENT_RECTFc.cached = 1;
-}
-
-GRADIENT_RECT *getGRADIENT_RECTFields(JNIEnv *env, jobject lpObject, GRADIENT_RECT *lpStruct)
-{
-	if (!GRADIENT_RECTFc.cached) cacheGRADIENT_RECTFields(env, lpObject);
-	lpStruct->UpperLeft = (*env)->GetIntField(env, lpObject, GRADIENT_RECTFc.UpperLeft);
-	lpStruct->LowerRight = (*env)->GetIntField(env, lpObject, GRADIENT_RECTFc.LowerRight);
-	return lpStruct;
-}
-
-void setGRADIENT_RECTFields(JNIEnv *env, jobject lpObject, GRADIENT_RECT *lpStruct)
-{
-	if (!GRADIENT_RECTFc.cached) cacheGRADIENT_RECTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GRADIENT_RECTFc.UpperLeft, (jint)lpStruct->UpperLeft);
-	(*env)->SetIntField(env, lpObject, GRADIENT_RECTFc.LowerRight, (jint)lpStruct->LowerRight);
-}
-#endif
-
-#ifndef NO_GUITHREADINFO
-typedef struct GUITHREADINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, flags, hwndActive, hwndFocus, hwndCapture, hwndMenuOwner, hwndMoveSize, hwndCaret, left, top, right, bottom;
-} GUITHREADINFO_FID_CACHE;
-
-GUITHREADINFO_FID_CACHE GUITHREADINFOFc;
-
-void cacheGUITHREADINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (GUITHREADINFOFc.cached) return;
-	GUITHREADINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GUITHREADINFOFc.cbSize = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "cbSize", "I");
-	GUITHREADINFOFc.flags = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "flags", "I");
-	GUITHREADINFOFc.hwndActive = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndActive", "I");
-	GUITHREADINFOFc.hwndFocus = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndFocus", "I");
-	GUITHREADINFOFc.hwndCapture = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndCapture", "I");
-	GUITHREADINFOFc.hwndMenuOwner = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndMenuOwner", "I");
-	GUITHREADINFOFc.hwndMoveSize = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndMoveSize", "I");
-	GUITHREADINFOFc.hwndCaret = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "hwndCaret", "I");
-	GUITHREADINFOFc.left = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "left", "I");
-	GUITHREADINFOFc.top = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "top", "I");
-	GUITHREADINFOFc.right = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "right", "I");
-	GUITHREADINFOFc.bottom = (*env)->GetFieldID(env, GUITHREADINFOFc.clazz, "bottom", "I");
-	GUITHREADINFOFc.cached = 1;
-}
-
-GUITHREADINFO *getGUITHREADINFOFields(JNIEnv *env, jobject lpObject, GUITHREADINFO *lpStruct)
-{
-	if (!GUITHREADINFOFc.cached) cacheGUITHREADINFOFields(env, lpObject);
-	lpStruct->cbSize = (DWORD)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.cbSize);
-	lpStruct->flags = (DWORD)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.flags);
-	lpStruct->hwndActive = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndActive);
-	lpStruct->hwndFocus = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndFocus);
-	lpStruct->hwndCapture = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndCapture);
-	lpStruct->hwndMenuOwner = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndMenuOwner);
-	lpStruct->hwndMoveSize = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndMoveSize);
-	lpStruct->hwndCaret = (HWND)(*env)->GetIntField(env, lpObject, GUITHREADINFOFc.hwndCaret);
-	lpStruct->rcCaret.left = (*env)->GetIntField(env, lpObject, GUITHREADINFOFc.left);
-	lpStruct->rcCaret.top = (*env)->GetIntField(env, lpObject, GUITHREADINFOFc.top);
-	lpStruct->rcCaret.right = (*env)->GetIntField(env, lpObject, GUITHREADINFOFc.right);
-	lpStruct->rcCaret.bottom = (*env)->GetIntField(env, lpObject, GUITHREADINFOFc.bottom);
-	return lpStruct;
-}
-
-void setGUITHREADINFOFields(JNIEnv *env, jobject lpObject, GUITHREADINFO *lpStruct)
-{
-	if (!GUITHREADINFOFc.cached) cacheGUITHREADINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndActive, (jint)lpStruct->hwndActive);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndFocus, (jint)lpStruct->hwndFocus);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndCapture, (jint)lpStruct->hwndCapture);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndMenuOwner, (jint)lpStruct->hwndMenuOwner);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndMoveSize, (jint)lpStruct->hwndMoveSize);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.hwndCaret, (jint)lpStruct->hwndCaret);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.left, (jint)lpStruct->rcCaret.left);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.top, (jint)lpStruct->rcCaret.top);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.right, (jint)lpStruct->rcCaret.right);
-	(*env)->SetIntField(env, lpObject, GUITHREADINFOFc.bottom, (jint)lpStruct->rcCaret.bottom);
-}
-#endif
-
-#ifndef NO_HDITEM
-typedef struct HDITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, cxy, pszText, hbm, cchTextMax, fmt, lParam, iImage, iOrder;
-} HDITEM_FID_CACHE;
-
-HDITEM_FID_CACHE HDITEMFc;
-
-void cacheHDITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (HDITEMFc.cached) return;
-	HDITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HDITEMFc.mask = (*env)->GetFieldID(env, HDITEMFc.clazz, "mask", "I");
-	HDITEMFc.cxy = (*env)->GetFieldID(env, HDITEMFc.clazz, "cxy", "I");
-	HDITEMFc.pszText = (*env)->GetFieldID(env, HDITEMFc.clazz, "pszText", "I");
-	HDITEMFc.hbm = (*env)->GetFieldID(env, HDITEMFc.clazz, "hbm", "I");
-	HDITEMFc.cchTextMax = (*env)->GetFieldID(env, HDITEMFc.clazz, "cchTextMax", "I");
-	HDITEMFc.fmt = (*env)->GetFieldID(env, HDITEMFc.clazz, "fmt", "I");
-	HDITEMFc.lParam = (*env)->GetFieldID(env, HDITEMFc.clazz, "lParam", "I");
-	HDITEMFc.iImage = (*env)->GetFieldID(env, HDITEMFc.clazz, "iImage", "I");
-	HDITEMFc.iOrder = (*env)->GetFieldID(env, HDITEMFc.clazz, "iOrder", "I");
-	HDITEMFc.cached = 1;
-}
-
-HDITEM *getHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct)
-{
-	if (!HDITEMFc.cached) cacheHDITEMFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, HDITEMFc.mask);
-	lpStruct->cxy = (*env)->GetIntField(env, lpObject, HDITEMFc.cxy);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, HDITEMFc.pszText);
-	lpStruct->hbm = (HBITMAP)(*env)->GetIntField(env, lpObject, HDITEMFc.hbm);
-	lpStruct->cchTextMax = (*env)->GetIntField(env, lpObject, HDITEMFc.cchTextMax);
-	lpStruct->fmt = (*env)->GetIntField(env, lpObject, HDITEMFc.fmt);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, HDITEMFc.lParam);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, HDITEMFc.iImage);
-	lpStruct->iOrder = (*env)->GetIntField(env, lpObject, HDITEMFc.iOrder);
-	return lpStruct;
-}
-
-void setHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct)
-{
-	if (!HDITEMFc.cached) cacheHDITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.cxy, (jint)lpStruct->cxy);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.hbm, (jint)lpStruct->hbm);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.cchTextMax, (jint)lpStruct->cchTextMax);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.fmt, (jint)lpStruct->fmt);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, HDITEMFc.iOrder, (jint)lpStruct->iOrder);
-}
-#endif
-
-#ifndef NO_HDLAYOUT
-typedef struct HDLAYOUT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID prc, pwpos;
-} HDLAYOUT_FID_CACHE;
-
-HDLAYOUT_FID_CACHE HDLAYOUTFc;
-
-void cacheHDLAYOUTFields(JNIEnv *env, jobject lpObject)
-{
-	if (HDLAYOUTFc.cached) return;
-	HDLAYOUTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HDLAYOUTFc.prc = (*env)->GetFieldID(env, HDLAYOUTFc.clazz, "prc", "I");
-	HDLAYOUTFc.pwpos = (*env)->GetFieldID(env, HDLAYOUTFc.clazz, "pwpos", "I");
-	HDLAYOUTFc.cached = 1;
-}
-
-HDLAYOUT *getHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct)
-{
-	if (!HDLAYOUTFc.cached) cacheHDLAYOUTFields(env, lpObject);
-	lpStruct->prc = (RECT *)(*env)->GetIntField(env, lpObject, HDLAYOUTFc.prc);
-	lpStruct->pwpos = (WINDOWPOS *)(*env)->GetIntField(env, lpObject, HDLAYOUTFc.pwpos);
-	return lpStruct;
-}
-
-void setHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct)
-{
-	if (!HDLAYOUTFc.cached) cacheHDLAYOUTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HDLAYOUTFc.prc, (jint)lpStruct->prc);
-	(*env)->SetIntField(env, lpObject, HDLAYOUTFc.pwpos, (jint)lpStruct->pwpos);
-}
-#endif
-
-#ifndef NO_HELPINFO
-typedef struct HELPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, iContextType, iCtrlId, hItemHandle, dwContextId, x, y;
-} HELPINFO_FID_CACHE;
-
-HELPINFO_FID_CACHE HELPINFOFc;
-
-void cacheHELPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (HELPINFOFc.cached) return;
-	HELPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HELPINFOFc.cbSize = (*env)->GetFieldID(env, HELPINFOFc.clazz, "cbSize", "I");
-	HELPINFOFc.iContextType = (*env)->GetFieldID(env, HELPINFOFc.clazz, "iContextType", "I");
-	HELPINFOFc.iCtrlId = (*env)->GetFieldID(env, HELPINFOFc.clazz, "iCtrlId", "I");
-	HELPINFOFc.hItemHandle = (*env)->GetFieldID(env, HELPINFOFc.clazz, "hItemHandle", "I");
-	HELPINFOFc.dwContextId = (*env)->GetFieldID(env, HELPINFOFc.clazz, "dwContextId", "I");
-	HELPINFOFc.x = (*env)->GetFieldID(env, HELPINFOFc.clazz, "x", "I");
-	HELPINFOFc.y = (*env)->GetFieldID(env, HELPINFOFc.clazz, "y", "I");
-	HELPINFOFc.cached = 1;
-}
-
-HELPINFO *getHELPINFOFields(JNIEnv *env, jobject lpObject, HELPINFO *lpStruct)
-{
-	if (!HELPINFOFc.cached) cacheHELPINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, HELPINFOFc.cbSize);
-	lpStruct->iContextType = (*env)->GetIntField(env, lpObject, HELPINFOFc.iContextType);
-	lpStruct->iCtrlId = (*env)->GetIntField(env, lpObject, HELPINFOFc.iCtrlId);
-	lpStruct->hItemHandle = (HANDLE)(*env)->GetIntField(env, lpObject, HELPINFOFc.hItemHandle);
-	lpStruct->dwContextId = (*env)->GetIntField(env, lpObject, HELPINFOFc.dwContextId);
-	lpStruct->MousePos.x = (*env)->GetIntField(env, lpObject, HELPINFOFc.x);
-	lpStruct->MousePos.y = (*env)->GetIntField(env, lpObject, HELPINFOFc.y);
-	return lpStruct;
-}
-
-void setHELPINFOFields(JNIEnv *env, jobject lpObject, HELPINFO *lpStruct)
-{
-	if (!HELPINFOFc.cached) cacheHELPINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.iContextType, (jint)lpStruct->iContextType);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.iCtrlId, (jint)lpStruct->iCtrlId);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.hItemHandle, (jint)lpStruct->hItemHandle);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.dwContextId, (jint)lpStruct->dwContextId);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.x, (jint)lpStruct->MousePos.x);
-	(*env)->SetIntField(env, lpObject, HELPINFOFc.y, (jint)lpStruct->MousePos.y);
-}
-#endif
-
-#ifndef NO_HIGHCONTRAST
-typedef struct HIGHCONTRAST_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, dwFlags, lpszDefaultScheme;
-} HIGHCONTRAST_FID_CACHE;
-
-HIGHCONTRAST_FID_CACHE HIGHCONTRASTFc;
-
-void cacheHIGHCONTRASTFields(JNIEnv *env, jobject lpObject)
-{
-	if (HIGHCONTRASTFc.cached) return;
-	HIGHCONTRASTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	HIGHCONTRASTFc.cbSize = (*env)->GetFieldID(env, HIGHCONTRASTFc.clazz, "cbSize", "I");
-	HIGHCONTRASTFc.dwFlags = (*env)->GetFieldID(env, HIGHCONTRASTFc.clazz, "dwFlags", "I");
-	HIGHCONTRASTFc.lpszDefaultScheme = (*env)->GetFieldID(env, HIGHCONTRASTFc.clazz, "lpszDefaultScheme", "I");
-	HIGHCONTRASTFc.cached = 1;
-}
-
-HIGHCONTRAST *getHIGHCONTRASTFields(JNIEnv *env, jobject lpObject, HIGHCONTRAST *lpStruct)
-{
-	if (!HIGHCONTRASTFc.cached) cacheHIGHCONTRASTFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, HIGHCONTRASTFc.cbSize);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, HIGHCONTRASTFc.dwFlags);
-	lpStruct->lpszDefaultScheme = (LPTSTR)(*env)->GetIntField(env, lpObject, HIGHCONTRASTFc.lpszDefaultScheme);
-	return lpStruct;
-}
-
-void setHIGHCONTRASTFields(JNIEnv *env, jobject lpObject, HIGHCONTRAST *lpStruct)
-{
-	if (!HIGHCONTRASTFc.cached) cacheHIGHCONTRASTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, HIGHCONTRASTFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, HIGHCONTRASTFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, HIGHCONTRASTFc.lpszDefaultScheme, (jint)lpStruct->lpszDefaultScheme);
-}
-#endif
-
-#ifndef NO_ICONINFO
-typedef struct ICONINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID fIcon, xHotspot, yHotspot, hbmMask, hbmColor;
-} ICONINFO_FID_CACHE;
-
-ICONINFO_FID_CACHE ICONINFOFc;
-
-void cacheICONINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (ICONINFOFc.cached) return;
-	ICONINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	ICONINFOFc.fIcon = (*env)->GetFieldID(env, ICONINFOFc.clazz, "fIcon", "Z");
-	ICONINFOFc.xHotspot = (*env)->GetFieldID(env, ICONINFOFc.clazz, "xHotspot", "I");
-	ICONINFOFc.yHotspot = (*env)->GetFieldID(env, ICONINFOFc.clazz, "yHotspot", "I");
-	ICONINFOFc.hbmMask = (*env)->GetFieldID(env, ICONINFOFc.clazz, "hbmMask", "I");
-	ICONINFOFc.hbmColor = (*env)->GetFieldID(env, ICONINFOFc.clazz, "hbmColor", "I");
-	ICONINFOFc.cached = 1;
-}
-
-ICONINFO *getICONINFOFields(JNIEnv *env, jobject lpObject, ICONINFO *lpStruct)
-{
-	if (!ICONINFOFc.cached) cacheICONINFOFields(env, lpObject);
-	lpStruct->fIcon = (*env)->GetBooleanField(env, lpObject, ICONINFOFc.fIcon);
-	lpStruct->xHotspot = (*env)->GetIntField(env, lpObject, ICONINFOFc.xHotspot);
-	lpStruct->yHotspot = (*env)->GetIntField(env, lpObject, ICONINFOFc.yHotspot);
-	lpStruct->hbmMask = (HBITMAP)(*env)->GetIntField(env, lpObject, ICONINFOFc.hbmMask);
-	lpStruct->hbmColor = (HBITMAP)(*env)->GetIntField(env, lpObject, ICONINFOFc.hbmColor);
-	return lpStruct;
-}
-
-void setICONINFOFields(JNIEnv *env, jobject lpObject, ICONINFO *lpStruct)
-{
-	if (!ICONINFOFc.cached) cacheICONINFOFields(env, lpObject);
-	(*env)->SetBooleanField(env, lpObject, ICONINFOFc.fIcon, (jboolean)lpStruct->fIcon);
-	(*env)->SetIntField(env, lpObject, ICONINFOFc.xHotspot, (jint)lpStruct->xHotspot);
-	(*env)->SetIntField(env, lpObject, ICONINFOFc.yHotspot, (jint)lpStruct->yHotspot);
-	(*env)->SetIntField(env, lpObject, ICONINFOFc.hbmMask, (jint)lpStruct->hbmMask);
-	(*env)->SetIntField(env, lpObject, ICONINFOFc.hbmColor, (jint)lpStruct->hbmColor);
-}
-#endif
-
-#ifndef NO_INITCOMMONCONTROLSEX
-typedef struct INITCOMMONCONTROLSEX_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwSize, dwICC;
-} INITCOMMONCONTROLSEX_FID_CACHE;
-
-INITCOMMONCONTROLSEX_FID_CACHE INITCOMMONCONTROLSEXFc;
-
-void cacheINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject)
-{
-	if (INITCOMMONCONTROLSEXFc.cached) return;
-	INITCOMMONCONTROLSEXFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	INITCOMMONCONTROLSEXFc.dwSize = (*env)->GetFieldID(env, INITCOMMONCONTROLSEXFc.clazz, "dwSize", "I");
-	INITCOMMONCONTROLSEXFc.dwICC = (*env)->GetFieldID(env, INITCOMMONCONTROLSEXFc.clazz, "dwICC", "I");
-	INITCOMMONCONTROLSEXFc.cached = 1;
-}
-
-INITCOMMONCONTROLSEX *getINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject, INITCOMMONCONTROLSEX *lpStruct)
-{
-	if (!INITCOMMONCONTROLSEXFc.cached) cacheINITCOMMONCONTROLSEXFields(env, lpObject);
-	lpStruct->dwSize = (*env)->GetIntField(env, lpObject, INITCOMMONCONTROLSEXFc.dwSize);
-	lpStruct->dwICC = (*env)->GetIntField(env, lpObject, INITCOMMONCONTROLSEXFc.dwICC);
-	return lpStruct;
-}
-
-void setINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject, INITCOMMONCONTROLSEX *lpStruct)
-{
-	if (!INITCOMMONCONTROLSEXFc.cached) cacheINITCOMMONCONTROLSEXFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, INITCOMMONCONTROLSEXFc.dwSize, (jint)lpStruct->dwSize);
-	(*env)->SetIntField(env, lpObject, INITCOMMONCONTROLSEXFc.dwICC, (jint)lpStruct->dwICC);
-}
-#endif
-
-#ifndef NO_INPUT
-typedef struct INPUT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID type;
-} INPUT_FID_CACHE;
-
-INPUT_FID_CACHE INPUTFc;
-
-void cacheINPUTFields(JNIEnv *env, jobject lpObject)
-{
-	if (INPUTFc.cached) return;
-	INPUTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	INPUTFc.type = (*env)->GetFieldID(env, INPUTFc.clazz, "type", "I");
-	INPUTFc.cached = 1;
-}
-
-INPUT *getINPUTFields(JNIEnv *env, jobject lpObject, INPUT *lpStruct)
-{
-	if (!INPUTFc.cached) cacheINPUTFields(env, lpObject);
-	lpStruct->type = (*env)->GetIntField(env, lpObject, INPUTFc.type);
-	return lpStruct;
-}
-
-void setINPUTFields(JNIEnv *env, jobject lpObject, INPUT *lpStruct)
-{
-	if (!INPUTFc.cached) cacheINPUTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, INPUTFc.type, (jint)lpStruct->type);
-}
-#endif
-
-#ifndef NO_KEYBDINPUT
-typedef struct KEYBDINPUT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID wVk, wScan, dwFlags, time, dwExtraInfo;
-} KEYBDINPUT_FID_CACHE;
-
-KEYBDINPUT_FID_CACHE KEYBDINPUTFc;
-
-void cacheKEYBDINPUTFields(JNIEnv *env, jobject lpObject)
-{
-	if (KEYBDINPUTFc.cached) return;
-	KEYBDINPUTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	KEYBDINPUTFc.wVk = (*env)->GetFieldID(env, KEYBDINPUTFc.clazz, "wVk", "S");
-	KEYBDINPUTFc.wScan = (*env)->GetFieldID(env, KEYBDINPUTFc.clazz, "wScan", "S");
-	KEYBDINPUTFc.dwFlags = (*env)->GetFieldID(env, KEYBDINPUTFc.clazz, "dwFlags", "I");
-	KEYBDINPUTFc.time = (*env)->GetFieldID(env, KEYBDINPUTFc.clazz, "time", "I");
-	KEYBDINPUTFc.dwExtraInfo = (*env)->GetFieldID(env, KEYBDINPUTFc.clazz, "dwExtraInfo", "I");
-	KEYBDINPUTFc.cached = 1;
-}
-
-KEYBDINPUT *getKEYBDINPUTFields(JNIEnv *env, jobject lpObject, KEYBDINPUT *lpStruct)
-{
-	if (!KEYBDINPUTFc.cached) cacheKEYBDINPUTFields(env, lpObject);
-	lpStruct->wVk = (*env)->GetShortField(env, lpObject, KEYBDINPUTFc.wVk);
-	lpStruct->wScan = (*env)->GetShortField(env, lpObject, KEYBDINPUTFc.wScan);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, KEYBDINPUTFc.dwFlags);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, KEYBDINPUTFc.time);
-	lpStruct->dwExtraInfo = (*env)->GetIntField(env, lpObject, KEYBDINPUTFc.dwExtraInfo);
-	return lpStruct;
-}
-
-void setKEYBDINPUTFields(JNIEnv *env, jobject lpObject, KEYBDINPUT *lpStruct)
-{
-	if (!KEYBDINPUTFc.cached) cacheKEYBDINPUTFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, KEYBDINPUTFc.wVk, (jshort)lpStruct->wVk);
-	(*env)->SetShortField(env, lpObject, KEYBDINPUTFc.wScan, (jshort)lpStruct->wScan);
-	(*env)->SetIntField(env, lpObject, KEYBDINPUTFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, KEYBDINPUTFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, KEYBDINPUTFc.dwExtraInfo, (jint)lpStruct->dwExtraInfo);
-}
-#endif
-
-#ifndef NO_LITEM
-typedef struct LITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, iLink, state, stateMask, szID, szUrl;
-} LITEM_FID_CACHE;
-
-LITEM_FID_CACHE LITEMFc;
-
-void cacheLITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (LITEMFc.cached) return;
-	LITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LITEMFc.mask = (*env)->GetFieldID(env, LITEMFc.clazz, "mask", "I");
-	LITEMFc.iLink = (*env)->GetFieldID(env, LITEMFc.clazz, "iLink", "I");
-	LITEMFc.state = (*env)->GetFieldID(env, LITEMFc.clazz, "state", "I");
-	LITEMFc.stateMask = (*env)->GetFieldID(env, LITEMFc.clazz, "stateMask", "I");
-	LITEMFc.szID = (*env)->GetFieldID(env, LITEMFc.clazz, "szID", "[C");
-	LITEMFc.szUrl = (*env)->GetFieldID(env, LITEMFc.clazz, "szUrl", "[C");
-	LITEMFc.cached = 1;
-}
-
-LITEM *getLITEMFields(JNIEnv *env, jobject lpObject, LITEM *lpStruct)
-{
-	if (!LITEMFc.cached) cacheLITEMFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, LITEMFc.mask);
-	lpStruct->iLink = (*env)->GetIntField(env, lpObject, LITEMFc.iLink);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, LITEMFc.state);
-	lpStruct->stateMask = (*env)->GetIntField(env, lpObject, LITEMFc.stateMask);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LITEMFc.szID);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szID) / 2, (jchar *)lpStruct->szID);
-	}
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LITEMFc.szUrl);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szUrl) / 2, (jchar *)lpStruct->szUrl);
-	}
-	return lpStruct;
-}
-
-void setLITEMFields(JNIEnv *env, jobject lpObject, LITEM *lpStruct)
-{
-	if (!LITEMFc.cached) cacheLITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LITEMFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, LITEMFc.iLink, (jint)lpStruct->iLink);
-	(*env)->SetIntField(env, lpObject, LITEMFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, LITEMFc.stateMask, (jint)lpStruct->stateMask);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LITEMFc.szID);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szID) / 2, (jchar *)lpStruct->szID);
-	}
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LITEMFc.szUrl);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szUrl) / 2, (jchar *)lpStruct->szUrl);
-	}
-}
-#endif
-
-#ifndef NO_LOGBRUSH
-typedef struct LOGBRUSH_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lbStyle, lbColor, lbHatch;
-} LOGBRUSH_FID_CACHE;
-
-LOGBRUSH_FID_CACHE LOGBRUSHFc;
-
-void cacheLOGBRUSHFields(JNIEnv *env, jobject lpObject)
-{
-	if (LOGBRUSHFc.cached) return;
-	LOGBRUSHFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LOGBRUSHFc.lbStyle = (*env)->GetFieldID(env, LOGBRUSHFc.clazz, "lbStyle", "I");
-	LOGBRUSHFc.lbColor = (*env)->GetFieldID(env, LOGBRUSHFc.clazz, "lbColor", "I");
-	LOGBRUSHFc.lbHatch = (*env)->GetFieldID(env, LOGBRUSHFc.clazz, "lbHatch", "I");
-	LOGBRUSHFc.cached = 1;
-}
-
-LOGBRUSH *getLOGBRUSHFields(JNIEnv *env, jobject lpObject, LOGBRUSH *lpStruct)
-{
-	if (!LOGBRUSHFc.cached) cacheLOGBRUSHFields(env, lpObject);
-	lpStruct->lbStyle = (*env)->GetIntField(env, lpObject, LOGBRUSHFc.lbStyle);
-	lpStruct->lbColor = (*env)->GetIntField(env, lpObject, LOGBRUSHFc.lbColor);
-	lpStruct->lbHatch = (*env)->GetIntField(env, lpObject, LOGBRUSHFc.lbHatch);
-	return lpStruct;
-}
-
-void setLOGBRUSHFields(JNIEnv *env, jobject lpObject, LOGBRUSH *lpStruct)
-{
-	if (!LOGBRUSHFc.cached) cacheLOGBRUSHFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LOGBRUSHFc.lbStyle, (jint)lpStruct->lbStyle);
-	(*env)->SetIntField(env, lpObject, LOGBRUSHFc.lbColor, (jint)lpStruct->lbColor);
-	(*env)->SetIntField(env, lpObject, LOGBRUSHFc.lbHatch, (jint)lpStruct->lbHatch);
-}
-#endif
-
-#ifndef NO_LOGFONT
-typedef struct LOGFONT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lfHeight, lfWidth, lfEscapement, lfOrientation, lfWeight, lfItalic, lfUnderline, lfStrikeOut, lfCharSet, lfOutPrecision, lfClipPrecision, lfQuality, lfPitchAndFamily;
-} LOGFONT_FID_CACHE;
-
-LOGFONT_FID_CACHE LOGFONTFc;
-
-void cacheLOGFONTFields(JNIEnv *env, jobject lpObject)
-{
-	if (LOGFONTFc.cached) return;
-	LOGFONTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LOGFONTFc.lfHeight = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfHeight", "I");
-	LOGFONTFc.lfWidth = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfWidth", "I");
-	LOGFONTFc.lfEscapement = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfEscapement", "I");
-	LOGFONTFc.lfOrientation = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfOrientation", "I");
-	LOGFONTFc.lfWeight = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfWeight", "I");
-	LOGFONTFc.lfItalic = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfItalic", "B");
-	LOGFONTFc.lfUnderline = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfUnderline", "B");
-	LOGFONTFc.lfStrikeOut = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfStrikeOut", "B");
-	LOGFONTFc.lfCharSet = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfCharSet", "B");
-	LOGFONTFc.lfOutPrecision = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfOutPrecision", "B");
-	LOGFONTFc.lfClipPrecision = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfClipPrecision", "B");
-	LOGFONTFc.lfQuality = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfQuality", "B");
-	LOGFONTFc.lfPitchAndFamily = (*env)->GetFieldID(env, LOGFONTFc.clazz, "lfPitchAndFamily", "B");
-	LOGFONTFc.cached = 1;
-}
-
-LOGFONT *getLOGFONTFields(JNIEnv *env, jobject lpObject, LOGFONT *lpStruct)
-{
-	if (!LOGFONTFc.cached) cacheLOGFONTFields(env, lpObject);
-	lpStruct->lfHeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfHeight);
-	lpStruct->lfWidth = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWidth);
-	lpStruct->lfEscapement = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfEscapement);
-	lpStruct->lfOrientation = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfOrientation);
-	lpStruct->lfWeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWeight);
-	lpStruct->lfItalic = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfItalic);
-	lpStruct->lfUnderline = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfUnderline);
-	lpStruct->lfStrikeOut = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfStrikeOut);
-	lpStruct->lfCharSet = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfCharSet);
-	lpStruct->lfOutPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfOutPrecision);
-	lpStruct->lfClipPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfClipPrecision);
-	lpStruct->lfQuality = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfQuality);
-	lpStruct->lfPitchAndFamily = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily);
-	return lpStruct;
-}
-
-void setLOGFONTFields(JNIEnv *env, jobject lpObject, LOGFONT *lpStruct)
-{
-	if (!LOGFONTFc.cached) cacheLOGFONTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfHeight, (jint)lpStruct->lfHeight);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWidth, (jint)lpStruct->lfWidth);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfEscapement, (jint)lpStruct->lfEscapement);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfOrientation, (jint)lpStruct->lfOrientation);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWeight, (jint)lpStruct->lfWeight);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfItalic, (jbyte)lpStruct->lfItalic);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfUnderline, (jbyte)lpStruct->lfUnderline);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfStrikeOut, (jbyte)lpStruct->lfStrikeOut);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfCharSet, (jbyte)lpStruct->lfCharSet);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfOutPrecision, (jbyte)lpStruct->lfOutPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfClipPrecision, (jbyte)lpStruct->lfClipPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfQuality, (jbyte)lpStruct->lfQuality);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily, (jbyte)lpStruct->lfPitchAndFamily);
-}
-#endif
-
-#ifndef NO_LOGFONTA
-typedef struct LOGFONTA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lfFaceName;
-} LOGFONTA_FID_CACHE;
-
-LOGFONTA_FID_CACHE LOGFONTAFc;
-
-void cacheLOGFONTAFields(JNIEnv *env, jobject lpObject)
-{
-	if (LOGFONTAFc.cached) return;
-	cacheLOGFONTFields(env, lpObject);
-	LOGFONTAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LOGFONTAFc.lfFaceName = (*env)->GetFieldID(env, LOGFONTAFc.clazz, "lfFaceName", "[B");
-	LOGFONTAFc.cached = 1;
-}
-
-LOGFONTA *getLOGFONTAFields(JNIEnv *env, jobject lpObject, LOGFONTA *lpStruct)
-{
-	if (!LOGFONTAFc.cached) cacheLOGFONTAFields(env, lpObject);
-	lpStruct->lfHeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfHeight);
-	lpStruct->lfWidth = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWidth);
-	lpStruct->lfEscapement = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfEscapement);
-	lpStruct->lfOrientation = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfOrientation);
-	lpStruct->lfWeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWeight);
-	lpStruct->lfItalic = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfItalic);
-	lpStruct->lfUnderline = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfUnderline);
-	lpStruct->lfStrikeOut = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfStrikeOut);
-	lpStruct->lfCharSet = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfCharSet);
-	lpStruct->lfOutPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfOutPrecision);
-	lpStruct->lfClipPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfClipPrecision);
-	lpStruct->lfQuality = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfQuality);
-	lpStruct->lfPitchAndFamily = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, LOGFONTAFc.lfFaceName);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->lfFaceName), (jbyte *)lpStruct->lfFaceName);
-	}
-	return lpStruct;
-}
-
-void setLOGFONTAFields(JNIEnv *env, jobject lpObject, LOGFONTA *lpStruct)
-{
-	if (!LOGFONTAFc.cached) cacheLOGFONTAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfHeight, (jint)lpStruct->lfHeight);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWidth, (jint)lpStruct->lfWidth);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfEscapement, (jint)lpStruct->lfEscapement);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfOrientation, (jint)lpStruct->lfOrientation);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWeight, (jint)lpStruct->lfWeight);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfItalic, (jbyte)lpStruct->lfItalic);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfUnderline, (jbyte)lpStruct->lfUnderline);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfStrikeOut, (jbyte)lpStruct->lfStrikeOut);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfCharSet, (jbyte)lpStruct->lfCharSet);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfOutPrecision, (jbyte)lpStruct->lfOutPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfClipPrecision, (jbyte)lpStruct->lfClipPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfQuality, (jbyte)lpStruct->lfQuality);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily, (jbyte)lpStruct->lfPitchAndFamily);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, LOGFONTAFc.lfFaceName);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->lfFaceName), (jbyte *)lpStruct->lfFaceName);
-	}
-}
-#endif
-
-#ifndef NO_LOGFONTW
-typedef struct LOGFONTW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lfFaceName;
-} LOGFONTW_FID_CACHE;
-
-LOGFONTW_FID_CACHE LOGFONTWFc;
-
-void cacheLOGFONTWFields(JNIEnv *env, jobject lpObject)
-{
-	if (LOGFONTWFc.cached) return;
-	cacheLOGFONTFields(env, lpObject);
-	LOGFONTWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LOGFONTWFc.lfFaceName = (*env)->GetFieldID(env, LOGFONTWFc.clazz, "lfFaceName", "[C");
-	LOGFONTWFc.cached = 1;
-}
-
-LOGFONTW *getLOGFONTWFields(JNIEnv *env, jobject lpObject, LOGFONTW *lpStruct)
-{
-	if (!LOGFONTWFc.cached) cacheLOGFONTWFields(env, lpObject);
-	lpStruct->lfHeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfHeight);
-	lpStruct->lfWidth = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWidth);
-	lpStruct->lfEscapement = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfEscapement);
-	lpStruct->lfOrientation = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfOrientation);
-	lpStruct->lfWeight = (*env)->GetIntField(env, lpObject, LOGFONTFc.lfWeight);
-	lpStruct->lfItalic = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfItalic);
-	lpStruct->lfUnderline = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfUnderline);
-	lpStruct->lfStrikeOut = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfStrikeOut);
-	lpStruct->lfCharSet = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfCharSet);
-	lpStruct->lfOutPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfOutPrecision);
-	lpStruct->lfClipPrecision = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfClipPrecision);
-	lpStruct->lfQuality = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfQuality);
-	lpStruct->lfPitchAndFamily = (*env)->GetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LOGFONTWFc.lfFaceName);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->lfFaceName) / 2, (jchar *)lpStruct->lfFaceName);
-	}
-	return lpStruct;
-}
-
-void setLOGFONTWFields(JNIEnv *env, jobject lpObject, LOGFONTW *lpStruct)
-{
-	if (!LOGFONTWFc.cached) cacheLOGFONTWFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfHeight, (jint)lpStruct->lfHeight);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWidth, (jint)lpStruct->lfWidth);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfEscapement, (jint)lpStruct->lfEscapement);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfOrientation, (jint)lpStruct->lfOrientation);
-	(*env)->SetIntField(env, lpObject, LOGFONTFc.lfWeight, (jint)lpStruct->lfWeight);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfItalic, (jbyte)lpStruct->lfItalic);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfUnderline, (jbyte)lpStruct->lfUnderline);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfStrikeOut, (jbyte)lpStruct->lfStrikeOut);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfCharSet, (jbyte)lpStruct->lfCharSet);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfOutPrecision, (jbyte)lpStruct->lfOutPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfClipPrecision, (jbyte)lpStruct->lfClipPrecision);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfQuality, (jbyte)lpStruct->lfQuality);
-	(*env)->SetByteField(env, lpObject, LOGFONTFc.lfPitchAndFamily, (jbyte)lpStruct->lfPitchAndFamily);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, LOGFONTWFc.lfFaceName);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->lfFaceName) / 2, (jchar *)lpStruct->lfFaceName);
-	}
-}
-#endif
-
-#ifndef NO_LOGPEN
-typedef struct LOGPEN_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lopnStyle, x, y, lopnColor;
-} LOGPEN_FID_CACHE;
-
-LOGPEN_FID_CACHE LOGPENFc;
-
-void cacheLOGPENFields(JNIEnv *env, jobject lpObject)
-{
-	if (LOGPENFc.cached) return;
-	LOGPENFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LOGPENFc.lopnStyle = (*env)->GetFieldID(env, LOGPENFc.clazz, "lopnStyle", "I");
-	LOGPENFc.x = (*env)->GetFieldID(env, LOGPENFc.clazz, "x", "I");
-	LOGPENFc.y = (*env)->GetFieldID(env, LOGPENFc.clazz, "y", "I");
-	LOGPENFc.lopnColor = (*env)->GetFieldID(env, LOGPENFc.clazz, "lopnColor", "I");
-	LOGPENFc.cached = 1;
-}
-
-LOGPEN *getLOGPENFields(JNIEnv *env, jobject lpObject, LOGPEN *lpStruct)
-{
-	if (!LOGPENFc.cached) cacheLOGPENFields(env, lpObject);
-	lpStruct->lopnStyle = (*env)->GetIntField(env, lpObject, LOGPENFc.lopnStyle);
-	lpStruct->lopnWidth.x = (*env)->GetIntField(env, lpObject, LOGPENFc.x);
-	lpStruct->lopnWidth.y = (*env)->GetIntField(env, lpObject, LOGPENFc.y);
-	lpStruct->lopnColor = (*env)->GetIntField(env, lpObject, LOGPENFc.lopnColor);
-	return lpStruct;
-}
-
-void setLOGPENFields(JNIEnv *env, jobject lpObject, LOGPEN *lpStruct)
-{
-	if (!LOGPENFc.cached) cacheLOGPENFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LOGPENFc.lopnStyle, (jint)lpStruct->lopnStyle);
-	(*env)->SetIntField(env, lpObject, LOGPENFc.x, (jint)lpStruct->lopnWidth.x);
-	(*env)->SetIntField(env, lpObject, LOGPENFc.y, (jint)lpStruct->lopnWidth.y);
-	(*env)->SetIntField(env, lpObject, LOGPENFc.lopnColor, (jint)lpStruct->lopnColor);
-}
-#endif
-
-#ifndef NO_LVCOLUMN
-typedef struct LVCOLUMN_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, fmt, cx, pszText, cchTextMax, iSubItem, iImage, iOrder;
-} LVCOLUMN_FID_CACHE;
-
-LVCOLUMN_FID_CACHE LVCOLUMNFc;
-
-void cacheLVCOLUMNFields(JNIEnv *env, jobject lpObject)
-{
-	if (LVCOLUMNFc.cached) return;
-	LVCOLUMNFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LVCOLUMNFc.mask = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "mask", "I");
-	LVCOLUMNFc.fmt = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "fmt", "I");
-	LVCOLUMNFc.cx = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "cx", "I");
-	LVCOLUMNFc.pszText = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "pszText", "I");
-	LVCOLUMNFc.cchTextMax = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "cchTextMax", "I");
-	LVCOLUMNFc.iSubItem = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "iSubItem", "I");
-	LVCOLUMNFc.iImage = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "iImage", "I");
-	LVCOLUMNFc.iOrder = (*env)->GetFieldID(env, LVCOLUMNFc.clazz, "iOrder", "I");
-	LVCOLUMNFc.cached = 1;
-}
-
-LVCOLUMN *getLVCOLUMNFields(JNIEnv *env, jobject lpObject, LVCOLUMN *lpStruct)
-{
-	if (!LVCOLUMNFc.cached) cacheLVCOLUMNFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.mask);
-	lpStruct->fmt = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.fmt);
-	lpStruct->cx = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.cx);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, LVCOLUMNFc.pszText);
-	lpStruct->cchTextMax = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.cchTextMax);
-	lpStruct->iSubItem = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.iSubItem);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.iImage);
-	lpStruct->iOrder = (*env)->GetIntField(env, lpObject, LVCOLUMNFc.iOrder);
-	return lpStruct;
-}
-
-void setLVCOLUMNFields(JNIEnv *env, jobject lpObject, LVCOLUMN *lpStruct)
-{
-	if (!LVCOLUMNFc.cached) cacheLVCOLUMNFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.fmt, (jint)lpStruct->fmt);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.cx, (jint)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.cchTextMax, (jint)lpStruct->cchTextMax);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.iSubItem, (jint)lpStruct->iSubItem);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, LVCOLUMNFc.iOrder, (jint)lpStruct->iOrder);
-}
-#endif
-
-#ifndef NO_LVHITTESTINFO
-typedef struct LVHITTESTINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, flags, iItem, iSubItem;
-} LVHITTESTINFO_FID_CACHE;
-
-LVHITTESTINFO_FID_CACHE LVHITTESTINFOFc;
-
-void cacheLVHITTESTINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (LVHITTESTINFOFc.cached) return;
-	LVHITTESTINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LVHITTESTINFOFc.x = (*env)->GetFieldID(env, LVHITTESTINFOFc.clazz, "x", "I");
-	LVHITTESTINFOFc.y = (*env)->GetFieldID(env, LVHITTESTINFOFc.clazz, "y", "I");
-	LVHITTESTINFOFc.flags = (*env)->GetFieldID(env, LVHITTESTINFOFc.clazz, "flags", "I");
-	LVHITTESTINFOFc.iItem = (*env)->GetFieldID(env, LVHITTESTINFOFc.clazz, "iItem", "I");
-	LVHITTESTINFOFc.iSubItem = (*env)->GetFieldID(env, LVHITTESTINFOFc.clazz, "iSubItem", "I");
-	LVHITTESTINFOFc.cached = 1;
-}
-
-LVHITTESTINFO *getLVHITTESTINFOFields(JNIEnv *env, jobject lpObject, LVHITTESTINFO *lpStruct)
-{
-	if (!LVHITTESTINFOFc.cached) cacheLVHITTESTINFOFields(env, lpObject);
-	lpStruct->pt.x = (*env)->GetIntField(env, lpObject, LVHITTESTINFOFc.x);
-	lpStruct->pt.y = (*env)->GetIntField(env, lpObject, LVHITTESTINFOFc.y);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, LVHITTESTINFOFc.flags);
-	lpStruct->iItem = (*env)->GetIntField(env, lpObject, LVHITTESTINFOFc.iItem);
-	lpStruct->iSubItem = (*env)->GetIntField(env, lpObject, LVHITTESTINFOFc.iSubItem);
-	return lpStruct;
-}
-
-void setLVHITTESTINFOFields(JNIEnv *env, jobject lpObject, LVHITTESTINFO *lpStruct)
-{
-	if (!LVHITTESTINFOFc.cached) cacheLVHITTESTINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LVHITTESTINFOFc.x, (jint)lpStruct->pt.x);
-	(*env)->SetIntField(env, lpObject, LVHITTESTINFOFc.y, (jint)lpStruct->pt.y);
-	(*env)->SetIntField(env, lpObject, LVHITTESTINFOFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, LVHITTESTINFOFc.iItem, (jint)lpStruct->iItem);
-	(*env)->SetIntField(env, lpObject, LVHITTESTINFOFc.iSubItem, (jint)lpStruct->iSubItem);
-}
-#endif
-
-#ifndef NO_LVITEM
-typedef struct LVITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, iItem, iSubItem, state, stateMask, pszText, cchTextMax, iImage, lParam, iIndent;
-} LVITEM_FID_CACHE;
-
-LVITEM_FID_CACHE LVITEMFc;
-
-void cacheLVITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (LVITEMFc.cached) return;
-	LVITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	LVITEMFc.mask = (*env)->GetFieldID(env, LVITEMFc.clazz, "mask", "I");
-	LVITEMFc.iItem = (*env)->GetFieldID(env, LVITEMFc.clazz, "iItem", "I");
-	LVITEMFc.iSubItem = (*env)->GetFieldID(env, LVITEMFc.clazz, "iSubItem", "I");
-	LVITEMFc.state = (*env)->GetFieldID(env, LVITEMFc.clazz, "state", "I");
-	LVITEMFc.stateMask = (*env)->GetFieldID(env, LVITEMFc.clazz, "stateMask", "I");
-	LVITEMFc.pszText = (*env)->GetFieldID(env, LVITEMFc.clazz, "pszText", "I");
-	LVITEMFc.cchTextMax = (*env)->GetFieldID(env, LVITEMFc.clazz, "cchTextMax", "I");
-	LVITEMFc.iImage = (*env)->GetFieldID(env, LVITEMFc.clazz, "iImage", "I");
-	LVITEMFc.lParam = (*env)->GetFieldID(env, LVITEMFc.clazz, "lParam", "I");
-	LVITEMFc.iIndent = (*env)->GetFieldID(env, LVITEMFc.clazz, "iIndent", "I");
-	LVITEMFc.cached = 1;
-}
-
-LVITEM *getLVITEMFields(JNIEnv *env, jobject lpObject, LVITEM *lpStruct)
-{
-	if (!LVITEMFc.cached) cacheLVITEMFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, LVITEMFc.mask);
-	lpStruct->iItem = (*env)->GetIntField(env, lpObject, LVITEMFc.iItem);
-	lpStruct->iSubItem = (*env)->GetIntField(env, lpObject, LVITEMFc.iSubItem);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, LVITEMFc.state);
-	lpStruct->stateMask = (*env)->GetIntField(env, lpObject, LVITEMFc.stateMask);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, LVITEMFc.pszText);
-	lpStruct->cchTextMax = (*env)->GetIntField(env, lpObject, LVITEMFc.cchTextMax);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, LVITEMFc.iImage);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, LVITEMFc.lParam);
-	lpStruct->iIndent = (*env)->GetIntField(env, lpObject, LVITEMFc.iIndent);
-	return lpStruct;
-}
-
-void setLVITEMFields(JNIEnv *env, jobject lpObject, LVITEM *lpStruct)
-{
-	if (!LVITEMFc.cached) cacheLVITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.iItem, (jint)lpStruct->iItem);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.iSubItem, (jint)lpStruct->iSubItem);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.stateMask, (jint)lpStruct->stateMask);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.cchTextMax, (jint)lpStruct->cchTextMax);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, LVITEMFc.iIndent, (jint)lpStruct->iIndent);
-}
-#endif
-
-#ifndef NO_MARGINS
-typedef struct MARGINS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cxLeftWidth, cxRightWidth, cyTopHeight, cyBottomHeight;
-} MARGINS_FID_CACHE;
-
-MARGINS_FID_CACHE MARGINSFc;
-
-void cacheMARGINSFields(JNIEnv *env, jobject lpObject)
-{
-	if (MARGINSFc.cached) return;
-	MARGINSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MARGINSFc.cxLeftWidth = (*env)->GetFieldID(env, MARGINSFc.clazz, "cxLeftWidth", "I");
-	MARGINSFc.cxRightWidth = (*env)->GetFieldID(env, MARGINSFc.clazz, "cxRightWidth", "I");
-	MARGINSFc.cyTopHeight = (*env)->GetFieldID(env, MARGINSFc.clazz, "cyTopHeight", "I");
-	MARGINSFc.cyBottomHeight = (*env)->GetFieldID(env, MARGINSFc.clazz, "cyBottomHeight", "I");
-	MARGINSFc.cached = 1;
-}
-
-MARGINS *getMARGINSFields(JNIEnv *env, jobject lpObject, MARGINS *lpStruct)
-{
-	if (!MARGINSFc.cached) cacheMARGINSFields(env, lpObject);
-	lpStruct->cxLeftWidth = (*env)->GetIntField(env, lpObject, MARGINSFc.cxLeftWidth);
-	lpStruct->cxRightWidth = (*env)->GetIntField(env, lpObject, MARGINSFc.cxRightWidth);
-	lpStruct->cyTopHeight = (*env)->GetIntField(env, lpObject, MARGINSFc.cyTopHeight);
-	lpStruct->cyBottomHeight = (*env)->GetIntField(env, lpObject, MARGINSFc.cyBottomHeight);
-	return lpStruct;
-}
-
-void setMARGINSFields(JNIEnv *env, jobject lpObject, MARGINS *lpStruct)
-{
-	if (!MARGINSFc.cached) cacheMARGINSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MARGINSFc.cxLeftWidth, (jint)lpStruct->cxLeftWidth);
-	(*env)->SetIntField(env, lpObject, MARGINSFc.cxRightWidth, (jint)lpStruct->cxRightWidth);
-	(*env)->SetIntField(env, lpObject, MARGINSFc.cyTopHeight, (jint)lpStruct->cyTopHeight);
-	(*env)->SetIntField(env, lpObject, MARGINSFc.cyBottomHeight, (jint)lpStruct->cyBottomHeight);
-}
-#endif
-
-#ifndef NO_MEASUREITEMSTRUCT
-typedef struct MEASUREITEMSTRUCT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID CtlType, CtlID, itemID, itemWidth, itemHeight, itemData;
-} MEASUREITEMSTRUCT_FID_CACHE;
-
-MEASUREITEMSTRUCT_FID_CACHE MEASUREITEMSTRUCTFc;
-
-void cacheMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject)
-{
-	if (MEASUREITEMSTRUCTFc.cached) return;
-	MEASUREITEMSTRUCTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MEASUREITEMSTRUCTFc.CtlType = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "CtlType", "I");
-	MEASUREITEMSTRUCTFc.CtlID = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "CtlID", "I");
-	MEASUREITEMSTRUCTFc.itemID = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "itemID", "I");
-	MEASUREITEMSTRUCTFc.itemWidth = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "itemWidth", "I");
-	MEASUREITEMSTRUCTFc.itemHeight = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "itemHeight", "I");
-	MEASUREITEMSTRUCTFc.itemData = (*env)->GetFieldID(env, MEASUREITEMSTRUCTFc.clazz, "itemData", "I");
-	MEASUREITEMSTRUCTFc.cached = 1;
-}
-
-MEASUREITEMSTRUCT *getMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject, MEASUREITEMSTRUCT *lpStruct)
-{
-	if (!MEASUREITEMSTRUCTFc.cached) cacheMEASUREITEMSTRUCTFields(env, lpObject);
-	lpStruct->CtlType = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.CtlType);
-	lpStruct->CtlID = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.CtlID);
-	lpStruct->itemID = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemID);
-	lpStruct->itemWidth = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemWidth);
-	lpStruct->itemHeight = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemHeight);
-	lpStruct->itemData = (*env)->GetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemData);
-	return lpStruct;
-}
-
-void setMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject, MEASUREITEMSTRUCT *lpStruct)
-{
-	if (!MEASUREITEMSTRUCTFc.cached) cacheMEASUREITEMSTRUCTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.CtlType, (jint)lpStruct->CtlType);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.CtlID, (jint)lpStruct->CtlID);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemID, (jint)lpStruct->itemID);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemWidth, (jint)lpStruct->itemWidth);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemHeight, (jint)lpStruct->itemHeight);
-	(*env)->SetIntField(env, lpObject, MEASUREITEMSTRUCTFc.itemData, (jint)lpStruct->itemData);
-}
-#endif
-
-#ifndef NO_MENUBARINFO
-typedef struct MENUBARINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, left, top, right, bottom, hMenu, hwndMenu, fBarFocused, fFocused;
-} MENUBARINFO_FID_CACHE;
-
-MENUBARINFO_FID_CACHE MENUBARINFOFc;
-
-void cacheMENUBARINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (MENUBARINFOFc.cached) return;
-	MENUBARINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MENUBARINFOFc.cbSize = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "cbSize", "I");
-	MENUBARINFOFc.left = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "left", "I");
-	MENUBARINFOFc.top = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "top", "I");
-	MENUBARINFOFc.right = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "right", "I");
-	MENUBARINFOFc.bottom = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "bottom", "I");
-	MENUBARINFOFc.hMenu = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "hMenu", "I");
-	MENUBARINFOFc.hwndMenu = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "hwndMenu", "I");
-	MENUBARINFOFc.fBarFocused = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "fBarFocused", "Z");
-	MENUBARINFOFc.fFocused = (*env)->GetFieldID(env, MENUBARINFOFc.clazz, "fFocused", "Z");
-	MENUBARINFOFc.cached = 1;
-}
-
-MENUBARINFO *getMENUBARINFOFields(JNIEnv *env, jobject lpObject, MENUBARINFO *lpStruct)
-{
-	if (!MENUBARINFOFc.cached) cacheMENUBARINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, MENUBARINFOFc.cbSize);
-	lpStruct->rcBar.left = (*env)->GetIntField(env, lpObject, MENUBARINFOFc.left);
-	lpStruct->rcBar.top = (*env)->GetIntField(env, lpObject, MENUBARINFOFc.top);
-	lpStruct->rcBar.right = (*env)->GetIntField(env, lpObject, MENUBARINFOFc.right);
-	lpStruct->rcBar.bottom = (*env)->GetIntField(env, lpObject, MENUBARINFOFc.bottom);
-	lpStruct->hMenu = (HMENU)(*env)->GetIntField(env, lpObject, MENUBARINFOFc.hMenu);
-	lpStruct->hwndMenu = (HWND)(*env)->GetIntField(env, lpObject, MENUBARINFOFc.hwndMenu);
-	lpStruct->fBarFocused = (*env)->GetBooleanField(env, lpObject, MENUBARINFOFc.fBarFocused);
-	lpStruct->fFocused = (*env)->GetBooleanField(env, lpObject, MENUBARINFOFc.fFocused);
-	return lpStruct;
-}
-
-void setMENUBARINFOFields(JNIEnv *env, jobject lpObject, MENUBARINFO *lpStruct)
-{
-	if (!MENUBARINFOFc.cached) cacheMENUBARINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.left, (jint)lpStruct->rcBar.left);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.top, (jint)lpStruct->rcBar.top);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.right, (jint)lpStruct->rcBar.right);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.bottom, (jint)lpStruct->rcBar.bottom);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.hMenu, (jint)lpStruct->hMenu);
-	(*env)->SetIntField(env, lpObject, MENUBARINFOFc.hwndMenu, (jint)lpStruct->hwndMenu);
-	(*env)->SetBooleanField(env, lpObject, MENUBARINFOFc.fBarFocused, (jboolean)lpStruct->fBarFocused);
-	(*env)->SetBooleanField(env, lpObject, MENUBARINFOFc.fFocused, (jboolean)lpStruct->fFocused);
-}
-#endif
-
-#ifndef NO_MENUINFO
-typedef struct MENUINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fMask, dwStyle, cyMax, hbrBack, dwContextHelpID, dwMenuData;
-} MENUINFO_FID_CACHE;
-
-MENUINFO_FID_CACHE MENUINFOFc;
-
-void cacheMENUINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (MENUINFOFc.cached) return;
-	MENUINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MENUINFOFc.cbSize = (*env)->GetFieldID(env, MENUINFOFc.clazz, "cbSize", "I");
-	MENUINFOFc.fMask = (*env)->GetFieldID(env, MENUINFOFc.clazz, "fMask", "I");
-	MENUINFOFc.dwStyle = (*env)->GetFieldID(env, MENUINFOFc.clazz, "dwStyle", "I");
-	MENUINFOFc.cyMax = (*env)->GetFieldID(env, MENUINFOFc.clazz, "cyMax", "I");
-	MENUINFOFc.hbrBack = (*env)->GetFieldID(env, MENUINFOFc.clazz, "hbrBack", "I");
-	MENUINFOFc.dwContextHelpID = (*env)->GetFieldID(env, MENUINFOFc.clazz, "dwContextHelpID", "I");
-	MENUINFOFc.dwMenuData = (*env)->GetFieldID(env, MENUINFOFc.clazz, "dwMenuData", "I");
-	MENUINFOFc.cached = 1;
-}
-
-MENUINFO *getMENUINFOFields(JNIEnv *env, jobject lpObject, MENUINFO *lpStruct)
-{
-	if (!MENUINFOFc.cached) cacheMENUINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, MENUINFOFc.cbSize);
-	lpStruct->fMask = (*env)->GetIntField(env, lpObject, MENUINFOFc.fMask);
-	lpStruct->dwStyle = (*env)->GetIntField(env, lpObject, MENUINFOFc.dwStyle);
-	lpStruct->cyMax = (*env)->GetIntField(env, lpObject, MENUINFOFc.cyMax);
-	lpStruct->hbrBack = (HBRUSH)(*env)->GetIntField(env, lpObject, MENUINFOFc.hbrBack);
-	lpStruct->dwContextHelpID = (*env)->GetIntField(env, lpObject, MENUINFOFc.dwContextHelpID);
-	lpStruct->dwMenuData = (*env)->GetIntField(env, lpObject, MENUINFOFc.dwMenuData);
-	return lpStruct;
-}
-
-void setMENUINFOFields(JNIEnv *env, jobject lpObject, MENUINFO *lpStruct)
-{
-	if (!MENUINFOFc.cached) cacheMENUINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.fMask, (jint)lpStruct->fMask);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.dwStyle, (jint)lpStruct->dwStyle);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.cyMax, (jint)lpStruct->cyMax);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.hbrBack, (jint)lpStruct->hbrBack);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.dwContextHelpID, (jint)lpStruct->dwContextHelpID);
-	(*env)->SetIntField(env, lpObject, MENUINFOFc.dwMenuData, (jint)lpStruct->dwMenuData);
-}
-#endif
-
-#ifndef NO_MENUITEMINFO
-typedef struct MENUITEMINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fMask, fType, fState, wID, hSubMenu, hbmpChecked, hbmpUnchecked, dwItemData, dwTypeData, cch, hbmpItem;
-} MENUITEMINFO_FID_CACHE;
-
-MENUITEMINFO_FID_CACHE MENUITEMINFOFc;
-
-void cacheMENUITEMINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (MENUITEMINFOFc.cached) return;
-	MENUITEMINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MENUITEMINFOFc.cbSize = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "cbSize", "I");
-	MENUITEMINFOFc.fMask = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "fMask", "I");
-	MENUITEMINFOFc.fType = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "fType", "I");
-	MENUITEMINFOFc.fState = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "fState", "I");
-	MENUITEMINFOFc.wID = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "wID", "I");
-	MENUITEMINFOFc.hSubMenu = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "hSubMenu", "I");
-	MENUITEMINFOFc.hbmpChecked = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "hbmpChecked", "I");
-	MENUITEMINFOFc.hbmpUnchecked = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "hbmpUnchecked", "I");
-	MENUITEMINFOFc.dwItemData = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "dwItemData", "I");
-	MENUITEMINFOFc.dwTypeData = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "dwTypeData", "I");
-	MENUITEMINFOFc.cch = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "cch", "I");
-	MENUITEMINFOFc.hbmpItem = (*env)->GetFieldID(env, MENUITEMINFOFc.clazz, "hbmpItem", "I");
-	MENUITEMINFOFc.cached = 1;
-}
-
-MENUITEMINFO *getMENUITEMINFOFields(JNIEnv *env, jobject lpObject, MENUITEMINFO *lpStruct)
-{
-	if (!MENUITEMINFOFc.cached) cacheMENUITEMINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.cbSize);
-	lpStruct->fMask = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.fMask);
-	lpStruct->fType = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.fType);
-	lpStruct->fState = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.fState);
-	lpStruct->wID = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.wID);
-	lpStruct->hSubMenu = (HMENU)(*env)->GetIntField(env, lpObject, MENUITEMINFOFc.hSubMenu);
-	lpStruct->hbmpChecked = (HBITMAP)(*env)->GetIntField(env, lpObject, MENUITEMINFOFc.hbmpChecked);
-	lpStruct->hbmpUnchecked = (HBITMAP)(*env)->GetIntField(env, lpObject, MENUITEMINFOFc.hbmpUnchecked);
-	lpStruct->dwItemData = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.dwItemData);
-	lpStruct->dwTypeData = (LPTSTR)(*env)->GetIntField(env, lpObject, MENUITEMINFOFc.dwTypeData);
-	lpStruct->cch = (*env)->GetIntField(env, lpObject, MENUITEMINFOFc.cch);
-#ifndef _WIN32_WCE
-	lpStruct->hbmpItem = (HBITMAP)(*env)->GetIntField(env, lpObject, MENUITEMINFOFc.hbmpItem);
-#endif
-	return lpStruct;
-}
-
-void setMENUITEMINFOFields(JNIEnv *env, jobject lpObject, MENUITEMINFO *lpStruct)
-{
-	if (!MENUITEMINFOFc.cached) cacheMENUITEMINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.fMask, (jint)lpStruct->fMask);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.fType, (jint)lpStruct->fType);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.fState, (jint)lpStruct->fState);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.wID, (jint)lpStruct->wID);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.hSubMenu, (jint)lpStruct->hSubMenu);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.hbmpChecked, (jint)lpStruct->hbmpChecked);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.hbmpUnchecked, (jint)lpStruct->hbmpUnchecked);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.dwItemData, (jint)lpStruct->dwItemData);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.dwTypeData, (jint)lpStruct->dwTypeData);
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.cch, (jint)lpStruct->cch);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, MENUITEMINFOFc.hbmpItem, (jint)lpStruct->hbmpItem);
-#endif
-}
-#endif
-
-#ifndef NO_MINMAXINFO
-typedef struct MINMAXINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID ptReserved_x, ptReserved_y, ptMaxSize_x, ptMaxSize_y, ptMaxPosition_x, ptMaxPosition_y, ptMinTrackSize_x, ptMinTrackSize_y, ptMaxTrackSize_x, ptMaxTrackSize_y;
-} MINMAXINFO_FID_CACHE;
-
-MINMAXINFO_FID_CACHE MINMAXINFOFc;
-
-void cacheMINMAXINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (MINMAXINFOFc.cached) return;
-	MINMAXINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MINMAXINFOFc.ptReserved_x = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptReserved_x", "I");
-	MINMAXINFOFc.ptReserved_y = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptReserved_y", "I");
-	MINMAXINFOFc.ptMaxSize_x = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxSize_x", "I");
-	MINMAXINFOFc.ptMaxSize_y = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxSize_y", "I");
-	MINMAXINFOFc.ptMaxPosition_x = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxPosition_x", "I");
-	MINMAXINFOFc.ptMaxPosition_y = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxPosition_y", "I");
-	MINMAXINFOFc.ptMinTrackSize_x = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMinTrackSize_x", "I");
-	MINMAXINFOFc.ptMinTrackSize_y = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMinTrackSize_y", "I");
-	MINMAXINFOFc.ptMaxTrackSize_x = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxTrackSize_x", "I");
-	MINMAXINFOFc.ptMaxTrackSize_y = (*env)->GetFieldID(env, MINMAXINFOFc.clazz, "ptMaxTrackSize_y", "I");
-	MINMAXINFOFc.cached = 1;
-}
-
-MINMAXINFO *getMINMAXINFOFields(JNIEnv *env, jobject lpObject, MINMAXINFO *lpStruct)
-{
-	if (!MINMAXINFOFc.cached) cacheMINMAXINFOFields(env, lpObject);
-	lpStruct->ptReserved.x = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptReserved_x);
-	lpStruct->ptReserved.y = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptReserved_y);
-	lpStruct->ptMaxSize.x = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxSize_x);
-	lpStruct->ptMaxSize.y = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxSize_y);
-	lpStruct->ptMaxPosition.x = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxPosition_x);
-	lpStruct->ptMaxPosition.y = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxPosition_y);
-	lpStruct->ptMinTrackSize.x = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMinTrackSize_x);
-	lpStruct->ptMinTrackSize.y = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMinTrackSize_y);
-	lpStruct->ptMaxTrackSize.x = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxTrackSize_x);
-	lpStruct->ptMaxTrackSize.y = (*env)->GetIntField(env, lpObject, MINMAXINFOFc.ptMaxTrackSize_y);
-	return lpStruct;
-}
-
-void setMINMAXINFOFields(JNIEnv *env, jobject lpObject, MINMAXINFO *lpStruct)
-{
-	if (!MINMAXINFOFc.cached) cacheMINMAXINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptReserved_x, (jint)lpStruct->ptReserved.x);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptReserved_y, (jint)lpStruct->ptReserved.y);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxSize_x, (jint)lpStruct->ptMaxSize.x);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxSize_y, (jint)lpStruct->ptMaxSize.y);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxPosition_x, (jint)lpStruct->ptMaxPosition.x);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxPosition_y, (jint)lpStruct->ptMaxPosition.y);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMinTrackSize_x, (jint)lpStruct->ptMinTrackSize.x);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMinTrackSize_y, (jint)lpStruct->ptMinTrackSize.y);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxTrackSize_x, (jint)lpStruct->ptMaxTrackSize.x);
-	(*env)->SetIntField(env, lpObject, MINMAXINFOFc.ptMaxTrackSize_y, (jint)lpStruct->ptMaxTrackSize.y);
-}
-#endif
-
-#ifndef NO_MONITORINFO
-typedef struct MONITORINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, rcMonitor_left, rcMonitor_top, rcMonitor_right, rcMonitor_bottom, rcWork_left, rcWork_top, rcWork_right, rcWork_bottom, dwFlags;
-} MONITORINFO_FID_CACHE;
-
-MONITORINFO_FID_CACHE MONITORINFOFc;
-
-void cacheMONITORINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (MONITORINFOFc.cached) return;
-	MONITORINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MONITORINFOFc.cbSize = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "cbSize", "I");
-	MONITORINFOFc.rcMonitor_left = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcMonitor_left", "I");
-	MONITORINFOFc.rcMonitor_top = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcMonitor_top", "I");
-	MONITORINFOFc.rcMonitor_right = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcMonitor_right", "I");
-	MONITORINFOFc.rcMonitor_bottom = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcMonitor_bottom", "I");
-	MONITORINFOFc.rcWork_left = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcWork_left", "I");
-	MONITORINFOFc.rcWork_top = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcWork_top", "I");
-	MONITORINFOFc.rcWork_right = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcWork_right", "I");
-	MONITORINFOFc.rcWork_bottom = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "rcWork_bottom", "I");
-	MONITORINFOFc.dwFlags = (*env)->GetFieldID(env, MONITORINFOFc.clazz, "dwFlags", "I");
-	MONITORINFOFc.cached = 1;
-}
-
-MONITORINFO *getMONITORINFOFields(JNIEnv *env, jobject lpObject, MONITORINFO *lpStruct)
-{
-	if (!MONITORINFOFc.cached) cacheMONITORINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, MONITORINFOFc.cbSize);
-	lpStruct->rcMonitor.left = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcMonitor_left);
-	lpStruct->rcMonitor.top = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcMonitor_top);
-	lpStruct->rcMonitor.right = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcMonitor_right);
-	lpStruct->rcMonitor.bottom = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcMonitor_bottom);
-	lpStruct->rcWork.left = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcWork_left);
-	lpStruct->rcWork.top = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcWork_top);
-	lpStruct->rcWork.right = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcWork_right);
-	lpStruct->rcWork.bottom = (*env)->GetIntField(env, lpObject, MONITORINFOFc.rcWork_bottom);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, MONITORINFOFc.dwFlags);
-	return lpStruct;
-}
-
-void setMONITORINFOFields(JNIEnv *env, jobject lpObject, MONITORINFO *lpStruct)
-{
-	if (!MONITORINFOFc.cached) cacheMONITORINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcMonitor_left, (jint)lpStruct->rcMonitor.left);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcMonitor_top, (jint)lpStruct->rcMonitor.top);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcMonitor_right, (jint)lpStruct->rcMonitor.right);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcMonitor_bottom, (jint)lpStruct->rcMonitor.bottom);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcWork_left, (jint)lpStruct->rcWork.left);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcWork_top, (jint)lpStruct->rcWork.top);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcWork_right, (jint)lpStruct->rcWork.right);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.rcWork_bottom, (jint)lpStruct->rcWork.bottom);
-	(*env)->SetIntField(env, lpObject, MONITORINFOFc.dwFlags, (jint)lpStruct->dwFlags);
-}
-#endif
-
-#ifndef NO_MOUSEINPUT
-typedef struct MOUSEINPUT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dx, dy, mouseData, dwFlags, time, dwExtraInfo;
-} MOUSEINPUT_FID_CACHE;
-
-MOUSEINPUT_FID_CACHE MOUSEINPUTFc;
-
-void cacheMOUSEINPUTFields(JNIEnv *env, jobject lpObject)
-{
-	if (MOUSEINPUTFc.cached) return;
-	MOUSEINPUTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MOUSEINPUTFc.dx = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "dx", "I");
-	MOUSEINPUTFc.dy = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "dy", "I");
-	MOUSEINPUTFc.mouseData = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "mouseData", "I");
-	MOUSEINPUTFc.dwFlags = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "dwFlags", "I");
-	MOUSEINPUTFc.time = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "time", "I");
-	MOUSEINPUTFc.dwExtraInfo = (*env)->GetFieldID(env, MOUSEINPUTFc.clazz, "dwExtraInfo", "I");
-	MOUSEINPUTFc.cached = 1;
-}
-
-MOUSEINPUT *getMOUSEINPUTFields(JNIEnv *env, jobject lpObject, MOUSEINPUT *lpStruct)
-{
-	if (!MOUSEINPUTFc.cached) cacheMOUSEINPUTFields(env, lpObject);
-	lpStruct->dx = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.dx);
-	lpStruct->dy = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.dy);
-	lpStruct->mouseData = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.mouseData);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.dwFlags);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.time);
-	lpStruct->dwExtraInfo = (*env)->GetIntField(env, lpObject, MOUSEINPUTFc.dwExtraInfo);
-	return lpStruct;
-}
-
-void setMOUSEINPUTFields(JNIEnv *env, jobject lpObject, MOUSEINPUT *lpStruct)
-{
-	if (!MOUSEINPUTFc.cached) cacheMOUSEINPUTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.dx, (jint)lpStruct->dx);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.dy, (jint)lpStruct->dy);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.mouseData, (jint)lpStruct->mouseData);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, MOUSEINPUTFc.dwExtraInfo, (jint)lpStruct->dwExtraInfo);
-}
-#endif
-
-#ifndef NO_MSG
-typedef struct MSG_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hwnd, message, wParam, lParam, time, x, y;
-} MSG_FID_CACHE;
-
-MSG_FID_CACHE MSGFc;
-
-void cacheMSGFields(JNIEnv *env, jobject lpObject)
-{
-	if (MSGFc.cached) return;
-	MSGFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	MSGFc.hwnd = (*env)->GetFieldID(env, MSGFc.clazz, "hwnd", "I");
-	MSGFc.message = (*env)->GetFieldID(env, MSGFc.clazz, "message", "I");
-	MSGFc.wParam = (*env)->GetFieldID(env, MSGFc.clazz, "wParam", "I");
-	MSGFc.lParam = (*env)->GetFieldID(env, MSGFc.clazz, "lParam", "I");
-	MSGFc.time = (*env)->GetFieldID(env, MSGFc.clazz, "time", "I");
-	MSGFc.x = (*env)->GetFieldID(env, MSGFc.clazz, "x", "I");
-	MSGFc.y = (*env)->GetFieldID(env, MSGFc.clazz, "y", "I");
-	MSGFc.cached = 1;
-}
-
-MSG *getMSGFields(JNIEnv *env, jobject lpObject, MSG *lpStruct)
-{
-	if (!MSGFc.cached) cacheMSGFields(env, lpObject);
-	lpStruct->hwnd = (HWND)(*env)->GetIntField(env, lpObject, MSGFc.hwnd);
-	lpStruct->message = (*env)->GetIntField(env, lpObject, MSGFc.message);
-	lpStruct->wParam = (*env)->GetIntField(env, lpObject, MSGFc.wParam);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, MSGFc.lParam);
-	lpStruct->time = (*env)->GetIntField(env, lpObject, MSGFc.time);
-	lpStruct->pt.x = (*env)->GetIntField(env, lpObject, MSGFc.x);
-	lpStruct->pt.y = (*env)->GetIntField(env, lpObject, MSGFc.y);
-	return lpStruct;
-}
-
-void setMSGFields(JNIEnv *env, jobject lpObject, MSG *lpStruct)
-{
-	if (!MSGFc.cached) cacheMSGFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, MSGFc.hwnd, (jint)lpStruct->hwnd);
-	(*env)->SetIntField(env, lpObject, MSGFc.message, (jint)lpStruct->message);
-	(*env)->SetIntField(env, lpObject, MSGFc.wParam, (jint)lpStruct->wParam);
-	(*env)->SetIntField(env, lpObject, MSGFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, MSGFc.time, (jint)lpStruct->time);
-	(*env)->SetIntField(env, lpObject, MSGFc.x, (jint)lpStruct->pt.x);
-	(*env)->SetIntField(env, lpObject, MSGFc.y, (jint)lpStruct->pt.y);
-}
-#endif
-
-#ifndef NO_NMCUSTOMDRAW
-typedef struct NMCUSTOMDRAW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwDrawStage, hdc, left, top, right, bottom, dwItemSpec, uItemState, lItemlParam;
-} NMCUSTOMDRAW_FID_CACHE;
-
-NMCUSTOMDRAW_FID_CACHE NMCUSTOMDRAWFc;
-
-void cacheNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMCUSTOMDRAWFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMCUSTOMDRAWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMCUSTOMDRAWFc.dwDrawStage = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "dwDrawStage", "I");
-	NMCUSTOMDRAWFc.hdc = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "hdc", "I");
-	NMCUSTOMDRAWFc.left = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "left", "I");
-	NMCUSTOMDRAWFc.top = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "top", "I");
-	NMCUSTOMDRAWFc.right = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "right", "I");
-	NMCUSTOMDRAWFc.bottom = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "bottom", "I");
-	NMCUSTOMDRAWFc.dwItemSpec = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "dwItemSpec", "I");
-	NMCUSTOMDRAWFc.uItemState = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "uItemState", "I");
-	NMCUSTOMDRAWFc.lItemlParam = (*env)->GetFieldID(env, NMCUSTOMDRAWFc.clazz, "lItemlParam", "I");
-	NMCUSTOMDRAWFc.cached = 1;
-}
-
-NMCUSTOMDRAW *getNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMCUSTOMDRAW *lpStruct)
-{
-	if (!NMCUSTOMDRAWFc.cached) cacheNMCUSTOMDRAWFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->dwDrawStage = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.dwDrawStage);
-	lpStruct->hdc = (HDC)(*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.hdc);
-	lpStruct->rc.left = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.left);
-	lpStruct->rc.top = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.top);
-	lpStruct->rc.right = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.right);
-	lpStruct->rc.bottom = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.bottom);
-	lpStruct->dwItemSpec = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.dwItemSpec);
-	lpStruct->uItemState = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.uItemState);
-	lpStruct->lItemlParam = (*env)->GetIntField(env, lpObject, NMCUSTOMDRAWFc.lItemlParam);
-	return lpStruct;
-}
-
-void setNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMCUSTOMDRAW *lpStruct)
-{
-	if (!NMCUSTOMDRAWFc.cached) cacheNMCUSTOMDRAWFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.dwDrawStage, (jint)lpStruct->dwDrawStage);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.hdc, (jint)lpStruct->hdc);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.left, (jint)lpStruct->rc.left);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.top, (jint)lpStruct->rc.top);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.right, (jint)lpStruct->rc.right);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.bottom, (jint)lpStruct->rc.bottom);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.dwItemSpec, (jint)lpStruct->dwItemSpec);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.uItemState, (jint)lpStruct->uItemState);
-	(*env)->SetIntField(env, lpObject, NMCUSTOMDRAWFc.lItemlParam, (jint)lpStruct->lItemlParam);
-}
-#endif
-
-#ifndef NO_NMHDR
-typedef struct NMHDR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hwndFrom, idFrom, code;
-} NMHDR_FID_CACHE;
-
-NMHDR_FID_CACHE NMHDRFc;
-
-void cacheNMHDRFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMHDRFc.cached) return;
-	NMHDRFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMHDRFc.hwndFrom = (*env)->GetFieldID(env, NMHDRFc.clazz, "hwndFrom", "I");
-	NMHDRFc.idFrom = (*env)->GetFieldID(env, NMHDRFc.clazz, "idFrom", "I");
-	NMHDRFc.code = (*env)->GetFieldID(env, NMHDRFc.clazz, "code", "I");
-	NMHDRFc.cached = 1;
-}
-
-NMHDR *getNMHDRFields(JNIEnv *env, jobject lpObject, NMHDR *lpStruct)
-{
-	if (!NMHDRFc.cached) cacheNMHDRFields(env, lpObject);
-	lpStruct->hwndFrom = (HWND)(*env)->GetIntField(env, lpObject, NMHDRFc.hwndFrom);
-	lpStruct->idFrom = (*env)->GetIntField(env, lpObject, NMHDRFc.idFrom);
-	lpStruct->code = (*env)->GetIntField(env, lpObject, NMHDRFc.code);
-	return lpStruct;
-}
-
-void setNMHDRFields(JNIEnv *env, jobject lpObject, NMHDR *lpStruct)
-{
-	if (!NMHDRFc.cached) cacheNMHDRFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NMHDRFc.hwndFrom, (jint)lpStruct->hwndFrom);
-	(*env)->SetIntField(env, lpObject, NMHDRFc.idFrom, (jint)lpStruct->idFrom);
-	(*env)->SetIntField(env, lpObject, NMHDRFc.code, (jint)lpStruct->code);
-}
-#endif
-
-#ifndef NO_NMHEADER
-typedef struct NMHEADER_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iItem, iButton, pitem;
-} NMHEADER_FID_CACHE;
-
-NMHEADER_FID_CACHE NMHEADERFc;
-
-void cacheNMHEADERFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMHEADERFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMHEADERFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMHEADERFc.iItem = (*env)->GetFieldID(env, NMHEADERFc.clazz, "iItem", "I");
-	NMHEADERFc.iButton = (*env)->GetFieldID(env, NMHEADERFc.clazz, "iButton", "I");
-	NMHEADERFc.pitem = (*env)->GetFieldID(env, NMHEADERFc.clazz, "pitem", "I");
-	NMHEADERFc.cached = 1;
-}
-
-NMHEADER *getNMHEADERFields(JNIEnv *env, jobject lpObject, NMHEADER *lpStruct)
-{
-	if (!NMHEADERFc.cached) cacheNMHEADERFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->iItem = (*env)->GetIntField(env, lpObject, NMHEADERFc.iItem);
-	lpStruct->iButton = (*env)->GetIntField(env, lpObject, NMHEADERFc.iButton);
-	lpStruct->pitem = (HDITEM FAR *)(*env)->GetIntField(env, lpObject, NMHEADERFc.pitem);
-	return lpStruct;
-}
-
-void setNMHEADERFields(JNIEnv *env, jobject lpObject, NMHEADER *lpStruct)
-{
-	if (!NMHEADERFc.cached) cacheNMHEADERFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMHEADERFc.iItem, (jint)lpStruct->iItem);
-	(*env)->SetIntField(env, lpObject, NMHEADERFc.iButton, (jint)lpStruct->iButton);
-	(*env)->SetIntField(env, lpObject, NMHEADERFc.pitem, (jint)lpStruct->pitem);
-}
-#endif
-
-#ifndef NO_NMLINK
-typedef struct NMLINK_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, iLink, state, stateMask, szID, szUrl;
-} NMLINK_FID_CACHE;
-
-NMLINK_FID_CACHE NMLINKFc;
-
-void cacheNMLINKFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMLINKFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMLINKFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMLINKFc.mask = (*env)->GetFieldID(env, NMLINKFc.clazz, "mask", "I");
-	NMLINKFc.iLink = (*env)->GetFieldID(env, NMLINKFc.clazz, "iLink", "I");
-	NMLINKFc.state = (*env)->GetFieldID(env, NMLINKFc.clazz, "state", "I");
-	NMLINKFc.stateMask = (*env)->GetFieldID(env, NMLINKFc.clazz, "stateMask", "I");
-	NMLINKFc.szID = (*env)->GetFieldID(env, NMLINKFc.clazz, "szID", "[C");
-	NMLINKFc.szUrl = (*env)->GetFieldID(env, NMLINKFc.clazz, "szUrl", "[C");
-	NMLINKFc.cached = 1;
-}
-
-NMLINK *getNMLINKFields(JNIEnv *env, jobject lpObject, NMLINK *lpStruct)
-{
-	if (!NMLINKFc.cached) cacheNMLINKFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->item.mask = (*env)->GetIntField(env, lpObject, NMLINKFc.mask);
-	lpStruct->item.iLink = (*env)->GetIntField(env, lpObject, NMLINKFc.iLink);
-	lpStruct->item.state = (*env)->GetIntField(env, lpObject, NMLINKFc.state);
-	lpStruct->item.stateMask = (*env)->GetIntField(env, lpObject, NMLINKFc.stateMask);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMLINKFc.szID);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->item.szID) / 2, (jchar *)lpStruct->item.szID);
-	}
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMLINKFc.szUrl);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->item.szUrl) / 2, (jchar *)lpStruct->item.szUrl);
-	}
-	return lpStruct;
-}
-
-void setNMLINKFields(JNIEnv *env, jobject lpObject, NMLINK *lpStruct)
-{
-	if (!NMLINKFc.cached) cacheNMLINKFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMLINKFc.mask, (jint)lpStruct->item.mask);
-	(*env)->SetIntField(env, lpObject, NMLINKFc.iLink, (jint)lpStruct->item.iLink);
-	(*env)->SetIntField(env, lpObject, NMLINKFc.state, (jint)lpStruct->item.state);
-	(*env)->SetIntField(env, lpObject, NMLINKFc.stateMask, (jint)lpStruct->item.stateMask);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMLINKFc.szID);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->item.szID) / 2, (jchar *)lpStruct->item.szID);
-	}
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMLINKFc.szUrl);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->item.szUrl) / 2, (jchar *)lpStruct->item.szUrl);
-	}
-}
-#endif
-
-#ifndef NO_NMLISTVIEW
-typedef struct NMLISTVIEW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iItem, iSubItem, uNewState, uOldState, uChanged, x, y, lParam;
-} NMLISTVIEW_FID_CACHE;
-
-NMLISTVIEW_FID_CACHE NMLISTVIEWFc;
-
-void cacheNMLISTVIEWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMLISTVIEWFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMLISTVIEWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMLISTVIEWFc.iItem = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "iItem", "I");
-	NMLISTVIEWFc.iSubItem = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "iSubItem", "I");
-	NMLISTVIEWFc.uNewState = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "uNewState", "I");
-	NMLISTVIEWFc.uOldState = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "uOldState", "I");
-	NMLISTVIEWFc.uChanged = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "uChanged", "I");
-	NMLISTVIEWFc.x = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "x", "I");
-	NMLISTVIEWFc.y = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "y", "I");
-	NMLISTVIEWFc.lParam = (*env)->GetFieldID(env, NMLISTVIEWFc.clazz, "lParam", "I");
-	NMLISTVIEWFc.cached = 1;
-}
-
-NMLISTVIEW *getNMLISTVIEWFields(JNIEnv *env, jobject lpObject, NMLISTVIEW *lpStruct)
-{
-	if (!NMLISTVIEWFc.cached) cacheNMLISTVIEWFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->iItem = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.iItem);
-	lpStruct->iSubItem = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.iSubItem);
-	lpStruct->uNewState = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.uNewState);
-	lpStruct->uOldState = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.uOldState);
-	lpStruct->uChanged = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.uChanged);
-	lpStruct->ptAction.x = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.x);
-	lpStruct->ptAction.y = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.y);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMLISTVIEWFc.lParam);
-	return lpStruct;
-}
-
-void setNMLISTVIEWFields(JNIEnv *env, jobject lpObject, NMLISTVIEW *lpStruct)
-{
-	if (!NMLISTVIEWFc.cached) cacheNMLISTVIEWFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.iItem, (jint)lpStruct->iItem);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.iSubItem, (jint)lpStruct->iSubItem);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.uNewState, (jint)lpStruct->uNewState);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.uOldState, (jint)lpStruct->uOldState);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.uChanged, (jint)lpStruct->uChanged);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.x, (jint)lpStruct->ptAction.x);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.y, (jint)lpStruct->ptAction.y);
-	(*env)->SetIntField(env, lpObject, NMLISTVIEWFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_NMLVCUSTOMDRAW
-typedef struct NMLVCUSTOMDRAW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID clrText, clrTextBk, iSubItem;
-} NMLVCUSTOMDRAW_FID_CACHE;
-
-NMLVCUSTOMDRAW_FID_CACHE NMLVCUSTOMDRAWFc;
-
-void cacheNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMLVCUSTOMDRAWFc.cached) return;
-	cacheNMCUSTOMDRAWFields(env, lpObject);
-	NMLVCUSTOMDRAWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMLVCUSTOMDRAWFc.clrText = (*env)->GetFieldID(env, NMLVCUSTOMDRAWFc.clazz, "clrText", "I");
-	NMLVCUSTOMDRAWFc.clrTextBk = (*env)->GetFieldID(env, NMLVCUSTOMDRAWFc.clazz, "clrTextBk", "I");
-	NMLVCUSTOMDRAWFc.iSubItem = (*env)->GetFieldID(env, NMLVCUSTOMDRAWFc.clazz, "iSubItem", "I");
-	NMLVCUSTOMDRAWFc.cached = 1;
-}
-
-NMLVCUSTOMDRAW *getNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMLVCUSTOMDRAW *lpStruct)
-{
-	if (!NMLVCUSTOMDRAWFc.cached) cacheNMLVCUSTOMDRAWFields(env, lpObject);
-	getNMCUSTOMDRAWFields(env, lpObject, (NMCUSTOMDRAW *)lpStruct);
-	lpStruct->clrText = (*env)->GetIntField(env, lpObject, NMLVCUSTOMDRAWFc.clrText);
-	lpStruct->clrTextBk = (*env)->GetIntField(env, lpObject, NMLVCUSTOMDRAWFc.clrTextBk);
-	lpStruct->iSubItem = (*env)->GetIntField(env, lpObject, NMLVCUSTOMDRAWFc.iSubItem);
-	return lpStruct;
-}
-
-void setNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMLVCUSTOMDRAW *lpStruct)
-{
-	if (!NMLVCUSTOMDRAWFc.cached) cacheNMLVCUSTOMDRAWFields(env, lpObject);
-	setNMCUSTOMDRAWFields(env, lpObject, (NMCUSTOMDRAW *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMLVCUSTOMDRAWFc.clrText, (jint)lpStruct->clrText);
-	(*env)->SetIntField(env, lpObject, NMLVCUSTOMDRAWFc.clrTextBk, (jint)lpStruct->clrTextBk);
-	(*env)->SetIntField(env, lpObject, NMLVCUSTOMDRAWFc.iSubItem, (jint)lpStruct->iSubItem);
-}
-#endif
-
-#ifndef NO_NMLVDISPINFO
-typedef struct NMLVDISPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, iItem, iSubItem, state, stateMask, pszText, cchTextMax, iImage, lParam, iIndent;
-} NMLVDISPINFO_FID_CACHE;
-
-NMLVDISPINFO_FID_CACHE NMLVDISPINFOFc;
-
-void cacheNMLVDISPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMLVDISPINFOFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMLVDISPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMLVDISPINFOFc.mask = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "mask", "I");
-	NMLVDISPINFOFc.iItem = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "iItem", "I");
-	NMLVDISPINFOFc.iSubItem = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "iSubItem", "I");
-	NMLVDISPINFOFc.state = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "state", "I");
-	NMLVDISPINFOFc.stateMask = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "stateMask", "I");
-	NMLVDISPINFOFc.pszText = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "pszText", "I");
-	NMLVDISPINFOFc.cchTextMax = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "cchTextMax", "I");
-	NMLVDISPINFOFc.iImage = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "iImage", "I");
-	NMLVDISPINFOFc.lParam = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "lParam", "I");
-	NMLVDISPINFOFc.iIndent = (*env)->GetFieldID(env, NMLVDISPINFOFc.clazz, "iIndent", "I");
-	NMLVDISPINFOFc.cached = 1;
-}
-
-NMLVDISPINFO *getNMLVDISPINFOFields(JNIEnv *env, jobject lpObject, NMLVDISPINFO *lpStruct)
-{
-	if (!NMLVDISPINFOFc.cached) cacheNMLVDISPINFOFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->item.mask = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.mask);
-	lpStruct->item.iItem = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.iItem);
-	lpStruct->item.iSubItem = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.iSubItem);
-	lpStruct->item.state = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.state);
-	lpStruct->item.stateMask = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.stateMask);
-	lpStruct->item.pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.pszText);
-	lpStruct->item.cchTextMax = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.cchTextMax);
-	lpStruct->item.iImage = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.iImage);
-	lpStruct->item.lParam = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.lParam);
-	lpStruct->item.iIndent = (*env)->GetIntField(env, lpObject, NMLVDISPINFOFc.iIndent);
-	return lpStruct;
-}
-
-void setNMLVDISPINFOFields(JNIEnv *env, jobject lpObject, NMLVDISPINFO *lpStruct)
-{
-	if (!NMLVDISPINFOFc.cached) cacheNMLVDISPINFOFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.mask, (jint)lpStruct->item.mask);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.iItem, (jint)lpStruct->item.iItem);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.iSubItem, (jint)lpStruct->item.iSubItem);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.state, (jint)lpStruct->item.state);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.stateMask, (jint)lpStruct->item.stateMask);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.pszText, (jint)lpStruct->item.pszText);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.cchTextMax, (jint)lpStruct->item.cchTextMax);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.iImage, (jint)lpStruct->item.iImage);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.lParam, (jint)lpStruct->item.lParam);
-	(*env)->SetIntField(env, lpObject, NMLVDISPINFOFc.iIndent, (jint)lpStruct->item.iIndent);
-}
-#endif
-
-#ifndef NO_NMLVFINDITEM
-typedef struct NMLVFINDITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iStart, flags, psz, lParam, x, y, vkDirection;
-} NMLVFINDITEM_FID_CACHE;
-
-NMLVFINDITEM_FID_CACHE NMLVFINDITEMFc;
-
-void cacheNMLVFINDITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMLVFINDITEMFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMLVFINDITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMLVFINDITEMFc.iStart = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "iStart", "I");
-	NMLVFINDITEMFc.flags = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "flags", "I");
-	NMLVFINDITEMFc.psz = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "psz", "I");
-	NMLVFINDITEMFc.lParam = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "lParam", "I");
-	NMLVFINDITEMFc.x = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "x", "I");
-	NMLVFINDITEMFc.y = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "y", "I");
-	NMLVFINDITEMFc.vkDirection = (*env)->GetFieldID(env, NMLVFINDITEMFc.clazz, "vkDirection", "I");
-	NMLVFINDITEMFc.cached = 1;
-}
-
-NMLVFINDITEM *getNMLVFINDITEMFields(JNIEnv *env, jobject lpObject, NMLVFINDITEM *lpStruct)
-{
-	if (!NMLVFINDITEMFc.cached) cacheNMLVFINDITEMFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->iStart = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.iStart);
-	lpStruct->lvfi.flags = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.flags);
-	lpStruct->lvfi.psz = (LPCTSTR)(*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.psz);
-	lpStruct->lvfi.lParam = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.lParam);
-	lpStruct->lvfi.pt.x = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.x);
-	lpStruct->lvfi.pt.y = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.y);
-	lpStruct->lvfi.vkDirection = (*env)->GetIntField(env, lpObject, NMLVFINDITEMFc.vkDirection);
-	return lpStruct;
-}
-
-void setNMLVFINDITEMFields(JNIEnv *env, jobject lpObject, NMLVFINDITEM *lpStruct)
-{
-	if (!NMLVFINDITEMFc.cached) cacheNMLVFINDITEMFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.iStart, (jint)lpStruct->iStart);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.flags, (jint)lpStruct->lvfi.flags);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.psz, (jint)lpStruct->lvfi.psz);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.lParam, (jint)lpStruct->lvfi.lParam);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.x, (jint)lpStruct->lvfi.pt.x);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.y, (jint)lpStruct->lvfi.pt.y);
-	(*env)->SetIntField(env, lpObject, NMLVFINDITEMFc.vkDirection, (jint)lpStruct->lvfi.vkDirection);
-}
-#endif
-
-#ifndef NO_NMREBARCHEVRON
-typedef struct NMREBARCHEVRON_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID uBand, wID, lParam, left, top, right, bottom, lParamNM;
-} NMREBARCHEVRON_FID_CACHE;
-
-NMREBARCHEVRON_FID_CACHE NMREBARCHEVRONFc;
-
-void cacheNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMREBARCHEVRONFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMREBARCHEVRONFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMREBARCHEVRONFc.uBand = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "uBand", "I");
-	NMREBARCHEVRONFc.wID = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "wID", "I");
-	NMREBARCHEVRONFc.lParam = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "lParam", "I");
-	NMREBARCHEVRONFc.left = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "left", "I");
-	NMREBARCHEVRONFc.top = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "top", "I");
-	NMREBARCHEVRONFc.right = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "right", "I");
-	NMREBARCHEVRONFc.bottom = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "bottom", "I");
-	NMREBARCHEVRONFc.lParamNM = (*env)->GetFieldID(env, NMREBARCHEVRONFc.clazz, "lParamNM", "I");
-	NMREBARCHEVRONFc.cached = 1;
-}
-
-NMREBARCHEVRON *getNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpStruct)
-{
-	if (!NMREBARCHEVRONFc.cached) cacheNMREBARCHEVRONFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->uBand = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.uBand);
-	lpStruct->wID = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.wID);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.lParam);
-	lpStruct->rc.left = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.left);
-	lpStruct->rc.top = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.top);
-	lpStruct->rc.right = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.right);
-	lpStruct->rc.bottom = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.bottom);
-	lpStruct->lParamNM = (*env)->GetIntField(env, lpObject, NMREBARCHEVRONFc.lParamNM);
-	return lpStruct;
-}
-
-void setNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpStruct)
-{
-	if (!NMREBARCHEVRONFc.cached) cacheNMREBARCHEVRONFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.uBand, (jint)lpStruct->uBand);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.wID, (jint)lpStruct->wID);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.left, (jint)lpStruct->rc.left);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.top, (jint)lpStruct->rc.top);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.right, (jint)lpStruct->rc.right);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.bottom, (jint)lpStruct->rc.bottom);
-	(*env)->SetIntField(env, lpObject, NMREBARCHEVRONFc.lParamNM, (jint)lpStruct->lParamNM);
-}
-#endif
-
-#ifndef NO_NMREBARCHILDSIZE
-typedef struct NMREBARCHILDSIZE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID uBand, wID, rcChild_left, rcChild_top, rcChild_right, rcChild_bottom, rcBand_left, rcBand_top, rcBand_right, rcBand_bottom;
-} NMREBARCHILDSIZE_FID_CACHE;
-
-NMREBARCHILDSIZE_FID_CACHE NMREBARCHILDSIZEFc;
-
-void cacheNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMREBARCHILDSIZEFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMREBARCHILDSIZEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMREBARCHILDSIZEFc.uBand = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "uBand", "I");
-	NMREBARCHILDSIZEFc.wID = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "wID", "I");
-	NMREBARCHILDSIZEFc.rcChild_left = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_left", "I");
-	NMREBARCHILDSIZEFc.rcChild_top = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_top", "I");
-	NMREBARCHILDSIZEFc.rcChild_right = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_right", "I");
-	NMREBARCHILDSIZEFc.rcChild_bottom = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_bottom", "I");
-	NMREBARCHILDSIZEFc.rcBand_left = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_left", "I");
-	NMREBARCHILDSIZEFc.rcBand_top = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_top", "I");
-	NMREBARCHILDSIZEFc.rcBand_right = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_right", "I");
-	NMREBARCHILDSIZEFc.rcBand_bottom = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_bottom", "I");
-	NMREBARCHILDSIZEFc.cached = 1;
-}
-
-NMREBARCHILDSIZE *getNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct)
-{
-	if (!NMREBARCHILDSIZEFc.cached) cacheNMREBARCHILDSIZEFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->uBand = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.uBand);
-	lpStruct->wID = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.wID);
-	lpStruct->rcChild.left = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_left);
-	lpStruct->rcChild.top = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_top);
-	lpStruct->rcChild.right = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_right);
-	lpStruct->rcChild.bottom = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_bottom);
-	lpStruct->rcBand.left = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_left);
-	lpStruct->rcBand.top = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_top);
-	lpStruct->rcBand.right = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_right);
-	lpStruct->rcBand.bottom = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_bottom);
-	return lpStruct;
-}
-
-void setNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct)
-{
-	if (!NMREBARCHILDSIZEFc.cached) cacheNMREBARCHILDSIZEFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.uBand, (jint)lpStruct->uBand);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.wID, (jint)lpStruct->wID);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_left, (jint)lpStruct->rcChild.left);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_top, (jint)lpStruct->rcChild.top);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_right, (jint)lpStruct->rcChild.right);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_bottom, (jint)lpStruct->rcChild.bottom);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_left, (jint)lpStruct->rcBand.left);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_top, (jint)lpStruct->rcBand.top);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_right, (jint)lpStruct->rcBand.right);
-	(*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_bottom, (jint)lpStruct->rcBand.bottom);
-}
-#endif
-
-#ifndef NO_NMRGINFO
-typedef struct NMRGINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, dwItemSpec;
-} NMRGINFO_FID_CACHE;
-
-NMRGINFO_FID_CACHE NMRGINFOFc;
-
-void cacheNMRGINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMRGINFOFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMRGINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMRGINFOFc.x = (*env)->GetFieldID(env, NMRGINFOFc.clazz, "x", "I");
-	NMRGINFOFc.y = (*env)->GetFieldID(env, NMRGINFOFc.clazz, "y", "I");
-	NMRGINFOFc.dwItemSpec = (*env)->GetFieldID(env, NMRGINFOFc.clazz, "dwItemSpec", "I");
-	NMRGINFOFc.cached = 1;
-}
-
-NMRGINFO *getNMRGINFOFields(JNIEnv *env, jobject lpObject, NMRGINFO *lpStruct)
-{
-	if (!NMRGINFOFc.cached) cacheNMRGINFOFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->ptAction.x = (*env)->GetIntField(env, lpObject, NMRGINFOFc.x);
-	lpStruct->ptAction.y = (*env)->GetIntField(env, lpObject, NMRGINFOFc.y);
-	lpStruct->dwItemSpec = (*env)->GetIntField(env, lpObject, NMRGINFOFc.dwItemSpec);
-	return lpStruct;
-}
-
-void setNMRGINFOFields(JNIEnv *env, jobject lpObject, NMRGINFO *lpStruct)
-{
-	if (!NMRGINFOFc.cached) cacheNMRGINFOFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMRGINFOFc.x, (jint)lpStruct->ptAction.x);
-	(*env)->SetIntField(env, lpObject, NMRGINFOFc.y, (jint)lpStruct->ptAction.y);
-	(*env)->SetIntField(env, lpObject, NMRGINFOFc.dwItemSpec, (jint)lpStruct->dwItemSpec);
-}
-#endif
-
-#ifndef NO_NMTBHOTITEM
-typedef struct NMTBHOTITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID idOld, idNew, dwFlags;
-} NMTBHOTITEM_FID_CACHE;
-
-NMTBHOTITEM_FID_CACHE NMTBHOTITEMFc;
-
-void cacheNMTBHOTITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTBHOTITEMFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMTBHOTITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTBHOTITEMFc.idOld = (*env)->GetFieldID(env, NMTBHOTITEMFc.clazz, "idOld", "I");
-	NMTBHOTITEMFc.idNew = (*env)->GetFieldID(env, NMTBHOTITEMFc.clazz, "idNew", "I");
-	NMTBHOTITEMFc.dwFlags = (*env)->GetFieldID(env, NMTBHOTITEMFc.clazz, "dwFlags", "I");
-	NMTBHOTITEMFc.cached = 1;
-}
-
-NMTBHOTITEM *getNMTBHOTITEMFields(JNIEnv *env, jobject lpObject, NMTBHOTITEM *lpStruct)
-{
-	if (!NMTBHOTITEMFc.cached) cacheNMTBHOTITEMFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->idOld = (*env)->GetIntField(env, lpObject, NMTBHOTITEMFc.idOld);
-	lpStruct->idNew = (*env)->GetIntField(env, lpObject, NMTBHOTITEMFc.idNew);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, NMTBHOTITEMFc.dwFlags);
-	return lpStruct;
-}
-
-void setNMTBHOTITEMFields(JNIEnv *env, jobject lpObject, NMTBHOTITEM *lpStruct)
-{
-	if (!NMTBHOTITEMFc.cached) cacheNMTBHOTITEMFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTBHOTITEMFc.idOld, (jint)lpStruct->idOld);
-	(*env)->SetIntField(env, lpObject, NMTBHOTITEMFc.idNew, (jint)lpStruct->idNew);
-	(*env)->SetIntField(env, lpObject, NMTBHOTITEMFc.dwFlags, (jint)lpStruct->dwFlags);
-}
-#endif
-
-#ifndef NO_NMTOOLBAR
-typedef struct NMTOOLBAR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iItem, iBitmap, idCommand, fsState, fsStyle, dwData, iString, cchText, pszText, left, top, right, bottom;
-} NMTOOLBAR_FID_CACHE;
-
-NMTOOLBAR_FID_CACHE NMTOOLBARFc;
-
-void cacheNMTOOLBARFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTOOLBARFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMTOOLBARFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTOOLBARFc.iItem = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "iItem", "I");
-	NMTOOLBARFc.iBitmap = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "iBitmap", "I");
-	NMTOOLBARFc.idCommand = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "idCommand", "I");
-	NMTOOLBARFc.fsState = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "fsState", "B");
-	NMTOOLBARFc.fsStyle = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "fsStyle", "B");
-	NMTOOLBARFc.dwData = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "dwData", "I");
-	NMTOOLBARFc.iString = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "iString", "I");
-	NMTOOLBARFc.cchText = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "cchText", "I");
-	NMTOOLBARFc.pszText = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "pszText", "I");
-	NMTOOLBARFc.left = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "left", "I");
-	NMTOOLBARFc.top = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "top", "I");
-	NMTOOLBARFc.right = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "right", "I");
-	NMTOOLBARFc.bottom = (*env)->GetFieldID(env, NMTOOLBARFc.clazz, "bottom", "I");
-	NMTOOLBARFc.cached = 1;
-}
-
-NMTOOLBAR *getNMTOOLBARFields(JNIEnv *env, jobject lpObject, NMTOOLBAR *lpStruct)
-{
-	if (!NMTOOLBARFc.cached) cacheNMTOOLBARFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->iItem = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.iItem);
-	lpStruct->tbButton.iBitmap = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.iBitmap);
-	lpStruct->tbButton.idCommand = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.idCommand);
-	lpStruct->tbButton.fsState = (*env)->GetByteField(env, lpObject, NMTOOLBARFc.fsState);
-	lpStruct->tbButton.fsStyle = (*env)->GetByteField(env, lpObject, NMTOOLBARFc.fsStyle);
-	lpStruct->tbButton.dwData = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.dwData);
-	lpStruct->tbButton.iString = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.iString);
-	lpStruct->cchText = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.cchText);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, NMTOOLBARFc.pszText);
-#ifndef _WIN32_WCE
-	lpStruct->rcButton.left = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.left);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->rcButton.top = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.top);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->rcButton.right = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.right);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->rcButton.bottom = (*env)->GetIntField(env, lpObject, NMTOOLBARFc.bottom);
-#endif
-	return lpStruct;
-}
-
-void setNMTOOLBARFields(JNIEnv *env, jobject lpObject, NMTOOLBAR *lpStruct)
-{
-	if (!NMTOOLBARFc.cached) cacheNMTOOLBARFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.iItem, (jint)lpStruct->iItem);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.iBitmap, (jint)lpStruct->tbButton.iBitmap);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.idCommand, (jint)lpStruct->tbButton.idCommand);
-	(*env)->SetByteField(env, lpObject, NMTOOLBARFc.fsState, (jbyte)lpStruct->tbButton.fsState);
-	(*env)->SetByteField(env, lpObject, NMTOOLBARFc.fsStyle, (jbyte)lpStruct->tbButton.fsStyle);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.dwData, (jint)lpStruct->tbButton.dwData);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.iString, (jint)lpStruct->tbButton.iString);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.cchText, (jint)lpStruct->cchText);
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.pszText, (jint)lpStruct->pszText);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.left, (jint)lpStruct->rcButton.left);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.top, (jint)lpStruct->rcButton.top);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.right, (jint)lpStruct->rcButton.right);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NMTOOLBARFc.bottom, (jint)lpStruct->rcButton.bottom);
-#endif
-}
-#endif
-
-#ifndef NO_NMTTDISPINFO
-typedef struct NMTTDISPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lpszText, hinst, uFlags, lParam;
-} NMTTDISPINFO_FID_CACHE;
-
-NMTTDISPINFO_FID_CACHE NMTTDISPINFOFc;
-
-void cacheNMTTDISPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTTDISPINFOFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMTTDISPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTTDISPINFOFc.lpszText = (*env)->GetFieldID(env, NMTTDISPINFOFc.clazz, "lpszText", "I");
-	NMTTDISPINFOFc.hinst = (*env)->GetFieldID(env, NMTTDISPINFOFc.clazz, "hinst", "I");
-	NMTTDISPINFOFc.uFlags = (*env)->GetFieldID(env, NMTTDISPINFOFc.clazz, "uFlags", "I");
-	NMTTDISPINFOFc.lParam = (*env)->GetFieldID(env, NMTTDISPINFOFc.clazz, "lParam", "I");
-	NMTTDISPINFOFc.cached = 1;
-}
-
-NMTTDISPINFO *getNMTTDISPINFOFields(JNIEnv *env, jobject lpObject, NMTTDISPINFO *lpStruct)
-{
-	if (!NMTTDISPINFOFc.cached) cacheNMTTDISPINFOFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->lpszText = (void *)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lpszText);
-	lpStruct->hinst = (HINSTANCE)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.hinst);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.uFlags);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lParam);
-	return lpStruct;
-}
-
-void setNMTTDISPINFOFields(JNIEnv *env, jobject lpObject, NMTTDISPINFO *lpStruct)
-{
-	if (!NMTTDISPINFOFc.cached) cacheNMTTDISPINFOFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lpszText, (jint)lpStruct->lpszText);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.hinst, (jint)lpStruct->hinst);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_NMTTDISPINFOA
-typedef struct NMTTDISPINFOA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szText;
-} NMTTDISPINFOA_FID_CACHE;
-
-NMTTDISPINFOA_FID_CACHE NMTTDISPINFOAFc;
-
-void cacheNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTTDISPINFOAFc.cached) return;
-	cacheNMTTDISPINFOFields(env, lpObject);
-	NMTTDISPINFOAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTTDISPINFOAFc.szText = (*env)->GetFieldID(env, NMTTDISPINFOAFc.clazz, "szText", "[B");
-	NMTTDISPINFOAFc.cached = 1;
-}
-
-NMTTDISPINFOA *getNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOA *lpStruct)
-{
-	if (!NMTTDISPINFOAFc.cached) cacheNMTTDISPINFOAFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->lpszText = (void *)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lpszText);
-	lpStruct->hinst = (HINSTANCE)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.hinst);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.uFlags);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lParam);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NMTTDISPINFOAFc.szText);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szText), (jbyte *)lpStruct->szText);
-	}
-	return lpStruct;
-}
-
-void setNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOA *lpStruct)
-{
-	if (!NMTTDISPINFOAFc.cached) cacheNMTTDISPINFOAFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lpszText, (jint)lpStruct->lpszText);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.hinst, (jint)lpStruct->hinst);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lParam, (jint)lpStruct->lParam);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NMTTDISPINFOAFc.szText);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szText), (jbyte *)lpStruct->szText);
-	}
-}
-#endif
-
-#ifndef NO_NMTTDISPINFOW
-typedef struct NMTTDISPINFOW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szText;
-} NMTTDISPINFOW_FID_CACHE;
-
-NMTTDISPINFOW_FID_CACHE NMTTDISPINFOWFc;
-
-void cacheNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTTDISPINFOWFc.cached) return;
-	cacheNMTTDISPINFOFields(env, lpObject);
-	NMTTDISPINFOWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTTDISPINFOWFc.szText = (*env)->GetFieldID(env, NMTTDISPINFOWFc.clazz, "szText", "[C");
-	NMTTDISPINFOWFc.cached = 1;
-}
-
-NMTTDISPINFOW *getNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOW *lpStruct)
-{
-	if (!NMTTDISPINFOWFc.cached) cacheNMTTDISPINFOWFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->lpszText = (void *)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lpszText);
-	lpStruct->hinst = (HINSTANCE)(*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.hinst);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.uFlags);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMTTDISPINFOFc.lParam);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMTTDISPINFOWFc.szText);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szText) / 2, (jchar *)lpStruct->szText);
-	}
-	return lpStruct;
-}
-
-void setNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOW *lpStruct)
-{
-	if (!NMTTDISPINFOWFc.cached) cacheNMTTDISPINFOWFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lpszText, (jint)lpStruct->lpszText);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.hinst, (jint)lpStruct->hinst);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NMTTDISPINFOFc.lParam, (jint)lpStruct->lParam);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NMTTDISPINFOWFc.szText);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szText) / 2, (jchar *)lpStruct->szText);
-	}
-}
-#endif
-
-#ifndef NO_NMTVCUSTOMDRAW
-typedef struct NMTVCUSTOMDRAW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID clrText, clrTextBk, iLevel;
-} NMTVCUSTOMDRAW_FID_CACHE;
-
-NMTVCUSTOMDRAW_FID_CACHE NMTVCUSTOMDRAWFc;
-
-void cacheNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTVCUSTOMDRAWFc.cached) return;
-	cacheNMCUSTOMDRAWFields(env, lpObject);
-	NMTVCUSTOMDRAWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTVCUSTOMDRAWFc.clrText = (*env)->GetFieldID(env, NMTVCUSTOMDRAWFc.clazz, "clrText", "I");
-	NMTVCUSTOMDRAWFc.clrTextBk = (*env)->GetFieldID(env, NMTVCUSTOMDRAWFc.clazz, "clrTextBk", "I");
-	NMTVCUSTOMDRAWFc.iLevel = (*env)->GetFieldID(env, NMTVCUSTOMDRAWFc.clazz, "iLevel", "I");
-	NMTVCUSTOMDRAWFc.cached = 1;
-}
-
-NMTVCUSTOMDRAW *getNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpStruct)
-{
-	if (!NMTVCUSTOMDRAWFc.cached) cacheNMTVCUSTOMDRAWFields(env, lpObject);
-	getNMCUSTOMDRAWFields(env, lpObject, (NMCUSTOMDRAW *)lpStruct);
-	lpStruct->clrText = (*env)->GetIntField(env, lpObject, NMTVCUSTOMDRAWFc.clrText);
-	lpStruct->clrTextBk = (*env)->GetIntField(env, lpObject, NMTVCUSTOMDRAWFc.clrTextBk);
-#ifndef _WIN32_WCE
-	lpStruct->iLevel = (*env)->GetIntField(env, lpObject, NMTVCUSTOMDRAWFc.iLevel);
-#endif
-	return lpStruct;
-}
-
-void setNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpStruct)
-{
-	if (!NMTVCUSTOMDRAWFc.cached) cacheNMTVCUSTOMDRAWFields(env, lpObject);
-	setNMCUSTOMDRAWFields(env, lpObject, (NMCUSTOMDRAW *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTVCUSTOMDRAWFc.clrText, (jint)lpStruct->clrText);
-	(*env)->SetIntField(env, lpObject, NMTVCUSTOMDRAWFc.clrTextBk, (jint)lpStruct->clrTextBk);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NMTVCUSTOMDRAWFc.iLevel, (jint)lpStruct->iLevel);
-#endif
-}
-#endif
-
-#ifndef NO_NMTVDISPINFO
-typedef struct NMTVDISPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, hItem, state, stateMask, pszText, cchTextMax, iImage, iSelectedImage, cChildren, lParam;
-} NMTVDISPINFO_FID_CACHE;
-
-NMTVDISPINFO_FID_CACHE NMTVDISPINFOFc;
-
-void cacheNMTVDISPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTVDISPINFOFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMTVDISPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTVDISPINFOFc.mask = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "mask", "I");
-	NMTVDISPINFOFc.hItem = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "hItem", "I");
-	NMTVDISPINFOFc.state = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "state", "I");
-	NMTVDISPINFOFc.stateMask = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "stateMask", "I");
-	NMTVDISPINFOFc.pszText = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "pszText", "I");
-	NMTVDISPINFOFc.cchTextMax = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "cchTextMax", "I");
-	NMTVDISPINFOFc.iImage = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "iImage", "I");
-	NMTVDISPINFOFc.iSelectedImage = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "iSelectedImage", "I");
-	NMTVDISPINFOFc.cChildren = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "cChildren", "I");
-	NMTVDISPINFOFc.lParam = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "lParam", "I");
-	NMTVDISPINFOFc.cached = 1;
-}
-
-NMTVDISPINFO *getNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct)
-{
-	if (!NMTVDISPINFOFc.cached) cacheNMTVDISPINFOFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->item.mask = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.mask);
-	lpStruct->item.hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.hItem);
-	lpStruct->item.state = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.state);
-	lpStruct->item.stateMask = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.stateMask);
-	lpStruct->item.pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.pszText);
-	lpStruct->item.cchTextMax = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.cchTextMax);
-	lpStruct->item.iImage = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.iImage);
-	lpStruct->item.iSelectedImage = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.iSelectedImage);
-	lpStruct->item.cChildren = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.cChildren);
-	lpStruct->item.lParam = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.lParam);
-	return lpStruct;
-}
-
-void setNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct)
-{
-	if (!NMTVDISPINFOFc.cached) cacheNMTVDISPINFOFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.mask, (jint)lpStruct->item.mask);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.hItem, (jint)lpStruct->item.hItem);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.state, (jint)lpStruct->item.state);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.stateMask, (jint)lpStruct->item.stateMask);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.pszText, (jint)lpStruct->item.pszText);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.cchTextMax, (jint)lpStruct->item.cchTextMax);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.iImage, (jint)lpStruct->item.iImage);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.iSelectedImage, (jint)lpStruct->item.iSelectedImage);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.cChildren, (jint)lpStruct->item.cChildren);
-	(*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.lParam, (jint)lpStruct->item.lParam);
-}
-#endif
-
-#ifndef NO_NMTVITEMCHANGE
-typedef struct NMTVITEMCHANGE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID uChanged, hItem, uStateNew, uStateOld, lParam;
-} NMTVITEMCHANGE_FID_CACHE;
-
-NMTVITEMCHANGE_FID_CACHE NMTVITEMCHANGEFc;
-
-void cacheNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMTVITEMCHANGEFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMTVITEMCHANGEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMTVITEMCHANGEFc.uChanged = (*env)->GetFieldID(env, NMTVITEMCHANGEFc.clazz, "uChanged", "I");
-	NMTVITEMCHANGEFc.hItem = (*env)->GetFieldID(env, NMTVITEMCHANGEFc.clazz, "hItem", "I");
-	NMTVITEMCHANGEFc.uStateNew = (*env)->GetFieldID(env, NMTVITEMCHANGEFc.clazz, "uStateNew", "I");
-	NMTVITEMCHANGEFc.uStateOld = (*env)->GetFieldID(env, NMTVITEMCHANGEFc.clazz, "uStateOld", "I");
-	NMTVITEMCHANGEFc.lParam = (*env)->GetFieldID(env, NMTVITEMCHANGEFc.clazz, "lParam", "I");
-	NMTVITEMCHANGEFc.cached = 1;
-}
-
-NMTVITEMCHANGE *getNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject, NMTVITEMCHANGE *lpStruct)
-{
-	if (!NMTVITEMCHANGEFc.cached) cacheNMTVITEMCHANGEFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->uChanged = (*env)->GetIntField(env, lpObject, NMTVITEMCHANGEFc.uChanged);
-	lpStruct->hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, NMTVITEMCHANGEFc.hItem);
-	lpStruct->uStateNew = (*env)->GetIntField(env, lpObject, NMTVITEMCHANGEFc.uStateNew);
-	lpStruct->uStateOld = (*env)->GetIntField(env, lpObject, NMTVITEMCHANGEFc.uStateOld);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, NMTVITEMCHANGEFc.lParam);
-	return lpStruct;
-}
-
-void setNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject, NMTVITEMCHANGE *lpStruct)
-{
-	if (!NMTVITEMCHANGEFc.cached) cacheNMTVITEMCHANGEFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMTVITEMCHANGEFc.uChanged, (jint)lpStruct->uChanged);
-	(*env)->SetIntField(env, lpObject, NMTVITEMCHANGEFc.hItem, (jint)lpStruct->hItem);
-	(*env)->SetIntField(env, lpObject, NMTVITEMCHANGEFc.uStateNew, (jint)lpStruct->uStateNew);
-	(*env)->SetIntField(env, lpObject, NMTVITEMCHANGEFc.uStateOld, (jint)lpStruct->uStateOld);
-	(*env)->SetIntField(env, lpObject, NMTVITEMCHANGEFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_NMUPDOWN
-typedef struct NMUPDOWN_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iPos, iDelta;
-} NMUPDOWN_FID_CACHE;
-
-NMUPDOWN_FID_CACHE NMUPDOWNFc;
-
-void cacheNMUPDOWNFields(JNIEnv *env, jobject lpObject)
-{
-	if (NMUPDOWNFc.cached) return;
-	cacheNMHDRFields(env, lpObject);
-	NMUPDOWNFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NMUPDOWNFc.iPos = (*env)->GetFieldID(env, NMUPDOWNFc.clazz, "iPos", "I");
-	NMUPDOWNFc.iDelta = (*env)->GetFieldID(env, NMUPDOWNFc.clazz, "iDelta", "I");
-	NMUPDOWNFc.cached = 1;
-}
-
-NMUPDOWN *getNMUPDOWNFields(JNIEnv *env, jobject lpObject, NMUPDOWN *lpStruct)
-{
-	if (!NMUPDOWNFc.cached) cacheNMUPDOWNFields(env, lpObject);
-	getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	lpStruct->iPos = (*env)->GetIntField(env, lpObject, NMUPDOWNFc.iPos);
-	lpStruct->iDelta = (*env)->GetIntField(env, lpObject, NMUPDOWNFc.iDelta);
-	return lpStruct;
-}
-
-void setNMUPDOWNFields(JNIEnv *env, jobject lpObject, NMUPDOWN *lpStruct)
-{
-	if (!NMUPDOWNFc.cached) cacheNMUPDOWNFields(env, lpObject);
-	setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
-	(*env)->SetIntField(env, lpObject, NMUPDOWNFc.iPos, (jint)lpStruct->iPos);
-	(*env)->SetIntField(env, lpObject, NMUPDOWNFc.iDelta, (jint)lpStruct->iDelta);
-}
-#endif
-
-#ifndef NO_NONCLIENTMETRICS
-typedef struct NONCLIENTMETRICS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, iBorderWidth, iScrollWidth, iScrollHeight, iCaptionWidth, iCaptionHeight, iSmCaptionWidth, iSmCaptionHeight, iMenuWidth, iMenuHeight;
-} NONCLIENTMETRICS_FID_CACHE;
-
-NONCLIENTMETRICS_FID_CACHE NONCLIENTMETRICSFc;
-
-void cacheNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject)
-{
-	if (NONCLIENTMETRICSFc.cached) return;
-	NONCLIENTMETRICSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NONCLIENTMETRICSFc.cbSize = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "cbSize", "I");
-	NONCLIENTMETRICSFc.iBorderWidth = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iBorderWidth", "I");
-	NONCLIENTMETRICSFc.iScrollWidth = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iScrollWidth", "I");
-	NONCLIENTMETRICSFc.iScrollHeight = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iScrollHeight", "I");
-	NONCLIENTMETRICSFc.iCaptionWidth = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iCaptionWidth", "I");
-	NONCLIENTMETRICSFc.iCaptionHeight = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iCaptionHeight", "I");
-	NONCLIENTMETRICSFc.iSmCaptionWidth = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iSmCaptionWidth", "I");
-	NONCLIENTMETRICSFc.iSmCaptionHeight = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iSmCaptionHeight", "I");
-	NONCLIENTMETRICSFc.iMenuWidth = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iMenuWidth", "I");
-	NONCLIENTMETRICSFc.iMenuHeight = (*env)->GetFieldID(env, NONCLIENTMETRICSFc.clazz, "iMenuHeight", "I");
-	NONCLIENTMETRICSFc.cached = 1;
-}
-
-NONCLIENTMETRICS *getNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICS *lpStruct)
-{
-	if (!NONCLIENTMETRICSFc.cached) cacheNONCLIENTMETRICSFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize);
-	lpStruct->iBorderWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth);
-	lpStruct->iScrollWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth);
-	lpStruct->iScrollHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight);
-	lpStruct->iCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth);
-	lpStruct->iCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight);
-	lpStruct->iSmCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth);
-	lpStruct->iSmCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight);
-	lpStruct->iMenuWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth);
-	lpStruct->iMenuHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight);
-	return lpStruct;
-}
-
-void setNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICS *lpStruct)
-{
-	if (!NONCLIENTMETRICSFc.cached) cacheNONCLIENTMETRICSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth, (jint)lpStruct->iBorderWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth, (jint)lpStruct->iScrollWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight, (jint)lpStruct->iScrollHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth, (jint)lpStruct->iCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight, (jint)lpStruct->iCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth, (jint)lpStruct->iSmCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight, (jint)lpStruct->iSmCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth, (jint)lpStruct->iMenuWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight, (jint)lpStruct->iMenuHeight);
-}
-#endif
-
-#ifndef NO_NONCLIENTMETRICSA
-typedef struct NONCLIENTMETRICSA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lfCaptionFont, lfSmCaptionFont, lfMenuFont, lfStatusFont, lfMessageFont;
-} NONCLIENTMETRICSA_FID_CACHE;
-
-NONCLIENTMETRICSA_FID_CACHE NONCLIENTMETRICSAFc;
-
-void cacheNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject)
-{
-	if (NONCLIENTMETRICSAFc.cached) return;
-	cacheNONCLIENTMETRICSFields(env, lpObject);
-	NONCLIENTMETRICSAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NONCLIENTMETRICSAFc.lfCaptionFont = (*env)->GetFieldID(env, NONCLIENTMETRICSAFc.clazz, "lfCaptionFont", "Lorg/eclipse/swt/internal/win32/LOGFONTA;");
-	NONCLIENTMETRICSAFc.lfSmCaptionFont = (*env)->GetFieldID(env, NONCLIENTMETRICSAFc.clazz, "lfSmCaptionFont", "Lorg/eclipse/swt/internal/win32/LOGFONTA;");
-	NONCLIENTMETRICSAFc.lfMenuFont = (*env)->GetFieldID(env, NONCLIENTMETRICSAFc.clazz, "lfMenuFont", "Lorg/eclipse/swt/internal/win32/LOGFONTA;");
-	NONCLIENTMETRICSAFc.lfStatusFont = (*env)->GetFieldID(env, NONCLIENTMETRICSAFc.clazz, "lfStatusFont", "Lorg/eclipse/swt/internal/win32/LOGFONTA;");
-	NONCLIENTMETRICSAFc.lfMessageFont = (*env)->GetFieldID(env, NONCLIENTMETRICSAFc.clazz, "lfMessageFont", "Lorg/eclipse/swt/internal/win32/LOGFONTA;");
-	NONCLIENTMETRICSAFc.cached = 1;
-}
-
-NONCLIENTMETRICSA *getNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSA *lpStruct)
-{
-	if (!NONCLIENTMETRICSAFc.cached) cacheNONCLIENTMETRICSAFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize);
-	lpStruct->iBorderWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth);
-	lpStruct->iScrollWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth);
-	lpStruct->iScrollHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight);
-	lpStruct->iCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth);
-	lpStruct->iCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight);
-	lpStruct->iSmCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth);
-	lpStruct->iSmCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight);
-	lpStruct->iMenuWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth);
-	lpStruct->iMenuHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfCaptionFont);
-	if (lpObject1 != NULL) getLOGFONTAFields(env, lpObject1, &lpStruct->lfCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfSmCaptionFont);
-	if (lpObject1 != NULL) getLOGFONTAFields(env, lpObject1, &lpStruct->lfSmCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfMenuFont);
-	if (lpObject1 != NULL) getLOGFONTAFields(env, lpObject1, &lpStruct->lfMenuFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfStatusFont);
-	if (lpObject1 != NULL) getLOGFONTAFields(env, lpObject1, &lpStruct->lfStatusFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfMessageFont);
-	if (lpObject1 != NULL) getLOGFONTAFields(env, lpObject1, &lpStruct->lfMessageFont);
-	}
-	return lpStruct;
-}
-
-void setNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSA *lpStruct)
-{
-	if (!NONCLIENTMETRICSAFc.cached) cacheNONCLIENTMETRICSAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth, (jint)lpStruct->iBorderWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth, (jint)lpStruct->iScrollWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight, (jint)lpStruct->iScrollHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth, (jint)lpStruct->iCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight, (jint)lpStruct->iCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth, (jint)lpStruct->iSmCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight, (jint)lpStruct->iSmCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth, (jint)lpStruct->iMenuWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight, (jint)lpStruct->iMenuHeight);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfCaptionFont);
-	if (lpObject1 != NULL) setLOGFONTAFields(env, lpObject1, &lpStruct->lfCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfSmCaptionFont);
-	if (lpObject1 != NULL) setLOGFONTAFields(env, lpObject1, &lpStruct->lfSmCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfMenuFont);
-	if (lpObject1 != NULL) setLOGFONTAFields(env, lpObject1, &lpStruct->lfMenuFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfStatusFont);
-	if (lpObject1 != NULL) setLOGFONTAFields(env, lpObject1, &lpStruct->lfStatusFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSAFc.lfMessageFont);
-	if (lpObject1 != NULL) setLOGFONTAFields(env, lpObject1, &lpStruct->lfMessageFont);
-	}
-}
-#endif
-
-#ifndef NO_NONCLIENTMETRICSW
-typedef struct NONCLIENTMETRICSW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lfCaptionFont, lfSmCaptionFont, lfMenuFont, lfStatusFont, lfMessageFont;
-} NONCLIENTMETRICSW_FID_CACHE;
-
-NONCLIENTMETRICSW_FID_CACHE NONCLIENTMETRICSWFc;
-
-void cacheNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NONCLIENTMETRICSWFc.cached) return;
-	cacheNONCLIENTMETRICSFields(env, lpObject);
-	NONCLIENTMETRICSWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NONCLIENTMETRICSWFc.lfCaptionFont = (*env)->GetFieldID(env, NONCLIENTMETRICSWFc.clazz, "lfCaptionFont", "Lorg/eclipse/swt/internal/win32/LOGFONTW;");
-	NONCLIENTMETRICSWFc.lfSmCaptionFont = (*env)->GetFieldID(env, NONCLIENTMETRICSWFc.clazz, "lfSmCaptionFont", "Lorg/eclipse/swt/internal/win32/LOGFONTW;");
-	NONCLIENTMETRICSWFc.lfMenuFont = (*env)->GetFieldID(env, NONCLIENTMETRICSWFc.clazz, "lfMenuFont", "Lorg/eclipse/swt/internal/win32/LOGFONTW;");
-	NONCLIENTMETRICSWFc.lfStatusFont = (*env)->GetFieldID(env, NONCLIENTMETRICSWFc.clazz, "lfStatusFont", "Lorg/eclipse/swt/internal/win32/LOGFONTW;");
-	NONCLIENTMETRICSWFc.lfMessageFont = (*env)->GetFieldID(env, NONCLIENTMETRICSWFc.clazz, "lfMessageFont", "Lorg/eclipse/swt/internal/win32/LOGFONTW;");
-	NONCLIENTMETRICSWFc.cached = 1;
-}
-
-NONCLIENTMETRICSW *getNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSW *lpStruct)
-{
-	if (!NONCLIENTMETRICSWFc.cached) cacheNONCLIENTMETRICSWFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize);
-	lpStruct->iBorderWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth);
-	lpStruct->iScrollWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth);
-	lpStruct->iScrollHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight);
-	lpStruct->iCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth);
-	lpStruct->iCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight);
-	lpStruct->iSmCaptionWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth);
-	lpStruct->iSmCaptionHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight);
-	lpStruct->iMenuWidth = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth);
-	lpStruct->iMenuHeight = (*env)->GetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfCaptionFont);
-	if (lpObject1 != NULL) getLOGFONTWFields(env, lpObject1, &lpStruct->lfCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfSmCaptionFont);
-	if (lpObject1 != NULL) getLOGFONTWFields(env, lpObject1, &lpStruct->lfSmCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfMenuFont);
-	if (lpObject1 != NULL) getLOGFONTWFields(env, lpObject1, &lpStruct->lfMenuFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfStatusFont);
-	if (lpObject1 != NULL) getLOGFONTWFields(env, lpObject1, &lpStruct->lfStatusFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfMessageFont);
-	if (lpObject1 != NULL) getLOGFONTWFields(env, lpObject1, &lpStruct->lfMessageFont);
-	}
-	return lpStruct;
-}
-
-void setNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSW *lpStruct)
-{
-	if (!NONCLIENTMETRICSWFc.cached) cacheNONCLIENTMETRICSWFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iBorderWidth, (jint)lpStruct->iBorderWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollWidth, (jint)lpStruct->iScrollWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iScrollHeight, (jint)lpStruct->iScrollHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionWidth, (jint)lpStruct->iCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iCaptionHeight, (jint)lpStruct->iCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionWidth, (jint)lpStruct->iSmCaptionWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iSmCaptionHeight, (jint)lpStruct->iSmCaptionHeight);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuWidth, (jint)lpStruct->iMenuWidth);
-	(*env)->SetIntField(env, lpObject, NONCLIENTMETRICSFc.iMenuHeight, (jint)lpStruct->iMenuHeight);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfCaptionFont);
-	if (lpObject1 != NULL) setLOGFONTWFields(env, lpObject1, &lpStruct->lfCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfSmCaptionFont);
-	if (lpObject1 != NULL) setLOGFONTWFields(env, lpObject1, &lpStruct->lfSmCaptionFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfMenuFont);
-	if (lpObject1 != NULL) setLOGFONTWFields(env, lpObject1, &lpStruct->lfMenuFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfStatusFont);
-	if (lpObject1 != NULL) setLOGFONTWFields(env, lpObject1, &lpStruct->lfStatusFont);
-	}
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, NONCLIENTMETRICSWFc.lfMessageFont);
-	if (lpObject1 != NULL) setLOGFONTWFields(env, lpObject1, &lpStruct->lfMessageFont);
-	}
-}
-#endif
-
-#ifndef NO_NOTIFYICONDATA
-typedef struct NOTIFYICONDATA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, hWnd, uID, uFlags, uCallbackMessage, hIcon, dwState, dwStateMask, uVersion, dwInfoFlags;
-} NOTIFYICONDATA_FID_CACHE;
-
-NOTIFYICONDATA_FID_CACHE NOTIFYICONDATAFc;
-
-void cacheNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject)
-{
-	if (NOTIFYICONDATAFc.cached) return;
-	NOTIFYICONDATAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NOTIFYICONDATAFc.cbSize = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "cbSize", "I");
-	NOTIFYICONDATAFc.hWnd = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "hWnd", "I");
-	NOTIFYICONDATAFc.uID = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "uID", "I");
-	NOTIFYICONDATAFc.uFlags = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "uFlags", "I");
-	NOTIFYICONDATAFc.uCallbackMessage = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "uCallbackMessage", "I");
-	NOTIFYICONDATAFc.hIcon = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "hIcon", "I");
-	NOTIFYICONDATAFc.dwState = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "dwState", "I");
-	NOTIFYICONDATAFc.dwStateMask = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "dwStateMask", "I");
-	NOTIFYICONDATAFc.uVersion = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "uVersion", "I");
-	NOTIFYICONDATAFc.dwInfoFlags = (*env)->GetFieldID(env, NOTIFYICONDATAFc.clazz, "dwInfoFlags", "I");
-	NOTIFYICONDATAFc.cached = 1;
-}
-
-NOTIFYICONDATA *getNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATA *lpStruct)
-{
-	if (!NOTIFYICONDATAFc.cached) cacheNOTIFYICONDATAFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize);
-	lpStruct->hWnd = (HWND)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd);
-	lpStruct->uID = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uID);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags);
-	lpStruct->uCallbackMessage = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage);
-	lpStruct->hIcon = (HICON)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon);
-#ifndef _WIN32_WCE
-	lpStruct->dwState = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwState);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwStateMask = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->uVersion = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwInfoFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags);
-#endif
-	return lpStruct;
-}
-
-void setNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATA *lpStruct)
-{
-	if (!NOTIFYICONDATAFc.cached) cacheNOTIFYICONDATAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd, (jint)lpStruct->hWnd);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uID, (jint)lpStruct->uID);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage, (jint)lpStruct->uCallbackMessage);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon, (jint)lpStruct->hIcon);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwState, (jint)lpStruct->dwState);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask, (jint)lpStruct->dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion, (jint)lpStruct->uVersion);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags, (jint)lpStruct->dwInfoFlags);
-#endif
-}
-#endif
-
-#ifndef NO_NOTIFYICONDATAA
-typedef struct NOTIFYICONDATAA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szTip, szInfo, szInfoTitle;
-} NOTIFYICONDATAA_FID_CACHE;
-
-NOTIFYICONDATAA_FID_CACHE NOTIFYICONDATAAFc;
-
-void cacheNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject)
-{
-	if (NOTIFYICONDATAAFc.cached) return;
-	cacheNOTIFYICONDATAFields(env, lpObject);
-	NOTIFYICONDATAAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NOTIFYICONDATAAFc.szTip = (*env)->GetFieldID(env, NOTIFYICONDATAAFc.clazz, "szTip", "[B");
-	NOTIFYICONDATAAFc.szInfo = (*env)->GetFieldID(env, NOTIFYICONDATAAFc.clazz, "szInfo", "[B");
-	NOTIFYICONDATAAFc.szInfoTitle = (*env)->GetFieldID(env, NOTIFYICONDATAAFc.clazz, "szInfoTitle", "[B");
-	NOTIFYICONDATAAFc.cached = 1;
-}
-
-NOTIFYICONDATAA *getNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAA *lpStruct)
-{
-	if (!NOTIFYICONDATAAFc.cached) cacheNOTIFYICONDATAAFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize);
-	lpStruct->hWnd = (HWND)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd);
-	lpStruct->uID = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uID);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags);
-	lpStruct->uCallbackMessage = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage);
-	lpStruct->hIcon = (HICON)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon);
-#ifndef _WIN32_WCE
-	lpStruct->dwState = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwState);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwStateMask = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->uVersion = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwInfoFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags);
-#endif
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szTip);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szTip), (jbyte *)lpStruct->szTip);
-	}
-#ifndef _WIN32_WCE
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szInfo);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfo), (jbyte *)lpStruct->szInfo);
-	}
-#endif
-#ifndef _WIN32_WCE
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szInfoTitle);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfoTitle), (jbyte *)lpStruct->szInfoTitle);
-	}
-#endif
-	return lpStruct;
-}
-
-void setNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAA *lpStruct)
-{
-	if (!NOTIFYICONDATAAFc.cached) cacheNOTIFYICONDATAAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd, (jint)lpStruct->hWnd);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uID, (jint)lpStruct->uID);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage, (jint)lpStruct->uCallbackMessage);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon, (jint)lpStruct->hIcon);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwState, (jint)lpStruct->dwState);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask, (jint)lpStruct->dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion, (jint)lpStruct->uVersion);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags, (jint)lpStruct->dwInfoFlags);
-#endif
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szTip);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szTip), (jbyte *)lpStruct->szTip);
-	}
-#ifndef _WIN32_WCE
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szInfo);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfo), (jbyte *)lpStruct->szInfo);
-	}
-#endif
-#ifndef _WIN32_WCE
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAAFc.szInfoTitle);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfoTitle), (jbyte *)lpStruct->szInfoTitle);
-	}
-#endif
-}
-#endif
-
-#ifndef NO_NOTIFYICONDATAW
-typedef struct NOTIFYICONDATAW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szTip, szInfo, szInfoTitle;
-} NOTIFYICONDATAW_FID_CACHE;
-
-NOTIFYICONDATAW_FID_CACHE NOTIFYICONDATAWFc;
-
-void cacheNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject)
-{
-	if (NOTIFYICONDATAWFc.cached) return;
-	cacheNOTIFYICONDATAFields(env, lpObject);
-	NOTIFYICONDATAWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	NOTIFYICONDATAWFc.szTip = (*env)->GetFieldID(env, NOTIFYICONDATAWFc.clazz, "szTip", "[C");
-	NOTIFYICONDATAWFc.szInfo = (*env)->GetFieldID(env, NOTIFYICONDATAWFc.clazz, "szInfo", "[C");
-	NOTIFYICONDATAWFc.szInfoTitle = (*env)->GetFieldID(env, NOTIFYICONDATAWFc.clazz, "szInfoTitle", "[C");
-	NOTIFYICONDATAWFc.cached = 1;
-}
-
-NOTIFYICONDATAW *getNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAW *lpStruct)
-{
-	if (!NOTIFYICONDATAWFc.cached) cacheNOTIFYICONDATAWFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize);
-	lpStruct->hWnd = (HWND)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd);
-	lpStruct->uID = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uID);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags);
-	lpStruct->uCallbackMessage = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage);
-	lpStruct->hIcon = (HICON)(*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon);
-#ifndef _WIN32_WCE
-	lpStruct->dwState = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwState);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwStateMask = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->uVersion = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion);
-#endif
-#ifndef _WIN32_WCE
-	lpStruct->dwInfoFlags = (*env)->GetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags);
-#endif
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szTip);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szTip) / 2, (jchar *)lpStruct->szTip);
-	}
-#ifndef _WIN32_WCE
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szInfo);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfo) / 2, (jchar *)lpStruct->szInfo);
-	}
-#endif
-#ifndef _WIN32_WCE
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szInfoTitle);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfoTitle) / 2, (jchar *)lpStruct->szInfoTitle);
-	}
-#endif
-	return lpStruct;
-}
-
-void setNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAW *lpStruct)
-{
-	if (!NOTIFYICONDATAWFc.cached) cacheNOTIFYICONDATAWFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hWnd, (jint)lpStruct->hWnd);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uID, (jint)lpStruct->uID);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uCallbackMessage, (jint)lpStruct->uCallbackMessage);
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.hIcon, (jint)lpStruct->hIcon);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwState, (jint)lpStruct->dwState);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwStateMask, (jint)lpStruct->dwStateMask);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.uVersion, (jint)lpStruct->uVersion);
-#endif
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, NOTIFYICONDATAFc.dwInfoFlags, (jint)lpStruct->dwInfoFlags);
-#endif
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szTip);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szTip) / 2, (jchar *)lpStruct->szTip);
-	}
-#ifndef _WIN32_WCE
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szInfo);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfo) / 2, (jchar *)lpStruct->szInfo);
-	}
-#endif
-#ifndef _WIN32_WCE
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, NOTIFYICONDATAWFc.szInfoTitle);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szInfoTitle) / 2, (jchar *)lpStruct->szInfoTitle);
-	}
-#endif
-}
-#endif
-
-#ifndef NO_OPENFILENAME
-typedef struct OPENFILENAME_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lStructSize, hwndOwner, hInstance, lpstrFilter, lpstrCustomFilter, nMaxCustFilter, nFilterIndex, lpstrFile, nMaxFile, lpstrFileTitle, nMaxFileTitle, lpstrInitialDir, lpstrTitle, Flags, nFileOffset, nFileExtension, lpstrDefExt, lCustData, lpfnHook, lpTemplateName;
-} OPENFILENAME_FID_CACHE;
-
-OPENFILENAME_FID_CACHE OPENFILENAMEFc;
-
-void cacheOPENFILENAMEFields(JNIEnv *env, jobject lpObject)
-{
-	if (OPENFILENAMEFc.cached) return;
-	OPENFILENAMEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OPENFILENAMEFc.lStructSize = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lStructSize", "I");
-	OPENFILENAMEFc.hwndOwner = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "hwndOwner", "I");
-	OPENFILENAMEFc.hInstance = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "hInstance", "I");
-	OPENFILENAMEFc.lpstrFilter = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrFilter", "I");
-	OPENFILENAMEFc.lpstrCustomFilter = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrCustomFilter", "I");
-	OPENFILENAMEFc.nMaxCustFilter = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nMaxCustFilter", "I");
-	OPENFILENAMEFc.nFilterIndex = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nFilterIndex", "I");
-	OPENFILENAMEFc.lpstrFile = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrFile", "I");
-	OPENFILENAMEFc.nMaxFile = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nMaxFile", "I");
-	OPENFILENAMEFc.lpstrFileTitle = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrFileTitle", "I");
-	OPENFILENAMEFc.nMaxFileTitle = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nMaxFileTitle", "I");
-	OPENFILENAMEFc.lpstrInitialDir = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrInitialDir", "I");
-	OPENFILENAMEFc.lpstrTitle = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrTitle", "I");
-	OPENFILENAMEFc.Flags = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "Flags", "I");
-	OPENFILENAMEFc.nFileOffset = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nFileOffset", "S");
-	OPENFILENAMEFc.nFileExtension = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "nFileExtension", "S");
-	OPENFILENAMEFc.lpstrDefExt = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpstrDefExt", "I");
-	OPENFILENAMEFc.lCustData = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lCustData", "I");
-	OPENFILENAMEFc.lpfnHook = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpfnHook", "I");
-	OPENFILENAMEFc.lpTemplateName = (*env)->GetFieldID(env, OPENFILENAMEFc.clazz, "lpTemplateName", "I");
-	OPENFILENAMEFc.cached = 1;
-}
-
-OPENFILENAME *getOPENFILENAMEFields(JNIEnv *env, jobject lpObject, OPENFILENAME *lpStruct)
-{
-	if (!OPENFILENAMEFc.cached) cacheOPENFILENAMEFields(env, lpObject);
-	lpStruct->lStructSize = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lStructSize);
-	lpStruct->hwndOwner = (HWND)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.hwndOwner);
-	lpStruct->hInstance = (HINSTANCE)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.hInstance);
-	lpStruct->lpstrFilter = (LPCTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrFilter);
-	lpStruct->lpstrCustomFilter = (LPTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrCustomFilter);
-	lpStruct->nMaxCustFilter = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.nMaxCustFilter);
-	lpStruct->nFilterIndex = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.nFilterIndex);
-	lpStruct->lpstrFile = (LPTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrFile);
-	lpStruct->nMaxFile = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.nMaxFile);
-	lpStruct->lpstrFileTitle = (LPTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrFileTitle);
-	lpStruct->nMaxFileTitle = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.nMaxFileTitle);
-	lpStruct->lpstrInitialDir = (LPCTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrInitialDir);
-	lpStruct->lpstrTitle = (LPCTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrTitle);
-	lpStruct->Flags = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.Flags);
-	lpStruct->nFileOffset = (*env)->GetShortField(env, lpObject, OPENFILENAMEFc.nFileOffset);
-	lpStruct->nFileExtension = (*env)->GetShortField(env, lpObject, OPENFILENAMEFc.nFileExtension);
-	lpStruct->lpstrDefExt = (LPCTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpstrDefExt);
-	lpStruct->lCustData = (*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lCustData);
-	lpStruct->lpfnHook = (LPOFNHOOKPROC)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpfnHook);
-	lpStruct->lpTemplateName = (LPCTSTR)(*env)->GetIntField(env, lpObject, OPENFILENAMEFc.lpTemplateName);
-	return lpStruct;
-}
-
-void setOPENFILENAMEFields(JNIEnv *env, jobject lpObject, OPENFILENAME *lpStruct)
-{
-	if (!OPENFILENAMEFc.cached) cacheOPENFILENAMEFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lStructSize, (jint)lpStruct->lStructSize);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.hwndOwner, (jint)lpStruct->hwndOwner);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrFilter, (jint)lpStruct->lpstrFilter);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrCustomFilter, (jint)lpStruct->lpstrCustomFilter);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.nMaxCustFilter, (jint)lpStruct->nMaxCustFilter);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.nFilterIndex, (jint)lpStruct->nFilterIndex);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrFile, (jint)lpStruct->lpstrFile);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.nMaxFile, (jint)lpStruct->nMaxFile);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrFileTitle, (jint)lpStruct->lpstrFileTitle);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.nMaxFileTitle, (jint)lpStruct->nMaxFileTitle);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrInitialDir, (jint)lpStruct->lpstrInitialDir);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrTitle, (jint)lpStruct->lpstrTitle);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.Flags, (jint)lpStruct->Flags);
-	(*env)->SetShortField(env, lpObject, OPENFILENAMEFc.nFileOffset, (jshort)lpStruct->nFileOffset);
-	(*env)->SetShortField(env, lpObject, OPENFILENAMEFc.nFileExtension, (jshort)lpStruct->nFileExtension);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpstrDefExt, (jint)lpStruct->lpstrDefExt);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lCustData, (jint)lpStruct->lCustData);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpfnHook, (jint)lpStruct->lpfnHook);
-	(*env)->SetIntField(env, lpObject, OPENFILENAMEFc.lpTemplateName, (jint)lpStruct->lpTemplateName);
-}
-#endif
-
-#ifndef NO_OSVERSIONINFO
-typedef struct OSVERSIONINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID dwOSVersionInfoSize, dwMajorVersion, dwMinorVersion, dwBuildNumber, dwPlatformId;
-} OSVERSIONINFO_FID_CACHE;
-
-OSVERSIONINFO_FID_CACHE OSVERSIONINFOFc;
-
-void cacheOSVERSIONINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOFc.cached) return;
-	OSVERSIONINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOFc.dwOSVersionInfoSize = (*env)->GetFieldID(env, OSVERSIONINFOFc.clazz, "dwOSVersionInfoSize", "I");
-	OSVERSIONINFOFc.dwMajorVersion = (*env)->GetFieldID(env, OSVERSIONINFOFc.clazz, "dwMajorVersion", "I");
-	OSVERSIONINFOFc.dwMinorVersion = (*env)->GetFieldID(env, OSVERSIONINFOFc.clazz, "dwMinorVersion", "I");
-	OSVERSIONINFOFc.dwBuildNumber = (*env)->GetFieldID(env, OSVERSIONINFOFc.clazz, "dwBuildNumber", "I");
-	OSVERSIONINFOFc.dwPlatformId = (*env)->GetFieldID(env, OSVERSIONINFOFc.clazz, "dwPlatformId", "I");
-	OSVERSIONINFOFc.cached = 1;
-}
-
-OSVERSIONINFO *getOSVERSIONINFOFields(JNIEnv *env, jobject lpObject, OSVERSIONINFO *lpStruct)
-{
-	if (!OSVERSIONINFOFc.cached) cacheOSVERSIONINFOFields(env, lpObject);
-	lpStruct->dwOSVersionInfoSize = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize);
-	lpStruct->dwMajorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion);
-	lpStruct->dwMinorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion);
-	lpStruct->dwBuildNumber = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber);
-	lpStruct->dwPlatformId = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId);
-	return lpStruct;
-}
-
-void setOSVERSIONINFOFields(JNIEnv *env, jobject lpObject, OSVERSIONINFO *lpStruct)
-{
-	if (!OSVERSIONINFOFc.cached) cacheOSVERSIONINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize, (jint)lpStruct->dwOSVersionInfoSize);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion, (jint)lpStruct->dwMajorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion, (jint)lpStruct->dwMinorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber, (jint)lpStruct->dwBuildNumber);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId, (jint)lpStruct->dwPlatformId);
-}
-#endif
-
-#ifndef NO_OSVERSIONINFOA
-typedef struct OSVERSIONINFOA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szCSDVersion;
-} OSVERSIONINFOA_FID_CACHE;
-
-OSVERSIONINFOA_FID_CACHE OSVERSIONINFOAFc;
-
-void cacheOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOAFc.cached) return;
-	cacheOSVERSIONINFOFields(env, lpObject);
-	OSVERSIONINFOAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOAFc.szCSDVersion = (*env)->GetFieldID(env, OSVERSIONINFOAFc.clazz, "szCSDVersion", "[B");
-	OSVERSIONINFOAFc.cached = 1;
-}
-
-OSVERSIONINFOA *getOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOA *lpStruct)
-{
-	if (!OSVERSIONINFOAFc.cached) cacheOSVERSIONINFOAFields(env, lpObject);
-	lpStruct->dwOSVersionInfoSize = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize);
-	lpStruct->dwMajorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion);
-	lpStruct->dwMinorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion);
-	lpStruct->dwBuildNumber = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber);
-	lpStruct->dwPlatformId = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOAFc.szCSDVersion);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion), (jbyte *)lpStruct->szCSDVersion);
-	}
-	return lpStruct;
-}
-
-void setOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOA *lpStruct)
-{
-	if (!OSVERSIONINFOAFc.cached) cacheOSVERSIONINFOAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize, (jint)lpStruct->dwOSVersionInfoSize);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion, (jint)lpStruct->dwMajorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion, (jint)lpStruct->dwMinorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber, (jint)lpStruct->dwBuildNumber);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId, (jint)lpStruct->dwPlatformId);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOAFc.szCSDVersion);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion), (jbyte *)lpStruct->szCSDVersion);
-	}
-}
-#endif
-
-#ifndef NO_OSVERSIONINFOEX
-typedef struct OSVERSIONINFOEX_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID wServicePackMajor, wServicePackMinor, wSuiteMask, wProductType, wReserved;
-} OSVERSIONINFOEX_FID_CACHE;
-
-OSVERSIONINFOEX_FID_CACHE OSVERSIONINFOEXFc;
-
-void cacheOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOEXFc.cached) return;
-	cacheOSVERSIONINFOFields(env, lpObject);
-	OSVERSIONINFOEXFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOEXFc.wServicePackMajor = (*env)->GetFieldID(env, OSVERSIONINFOEXFc.clazz, "wServicePackMajor", "S");
-	OSVERSIONINFOEXFc.wServicePackMinor = (*env)->GetFieldID(env, OSVERSIONINFOEXFc.clazz, "wServicePackMinor", "S");
-	OSVERSIONINFOEXFc.wSuiteMask = (*env)->GetFieldID(env, OSVERSIONINFOEXFc.clazz, "wSuiteMask", "S");
-	OSVERSIONINFOEXFc.wProductType = (*env)->GetFieldID(env, OSVERSIONINFOEXFc.clazz, "wProductType", "B");
-	OSVERSIONINFOEXFc.wReserved = (*env)->GetFieldID(env, OSVERSIONINFOEXFc.clazz, "wReserved", "B");
-	OSVERSIONINFOEXFc.cached = 1;
-}
-
-OSVERSIONINFOEX *getOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEX *lpStruct)
-{
-	if (!OSVERSIONINFOEXFc.cached) cacheOSVERSIONINFOEXFields(env, lpObject);
-	getOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	lpStruct->wServicePackMajor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor);
-	lpStruct->wServicePackMinor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor);
-	lpStruct->wSuiteMask = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask);
-	lpStruct->wProductType = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType);
-	lpStruct->wReserved = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved);
-	return lpStruct;
-}
-
-void setOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEX *lpStruct)
-{
-	if (!OSVERSIONINFOEXFc.cached) cacheOSVERSIONINFOEXFields(env, lpObject);
-	setOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor, (jshort)lpStruct->wServicePackMajor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor, (jshort)lpStruct->wServicePackMinor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask, (jshort)lpStruct->wSuiteMask);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType, (jbyte)lpStruct->wProductType);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved, (jbyte)lpStruct->wReserved);
-}
-#endif
-
-#ifndef NO_OSVERSIONINFOEXA
-typedef struct OSVERSIONINFOEXA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szCSDVersion;
-} OSVERSIONINFOEXA_FID_CACHE;
-
-OSVERSIONINFOEXA_FID_CACHE OSVERSIONINFOEXAFc;
-
-void cacheOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOEXAFc.cached) return;
-	cacheOSVERSIONINFOEXFields(env, lpObject);
-	OSVERSIONINFOEXAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOEXAFc.szCSDVersion = (*env)->GetFieldID(env, OSVERSIONINFOEXAFc.clazz, "szCSDVersion", "[B");
-	OSVERSIONINFOEXAFc.cached = 1;
-}
-
-OSVERSIONINFOEXA *getOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXA *lpStruct)
-{
-	if (!OSVERSIONINFOEXAFc.cached) cacheOSVERSIONINFOEXAFields(env, lpObject);
-	getOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	lpStruct->wServicePackMajor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor);
-	lpStruct->wServicePackMinor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor);
-	lpStruct->wSuiteMask = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask);
-	lpStruct->wProductType = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType);
-	lpStruct->wReserved = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOEXAFc.szCSDVersion);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion), (jbyte *)lpStruct->szCSDVersion);
-	}
-	return lpStruct;
-}
-
-void setOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXA *lpStruct)
-{
-	if (!OSVERSIONINFOEXAFc.cached) cacheOSVERSIONINFOEXAFields(env, lpObject);
-	setOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor, (jshort)lpStruct->wServicePackMajor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor, (jshort)lpStruct->wServicePackMinor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask, (jshort)lpStruct->wSuiteMask);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType, (jbyte)lpStruct->wProductType);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved, (jbyte)lpStruct->wReserved);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOEXAFc.szCSDVersion);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion), (jbyte *)lpStruct->szCSDVersion);
-	}
-}
-#endif
-
-#ifndef NO_OSVERSIONINFOEXW
-typedef struct OSVERSIONINFOEXW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szCSDVersion;
-} OSVERSIONINFOEXW_FID_CACHE;
-
-OSVERSIONINFOEXW_FID_CACHE OSVERSIONINFOEXWFc;
-
-void cacheOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOEXWFc.cached) return;
-	cacheOSVERSIONINFOEXFields(env, lpObject);
-	OSVERSIONINFOEXWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOEXWFc.szCSDVersion = (*env)->GetFieldID(env, OSVERSIONINFOEXWFc.clazz, "szCSDVersion", "[C");
-	OSVERSIONINFOEXWFc.cached = 1;
-}
-
-OSVERSIONINFOEXW *getOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXW *lpStruct)
-{
-	if (!OSVERSIONINFOEXWFc.cached) cacheOSVERSIONINFOEXWFields(env, lpObject);
-	getOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	lpStruct->wServicePackMajor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor);
-	lpStruct->wServicePackMinor = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor);
-	lpStruct->wSuiteMask = (*env)->GetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask);
-	lpStruct->wProductType = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType);
-	lpStruct->wReserved = (*env)->GetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOEXWFc.szCSDVersion);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion) / 2, (jchar *)lpStruct->szCSDVersion);
-	}
-	return lpStruct;
-}
-
-void setOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXW *lpStruct)
-{
-	if (!OSVERSIONINFOEXWFc.cached) cacheOSVERSIONINFOEXWFields(env, lpObject);
-	setOSVERSIONINFOFields(env, lpObject, (OSVERSIONINFO *)lpStruct);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMajor, (jshort)lpStruct->wServicePackMajor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wServicePackMinor, (jshort)lpStruct->wServicePackMinor);
-	(*env)->SetShortField(env, lpObject, OSVERSIONINFOEXFc.wSuiteMask, (jshort)lpStruct->wSuiteMask);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wProductType, (jbyte)lpStruct->wProductType);
-	(*env)->SetByteField(env, lpObject, OSVERSIONINFOEXFc.wReserved, (jbyte)lpStruct->wReserved);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOEXWFc.szCSDVersion);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion) / 2, (jchar *)lpStruct->szCSDVersion);
-	}
-}
-#endif
-
-#ifndef NO_OSVERSIONINFOW
-typedef struct OSVERSIONINFOW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID szCSDVersion;
-} OSVERSIONINFOW_FID_CACHE;
-
-OSVERSIONINFOW_FID_CACHE OSVERSIONINFOWFc;
-
-void cacheOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject)
-{
-	if (OSVERSIONINFOWFc.cached) return;
-	cacheOSVERSIONINFOFields(env, lpObject);
-	OSVERSIONINFOWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	OSVERSIONINFOWFc.szCSDVersion = (*env)->GetFieldID(env, OSVERSIONINFOWFc.clazz, "szCSDVersion", "[C");
-	OSVERSIONINFOWFc.cached = 1;
-}
-
-OSVERSIONINFOW *getOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOW *lpStruct)
-{
-	if (!OSVERSIONINFOWFc.cached) cacheOSVERSIONINFOWFields(env, lpObject);
-	lpStruct->dwOSVersionInfoSize = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize);
-	lpStruct->dwMajorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion);
-	lpStruct->dwMinorVersion = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion);
-	lpStruct->dwBuildNumber = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber);
-	lpStruct->dwPlatformId = (*env)->GetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOWFc.szCSDVersion);
-	(*env)->GetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion) / 2, (jchar *)lpStruct->szCSDVersion);
-	}
-	return lpStruct;
-}
-
-void setOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOW *lpStruct)
-{
-	if (!OSVERSIONINFOWFc.cached) cacheOSVERSIONINFOWFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwOSVersionInfoSize, (jint)lpStruct->dwOSVersionInfoSize);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMajorVersion, (jint)lpStruct->dwMajorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwMinorVersion, (jint)lpStruct->dwMinorVersion);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwBuildNumber, (jint)lpStruct->dwBuildNumber);
-	(*env)->SetIntField(env, lpObject, OSVERSIONINFOFc.dwPlatformId, (jint)lpStruct->dwPlatformId);
-	{
-	jcharArray lpObject1 = (jcharArray)(*env)->GetObjectField(env, lpObject, OSVERSIONINFOWFc.szCSDVersion);
-	(*env)->SetCharArrayRegion(env, lpObject1, 0, sizeof(lpStruct->szCSDVersion) / 2, (jchar *)lpStruct->szCSDVersion);
-	}
-}
-#endif
-
-#ifndef NO_PAINTSTRUCT
-typedef struct PAINTSTRUCT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hdc, fErase, left, top, right, bottom, fRestore, fIncUpdate, rgbReserved;
-} PAINTSTRUCT_FID_CACHE;
-
-PAINTSTRUCT_FID_CACHE PAINTSTRUCTFc;
-
-void cachePAINTSTRUCTFields(JNIEnv *env, jobject lpObject)
-{
-	if (PAINTSTRUCTFc.cached) return;
-	PAINTSTRUCTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PAINTSTRUCTFc.hdc = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "hdc", "I");
-	PAINTSTRUCTFc.fErase = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "fErase", "Z");
-	PAINTSTRUCTFc.left = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "left", "I");
-	PAINTSTRUCTFc.top = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "top", "I");
-	PAINTSTRUCTFc.right = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "right", "I");
-	PAINTSTRUCTFc.bottom = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "bottom", "I");
-	PAINTSTRUCTFc.fRestore = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "fRestore", "Z");
-	PAINTSTRUCTFc.fIncUpdate = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "fIncUpdate", "Z");
-	PAINTSTRUCTFc.rgbReserved = (*env)->GetFieldID(env, PAINTSTRUCTFc.clazz, "rgbReserved", "[B");
-	PAINTSTRUCTFc.cached = 1;
-}
-
-PAINTSTRUCT *getPAINTSTRUCTFields(JNIEnv *env, jobject lpObject, PAINTSTRUCT *lpStruct)
-{
-	if (!PAINTSTRUCTFc.cached) cachePAINTSTRUCTFields(env, lpObject);
-	lpStruct->hdc = (HDC)(*env)->GetIntField(env, lpObject, PAINTSTRUCTFc.hdc);
-	lpStruct->fErase = (*env)->GetBooleanField(env, lpObject, PAINTSTRUCTFc.fErase);
-	lpStruct->rcPaint.left = (*env)->GetIntField(env, lpObject, PAINTSTRUCTFc.left);
-	lpStruct->rcPaint.top = (*env)->GetIntField(env, lpObject, PAINTSTRUCTFc.top);
-	lpStruct->rcPaint.right = (*env)->GetIntField(env, lpObject, PAINTSTRUCTFc.right);
-	lpStruct->rcPaint.bottom = (*env)->GetIntField(env, lpObject, PAINTSTRUCTFc.bottom);
-	lpStruct->fRestore = (*env)->GetBooleanField(env, lpObject, PAINTSTRUCTFc.fRestore);
-	lpStruct->fIncUpdate = (*env)->GetBooleanField(env, lpObject, PAINTSTRUCTFc.fIncUpdate);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PAINTSTRUCTFc.rgbReserved);
-	(*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->rgbReserved), (jbyte *)lpStruct->rgbReserved);
-	}
-	return lpStruct;
-}
-
-void setPAINTSTRUCTFields(JNIEnv *env, jobject lpObject, PAINTSTRUCT *lpStruct)
-{
-	if (!PAINTSTRUCTFc.cached) cachePAINTSTRUCTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PAINTSTRUCTFc.hdc, (jint)lpStruct->hdc);
-	(*env)->SetBooleanField(env, lpObject, PAINTSTRUCTFc.fErase, (jboolean)lpStruct->fErase);
-	(*env)->SetIntField(env, lpObject, PAINTSTRUCTFc.left, (jint)lpStruct->rcPaint.left);
-	(*env)->SetIntField(env, lpObject, PAINTSTRUCTFc.top, (jint)lpStruct->rcPaint.top);
-	(*env)->SetIntField(env, lpObject, PAINTSTRUCTFc.right, (jint)lpStruct->rcPaint.right);
-	(*env)->SetIntField(env, lpObject, PAINTSTRUCTFc.bottom, (jint)lpStruct->rcPaint.bottom);
-	(*env)->SetBooleanField(env, lpObject, PAINTSTRUCTFc.fRestore, (jboolean)lpStruct->fRestore);
-	(*env)->SetBooleanField(env, lpObject, PAINTSTRUCTFc.fIncUpdate, (jboolean)lpStruct->fIncUpdate);
-	{
-	jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PAINTSTRUCTFc.rgbReserved);
-	(*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->rgbReserved), (jbyte *)lpStruct->rgbReserved);
-	}
-}
-#endif
-
-#ifndef NO_POINT
-typedef struct POINT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y;
-} POINT_FID_CACHE;
-
-POINT_FID_CACHE POINTFc;
-
-void cachePOINTFields(JNIEnv *env, jobject lpObject)
-{
-	if (POINTFc.cached) return;
-	POINTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	POINTFc.x = (*env)->GetFieldID(env, POINTFc.clazz, "x", "I");
-	POINTFc.y = (*env)->GetFieldID(env, POINTFc.clazz, "y", "I");
-	POINTFc.cached = 1;
-}
-
-POINT *getPOINTFields(JNIEnv *env, jobject lpObject, POINT *lpStruct)
-{
-	if (!POINTFc.cached) cachePOINTFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, POINTFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, POINTFc.y);
-	return lpStruct;
-}
-
-void setPOINTFields(JNIEnv *env, jobject lpObject, POINT *lpStruct)
-{
-	if (!POINTFc.cached) cachePOINTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, POINTFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, POINTFc.y, (jint)lpStruct->y);
-}
-#endif
-
-#ifndef NO_PRINTDLG
-typedef struct PRINTDLG_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID lStructSize, hwndOwner, hDevMode, hDevNames, hDC, Flags, nFromPage, nToPage, nMinPage, nMaxPage, nCopies, hInstance, lCustData, lpfnPrintHook, lpfnSetupHook, lpPrintTemplateName, lpSetupTemplateName, hPrintTemplate, hSetupTemplate;
-} PRINTDLG_FID_CACHE;
-
-PRINTDLG_FID_CACHE PRINTDLGFc;
-
-void cachePRINTDLGFields(JNIEnv *env, jobject lpObject)
-{
-	if (PRINTDLGFc.cached) return;
-	PRINTDLGFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	PRINTDLGFc.lStructSize = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lStructSize", "I");
-	PRINTDLGFc.hwndOwner = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hwndOwner", "I");
-	PRINTDLGFc.hDevMode = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hDevMode", "I");
-	PRINTDLGFc.hDevNames = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hDevNames", "I");
-	PRINTDLGFc.hDC = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hDC", "I");
-	PRINTDLGFc.Flags = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "Flags", "I");
-	PRINTDLGFc.nFromPage = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "nFromPage", "S");
-	PRINTDLGFc.nToPage = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "nToPage", "S");
-	PRINTDLGFc.nMinPage = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "nMinPage", "S");
-	PRINTDLGFc.nMaxPage = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "nMaxPage", "S");
-	PRINTDLGFc.nCopies = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "nCopies", "S");
-	PRINTDLGFc.hInstance = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hInstance", "I");
-	PRINTDLGFc.lCustData = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lCustData", "I");
-	PRINTDLGFc.lpfnPrintHook = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lpfnPrintHook", "I");
-	PRINTDLGFc.lpfnSetupHook = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lpfnSetupHook", "I");
-	PRINTDLGFc.lpPrintTemplateName = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lpPrintTemplateName", "I");
-	PRINTDLGFc.lpSetupTemplateName = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "lpSetupTemplateName", "I");
-	PRINTDLGFc.hPrintTemplate = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hPrintTemplate", "I");
-	PRINTDLGFc.hSetupTemplate = (*env)->GetFieldID(env, PRINTDLGFc.clazz, "hSetupTemplate", "I");
-	PRINTDLGFc.cached = 1;
-}
-
-PRINTDLG *getPRINTDLGFields(JNIEnv *env, jobject lpObject, PRINTDLG *lpStruct)
-{
-	if (!PRINTDLGFc.cached) cachePRINTDLGFields(env, lpObject);
-	lpStruct->lStructSize = (*env)->GetIntField(env, lpObject, PRINTDLGFc.lStructSize);
-	lpStruct->hwndOwner = (HWND)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hwndOwner);
-	lpStruct->hDevMode = (HGLOBAL)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hDevMode);
-	lpStruct->hDevNames = (HGLOBAL)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hDevNames);
-	lpStruct->hDC = (HDC)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hDC);
-	lpStruct->Flags = (*env)->GetIntField(env, lpObject, PRINTDLGFc.Flags);
-	lpStruct->nFromPage = (*env)->GetShortField(env, lpObject, PRINTDLGFc.nFromPage);
-	lpStruct->nToPage = (*env)->GetShortField(env, lpObject, PRINTDLGFc.nToPage);
-	lpStruct->nMinPage = (*env)->GetShortField(env, lpObject, PRINTDLGFc.nMinPage);
-	lpStruct->nMaxPage = (*env)->GetShortField(env, lpObject, PRINTDLGFc.nMaxPage);
-	lpStruct->nCopies = (*env)->GetShortField(env, lpObject, PRINTDLGFc.nCopies);
-	lpStruct->hInstance = (HINSTANCE)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hInstance);
-	lpStruct->lCustData = (*env)->GetIntField(env, lpObject, PRINTDLGFc.lCustData);
-	lpStruct->lpfnPrintHook = (LPPRINTHOOKPROC)(*env)->GetIntField(env, lpObject, PRINTDLGFc.lpfnPrintHook);
-	lpStruct->lpfnSetupHook = (LPPRINTHOOKPROC)(*env)->GetIntField(env, lpObject, PRINTDLGFc.lpfnSetupHook);
-	lpStruct->lpPrintTemplateName = (LPCTSTR)(*env)->GetIntField(env, lpObject, PRINTDLGFc.lpPrintTemplateName);
-	lpStruct->lpSetupTemplateName = (LPCTSTR)(*env)->GetIntField(env, lpObject, PRINTDLGFc.lpSetupTemplateName);
-	lpStruct->hPrintTemplate = (HGLOBAL)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hPrintTemplate);
-	lpStruct->hSetupTemplate = (HGLOBAL)(*env)->GetIntField(env, lpObject, PRINTDLGFc.hSetupTemplate);
-	return lpStruct;
-}
-
-void setPRINTDLGFields(JNIEnv *env, jobject lpObject, PRINTDLG *lpStruct)
-{
-	if (!PRINTDLGFc.cached) cachePRINTDLGFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lStructSize, (jint)lpStruct->lStructSize);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hwndOwner, (jint)lpStruct->hwndOwner);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hDevMode, (jint)lpStruct->hDevMode);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hDevNames, (jint)lpStruct->hDevNames);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hDC, (jint)lpStruct->hDC);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.Flags, (jint)lpStruct->Flags);
-	(*env)->SetShortField(env, lpObject, PRINTDLGFc.nFromPage, (jshort)lpStruct->nFromPage);
-	(*env)->SetShortField(env, lpObject, PRINTDLGFc.nToPage, (jshort)lpStruct->nToPage);
-	(*env)->SetShortField(env, lpObject, PRINTDLGFc.nMinPage, (jshort)lpStruct->nMinPage);
-	(*env)->SetShortField(env, lpObject, PRINTDLGFc.nMaxPage, (jshort)lpStruct->nMaxPage);
-	(*env)->SetShortField(env, lpObject, PRINTDLGFc.nCopies, (jshort)lpStruct->nCopies);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lCustData, (jint)lpStruct->lCustData);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lpfnPrintHook, (jint)lpStruct->lpfnPrintHook);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lpfnSetupHook, (jint)lpStruct->lpfnSetupHook);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lpPrintTemplateName, (jint)lpStruct->lpPrintTemplateName);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.lpSetupTemplateName, (jint)lpStruct->lpSetupTemplateName);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hPrintTemplate, (jint)lpStruct->hPrintTemplate);
-	(*env)->SetIntField(env, lpObject, PRINTDLGFc.hSetupTemplate, (jint)lpStruct->hSetupTemplate);
-}
-#endif
-
-#ifndef NO_REBARBANDINFO
-typedef struct REBARBANDINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fMask, fStyle, clrFore, clrBack, lpText, cch, iImage, hwndChild, cxMinChild, cyMinChild, cx, hbmBack, wID, cyChild, cyMaxChild, cyIntegral, cxIdeal, lParam, cxHeader;
-} REBARBANDINFO_FID_CACHE;
-
-REBARBANDINFO_FID_CACHE REBARBANDINFOFc;
-
-void cacheREBARBANDINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (REBARBANDINFOFc.cached) return;
-	REBARBANDINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	REBARBANDINFOFc.cbSize = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cbSize", "I");
-	REBARBANDINFOFc.fMask = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "fMask", "I");
-	REBARBANDINFOFc.fStyle = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "fStyle", "I");
-	REBARBANDINFOFc.clrFore = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "clrFore", "I");
-	REBARBANDINFOFc.clrBack = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "clrBack", "I");
-	REBARBANDINFOFc.lpText = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "lpText", "I");
-	REBARBANDINFOFc.cch = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cch", "I");
-	REBARBANDINFOFc.iImage = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "iImage", "I");
-	REBARBANDINFOFc.hwndChild = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "hwndChild", "I");
-	REBARBANDINFOFc.cxMinChild = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cxMinChild", "I");
-	REBARBANDINFOFc.cyMinChild = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cyMinChild", "I");
-	REBARBANDINFOFc.cx = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cx", "I");
-	REBARBANDINFOFc.hbmBack = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "hbmBack", "I");
-	REBARBANDINFOFc.wID = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "wID", "I");
-	REBARBANDINFOFc.cyChild = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cyChild", "I");
-	REBARBANDINFOFc.cyMaxChild = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cyMaxChild", "I");
-	REBARBANDINFOFc.cyIntegral = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cyIntegral", "I");
-	REBARBANDINFOFc.cxIdeal = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cxIdeal", "I");
-	REBARBANDINFOFc.lParam = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "lParam", "I");
-	REBARBANDINFOFc.cxHeader = (*env)->GetFieldID(env, REBARBANDINFOFc.clazz, "cxHeader", "I");
-	REBARBANDINFOFc.cached = 1;
-}
-
-REBARBANDINFO *getREBARBANDINFOFields(JNIEnv *env, jobject lpObject, REBARBANDINFO *lpStruct)
-{
-	if (!REBARBANDINFOFc.cached) cacheREBARBANDINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cbSize);
-	lpStruct->fMask = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.fMask);
-	lpStruct->fStyle = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.fStyle);
-	lpStruct->clrFore = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.clrFore);
-	lpStruct->clrBack = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.clrBack);
-	lpStruct->lpText = (LPTSTR)(*env)->GetIntField(env, lpObject, REBARBANDINFOFc.lpText);
-	lpStruct->cch = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cch);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.iImage);
-	lpStruct->hwndChild = (HWND)(*env)->GetIntField(env, lpObject, REBARBANDINFOFc.hwndChild);
-	lpStruct->cxMinChild = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cxMinChild);
-	lpStruct->cyMinChild = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cyMinChild);
-	lpStruct->cx = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cx);
-	lpStruct->hbmBack = (HBITMAP)(*env)->GetIntField(env, lpObject, REBARBANDINFOFc.hbmBack);
-	lpStruct->wID = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.wID);
-	lpStruct->cyChild = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cyChild);
-	lpStruct->cyMaxChild = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cyMaxChild);
-	lpStruct->cyIntegral = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cyIntegral);
-	lpStruct->cxIdeal = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cxIdeal);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.lParam);
-#ifndef _WIN32_WCE
-	lpStruct->cxHeader = (*env)->GetIntField(env, lpObject, REBARBANDINFOFc.cxHeader);
-#endif
-	return lpStruct;
-}
-
-void setREBARBANDINFOFields(JNIEnv *env, jobject lpObject, REBARBANDINFO *lpStruct)
-{
-	if (!REBARBANDINFOFc.cached) cacheREBARBANDINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.fMask, (jint)lpStruct->fMask);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.fStyle, (jint)lpStruct->fStyle);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.clrFore, (jint)lpStruct->clrFore);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.clrBack, (jint)lpStruct->clrBack);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.lpText, (jint)lpStruct->lpText);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cch, (jint)lpStruct->cch);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.hwndChild, (jint)lpStruct->hwndChild);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cxMinChild, (jint)lpStruct->cxMinChild);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cyMinChild, (jint)lpStruct->cyMinChild);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cx, (jint)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.hbmBack, (jint)lpStruct->hbmBack);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.wID, (jint)lpStruct->wID);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cyChild, (jint)lpStruct->cyChild);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cyMaxChild, (jint)lpStruct->cyMaxChild);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cyIntegral, (jint)lpStruct->cyIntegral);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cxIdeal, (jint)lpStruct->cxIdeal);
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.lParam, (jint)lpStruct->lParam);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, REBARBANDINFOFc.cxHeader, (jint)lpStruct->cxHeader);
-#endif
-}
-#endif
-
-#ifndef NO_RECT
-typedef struct RECT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID left, top, right, bottom;
-} RECT_FID_CACHE;
-
-RECT_FID_CACHE RECTFc;
-
-void cacheRECTFields(JNIEnv *env, jobject lpObject)
-{
-	if (RECTFc.cached) return;
-	RECTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	RECTFc.left = (*env)->GetFieldID(env, RECTFc.clazz, "left", "I");
-	RECTFc.top = (*env)->GetFieldID(env, RECTFc.clazz, "top", "I");
-	RECTFc.right = (*env)->GetFieldID(env, RECTFc.clazz, "right", "I");
-	RECTFc.bottom = (*env)->GetFieldID(env, RECTFc.clazz, "bottom", "I");
-	RECTFc.cached = 1;
-}
-
-RECT *getRECTFields(JNIEnv *env, jobject lpObject, RECT *lpStruct)
-{
-	if (!RECTFc.cached) cacheRECTFields(env, lpObject);
-	lpStruct->left = (*env)->GetIntField(env, lpObject, RECTFc.left);
-	lpStruct->top = (*env)->GetIntField(env, lpObject, RECTFc.top);
-	lpStruct->right = (*env)->GetIntField(env, lpObject, RECTFc.right);
-	lpStruct->bottom = (*env)->GetIntField(env, lpObject, RECTFc.bottom);
-	return lpStruct;
-}
-
-void setRECTFields(JNIEnv *env, jobject lpObject, RECT *lpStruct)
-{
-	if (!RECTFc.cached) cacheRECTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, RECTFc.left, (jint)lpStruct->left);
-	(*env)->SetIntField(env, lpObject, RECTFc.top, (jint)lpStruct->top);
-	(*env)->SetIntField(env, lpObject, RECTFc.right, (jint)lpStruct->right);
-	(*env)->SetIntField(env, lpObject, RECTFc.bottom, (jint)lpStruct->bottom);
-}
-#endif
-
-#ifndef NO_SCRIPT_ANALYSIS
-typedef struct SCRIPT_ANALYSIS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID eScript, fRTL, fLayoutRTL, fLinkBefore, fLinkAfter, fLogicalOrder, fNoGlyphIndex, s;
-} SCRIPT_ANALYSIS_FID_CACHE;
-
-SCRIPT_ANALYSIS_FID_CACHE SCRIPT_ANALYSISFc;
-
-void cacheSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_ANALYSISFc.cached) return;
-	SCRIPT_ANALYSISFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_ANALYSISFc.eScript = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "eScript", "S");
-	SCRIPT_ANALYSISFc.fRTL = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fRTL", "Z");
-	SCRIPT_ANALYSISFc.fLayoutRTL = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fLayoutRTL", "Z");
-	SCRIPT_ANALYSISFc.fLinkBefore = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fLinkBefore", "Z");
-	SCRIPT_ANALYSISFc.fLinkAfter = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fLinkAfter", "Z");
-	SCRIPT_ANALYSISFc.fLogicalOrder = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fLogicalOrder", "Z");
-	SCRIPT_ANALYSISFc.fNoGlyphIndex = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "fNoGlyphIndex", "Z");
-	SCRIPT_ANALYSISFc.s = (*env)->GetFieldID(env, SCRIPT_ANALYSISFc.clazz, "s", "Lorg/eclipse/swt/internal/win32/SCRIPT_STATE;");
-	SCRIPT_ANALYSISFc.cached = 1;
-}
-
-SCRIPT_ANALYSIS *getSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject, SCRIPT_ANALYSIS *lpStruct)
-{
-	if (!SCRIPT_ANALYSISFc.cached) cacheSCRIPT_ANALYSISFields(env, lpObject);
-	lpStruct->eScript = (*env)->GetShortField(env, lpObject, SCRIPT_ANALYSISFc.eScript);
-	lpStruct->fRTL = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fRTL);
-	lpStruct->fLayoutRTL = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLayoutRTL);
-	lpStruct->fLinkBefore = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLinkBefore);
-	lpStruct->fLinkAfter = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLinkAfter);
-	lpStruct->fLogicalOrder = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLogicalOrder);
-	lpStruct->fNoGlyphIndex = (*env)->GetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fNoGlyphIndex);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, SCRIPT_ANALYSISFc.s);
-	if (lpObject1 != NULL) getSCRIPT_STATEFields(env, lpObject1, &lpStruct->s);
-	}
-	return lpStruct;
-}
-
-void setSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject, SCRIPT_ANALYSIS *lpStruct)
-{
-	if (!SCRIPT_ANALYSISFc.cached) cacheSCRIPT_ANALYSISFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, SCRIPT_ANALYSISFc.eScript, (jshort)lpStruct->eScript);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fRTL, (jboolean)lpStruct->fRTL);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLayoutRTL, (jboolean)lpStruct->fLayoutRTL);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLinkBefore, (jboolean)lpStruct->fLinkBefore);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLinkAfter, (jboolean)lpStruct->fLinkAfter);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fLogicalOrder, (jboolean)lpStruct->fLogicalOrder);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_ANALYSISFc.fNoGlyphIndex, (jboolean)lpStruct->fNoGlyphIndex);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, SCRIPT_ANALYSISFc.s);
-	if (lpObject1 != NULL) setSCRIPT_STATEFields(env, lpObject1, &lpStruct->s);
-	}
-}
-#endif
-
-#ifndef NO_SCRIPT_CONTROL
-typedef struct SCRIPT_CONTROL_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID uDefaultLanguage, fContextDigits, fInvertPreBoundDir, fInvertPostBoundDir, fLinkStringBefore, fLinkStringAfter, fNeutralOverride, fNumericOverride, fLegacyBidiClass, fReserved;
-} SCRIPT_CONTROL_FID_CACHE;
-
-SCRIPT_CONTROL_FID_CACHE SCRIPT_CONTROLFc;
-
-void cacheSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_CONTROLFc.cached) return;
-	SCRIPT_CONTROLFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_CONTROLFc.uDefaultLanguage = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "uDefaultLanguage", "I");
-	SCRIPT_CONTROLFc.fContextDigits = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fContextDigits", "Z");
-	SCRIPT_CONTROLFc.fInvertPreBoundDir = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fInvertPreBoundDir", "Z");
-	SCRIPT_CONTROLFc.fInvertPostBoundDir = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fInvertPostBoundDir", "Z");
-	SCRIPT_CONTROLFc.fLinkStringBefore = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fLinkStringBefore", "Z");
-	SCRIPT_CONTROLFc.fLinkStringAfter = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fLinkStringAfter", "Z");
-	SCRIPT_CONTROLFc.fNeutralOverride = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fNeutralOverride", "Z");
-	SCRIPT_CONTROLFc.fNumericOverride = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fNumericOverride", "Z");
-	SCRIPT_CONTROLFc.fLegacyBidiClass = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fLegacyBidiClass", "Z");
-	SCRIPT_CONTROLFc.fReserved = (*env)->GetFieldID(env, SCRIPT_CONTROLFc.clazz, "fReserved", "I");
-	SCRIPT_CONTROLFc.cached = 1;
-}
-
-SCRIPT_CONTROL *getSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject, SCRIPT_CONTROL *lpStruct)
-{
-	if (!SCRIPT_CONTROLFc.cached) cacheSCRIPT_CONTROLFields(env, lpObject);
-	lpStruct->uDefaultLanguage = (*env)->GetIntField(env, lpObject, SCRIPT_CONTROLFc.uDefaultLanguage);
-	lpStruct->fContextDigits = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fContextDigits);
-	lpStruct->fInvertPreBoundDir = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fInvertPreBoundDir);
-	lpStruct->fInvertPostBoundDir = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fInvertPostBoundDir);
-	lpStruct->fLinkStringBefore = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLinkStringBefore);
-	lpStruct->fLinkStringAfter = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLinkStringAfter);
-	lpStruct->fNeutralOverride = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fNeutralOverride);
-	lpStruct->fNumericOverride = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fNumericOverride);
-	lpStruct->fLegacyBidiClass = (*env)->GetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLegacyBidiClass);
-	lpStruct->fReserved = (*env)->GetIntField(env, lpObject, SCRIPT_CONTROLFc.fReserved);
-	return lpStruct;
-}
-
-void setSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject, SCRIPT_CONTROL *lpStruct)
-{
-	if (!SCRIPT_CONTROLFc.cached) cacheSCRIPT_CONTROLFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SCRIPT_CONTROLFc.uDefaultLanguage, (jint)lpStruct->uDefaultLanguage);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fContextDigits, (jboolean)lpStruct->fContextDigits);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fInvertPreBoundDir, (jboolean)lpStruct->fInvertPreBoundDir);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fInvertPostBoundDir, (jboolean)lpStruct->fInvertPostBoundDir);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLinkStringBefore, (jboolean)lpStruct->fLinkStringBefore);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLinkStringAfter, (jboolean)lpStruct->fLinkStringAfter);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fNeutralOverride, (jboolean)lpStruct->fNeutralOverride);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fNumericOverride, (jboolean)lpStruct->fNumericOverride);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_CONTROLFc.fLegacyBidiClass, (jboolean)lpStruct->fLegacyBidiClass);
-	(*env)->SetIntField(env, lpObject, SCRIPT_CONTROLFc.fReserved, (jint)lpStruct->fReserved);
-}
-#endif
-
-#ifndef NO_SCRIPT_DIGITSUBSTITUTE
-typedef struct SCRIPT_DIGITSUBSTITUTE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID NationalDigitLanguage, TraditionalDigitLanguage, DigitSubstitute, dwReserved;
-} SCRIPT_DIGITSUBSTITUTE_FID_CACHE;
-
-SCRIPT_DIGITSUBSTITUTE_FID_CACHE SCRIPT_DIGITSUBSTITUTEFc;
-
-void cacheSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_DIGITSUBSTITUTEFc.cached) return;
-	SCRIPT_DIGITSUBSTITUTEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_DIGITSUBSTITUTEFc.NationalDigitLanguage = (*env)->GetFieldID(env, SCRIPT_DIGITSUBSTITUTEFc.clazz, "NationalDigitLanguage", "S");
-	SCRIPT_DIGITSUBSTITUTEFc.TraditionalDigitLanguage = (*env)->GetFieldID(env, SCRIPT_DIGITSUBSTITUTEFc.clazz, "TraditionalDigitLanguage", "S");
-	SCRIPT_DIGITSUBSTITUTEFc.DigitSubstitute = (*env)->GetFieldID(env, SCRIPT_DIGITSUBSTITUTEFc.clazz, "DigitSubstitute", "B");
-	SCRIPT_DIGITSUBSTITUTEFc.dwReserved = (*env)->GetFieldID(env, SCRIPT_DIGITSUBSTITUTEFc.clazz, "dwReserved", "I");
-	SCRIPT_DIGITSUBSTITUTEFc.cached = 1;
-}
-
-SCRIPT_DIGITSUBSTITUTE *getSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject, SCRIPT_DIGITSUBSTITUTE *lpStruct)
-{
-	if (!SCRIPT_DIGITSUBSTITUTEFc.cached) cacheSCRIPT_DIGITSUBSTITUTEFields(env, lpObject);
-	lpStruct->NationalDigitLanguage = (*env)->GetShortField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.NationalDigitLanguage);
-	lpStruct->TraditionalDigitLanguage = (*env)->GetShortField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.TraditionalDigitLanguage);
-	lpStruct->DigitSubstitute = (*env)->GetByteField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.DigitSubstitute);
-	lpStruct->dwReserved = (*env)->GetIntField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.dwReserved);
-	return lpStruct;
-}
-
-void setSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject, SCRIPT_DIGITSUBSTITUTE *lpStruct)
-{
-	if (!SCRIPT_DIGITSUBSTITUTEFc.cached) cacheSCRIPT_DIGITSUBSTITUTEFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.NationalDigitLanguage, (jshort)lpStruct->NationalDigitLanguage);
-	(*env)->SetShortField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.TraditionalDigitLanguage, (jshort)lpStruct->TraditionalDigitLanguage);
-	(*env)->SetByteField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.DigitSubstitute, (jbyte)lpStruct->DigitSubstitute);
-	(*env)->SetIntField(env, lpObject, SCRIPT_DIGITSUBSTITUTEFc.dwReserved, (jint)lpStruct->dwReserved);
-}
-#endif
-
-#ifndef NO_SCRIPT_FONTPROPERTIES
-typedef struct SCRIPT_FONTPROPERTIES_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cBytes, wgBlank, wgDefault, wgInvalid, wgKashida, iKashidaWidth;
-} SCRIPT_FONTPROPERTIES_FID_CACHE;
-
-SCRIPT_FONTPROPERTIES_FID_CACHE SCRIPT_FONTPROPERTIESFc;
-
-void cacheSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_FONTPROPERTIESFc.cached) return;
-	SCRIPT_FONTPROPERTIESFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_FONTPROPERTIESFc.cBytes = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "cBytes", "I");
-	SCRIPT_FONTPROPERTIESFc.wgBlank = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "wgBlank", "S");
-	SCRIPT_FONTPROPERTIESFc.wgDefault = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "wgDefault", "S");
-	SCRIPT_FONTPROPERTIESFc.wgInvalid = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "wgInvalid", "S");
-	SCRIPT_FONTPROPERTIESFc.wgKashida = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "wgKashida", "S");
-	SCRIPT_FONTPROPERTIESFc.iKashidaWidth = (*env)->GetFieldID(env, SCRIPT_FONTPROPERTIESFc.clazz, "iKashidaWidth", "I");
-	SCRIPT_FONTPROPERTIESFc.cached = 1;
-}
-
-SCRIPT_FONTPROPERTIES *getSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_FONTPROPERTIES *lpStruct)
-{
-	if (!SCRIPT_FONTPROPERTIESFc.cached) cacheSCRIPT_FONTPROPERTIESFields(env, lpObject);
-	lpStruct->cBytes = (*env)->GetIntField(env, lpObject, SCRIPT_FONTPROPERTIESFc.cBytes);
-	lpStruct->wgBlank = (*env)->GetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgBlank);
-	lpStruct->wgDefault = (*env)->GetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgDefault);
-	lpStruct->wgInvalid = (*env)->GetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgInvalid);
-	lpStruct->wgKashida = (*env)->GetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgKashida);
-	lpStruct->iKashidaWidth = (*env)->GetIntField(env, lpObject, SCRIPT_FONTPROPERTIESFc.iKashidaWidth);
-	return lpStruct;
-}
-
-void setSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_FONTPROPERTIES *lpStruct)
-{
-	if (!SCRIPT_FONTPROPERTIESFc.cached) cacheSCRIPT_FONTPROPERTIESFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SCRIPT_FONTPROPERTIESFc.cBytes, (jint)lpStruct->cBytes);
-	(*env)->SetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgBlank, (jshort)lpStruct->wgBlank);
-	(*env)->SetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgDefault, (jshort)lpStruct->wgDefault);
-	(*env)->SetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgInvalid, (jshort)lpStruct->wgInvalid);
-	(*env)->SetShortField(env, lpObject, SCRIPT_FONTPROPERTIESFc.wgKashida, (jshort)lpStruct->wgKashida);
-	(*env)->SetIntField(env, lpObject, SCRIPT_FONTPROPERTIESFc.iKashidaWidth, (jint)lpStruct->iKashidaWidth);
-}
-#endif
-
-#ifndef NO_SCRIPT_ITEM
-typedef struct SCRIPT_ITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iCharPos, a;
-} SCRIPT_ITEM_FID_CACHE;
-
-SCRIPT_ITEM_FID_CACHE SCRIPT_ITEMFc;
-
-void cacheSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_ITEMFc.cached) return;
-	SCRIPT_ITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_ITEMFc.iCharPos = (*env)->GetFieldID(env, SCRIPT_ITEMFc.clazz, "iCharPos", "I");
-	SCRIPT_ITEMFc.a = (*env)->GetFieldID(env, SCRIPT_ITEMFc.clazz, "a", "Lorg/eclipse/swt/internal/win32/SCRIPT_ANALYSIS;");
-	SCRIPT_ITEMFc.cached = 1;
-}
-
-SCRIPT_ITEM *getSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject, SCRIPT_ITEM *lpStruct)
-{
-	if (!SCRIPT_ITEMFc.cached) cacheSCRIPT_ITEMFields(env, lpObject);
-	lpStruct->iCharPos = (*env)->GetIntField(env, lpObject, SCRIPT_ITEMFc.iCharPos);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, SCRIPT_ITEMFc.a);
-	if (lpObject1 != NULL) getSCRIPT_ANALYSISFields(env, lpObject1, &lpStruct->a);
-	}
-	return lpStruct;
-}
-
-void setSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject, SCRIPT_ITEM *lpStruct)
-{
-	if (!SCRIPT_ITEMFc.cached) cacheSCRIPT_ITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SCRIPT_ITEMFc.iCharPos, (jint)lpStruct->iCharPos);
-	{
-	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, SCRIPT_ITEMFc.a);
-	if (lpObject1 != NULL) setSCRIPT_ANALYSISFields(env, lpObject1, &lpStruct->a);
-	}
-}
-#endif
-
-#ifndef NO_SCRIPT_LOGATTR
-typedef struct SCRIPT_LOGATTR_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID fSoftBreak, fWhiteSpace, fCharStop, fWordStop, fInvalid, fReserved;
-} SCRIPT_LOGATTR_FID_CACHE;
-
-SCRIPT_LOGATTR_FID_CACHE SCRIPT_LOGATTRFc;
-
-void cacheSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_LOGATTRFc.cached) return;
-	SCRIPT_LOGATTRFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_LOGATTRFc.fSoftBreak = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fSoftBreak", "Z");
-	SCRIPT_LOGATTRFc.fWhiteSpace = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fWhiteSpace", "Z");
-	SCRIPT_LOGATTRFc.fCharStop = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fCharStop", "Z");
-	SCRIPT_LOGATTRFc.fWordStop = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fWordStop", "Z");
-	SCRIPT_LOGATTRFc.fInvalid = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fInvalid", "Z");
-	SCRIPT_LOGATTRFc.fReserved = (*env)->GetFieldID(env, SCRIPT_LOGATTRFc.clazz, "fReserved", "B");
-	SCRIPT_LOGATTRFc.cached = 1;
-}
-
-SCRIPT_LOGATTR *getSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject, SCRIPT_LOGATTR *lpStruct)
-{
-	if (!SCRIPT_LOGATTRFc.cached) cacheSCRIPT_LOGATTRFields(env, lpObject);
-	lpStruct->fSoftBreak = (*env)->GetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fSoftBreak);
-	lpStruct->fWhiteSpace = (*env)->GetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fWhiteSpace);
-	lpStruct->fCharStop = (*env)->GetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fCharStop);
-	lpStruct->fWordStop = (*env)->GetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fWordStop);
-	lpStruct->fInvalid = (*env)->GetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fInvalid);
-	lpStruct->fReserved = (*env)->GetByteField(env, lpObject, SCRIPT_LOGATTRFc.fReserved);
-	return lpStruct;
-}
-
-void setSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject, SCRIPT_LOGATTR *lpStruct)
-{
-	if (!SCRIPT_LOGATTRFc.cached) cacheSCRIPT_LOGATTRFields(env, lpObject);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fSoftBreak, (jboolean)lpStruct->fSoftBreak);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fWhiteSpace, (jboolean)lpStruct->fWhiteSpace);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fCharStop, (jboolean)lpStruct->fCharStop);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fWordStop, (jboolean)lpStruct->fWordStop);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_LOGATTRFc.fInvalid, (jboolean)lpStruct->fInvalid);
-	(*env)->SetByteField(env, lpObject, SCRIPT_LOGATTRFc.fReserved, (jbyte)lpStruct->fReserved);
-}
-#endif
-
-#ifndef NO_SCRIPT_PROPERTIES
-typedef struct SCRIPT_PROPERTIES_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID langid, fNumeric, fComplex, fNeedsWordBreaking, fNeedsCaretInfo, bCharSet, fControl, fPrivateUseArea, fNeedsCharacterJustify, fInvalidGlyph, fInvalidLogAttr, fCDM, fAmbiguousCharSet, fClusterSizeVaries, fRejectInvalid;
-} SCRIPT_PROPERTIES_FID_CACHE;
-
-SCRIPT_PROPERTIES_FID_CACHE SCRIPT_PROPERTIESFc;
-
-void cacheSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_PROPERTIESFc.cached) return;
-	SCRIPT_PROPERTIESFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_PROPERTIESFc.langid = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "langid", "S");
-	SCRIPT_PROPERTIESFc.fNumeric = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fNumeric", "Z");
-	SCRIPT_PROPERTIESFc.fComplex = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fComplex", "Z");
-	SCRIPT_PROPERTIESFc.fNeedsWordBreaking = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fNeedsWordBreaking", "Z");
-	SCRIPT_PROPERTIESFc.fNeedsCaretInfo = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fNeedsCaretInfo", "Z");
-	SCRIPT_PROPERTIESFc.bCharSet = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "bCharSet", "B");
-	SCRIPT_PROPERTIESFc.fControl = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fControl", "Z");
-	SCRIPT_PROPERTIESFc.fPrivateUseArea = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fPrivateUseArea", "Z");
-	SCRIPT_PROPERTIESFc.fNeedsCharacterJustify = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fNeedsCharacterJustify", "Z");
-	SCRIPT_PROPERTIESFc.fInvalidGlyph = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fInvalidGlyph", "Z");
-	SCRIPT_PROPERTIESFc.fInvalidLogAttr = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fInvalidLogAttr", "Z");
-	SCRIPT_PROPERTIESFc.fCDM = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fCDM", "Z");
-	SCRIPT_PROPERTIESFc.fAmbiguousCharSet = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fAmbiguousCharSet", "Z");
-	SCRIPT_PROPERTIESFc.fClusterSizeVaries = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fClusterSizeVaries", "Z");
-	SCRIPT_PROPERTIESFc.fRejectInvalid = (*env)->GetFieldID(env, SCRIPT_PROPERTIESFc.clazz, "fRejectInvalid", "Z");
-	SCRIPT_PROPERTIESFc.cached = 1;
-}
-
-SCRIPT_PROPERTIES *getSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_PROPERTIES *lpStruct)
-{
-	if (!SCRIPT_PROPERTIESFc.cached) cacheSCRIPT_PROPERTIESFields(env, lpObject);
-	lpStruct->langid = (*env)->GetShortField(env, lpObject, SCRIPT_PROPERTIESFc.langid);
-	lpStruct->fNumeric = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNumeric);
-	lpStruct->fComplex = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fComplex);
-	lpStruct->fNeedsWordBreaking = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsWordBreaking);
-	lpStruct->fNeedsCaretInfo = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsCaretInfo);
-	lpStruct->bCharSet = (*env)->GetByteField(env, lpObject, SCRIPT_PROPERTIESFc.bCharSet);
-	lpStruct->fControl = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fControl);
-	lpStruct->fPrivateUseArea = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fPrivateUseArea);
-	lpStruct->fNeedsCharacterJustify = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsCharacterJustify);
-	lpStruct->fInvalidGlyph = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fInvalidGlyph);
-	lpStruct->fInvalidLogAttr = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fInvalidLogAttr);
-	lpStruct->fCDM = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fCDM);
-	lpStruct->fAmbiguousCharSet = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fAmbiguousCharSet);
-	lpStruct->fClusterSizeVaries = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fClusterSizeVaries);
-	lpStruct->fRejectInvalid = (*env)->GetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fRejectInvalid);
-	return lpStruct;
-}
-
-void setSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_PROPERTIES *lpStruct)
-{
-	if (!SCRIPT_PROPERTIESFc.cached) cacheSCRIPT_PROPERTIESFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, SCRIPT_PROPERTIESFc.langid, (jshort)lpStruct->langid);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNumeric, (jboolean)lpStruct->fNumeric);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fComplex, (jboolean)lpStruct->fComplex);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsWordBreaking, (jboolean)lpStruct->fNeedsWordBreaking);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsCaretInfo, (jboolean)lpStruct->fNeedsCaretInfo);
-	(*env)->SetByteField(env, lpObject, SCRIPT_PROPERTIESFc.bCharSet, (jbyte)lpStruct->bCharSet);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fControl, (jboolean)lpStruct->fControl);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fPrivateUseArea, (jboolean)lpStruct->fPrivateUseArea);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fNeedsCharacterJustify, (jboolean)lpStruct->fNeedsCharacterJustify);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fInvalidGlyph, (jboolean)lpStruct->fInvalidGlyph);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fInvalidLogAttr, (jboolean)lpStruct->fInvalidLogAttr);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fCDM, (jboolean)lpStruct->fCDM);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fAmbiguousCharSet, (jboolean)lpStruct->fAmbiguousCharSet);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fClusterSizeVaries, (jboolean)lpStruct->fClusterSizeVaries);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_PROPERTIESFc.fRejectInvalid, (jboolean)lpStruct->fRejectInvalid);
-}
-#endif
-
-#ifndef NO_SCRIPT_STATE
-typedef struct SCRIPT_STATE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID uBidiLevel, fOverrideDirection, fInhibitSymSwap, fCharShape, fDigitSubstitute, fInhibitLigate, fDisplayZWG, fArabicNumContext, fGcpClusters, fReserved, fEngineReserved;
-} SCRIPT_STATE_FID_CACHE;
-
-SCRIPT_STATE_FID_CACHE SCRIPT_STATEFc;
-
-void cacheSCRIPT_STATEFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCRIPT_STATEFc.cached) return;
-	SCRIPT_STATEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCRIPT_STATEFc.uBidiLevel = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "uBidiLevel", "S");
-	SCRIPT_STATEFc.fOverrideDirection = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fOverrideDirection", "Z");
-	SCRIPT_STATEFc.fInhibitSymSwap = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fInhibitSymSwap", "Z");
-	SCRIPT_STATEFc.fCharShape = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fCharShape", "Z");
-	SCRIPT_STATEFc.fDigitSubstitute = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fDigitSubstitute", "Z");
-	SCRIPT_STATEFc.fInhibitLigate = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fInhibitLigate", "Z");
-	SCRIPT_STATEFc.fDisplayZWG = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fDisplayZWG", "Z");
-	SCRIPT_STATEFc.fArabicNumContext = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fArabicNumContext", "Z");
-	SCRIPT_STATEFc.fGcpClusters = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fGcpClusters", "Z");
-	SCRIPT_STATEFc.fReserved = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fReserved", "Z");
-	SCRIPT_STATEFc.fEngineReserved = (*env)->GetFieldID(env, SCRIPT_STATEFc.clazz, "fEngineReserved", "S");
-	SCRIPT_STATEFc.cached = 1;
-}
-
-SCRIPT_STATE *getSCRIPT_STATEFields(JNIEnv *env, jobject lpObject, SCRIPT_STATE *lpStruct)
-{
-	if (!SCRIPT_STATEFc.cached) cacheSCRIPT_STATEFields(env, lpObject);
-	lpStruct->uBidiLevel = (*env)->GetShortField(env, lpObject, SCRIPT_STATEFc.uBidiLevel);
-	lpStruct->fOverrideDirection = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fOverrideDirection);
-	lpStruct->fInhibitSymSwap = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fInhibitSymSwap);
-	lpStruct->fCharShape = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fCharShape);
-	lpStruct->fDigitSubstitute = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fDigitSubstitute);
-	lpStruct->fInhibitLigate = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fInhibitLigate);
-	lpStruct->fDisplayZWG = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fDisplayZWG);
-	lpStruct->fArabicNumContext = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fArabicNumContext);
-	lpStruct->fGcpClusters = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fGcpClusters);
-	lpStruct->fReserved = (*env)->GetBooleanField(env, lpObject, SCRIPT_STATEFc.fReserved);
-	lpStruct->fEngineReserved = (*env)->GetShortField(env, lpObject, SCRIPT_STATEFc.fEngineReserved);
-	return lpStruct;
-}
-
-void setSCRIPT_STATEFields(JNIEnv *env, jobject lpObject, SCRIPT_STATE *lpStruct)
-{
-	if (!SCRIPT_STATEFc.cached) cacheSCRIPT_STATEFields(env, lpObject);
-	(*env)->SetShortField(env, lpObject, SCRIPT_STATEFc.uBidiLevel, (jshort)lpStruct->uBidiLevel);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fOverrideDirection, (jboolean)lpStruct->fOverrideDirection);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fInhibitSymSwap, (jboolean)lpStruct->fInhibitSymSwap);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fCharShape, (jboolean)lpStruct->fCharShape);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fDigitSubstitute, (jboolean)lpStruct->fDigitSubstitute);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fInhibitLigate, (jboolean)lpStruct->fInhibitLigate);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fDisplayZWG, (jboolean)lpStruct->fDisplayZWG);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fArabicNumContext, (jboolean)lpStruct->fArabicNumContext);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fGcpClusters, (jboolean)lpStruct->fGcpClusters);
-	(*env)->SetBooleanField(env, lpObject, SCRIPT_STATEFc.fReserved, (jboolean)lpStruct->fReserved);
-	(*env)->SetShortField(env, lpObject, SCRIPT_STATEFc.fEngineReserved, (jshort)lpStruct->fEngineReserved);
-}
-#endif
-
-#ifndef NO_SCROLLINFO
-typedef struct SCROLLINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fMask, nMin, nMax, nPage, nPos, nTrackPos;
-} SCROLLINFO_FID_CACHE;
-
-SCROLLINFO_FID_CACHE SCROLLINFOFc;
-
-void cacheSCROLLINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SCROLLINFOFc.cached) return;
-	SCROLLINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SCROLLINFOFc.cbSize = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "cbSize", "I");
-	SCROLLINFOFc.fMask = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "fMask", "I");
-	SCROLLINFOFc.nMin = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "nMin", "I");
-	SCROLLINFOFc.nMax = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "nMax", "I");
-	SCROLLINFOFc.nPage = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "nPage", "I");
-	SCROLLINFOFc.nPos = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "nPos", "I");
-	SCROLLINFOFc.nTrackPos = (*env)->GetFieldID(env, SCROLLINFOFc.clazz, "nTrackPos", "I");
-	SCROLLINFOFc.cached = 1;
-}
-
-SCROLLINFO *getSCROLLINFOFields(JNIEnv *env, jobject lpObject, SCROLLINFO *lpStruct)
-{
-	if (!SCROLLINFOFc.cached) cacheSCROLLINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.cbSize);
-	lpStruct->fMask = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.fMask);
-	lpStruct->nMin = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.nMin);
-	lpStruct->nMax = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.nMax);
-	lpStruct->nPage = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.nPage);
-	lpStruct->nPos = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.nPos);
-	lpStruct->nTrackPos = (*env)->GetIntField(env, lpObject, SCROLLINFOFc.nTrackPos);
-	return lpStruct;
-}
-
-void setSCROLLINFOFields(JNIEnv *env, jobject lpObject, SCROLLINFO *lpStruct)
-{
-	if (!SCROLLINFOFc.cached) cacheSCROLLINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.fMask, (jint)lpStruct->fMask);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.nMin, (jint)lpStruct->nMin);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.nMax, (jint)lpStruct->nMax);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.nPage, (jint)lpStruct->nPage);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.nPos, (jint)lpStruct->nPos);
-	(*env)->SetIntField(env, lpObject, SCROLLINFOFc.nTrackPos, (jint)lpStruct->nTrackPos);
-}
-#endif
-
-#ifndef NO_SHACTIVATEINFO
-typedef struct SHACTIVATEINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, hwndLastFocus, fSipUp, fSipOnDeactivation, fActive, fReserved;
-} SHACTIVATEINFO_FID_CACHE;
-
-SHACTIVATEINFO_FID_CACHE SHACTIVATEINFOFc;
-
-void cacheSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SHACTIVATEINFOFc.cached) return;
-	SHACTIVATEINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SHACTIVATEINFOFc.cbSize = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "cbSize", "I");
-	SHACTIVATEINFOFc.hwndLastFocus = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "hwndLastFocus", "I");
-	SHACTIVATEINFOFc.fSipUp = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "fSipUp", "I");
-	SHACTIVATEINFOFc.fSipOnDeactivation = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "fSipOnDeactivation", "I");
-	SHACTIVATEINFOFc.fActive = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "fActive", "I");
-	SHACTIVATEINFOFc.fReserved = (*env)->GetFieldID(env, SHACTIVATEINFOFc.clazz, "fReserved", "I");
-	SHACTIVATEINFOFc.cached = 1;
-}
-
-SHACTIVATEINFO *getSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject, SHACTIVATEINFO *lpStruct)
-{
-	if (!SHACTIVATEINFOFc.cached) cacheSHACTIVATEINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.cbSize);
-	lpStruct->hwndLastFocus = (HWND)(*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.hwndLastFocus);
-	lpStruct->fSipUp = (*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.fSipUp);
-	lpStruct->fSipOnDeactivation = (*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.fSipOnDeactivation);
-	lpStruct->fActive = (*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.fActive);
-	lpStruct->fReserved = (*env)->GetIntField(env, lpObject, SHACTIVATEINFOFc.fReserved);
-	return lpStruct;
-}
-
-void setSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject, SHACTIVATEINFO *lpStruct)
-{
-	if (!SHACTIVATEINFOFc.cached) cacheSHACTIVATEINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.hwndLastFocus, (jint)lpStruct->hwndLastFocus);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.fSipUp, (jint)lpStruct->fSipUp);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.fSipOnDeactivation, (jint)lpStruct->fSipOnDeactivation);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.fActive, (jint)lpStruct->fActive);
-	(*env)->SetIntField(env, lpObject, SHACTIVATEINFOFc.fReserved, (jint)lpStruct->fReserved);
-}
-#endif
-
-#ifndef NO_SHELLEXECUTEINFO
-typedef struct SHELLEXECUTEINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fMask, hwnd, lpVerb, lpFile, lpParameters, lpDirectory, nShow, hInstApp, lpIDList, lpClass, hkeyClass, dwHotKey, hIcon, hProcess;
-} SHELLEXECUTEINFO_FID_CACHE;
-
-SHELLEXECUTEINFO_FID_CACHE SHELLEXECUTEINFOFc;
-
-void cacheSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SHELLEXECUTEINFOFc.cached) return;
-	SHELLEXECUTEINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SHELLEXECUTEINFOFc.cbSize = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "cbSize", "I");
-	SHELLEXECUTEINFOFc.fMask = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "fMask", "I");
-	SHELLEXECUTEINFOFc.hwnd = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "hwnd", "I");
-	SHELLEXECUTEINFOFc.lpVerb = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpVerb", "I");
-	SHELLEXECUTEINFOFc.lpFile = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpFile", "I");
-	SHELLEXECUTEINFOFc.lpParameters = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpParameters", "I");
-	SHELLEXECUTEINFOFc.lpDirectory = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpDirectory", "I");
-	SHELLEXECUTEINFOFc.nShow = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "nShow", "I");
-	SHELLEXECUTEINFOFc.hInstApp = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "hInstApp", "I");
-	SHELLEXECUTEINFOFc.lpIDList = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpIDList", "I");
-	SHELLEXECUTEINFOFc.lpClass = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "lpClass", "I");
-	SHELLEXECUTEINFOFc.hkeyClass = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "hkeyClass", "I");
-	SHELLEXECUTEINFOFc.dwHotKey = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "dwHotKey", "I");
-	SHELLEXECUTEINFOFc.hIcon = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "hIcon", "I");
-	SHELLEXECUTEINFOFc.hProcess = (*env)->GetFieldID(env, SHELLEXECUTEINFOFc.clazz, "hProcess", "I");
-	SHELLEXECUTEINFOFc.cached = 1;
-}
-
-SHELLEXECUTEINFO *getSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject, SHELLEXECUTEINFO *lpStruct)
-{
-	if (!SHELLEXECUTEINFOFc.cached) cacheSHELLEXECUTEINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.cbSize);
-	lpStruct->fMask = (*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.fMask);
-	lpStruct->hwnd = (HWND)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.hwnd);
-	lpStruct->lpVerb = (LPCTSTR)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpVerb);
-	lpStruct->lpFile = (LPCTSTR)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpFile);
-	lpStruct->lpParameters = (LPCTSTR)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpParameters);
-	lpStruct->lpDirectory = (LPCTSTR)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpDirectory);
-	lpStruct->nShow = (*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.nShow);
-	lpStruct->hInstApp = (HINSTANCE)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.hInstApp);
-	lpStruct->lpIDList = (LPVOID)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpIDList);
-	lpStruct->lpClass = (LPCTSTR)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpClass);
-	lpStruct->hkeyClass = (HKEY)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.hkeyClass);
-	lpStruct->dwHotKey = (*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.dwHotKey);
-	lpStruct->hIcon = (HANDLE)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.hIcon);
-	lpStruct->hProcess = (HANDLE)(*env)->GetIntField(env, lpObject, SHELLEXECUTEINFOFc.hProcess);
-	return lpStruct;
-}
-
-void setSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject, SHELLEXECUTEINFO *lpStruct)
-{
-	if (!SHELLEXECUTEINFOFc.cached) cacheSHELLEXECUTEINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.fMask, (jint)lpStruct->fMask);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.hwnd, (jint)lpStruct->hwnd);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpVerb, (jint)lpStruct->lpVerb);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpFile, (jint)lpStruct->lpFile);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpParameters, (jint)lpStruct->lpParameters);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpDirectory, (jint)lpStruct->lpDirectory);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.nShow, (jint)lpStruct->nShow);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.hInstApp, (jint)lpStruct->hInstApp);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpIDList, (jint)lpStruct->lpIDList);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.lpClass, (jint)lpStruct->lpClass);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.hkeyClass, (jint)lpStruct->hkeyClass);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.dwHotKey, (jint)lpStruct->dwHotKey);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.hIcon, (jint)lpStruct->hIcon);
-	(*env)->SetIntField(env, lpObject, SHELLEXECUTEINFOFc.hProcess, (jint)lpStruct->hProcess);
-}
-#endif
-
-#ifndef NO_SHMENUBARINFO
-typedef struct SHMENUBARINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, hwndParent, dwFlags, nToolBarId, hInstRes, nBmpId, cBmpImages, hwndMB;
-} SHMENUBARINFO_FID_CACHE;
-
-SHMENUBARINFO_FID_CACHE SHMENUBARINFOFc;
-
-void cacheSHMENUBARINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SHMENUBARINFOFc.cached) return;
-	SHMENUBARINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SHMENUBARINFOFc.cbSize = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "cbSize", "I");
-	SHMENUBARINFOFc.hwndParent = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "hwndParent", "I");
-	SHMENUBARINFOFc.dwFlags = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "dwFlags", "I");
-	SHMENUBARINFOFc.nToolBarId = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "nToolBarId", "I");
-	SHMENUBARINFOFc.hInstRes = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "hInstRes", "I");
-	SHMENUBARINFOFc.nBmpId = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "nBmpId", "I");
-	SHMENUBARINFOFc.cBmpImages = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "cBmpImages", "I");
-	SHMENUBARINFOFc.hwndMB = (*env)->GetFieldID(env, SHMENUBARINFOFc.clazz, "hwndMB", "I");
-	SHMENUBARINFOFc.cached = 1;
-}
-
-SHMENUBARINFO *getSHMENUBARINFOFields(JNIEnv *env, jobject lpObject, SHMENUBARINFO *lpStruct)
-{
-	if (!SHMENUBARINFOFc.cached) cacheSHMENUBARINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.cbSize);
-	lpStruct->hwndParent = (HWND)(*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.hwndParent);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.dwFlags);
-	lpStruct->nToolBarId = (*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.nToolBarId);
-	lpStruct->hInstRes = (HINSTANCE)(*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.hInstRes);
-	lpStruct->nBmpId = (*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.nBmpId);
-	lpStruct->cBmpImages = (*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.cBmpImages);
-	lpStruct->hwndMB = (HWND)(*env)->GetIntField(env, lpObject, SHMENUBARINFOFc.hwndMB);
-	return lpStruct;
-}
-
-void setSHMENUBARINFOFields(JNIEnv *env, jobject lpObject, SHMENUBARINFO *lpStruct)
-{
-	if (!SHMENUBARINFOFc.cached) cacheSHMENUBARINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.hwndParent, (jint)lpStruct->hwndParent);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.nToolBarId, (jint)lpStruct->nToolBarId);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.hInstRes, (jint)lpStruct->hInstRes);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.nBmpId, (jint)lpStruct->nBmpId);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.cBmpImages, (jint)lpStruct->cBmpImages);
-	(*env)->SetIntField(env, lpObject, SHMENUBARINFOFc.hwndMB, (jint)lpStruct->hwndMB);
-}
-#endif
-
-#ifndef NO_SHRGINFO
-typedef struct SHRGINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, hwndClient, ptDown_x, ptDown_y, dwFlags;
-} SHRGINFO_FID_CACHE;
-
-SHRGINFO_FID_CACHE SHRGINFOFc;
-
-void cacheSHRGINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SHRGINFOFc.cached) return;
-	SHRGINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SHRGINFOFc.cbSize = (*env)->GetFieldID(env, SHRGINFOFc.clazz, "cbSize", "I");
-	SHRGINFOFc.hwndClient = (*env)->GetFieldID(env, SHRGINFOFc.clazz, "hwndClient", "I");
-	SHRGINFOFc.ptDown_x = (*env)->GetFieldID(env, SHRGINFOFc.clazz, "ptDown_x", "I");
-	SHRGINFOFc.ptDown_y = (*env)->GetFieldID(env, SHRGINFOFc.clazz, "ptDown_y", "I");
-	SHRGINFOFc.dwFlags = (*env)->GetFieldID(env, SHRGINFOFc.clazz, "dwFlags", "I");
-	SHRGINFOFc.cached = 1;
-}
-
-SHRGINFO *getSHRGINFOFields(JNIEnv *env, jobject lpObject, SHRGINFO *lpStruct)
-{
-	if (!SHRGINFOFc.cached) cacheSHRGINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SHRGINFOFc.cbSize);
-	lpStruct->hwndClient = (HWND)(*env)->GetIntField(env, lpObject, SHRGINFOFc.hwndClient);
-	lpStruct->ptDown.x = (*env)->GetIntField(env, lpObject, SHRGINFOFc.ptDown_x);
-	lpStruct->ptDown.y = (*env)->GetIntField(env, lpObject, SHRGINFOFc.ptDown_y);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, SHRGINFOFc.dwFlags);
-	return lpStruct;
-}
-
-void setSHRGINFOFields(JNIEnv *env, jobject lpObject, SHRGINFO *lpStruct)
-{
-	if (!SHRGINFOFc.cached) cacheSHRGINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SHRGINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SHRGINFOFc.hwndClient, (jint)lpStruct->hwndClient);
-	(*env)->SetIntField(env, lpObject, SHRGINFOFc.ptDown_x, (jint)lpStruct->ptDown.x);
-	(*env)->SetIntField(env, lpObject, SHRGINFOFc.ptDown_y, (jint)lpStruct->ptDown.y);
-	(*env)->SetIntField(env, lpObject, SHRGINFOFc.dwFlags, (jint)lpStruct->dwFlags);
-}
-#endif
-
-#ifndef NO_SIPINFO
-typedef struct SIPINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, fdwFlags, rcVisibleDesktop_left, rcVisibleDesktop_top, rcVisibleDesktop_right, rcVisibleDesktop_bottom, rcSipRect_left, rcSipRect_top, rcSipRect_right, rcSipRect_bottom, dwImDataSize, pvImData;
-} SIPINFO_FID_CACHE;
-
-SIPINFO_FID_CACHE SIPINFOFc;
-
-void cacheSIPINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (SIPINFOFc.cached) return;
-	SIPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SIPINFOFc.cbSize = (*env)->GetFieldID(env, SIPINFOFc.clazz, "cbSize", "I");
-	SIPINFOFc.fdwFlags = (*env)->GetFieldID(env, SIPINFOFc.clazz, "fdwFlags", "I");
-	SIPINFOFc.rcVisibleDesktop_left = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcVisibleDesktop_left", "I");
-	SIPINFOFc.rcVisibleDesktop_top = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcVisibleDesktop_top", "I");
-	SIPINFOFc.rcVisibleDesktop_right = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcVisibleDesktop_right", "I");
-	SIPINFOFc.rcVisibleDesktop_bottom = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcVisibleDesktop_bottom", "I");
-	SIPINFOFc.rcSipRect_left = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcSipRect_left", "I");
-	SIPINFOFc.rcSipRect_top = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcSipRect_top", "I");
-	SIPINFOFc.rcSipRect_right = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcSipRect_right", "I");
-	SIPINFOFc.rcSipRect_bottom = (*env)->GetFieldID(env, SIPINFOFc.clazz, "rcSipRect_bottom", "I");
-	SIPINFOFc.dwImDataSize = (*env)->GetFieldID(env, SIPINFOFc.clazz, "dwImDataSize", "I");
-	SIPINFOFc.pvImData = (*env)->GetFieldID(env, SIPINFOFc.clazz, "pvImData", "I");
-	SIPINFOFc.cached = 1;
-}
-
-SIPINFO *getSIPINFOFields(JNIEnv *env, jobject lpObject, SIPINFO *lpStruct)
-{
-	if (!SIPINFOFc.cached) cacheSIPINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, SIPINFOFc.cbSize);
-	lpStruct->fdwFlags = (*env)->GetIntField(env, lpObject, SIPINFOFc.fdwFlags);
-	lpStruct->rcVisibleDesktop.left = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_left);
-	lpStruct->rcVisibleDesktop.top = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_top);
-	lpStruct->rcVisibleDesktop.right = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_right);
-	lpStruct->rcVisibleDesktop.bottom = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_bottom);
-	lpStruct->rcSipRect.left = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcSipRect_left);
-	lpStruct->rcSipRect.top = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcSipRect_top);
-	lpStruct->rcSipRect.right = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcSipRect_right);
-	lpStruct->rcSipRect.bottom = (*env)->GetIntField(env, lpObject, SIPINFOFc.rcSipRect_bottom);
-	lpStruct->dwImDataSize = (*env)->GetIntField(env, lpObject, SIPINFOFc.dwImDataSize);
-	lpStruct->pvImData = (void *)(*env)->GetIntField(env, lpObject, SIPINFOFc.pvImData);
-	return lpStruct;
-}
-
-void setSIPINFOFields(JNIEnv *env, jobject lpObject, SIPINFO *lpStruct)
-{
-	if (!SIPINFOFc.cached) cacheSIPINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.fdwFlags, (jint)lpStruct->fdwFlags);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_left, (jint)lpStruct->rcVisibleDesktop.left);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_top, (jint)lpStruct->rcVisibleDesktop.top);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_right, (jint)lpStruct->rcVisibleDesktop.right);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcVisibleDesktop_bottom, (jint)lpStruct->rcVisibleDesktop.bottom);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcSipRect_left, (jint)lpStruct->rcSipRect.left);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcSipRect_top, (jint)lpStruct->rcSipRect.top);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcSipRect_right, (jint)lpStruct->rcSipRect.right);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.rcSipRect_bottom, (jint)lpStruct->rcSipRect.bottom);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.dwImDataSize, (jint)lpStruct->dwImDataSize);
-	(*env)->SetIntField(env, lpObject, SIPINFOFc.pvImData, (jint)lpStruct->pvImData);
-}
-#endif
-
-#ifndef NO_SIZE
-typedef struct SIZE_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cx, cy;
-} SIZE_FID_CACHE;
-
-SIZE_FID_CACHE SIZEFc;
-
-void cacheSIZEFields(JNIEnv *env, jobject lpObject)
-{
-	if (SIZEFc.cached) return;
-	SIZEFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	SIZEFc.cx = (*env)->GetFieldID(env, SIZEFc.clazz, "cx", "I");
-	SIZEFc.cy = (*env)->GetFieldID(env, SIZEFc.clazz, "cy", "I");
-	SIZEFc.cached = 1;
-}
-
-SIZE *getSIZEFields(JNIEnv *env, jobject lpObject, SIZE *lpStruct)
-{
-	if (!SIZEFc.cached) cacheSIZEFields(env, lpObject);
-	lpStruct->cx = (*env)->GetIntField(env, lpObject, SIZEFc.cx);
-	lpStruct->cy = (*env)->GetIntField(env, lpObject, SIZEFc.cy);
-	return lpStruct;
-}
-
-void setSIZEFields(JNIEnv *env, jobject lpObject, SIZE *lpStruct)
-{
-	if (!SIZEFc.cached) cacheSIZEFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, SIZEFc.cx, (jint)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, SIZEFc.cy, (jint)lpStruct->cy);
-}
-#endif
-
-#ifndef NO_TBBUTTON
-typedef struct TBBUTTON_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iBitmap, idCommand, fsState, fsStyle, dwData, iString;
-} TBBUTTON_FID_CACHE;
-
-TBBUTTON_FID_CACHE TBBUTTONFc;
-
-void cacheTBBUTTONFields(JNIEnv *env, jobject lpObject)
-{
-	if (TBBUTTONFc.cached) return;
-	TBBUTTONFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TBBUTTONFc.iBitmap = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "iBitmap", "I");
-	TBBUTTONFc.idCommand = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "idCommand", "I");
-	TBBUTTONFc.fsState = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "fsState", "B");
-	TBBUTTONFc.fsStyle = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "fsStyle", "B");
-	TBBUTTONFc.dwData = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "dwData", "I");
-	TBBUTTONFc.iString = (*env)->GetFieldID(env, TBBUTTONFc.clazz, "iString", "I");
-	TBBUTTONFc.cached = 1;
-}
-
-TBBUTTON *getTBBUTTONFields(JNIEnv *env, jobject lpObject, TBBUTTON *lpStruct)
-{
-	if (!TBBUTTONFc.cached) cacheTBBUTTONFields(env, lpObject);
-	lpStruct->iBitmap = (*env)->GetIntField(env, lpObject, TBBUTTONFc.iBitmap);
-	lpStruct->idCommand = (*env)->GetIntField(env, lpObject, TBBUTTONFc.idCommand);
-	lpStruct->fsState = (*env)->GetByteField(env, lpObject, TBBUTTONFc.fsState);
-	lpStruct->fsStyle = (*env)->GetByteField(env, lpObject, TBBUTTONFc.fsStyle);
-	lpStruct->dwData = (*env)->GetIntField(env, lpObject, TBBUTTONFc.dwData);
-	lpStruct->iString = (*env)->GetIntField(env, lpObject, TBBUTTONFc.iString);
-	return lpStruct;
-}
-
-void setTBBUTTONFields(JNIEnv *env, jobject lpObject, TBBUTTON *lpStruct)
-{
-	if (!TBBUTTONFc.cached) cacheTBBUTTONFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TBBUTTONFc.iBitmap, (jint)lpStruct->iBitmap);
-	(*env)->SetIntField(env, lpObject, TBBUTTONFc.idCommand, (jint)lpStruct->idCommand);
-	(*env)->SetByteField(env, lpObject, TBBUTTONFc.fsState, (jbyte)lpStruct->fsState);
-	(*env)->SetByteField(env, lpObject, TBBUTTONFc.fsStyle, (jbyte)lpStruct->fsStyle);
-	(*env)->SetIntField(env, lpObject, TBBUTTONFc.dwData, (jint)lpStruct->dwData);
-	(*env)->SetIntField(env, lpObject, TBBUTTONFc.iString, (jint)lpStruct->iString);
-}
-#endif
-
-#ifndef NO_TBBUTTONINFO
-typedef struct TBBUTTONINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, dwMask, idCommand, iImage, fsState, fsStyle, cx, lParam, pszText, cchText;
-} TBBUTTONINFO_FID_CACHE;
-
-TBBUTTONINFO_FID_CACHE TBBUTTONINFOFc;
-
-void cacheTBBUTTONINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (TBBUTTONINFOFc.cached) return;
-	TBBUTTONINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TBBUTTONINFOFc.cbSize = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "cbSize", "I");
-	TBBUTTONINFOFc.dwMask = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "dwMask", "I");
-	TBBUTTONINFOFc.idCommand = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "idCommand", "I");
-	TBBUTTONINFOFc.iImage = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "iImage", "I");
-	TBBUTTONINFOFc.fsState = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "fsState", "B");
-	TBBUTTONINFOFc.fsStyle = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "fsStyle", "B");
-	TBBUTTONINFOFc.cx = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "cx", "S");
-	TBBUTTONINFOFc.lParam = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "lParam", "I");
-	TBBUTTONINFOFc.pszText = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "pszText", "I");
-	TBBUTTONINFOFc.cchText = (*env)->GetFieldID(env, TBBUTTONINFOFc.clazz, "cchText", "I");
-	TBBUTTONINFOFc.cached = 1;
-}
-
-TBBUTTONINFO *getTBBUTTONINFOFields(JNIEnv *env, jobject lpObject, TBBUTTONINFO *lpStruct)
-{
-	if (!TBBUTTONINFOFc.cached) cacheTBBUTTONINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.cbSize);
-	lpStruct->dwMask = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.dwMask);
-	lpStruct->idCommand = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.idCommand);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.iImage);
-	lpStruct->fsState = (*env)->GetByteField(env, lpObject, TBBUTTONINFOFc.fsState);
-	lpStruct->fsStyle = (*env)->GetByteField(env, lpObject, TBBUTTONINFOFc.fsStyle);
-	lpStruct->cx = (*env)->GetShortField(env, lpObject, TBBUTTONINFOFc.cx);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.lParam);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.pszText);
-	lpStruct->cchText = (*env)->GetIntField(env, lpObject, TBBUTTONINFOFc.cchText);
-	return lpStruct;
-}
-
-void setTBBUTTONINFOFields(JNIEnv *env, jobject lpObject, TBBUTTONINFO *lpStruct)
-{
-	if (!TBBUTTONINFOFc.cached) cacheTBBUTTONINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.dwMask, (jint)lpStruct->dwMask);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.idCommand, (jint)lpStruct->idCommand);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetByteField(env, lpObject, TBBUTTONINFOFc.fsState, (jbyte)lpStruct->fsState);
-	(*env)->SetByteField(env, lpObject, TBBUTTONINFOFc.fsStyle, (jbyte)lpStruct->fsStyle);
-	(*env)->SetShortField(env, lpObject, TBBUTTONINFOFc.cx, (jshort)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.lParam, (jint)lpStruct->lParam);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, TBBUTTONINFOFc.cchText, (jint)lpStruct->cchText);
-}
-#endif
-
-#ifndef NO_TCITEM
-typedef struct TCITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, dwState, dwStateMask, pszText, cchTextMax, iImage, lParam;
-} TCITEM_FID_CACHE;
-
-TCITEM_FID_CACHE TCITEMFc;
-
-void cacheTCITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (TCITEMFc.cached) return;
-	TCITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TCITEMFc.mask = (*env)->GetFieldID(env, TCITEMFc.clazz, "mask", "I");
-	TCITEMFc.dwState = (*env)->GetFieldID(env, TCITEMFc.clazz, "dwState", "I");
-	TCITEMFc.dwStateMask = (*env)->GetFieldID(env, TCITEMFc.clazz, "dwStateMask", "I");
-	TCITEMFc.pszText = (*env)->GetFieldID(env, TCITEMFc.clazz, "pszText", "I");
-	TCITEMFc.cchTextMax = (*env)->GetFieldID(env, TCITEMFc.clazz, "cchTextMax", "I");
-	TCITEMFc.iImage = (*env)->GetFieldID(env, TCITEMFc.clazz, "iImage", "I");
-	TCITEMFc.lParam = (*env)->GetFieldID(env, TCITEMFc.clazz, "lParam", "I");
-	TCITEMFc.cached = 1;
-}
-
-TCITEM *getTCITEMFields(JNIEnv *env, jobject lpObject, TCITEM *lpStruct)
-{
-	if (!TCITEMFc.cached) cacheTCITEMFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, TCITEMFc.mask);
-	lpStruct->dwState = (*env)->GetIntField(env, lpObject, TCITEMFc.dwState);
-	lpStruct->dwStateMask = (*env)->GetIntField(env, lpObject, TCITEMFc.dwStateMask);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, TCITEMFc.pszText);
-	lpStruct->cchTextMax = (*env)->GetIntField(env, lpObject, TCITEMFc.cchTextMax);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, TCITEMFc.iImage);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, TCITEMFc.lParam);
-	return lpStruct;
-}
-
-void setTCITEMFields(JNIEnv *env, jobject lpObject, TCITEM *lpStruct)
-{
-	if (!TCITEMFc.cached) cacheTCITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.dwState, (jint)lpStruct->dwState);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.dwStateMask, (jint)lpStruct->dwStateMask);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.cchTextMax, (jint)lpStruct->cchTextMax);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, TCITEMFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_TEXTMETRIC
-typedef struct TEXTMETRIC_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tmHeight, tmAscent, tmDescent, tmInternalLeading, tmExternalLeading, tmAveCharWidth, tmMaxCharWidth, tmWeight, tmOverhang, tmDigitizedAspectX, tmDigitizedAspectY, tmItalic, tmUnderlined, tmStruckOut, tmPitchAndFamily, tmCharSet;
-} TEXTMETRIC_FID_CACHE;
-
-TEXTMETRIC_FID_CACHE TEXTMETRICFc;
-
-void cacheTEXTMETRICFields(JNIEnv *env, jobject lpObject)
-{
-	if (TEXTMETRICFc.cached) return;
-	TEXTMETRICFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TEXTMETRICFc.tmHeight = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmHeight", "I");
-	TEXTMETRICFc.tmAscent = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmAscent", "I");
-	TEXTMETRICFc.tmDescent = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmDescent", "I");
-	TEXTMETRICFc.tmInternalLeading = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmInternalLeading", "I");
-	TEXTMETRICFc.tmExternalLeading = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmExternalLeading", "I");
-	TEXTMETRICFc.tmAveCharWidth = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmAveCharWidth", "I");
-	TEXTMETRICFc.tmMaxCharWidth = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmMaxCharWidth", "I");
-	TEXTMETRICFc.tmWeight = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmWeight", "I");
-	TEXTMETRICFc.tmOverhang = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmOverhang", "I");
-	TEXTMETRICFc.tmDigitizedAspectX = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmDigitizedAspectX", "I");
-	TEXTMETRICFc.tmDigitizedAspectY = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmDigitizedAspectY", "I");
-	TEXTMETRICFc.tmItalic = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmItalic", "B");
-	TEXTMETRICFc.tmUnderlined = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmUnderlined", "B");
-	TEXTMETRICFc.tmStruckOut = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmStruckOut", "B");
-	TEXTMETRICFc.tmPitchAndFamily = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmPitchAndFamily", "B");
-	TEXTMETRICFc.tmCharSet = (*env)->GetFieldID(env, TEXTMETRICFc.clazz, "tmCharSet", "B");
-	TEXTMETRICFc.cached = 1;
-}
-
-TEXTMETRIC *getTEXTMETRICFields(JNIEnv *env, jobject lpObject, TEXTMETRIC *lpStruct)
-{
-	if (!TEXTMETRICFc.cached) cacheTEXTMETRICFields(env, lpObject);
-	lpStruct->tmHeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmHeight);
-	lpStruct->tmAscent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAscent);
-	lpStruct->tmDescent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDescent);
-	lpStruct->tmInternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading);
-	lpStruct->tmExternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading);
-	lpStruct->tmAveCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth);
-	lpStruct->tmMaxCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth);
-	lpStruct->tmWeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmWeight);
-	lpStruct->tmOverhang = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmOverhang);
-	lpStruct->tmDigitizedAspectX = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX);
-	lpStruct->tmDigitizedAspectY = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY);
-	lpStruct->tmItalic = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmItalic);
-	lpStruct->tmUnderlined = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined);
-	lpStruct->tmStruckOut = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut);
-	lpStruct->tmPitchAndFamily = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily);
-	lpStruct->tmCharSet = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmCharSet);
-	return lpStruct;
-}
-
-void setTEXTMETRICFields(JNIEnv *env, jobject lpObject, TEXTMETRIC *lpStruct)
-{
-	if (!TEXTMETRICFc.cached) cacheTEXTMETRICFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmHeight, (jint)lpStruct->tmHeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAscent, (jint)lpStruct->tmAscent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDescent, (jint)lpStruct->tmDescent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading, (jint)lpStruct->tmInternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading, (jint)lpStruct->tmExternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth, (jint)lpStruct->tmAveCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth, (jint)lpStruct->tmMaxCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmWeight, (jint)lpStruct->tmWeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmOverhang, (jint)lpStruct->tmOverhang);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX, (jint)lpStruct->tmDigitizedAspectX);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY, (jint)lpStruct->tmDigitizedAspectY);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmItalic, (jbyte)lpStruct->tmItalic);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined, (jbyte)lpStruct->tmUnderlined);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut, (jbyte)lpStruct->tmStruckOut);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily, (jbyte)lpStruct->tmPitchAndFamily);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmCharSet, (jbyte)lpStruct->tmCharSet);
-}
-#endif
-
-#ifndef NO_TEXTMETRICA
-typedef struct TEXTMETRICA_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tmFirstChar, tmLastChar, tmDefaultChar, tmBreakChar;
-} TEXTMETRICA_FID_CACHE;
-
-TEXTMETRICA_FID_CACHE TEXTMETRICAFc;
-
-void cacheTEXTMETRICAFields(JNIEnv *env, jobject lpObject)
-{
-	if (TEXTMETRICAFc.cached) return;
-	cacheTEXTMETRICFields(env, lpObject);
-	TEXTMETRICAFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TEXTMETRICAFc.tmFirstChar = (*env)->GetFieldID(env, TEXTMETRICAFc.clazz, "tmFirstChar", "B");
-	TEXTMETRICAFc.tmLastChar = (*env)->GetFieldID(env, TEXTMETRICAFc.clazz, "tmLastChar", "B");
-	TEXTMETRICAFc.tmDefaultChar = (*env)->GetFieldID(env, TEXTMETRICAFc.clazz, "tmDefaultChar", "B");
-	TEXTMETRICAFc.tmBreakChar = (*env)->GetFieldID(env, TEXTMETRICAFc.clazz, "tmBreakChar", "B");
-	TEXTMETRICAFc.cached = 1;
-}
-
-TEXTMETRICA *getTEXTMETRICAFields(JNIEnv *env, jobject lpObject, TEXTMETRICA *lpStruct)
-{
-	if (!TEXTMETRICAFc.cached) cacheTEXTMETRICAFields(env, lpObject);
-	lpStruct->tmHeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmHeight);
-	lpStruct->tmAscent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAscent);
-	lpStruct->tmDescent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDescent);
-	lpStruct->tmInternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading);
-	lpStruct->tmExternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading);
-	lpStruct->tmAveCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth);
-	lpStruct->tmMaxCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth);
-	lpStruct->tmWeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmWeight);
-	lpStruct->tmOverhang = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmOverhang);
-	lpStruct->tmDigitizedAspectX = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX);
-	lpStruct->tmDigitizedAspectY = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY);
-	lpStruct->tmItalic = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmItalic);
-	lpStruct->tmUnderlined = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined);
-	lpStruct->tmStruckOut = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut);
-	lpStruct->tmPitchAndFamily = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily);
-	lpStruct->tmCharSet = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmCharSet);
-	lpStruct->tmFirstChar = (*env)->GetByteField(env, lpObject, TEXTMETRICAFc.tmFirstChar);
-	lpStruct->tmLastChar = (*env)->GetByteField(env, lpObject, TEXTMETRICAFc.tmLastChar);
-	lpStruct->tmDefaultChar = (*env)->GetByteField(env, lpObject, TEXTMETRICAFc.tmDefaultChar);
-	lpStruct->tmBreakChar = (*env)->GetByteField(env, lpObject, TEXTMETRICAFc.tmBreakChar);
-	return lpStruct;
-}
-
-void setTEXTMETRICAFields(JNIEnv *env, jobject lpObject, TEXTMETRICA *lpStruct)
-{
-	if (!TEXTMETRICAFc.cached) cacheTEXTMETRICAFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmHeight, (jint)lpStruct->tmHeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAscent, (jint)lpStruct->tmAscent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDescent, (jint)lpStruct->tmDescent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading, (jint)lpStruct->tmInternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading, (jint)lpStruct->tmExternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth, (jint)lpStruct->tmAveCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth, (jint)lpStruct->tmMaxCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmWeight, (jint)lpStruct->tmWeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmOverhang, (jint)lpStruct->tmOverhang);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX, (jint)lpStruct->tmDigitizedAspectX);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY, (jint)lpStruct->tmDigitizedAspectY);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmItalic, (jbyte)lpStruct->tmItalic);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined, (jbyte)lpStruct->tmUnderlined);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut, (jbyte)lpStruct->tmStruckOut);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily, (jbyte)lpStruct->tmPitchAndFamily);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmCharSet, (jbyte)lpStruct->tmCharSet);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICAFc.tmFirstChar, (jbyte)lpStruct->tmFirstChar);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICAFc.tmLastChar, (jbyte)lpStruct->tmLastChar);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICAFc.tmDefaultChar, (jbyte)lpStruct->tmDefaultChar);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICAFc.tmBreakChar, (jbyte)lpStruct->tmBreakChar);
-}
-#endif
-
-#ifndef NO_TEXTMETRICW
-typedef struct TEXTMETRICW_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID tmFirstChar, tmLastChar, tmDefaultChar, tmBreakChar;
-} TEXTMETRICW_FID_CACHE;
-
-TEXTMETRICW_FID_CACHE TEXTMETRICWFc;
-
-void cacheTEXTMETRICWFields(JNIEnv *env, jobject lpObject)
-{
-	if (TEXTMETRICWFc.cached) return;
-	cacheTEXTMETRICFields(env, lpObject);
-	TEXTMETRICWFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TEXTMETRICWFc.tmFirstChar = (*env)->GetFieldID(env, TEXTMETRICWFc.clazz, "tmFirstChar", "C");
-	TEXTMETRICWFc.tmLastChar = (*env)->GetFieldID(env, TEXTMETRICWFc.clazz, "tmLastChar", "C");
-	TEXTMETRICWFc.tmDefaultChar = (*env)->GetFieldID(env, TEXTMETRICWFc.clazz, "tmDefaultChar", "C");
-	TEXTMETRICWFc.tmBreakChar = (*env)->GetFieldID(env, TEXTMETRICWFc.clazz, "tmBreakChar", "C");
-	TEXTMETRICWFc.cached = 1;
-}
-
-TEXTMETRICW *getTEXTMETRICWFields(JNIEnv *env, jobject lpObject, TEXTMETRICW *lpStruct)
-{
-	if (!TEXTMETRICWFc.cached) cacheTEXTMETRICWFields(env, lpObject);
-	lpStruct->tmHeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmHeight);
-	lpStruct->tmAscent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAscent);
-	lpStruct->tmDescent = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDescent);
-	lpStruct->tmInternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading);
-	lpStruct->tmExternalLeading = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading);
-	lpStruct->tmAveCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth);
-	lpStruct->tmMaxCharWidth = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth);
-	lpStruct->tmWeight = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmWeight);
-	lpStruct->tmOverhang = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmOverhang);
-	lpStruct->tmDigitizedAspectX = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX);
-	lpStruct->tmDigitizedAspectY = (*env)->GetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY);
-	lpStruct->tmItalic = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmItalic);
-	lpStruct->tmUnderlined = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined);
-	lpStruct->tmStruckOut = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut);
-	lpStruct->tmPitchAndFamily = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily);
-	lpStruct->tmCharSet = (*env)->GetByteField(env, lpObject, TEXTMETRICFc.tmCharSet);
-	lpStruct->tmFirstChar = (*env)->GetCharField(env, lpObject, TEXTMETRICWFc.tmFirstChar);
-	lpStruct->tmLastChar = (*env)->GetCharField(env, lpObject, TEXTMETRICWFc.tmLastChar);
-	lpStruct->tmDefaultChar = (*env)->GetCharField(env, lpObject, TEXTMETRICWFc.tmDefaultChar);
-	lpStruct->tmBreakChar = (*env)->GetCharField(env, lpObject, TEXTMETRICWFc.tmBreakChar);
-	return lpStruct;
-}
-
-void setTEXTMETRICWFields(JNIEnv *env, jobject lpObject, TEXTMETRICW *lpStruct)
-{
-	if (!TEXTMETRICWFc.cached) cacheTEXTMETRICWFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmHeight, (jint)lpStruct->tmHeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAscent, (jint)lpStruct->tmAscent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDescent, (jint)lpStruct->tmDescent);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmInternalLeading, (jint)lpStruct->tmInternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmExternalLeading, (jint)lpStruct->tmExternalLeading);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmAveCharWidth, (jint)lpStruct->tmAveCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmMaxCharWidth, (jint)lpStruct->tmMaxCharWidth);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmWeight, (jint)lpStruct->tmWeight);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmOverhang, (jint)lpStruct->tmOverhang);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectX, (jint)lpStruct->tmDigitizedAspectX);
-	(*env)->SetIntField(env, lpObject, TEXTMETRICFc.tmDigitizedAspectY, (jint)lpStruct->tmDigitizedAspectY);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmItalic, (jbyte)lpStruct->tmItalic);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmUnderlined, (jbyte)lpStruct->tmUnderlined);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmStruckOut, (jbyte)lpStruct->tmStruckOut);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmPitchAndFamily, (jbyte)lpStruct->tmPitchAndFamily);
-	(*env)->SetByteField(env, lpObject, TEXTMETRICFc.tmCharSet, (jbyte)lpStruct->tmCharSet);
-	(*env)->SetCharField(env, lpObject, TEXTMETRICWFc.tmFirstChar, (jchar)lpStruct->tmFirstChar);
-	(*env)->SetCharField(env, lpObject, TEXTMETRICWFc.tmLastChar, (jchar)lpStruct->tmLastChar);
-	(*env)->SetCharField(env, lpObject, TEXTMETRICWFc.tmDefaultChar, (jchar)lpStruct->tmDefaultChar);
-	(*env)->SetCharField(env, lpObject, TEXTMETRICWFc.tmBreakChar, (jchar)lpStruct->tmBreakChar);
-}
-#endif
-
-#ifndef NO_TOOLINFO
-typedef struct TOOLINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, uFlags, hwnd, uId, left, top, right, bottom, hinst, lpszText, lParam;
-} TOOLINFO_FID_CACHE;
-
-TOOLINFO_FID_CACHE TOOLINFOFc;
-
-void cacheTOOLINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (TOOLINFOFc.cached) return;
-	TOOLINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TOOLINFOFc.cbSize = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "cbSize", "I");
-	TOOLINFOFc.uFlags = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "uFlags", "I");
-	TOOLINFOFc.hwnd = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "hwnd", "I");
-	TOOLINFOFc.uId = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "uId", "I");
-	TOOLINFOFc.left = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "left", "I");
-	TOOLINFOFc.top = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "top", "I");
-	TOOLINFOFc.right = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "right", "I");
-	TOOLINFOFc.bottom = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "bottom", "I");
-	TOOLINFOFc.hinst = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "hinst", "I");
-	TOOLINFOFc.lpszText = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "lpszText", "I");
-	TOOLINFOFc.lParam = (*env)->GetFieldID(env, TOOLINFOFc.clazz, "lParam", "I");
-	TOOLINFOFc.cached = 1;
-}
-
-TOOLINFO *getTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct)
-{
-	if (!TOOLINFOFc.cached) cacheTOOLINFOFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, TOOLINFOFc.cbSize);
-	lpStruct->uFlags = (*env)->GetIntField(env, lpObject, TOOLINFOFc.uFlags);
-	lpStruct->hwnd = (HWND)(*env)->GetIntField(env, lpObject, TOOLINFOFc.hwnd);
-	lpStruct->uId = (*env)->GetIntField(env, lpObject, TOOLINFOFc.uId);
-	lpStruct->rect.left = (*env)->GetIntField(env, lpObject, TOOLINFOFc.left);
-	lpStruct->rect.top = (*env)->GetIntField(env, lpObject, TOOLINFOFc.top);
-	lpStruct->rect.right = (*env)->GetIntField(env, lpObject, TOOLINFOFc.right);
-	lpStruct->rect.bottom = (*env)->GetIntField(env, lpObject, TOOLINFOFc.bottom);
-	lpStruct->hinst = (HINSTANCE)(*env)->GetIntField(env, lpObject, TOOLINFOFc.hinst);
-	lpStruct->lpszText = (LPTSTR)(*env)->GetIntField(env, lpObject, TOOLINFOFc.lpszText);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, TOOLINFOFc.lParam);
-	return lpStruct;
-}
-
-void setTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct)
-{
-	if (!TOOLINFOFc.cached) cacheTOOLINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.uFlags, (jint)lpStruct->uFlags);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.hwnd, (jint)lpStruct->hwnd);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.uId, (jint)lpStruct->uId);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.left, (jint)lpStruct->rect.left);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.top, (jint)lpStruct->rect.top);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.right, (jint)lpStruct->rect.right);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.bottom, (jint)lpStruct->rect.bottom);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.hinst, (jint)lpStruct->hinst);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.lpszText, (jint)lpStruct->lpszText);
-	(*env)->SetIntField(env, lpObject, TOOLINFOFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_TRACKMOUSEEVENT
-typedef struct TRACKMOUSEEVENT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID cbSize, dwFlags, hwndTrack, dwHoverTime;
-} TRACKMOUSEEVENT_FID_CACHE;
-
-TRACKMOUSEEVENT_FID_CACHE TRACKMOUSEEVENTFc;
-
-void cacheTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject)
-{
-	if (TRACKMOUSEEVENTFc.cached) return;
-	TRACKMOUSEEVENTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TRACKMOUSEEVENTFc.cbSize = (*env)->GetFieldID(env, TRACKMOUSEEVENTFc.clazz, "cbSize", "I");
-	TRACKMOUSEEVENTFc.dwFlags = (*env)->GetFieldID(env, TRACKMOUSEEVENTFc.clazz, "dwFlags", "I");
-	TRACKMOUSEEVENTFc.hwndTrack = (*env)->GetFieldID(env, TRACKMOUSEEVENTFc.clazz, "hwndTrack", "I");
-	TRACKMOUSEEVENTFc.dwHoverTime = (*env)->GetFieldID(env, TRACKMOUSEEVENTFc.clazz, "dwHoverTime", "I");
-	TRACKMOUSEEVENTFc.cached = 1;
-}
-
-TRACKMOUSEEVENT *getTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject, TRACKMOUSEEVENT *lpStruct)
-{
-	if (!TRACKMOUSEEVENTFc.cached) cacheTRACKMOUSEEVENTFields(env, lpObject);
-	lpStruct->cbSize = (*env)->GetIntField(env, lpObject, TRACKMOUSEEVENTFc.cbSize);
-	lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, TRACKMOUSEEVENTFc.dwFlags);
-	lpStruct->hwndTrack = (HWND)(*env)->GetIntField(env, lpObject, TRACKMOUSEEVENTFc.hwndTrack);
-	lpStruct->dwHoverTime = (*env)->GetIntField(env, lpObject, TRACKMOUSEEVENTFc.dwHoverTime);
-	return lpStruct;
-}
-
-void setTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject, TRACKMOUSEEVENT *lpStruct)
-{
-	if (!TRACKMOUSEEVENTFc.cached) cacheTRACKMOUSEEVENTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TRACKMOUSEEVENTFc.cbSize, (jint)lpStruct->cbSize);
-	(*env)->SetIntField(env, lpObject, TRACKMOUSEEVENTFc.dwFlags, (jint)lpStruct->dwFlags);
-	(*env)->SetIntField(env, lpObject, TRACKMOUSEEVENTFc.hwndTrack, (jint)lpStruct->hwndTrack);
-	(*env)->SetIntField(env, lpObject, TRACKMOUSEEVENTFc.dwHoverTime, (jint)lpStruct->dwHoverTime);
-}
-#endif
-
-#ifndef NO_TRIVERTEX
-typedef struct TRIVERTEX_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, Red, Green, Blue, Alpha;
-} TRIVERTEX_FID_CACHE;
-
-TRIVERTEX_FID_CACHE TRIVERTEXFc;
-
-void cacheTRIVERTEXFields(JNIEnv *env, jobject lpObject)
-{
-	if (TRIVERTEXFc.cached) return;
-	TRIVERTEXFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TRIVERTEXFc.x = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "x", "I");
-	TRIVERTEXFc.y = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "y", "I");
-	TRIVERTEXFc.Red = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "Red", "S");
-	TRIVERTEXFc.Green = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "Green", "S");
-	TRIVERTEXFc.Blue = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "Blue", "S");
-	TRIVERTEXFc.Alpha = (*env)->GetFieldID(env, TRIVERTEXFc.clazz, "Alpha", "S");
-	TRIVERTEXFc.cached = 1;
-}
-
-TRIVERTEX *getTRIVERTEXFields(JNIEnv *env, jobject lpObject, TRIVERTEX *lpStruct)
-{
-	if (!TRIVERTEXFc.cached) cacheTRIVERTEXFields(env, lpObject);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, TRIVERTEXFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, TRIVERTEXFc.y);
-	lpStruct->Red = (*env)->GetShortField(env, lpObject, TRIVERTEXFc.Red);
-	lpStruct->Green = (*env)->GetShortField(env, lpObject, TRIVERTEXFc.Green);
-	lpStruct->Blue = (*env)->GetShortField(env, lpObject, TRIVERTEXFc.Blue);
-	lpStruct->Alpha = (*env)->GetShortField(env, lpObject, TRIVERTEXFc.Alpha);
-	return lpStruct;
-}
-
-void setTRIVERTEXFields(JNIEnv *env, jobject lpObject, TRIVERTEX *lpStruct)
-{
-	if (!TRIVERTEXFc.cached) cacheTRIVERTEXFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TRIVERTEXFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, TRIVERTEXFc.y, (jint)lpStruct->y);
-	(*env)->SetShortField(env, lpObject, TRIVERTEXFc.Red, (jshort)lpStruct->Red);
-	(*env)->SetShortField(env, lpObject, TRIVERTEXFc.Green, (jshort)lpStruct->Green);
-	(*env)->SetShortField(env, lpObject, TRIVERTEXFc.Blue, (jshort)lpStruct->Blue);
-	(*env)->SetShortField(env, lpObject, TRIVERTEXFc.Alpha, (jshort)lpStruct->Alpha);
-}
-#endif
-
-#ifndef NO_TVHITTESTINFO
-typedef struct TVHITTESTINFO_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID x, y, flags, hItem;
-} TVHITTESTINFO_FID_CACHE;
-
-TVHITTESTINFO_FID_CACHE TVHITTESTINFOFc;
-
-void cacheTVHITTESTINFOFields(JNIEnv *env, jobject lpObject)
-{
-	if (TVHITTESTINFOFc.cached) return;
-	TVHITTESTINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TVHITTESTINFOFc.x = (*env)->GetFieldID(env, TVHITTESTINFOFc.clazz, "x", "I");
-	TVHITTESTINFOFc.y = (*env)->GetFieldID(env, TVHITTESTINFOFc.clazz, "y", "I");
-	TVHITTESTINFOFc.flags = (*env)->GetFieldID(env, TVHITTESTINFOFc.clazz, "flags", "I");
-	TVHITTESTINFOFc.hItem = (*env)->GetFieldID(env, TVHITTESTINFOFc.clazz, "hItem", "I");
-	TVHITTESTINFOFc.cached = 1;
-}
-
-TVHITTESTINFO *getTVHITTESTINFOFields(JNIEnv *env, jobject lpObject, TVHITTESTINFO *lpStruct)
-{
-	if (!TVHITTESTINFOFc.cached) cacheTVHITTESTINFOFields(env, lpObject);
-	lpStruct->pt.x = (*env)->GetIntField(env, lpObject, TVHITTESTINFOFc.x);
-	lpStruct->pt.y = (*env)->GetIntField(env, lpObject, TVHITTESTINFOFc.y);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, TVHITTESTINFOFc.flags);
-	lpStruct->hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, TVHITTESTINFOFc.hItem);
-	return lpStruct;
-}
-
-void setTVHITTESTINFOFields(JNIEnv *env, jobject lpObject, TVHITTESTINFO *lpStruct)
-{
-	if (!TVHITTESTINFOFc.cached) cacheTVHITTESTINFOFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TVHITTESTINFOFc.x, (jint)lpStruct->pt.x);
-	(*env)->SetIntField(env, lpObject, TVHITTESTINFOFc.y, (jint)lpStruct->pt.y);
-	(*env)->SetIntField(env, lpObject, TVHITTESTINFOFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, TVHITTESTINFOFc.hItem, (jint)lpStruct->hItem);
-}
-#endif
-
-#ifndef NO_TVINSERTSTRUCT
-typedef struct TVINSERTSTRUCT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hParent, hInsertAfter, mask, hItem, state, stateMask, pszText, cchTextMax, iImage, iSelectedImage, cChildren, lParam, iIntegral;
-} TVINSERTSTRUCT_FID_CACHE;
-
-TVINSERTSTRUCT_FID_CACHE TVINSERTSTRUCTFc;
-
-void cacheTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject)
-{
-	if (TVINSERTSTRUCTFc.cached) return;
-	TVINSERTSTRUCTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TVINSERTSTRUCTFc.hParent = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "hParent", "I");
-	TVINSERTSTRUCTFc.hInsertAfter = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "hInsertAfter", "I");
-	TVINSERTSTRUCTFc.mask = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "mask", "I");
-	TVINSERTSTRUCTFc.hItem = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "hItem", "I");
-	TVINSERTSTRUCTFc.state = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "state", "I");
-	TVINSERTSTRUCTFc.stateMask = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "stateMask", "I");
-	TVINSERTSTRUCTFc.pszText = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "pszText", "I");
-	TVINSERTSTRUCTFc.cchTextMax = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "cchTextMax", "I");
-	TVINSERTSTRUCTFc.iImage = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "iImage", "I");
-	TVINSERTSTRUCTFc.iSelectedImage = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "iSelectedImage", "I");
-	TVINSERTSTRUCTFc.cChildren = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "cChildren", "I");
-	TVINSERTSTRUCTFc.lParam = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "lParam", "I");
-	TVINSERTSTRUCTFc.iIntegral = (*env)->GetFieldID(env, TVINSERTSTRUCTFc.clazz, "iIntegral", "I");
-	TVINSERTSTRUCTFc.cached = 1;
-}
-
-TVINSERTSTRUCT *getTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject, TVINSERTSTRUCT *lpStruct)
-{
-	if (!TVINSERTSTRUCTFc.cached) cacheTVINSERTSTRUCTFields(env, lpObject);
-	lpStruct->hParent = (HTREEITEM)(*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.hParent);
-	lpStruct->hInsertAfter = (HTREEITEM)(*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.hInsertAfter);
-	lpStruct->item.mask = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.mask);
-	lpStruct->item.hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.hItem);
-	lpStruct->item.state = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.state);
-	lpStruct->item.stateMask = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.stateMask);
-	lpStruct->item.pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.pszText);
-	lpStruct->item.cchTextMax = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.cchTextMax);
-	lpStruct->item.iImage = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.iImage);
-	lpStruct->item.iSelectedImage = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.iSelectedImage);
-	lpStruct->item.cChildren = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.cChildren);
-	lpStruct->item.lParam = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.lParam);
-#ifndef _WIN32_WCE
-	lpStruct->itemex.iIntegral = (*env)->GetIntField(env, lpObject, TVINSERTSTRUCTFc.iIntegral);
-#endif
-	return lpStruct;
-}
-
-void setTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject, TVINSERTSTRUCT *lpStruct)
-{
-	if (!TVINSERTSTRUCTFc.cached) cacheTVINSERTSTRUCTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.hParent, (jint)lpStruct->hParent);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.hInsertAfter, (jint)lpStruct->hInsertAfter);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.mask, (jint)lpStruct->item.mask);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.hItem, (jint)lpStruct->item.hItem);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.state, (jint)lpStruct->item.state);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.stateMask, (jint)lpStruct->item.stateMask);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.pszText, (jint)lpStruct->item.pszText);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.cchTextMax, (jint)lpStruct->item.cchTextMax);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.iImage, (jint)lpStruct->item.iImage);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.iSelectedImage, (jint)lpStruct->item.iSelectedImage);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.cChildren, (jint)lpStruct->item.cChildren);
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.lParam, (jint)lpStruct->item.lParam);
-#ifndef _WIN32_WCE
-	(*env)->SetIntField(env, lpObject, TVINSERTSTRUCTFc.iIntegral, (jint)lpStruct->itemex.iIntegral);
-#endif
-}
-#endif
-
-#ifndef NO_TVITEM
-typedef struct TVITEM_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID mask, hItem, state, stateMask, pszText, cchTextMax, iImage, iSelectedImage, cChildren, lParam;
-} TVITEM_FID_CACHE;
-
-TVITEM_FID_CACHE TVITEMFc;
-
-void cacheTVITEMFields(JNIEnv *env, jobject lpObject)
-{
-	if (TVITEMFc.cached) return;
-	TVITEMFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TVITEMFc.mask = (*env)->GetFieldID(env, TVITEMFc.clazz, "mask", "I");
-	TVITEMFc.hItem = (*env)->GetFieldID(env, TVITEMFc.clazz, "hItem", "I");
-	TVITEMFc.state = (*env)->GetFieldID(env, TVITEMFc.clazz, "state", "I");
-	TVITEMFc.stateMask = (*env)->GetFieldID(env, TVITEMFc.clazz, "stateMask", "I");
-	TVITEMFc.pszText = (*env)->GetFieldID(env, TVITEMFc.clazz, "pszText", "I");
-	TVITEMFc.cchTextMax = (*env)->GetFieldID(env, TVITEMFc.clazz, "cchTextMax", "I");
-	TVITEMFc.iImage = (*env)->GetFieldID(env, TVITEMFc.clazz, "iImage", "I");
-	TVITEMFc.iSelectedImage = (*env)->GetFieldID(env, TVITEMFc.clazz, "iSelectedImage", "I");
-	TVITEMFc.cChildren = (*env)->GetFieldID(env, TVITEMFc.clazz, "cChildren", "I");
-	TVITEMFc.lParam = (*env)->GetFieldID(env, TVITEMFc.clazz, "lParam", "I");
-	TVITEMFc.cached = 1;
-}
-
-TVITEM *getTVITEMFields(JNIEnv *env, jobject lpObject, TVITEM *lpStruct)
-{
-	if (!TVITEMFc.cached) cacheTVITEMFields(env, lpObject);
-	lpStruct->mask = (*env)->GetIntField(env, lpObject, TVITEMFc.mask);
-	lpStruct->hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, TVITEMFc.hItem);
-	lpStruct->state = (*env)->GetIntField(env, lpObject, TVITEMFc.state);
-	lpStruct->stateMask = (*env)->GetIntField(env, lpObject, TVITEMFc.stateMask);
-	lpStruct->pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, TVITEMFc.pszText);
-	lpStruct->cchTextMax = (*env)->GetIntField(env, lpObject, TVITEMFc.cchTextMax);
-	lpStruct->iImage = (*env)->GetIntField(env, lpObject, TVITEMFc.iImage);
-	lpStruct->iSelectedImage = (*env)->GetIntField(env, lpObject, TVITEMFc.iSelectedImage);
-	lpStruct->cChildren = (*env)->GetIntField(env, lpObject, TVITEMFc.cChildren);
-	lpStruct->lParam = (*env)->GetIntField(env, lpObject, TVITEMFc.lParam);
-	return lpStruct;
-}
-
-void setTVITEMFields(JNIEnv *env, jobject lpObject, TVITEM *lpStruct)
-{
-	if (!TVITEMFc.cached) cacheTVITEMFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.mask, (jint)lpStruct->mask);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.hItem, (jint)lpStruct->hItem);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.state, (jint)lpStruct->state);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.stateMask, (jint)lpStruct->stateMask);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.pszText, (jint)lpStruct->pszText);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.cchTextMax, (jint)lpStruct->cchTextMax);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.iImage, (jint)lpStruct->iImage);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.iSelectedImage, (jint)lpStruct->iSelectedImage);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.cChildren, (jint)lpStruct->cChildren);
-	(*env)->SetIntField(env, lpObject, TVITEMFc.lParam, (jint)lpStruct->lParam);
-}
-#endif
-
-#ifndef NO_TVITEMEX
-typedef struct TVITEMEX_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID iIntegral;
-} TVITEMEX_FID_CACHE;
-
-TVITEMEX_FID_CACHE TVITEMEXFc;
-
-void cacheTVITEMEXFields(JNIEnv *env, jobject lpObject)
-{
-	if (TVITEMEXFc.cached) return;
-	cacheTVITEMFields(env, lpObject);
-	TVITEMEXFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	TVITEMEXFc.iIntegral = (*env)->GetFieldID(env, TVITEMEXFc.clazz, "iIntegral", "I");
-	TVITEMEXFc.cached = 1;
-}
-
-TVITEMEX *getTVITEMEXFields(JNIEnv *env, jobject lpObject, TVITEMEX *lpStruct)
-{
-	if (!TVITEMEXFc.cached) cacheTVITEMEXFields(env, lpObject);
-	getTVITEMFields(env, lpObject, (TVITEM *)lpStruct);
-	lpStruct->iIntegral = (*env)->GetIntField(env, lpObject, TVITEMEXFc.iIntegral);
-	return lpStruct;
-}
-
-void setTVITEMEXFields(JNIEnv *env, jobject lpObject, TVITEMEX *lpStruct)
-{
-	if (!TVITEMEXFc.cached) cacheTVITEMEXFields(env, lpObject);
-	setTVITEMFields(env, lpObject, (TVITEM *)lpStruct);
-	(*env)->SetIntField(env, lpObject, TVITEMEXFc.iIntegral, (jint)lpStruct->iIntegral);
-}
-#endif
-
-#ifndef NO_UDACCEL
-typedef struct UDACCEL_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID nSec, nInc;
-} UDACCEL_FID_CACHE;
-
-UDACCEL_FID_CACHE UDACCELFc;
-
-void cacheUDACCELFields(JNIEnv *env, jobject lpObject)
-{
-	if (UDACCELFc.cached) return;
-	UDACCELFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	UDACCELFc.nSec = (*env)->GetFieldID(env, UDACCELFc.clazz, "nSec", "I");
-	UDACCELFc.nInc = (*env)->GetFieldID(env, UDACCELFc.clazz, "nInc", "I");
-	UDACCELFc.cached = 1;
-}
-
-UDACCEL *getUDACCELFields(JNIEnv *env, jobject lpObject, UDACCEL *lpStruct)
-{
-	if (!UDACCELFc.cached) cacheUDACCELFields(env, lpObject);
-	lpStruct->nSec = (*env)->GetIntField(env, lpObject, UDACCELFc.nSec);
-	lpStruct->nInc = (*env)->GetIntField(env, lpObject, UDACCELFc.nInc);
-	return lpStruct;
-}
-
-void setUDACCELFields(JNIEnv *env, jobject lpObject, UDACCEL *lpStruct)
-{
-	if (!UDACCELFc.cached) cacheUDACCELFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, UDACCELFc.nSec, (jint)lpStruct->nSec);
-	(*env)->SetIntField(env, lpObject, UDACCELFc.nInc, (jint)lpStruct->nInc);
-}
-#endif
-
-#ifndef NO_WINDOWPLACEMENT
-typedef struct WINDOWPLACEMENT_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID length, flags, showCmd, ptMinPosition_x, ptMinPosition_y, ptMaxPosition_x, ptMaxPosition_y, left, top, right, bottom;
-} WINDOWPLACEMENT_FID_CACHE;
-
-WINDOWPLACEMENT_FID_CACHE WINDOWPLACEMENTFc;
-
-void cacheWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject)
-{
-	if (WINDOWPLACEMENTFc.cached) return;
-	WINDOWPLACEMENTFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	WINDOWPLACEMENTFc.length = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "length", "I");
-	WINDOWPLACEMENTFc.flags = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "flags", "I");
-	WINDOWPLACEMENTFc.showCmd = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "showCmd", "I");
-	WINDOWPLACEMENTFc.ptMinPosition_x = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "ptMinPosition_x", "I");
-	WINDOWPLACEMENTFc.ptMinPosition_y = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "ptMinPosition_y", "I");
-	WINDOWPLACEMENTFc.ptMaxPosition_x = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "ptMaxPosition_x", "I");
-	WINDOWPLACEMENTFc.ptMaxPosition_y = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "ptMaxPosition_y", "I");
-	WINDOWPLACEMENTFc.left = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "left", "I");
-	WINDOWPLACEMENTFc.top = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "top", "I");
-	WINDOWPLACEMENTFc.right = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "right", "I");
-	WINDOWPLACEMENTFc.bottom = (*env)->GetFieldID(env, WINDOWPLACEMENTFc.clazz, "bottom", "I");
-	WINDOWPLACEMENTFc.cached = 1;
-}
-
-WINDOWPLACEMENT *getWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject, WINDOWPLACEMENT *lpStruct)
-{
-	if (!WINDOWPLACEMENTFc.cached) cacheWINDOWPLACEMENTFields(env, lpObject);
-	lpStruct->length = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.length);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.flags);
-	lpStruct->showCmd = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.showCmd);
-	lpStruct->ptMinPosition.x = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMinPosition_x);
-	lpStruct->ptMinPosition.y = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMinPosition_y);
-	lpStruct->ptMaxPosition.x = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMaxPosition_x);
-	lpStruct->ptMaxPosition.y = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMaxPosition_y);
-	lpStruct->rcNormalPosition.left = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.left);
-	lpStruct->rcNormalPosition.top = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.top);
-	lpStruct->rcNormalPosition.right = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.right);
-	lpStruct->rcNormalPosition.bottom = (*env)->GetIntField(env, lpObject, WINDOWPLACEMENTFc.bottom);
-	return lpStruct;
-}
-
-void setWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject, WINDOWPLACEMENT *lpStruct)
-{
-	if (!WINDOWPLACEMENTFc.cached) cacheWINDOWPLACEMENTFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.length, (jint)lpStruct->length);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.flags, (jint)lpStruct->flags);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.showCmd, (jint)lpStruct->showCmd);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMinPosition_x, (jint)lpStruct->ptMinPosition.x);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMinPosition_y, (jint)lpStruct->ptMinPosition.y);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMaxPosition_x, (jint)lpStruct->ptMaxPosition.x);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.ptMaxPosition_y, (jint)lpStruct->ptMaxPosition.y);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.left, (jint)lpStruct->rcNormalPosition.left);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.top, (jint)lpStruct->rcNormalPosition.top);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.right, (jint)lpStruct->rcNormalPosition.right);
-	(*env)->SetIntField(env, lpObject, WINDOWPLACEMENTFc.bottom, (jint)lpStruct->rcNormalPosition.bottom);
-}
-#endif
-
-#ifndef NO_WINDOWPOS
-typedef struct WINDOWPOS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID hwnd, hwndInsertAfter, x, y, cx, cy, flags;
-} WINDOWPOS_FID_CACHE;
-
-WINDOWPOS_FID_CACHE WINDOWPOSFc;
-
-void cacheWINDOWPOSFields(JNIEnv *env, jobject lpObject)
-{
-	if (WINDOWPOSFc.cached) return;
-	WINDOWPOSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	WINDOWPOSFc.hwnd = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "hwnd", "I");
-	WINDOWPOSFc.hwndInsertAfter = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "hwndInsertAfter", "I");
-	WINDOWPOSFc.x = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "x", "I");
-	WINDOWPOSFc.y = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "y", "I");
-	WINDOWPOSFc.cx = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "cx", "I");
-	WINDOWPOSFc.cy = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "cy", "I");
-	WINDOWPOSFc.flags = (*env)->GetFieldID(env, WINDOWPOSFc.clazz, "flags", "I");
-	WINDOWPOSFc.cached = 1;
-}
-
-WINDOWPOS *getWINDOWPOSFields(JNIEnv *env, jobject lpObject, WINDOWPOS *lpStruct)
-{
-	if (!WINDOWPOSFc.cached) cacheWINDOWPOSFields(env, lpObject);
-	lpStruct->hwnd = (HWND)(*env)->GetIntField(env, lpObject, WINDOWPOSFc.hwnd);
-	lpStruct->hwndInsertAfter = (HWND)(*env)->GetIntField(env, lpObject, WINDOWPOSFc.hwndInsertAfter);
-	lpStruct->x = (*env)->GetIntField(env, lpObject, WINDOWPOSFc.x);
-	lpStruct->y = (*env)->GetIntField(env, lpObject, WINDOWPOSFc.y);
-	lpStruct->cx = (*env)->GetIntField(env, lpObject, WINDOWPOSFc.cx);
-	lpStruct->cy = (*env)->GetIntField(env, lpObject, WINDOWPOSFc.cy);
-	lpStruct->flags = (*env)->GetIntField(env, lpObject, WINDOWPOSFc.flags);
-	return lpStruct;
-}
-
-void setWINDOWPOSFields(JNIEnv *env, jobject lpObject, WINDOWPOS *lpStruct)
-{
-	if (!WINDOWPOSFc.cached) cacheWINDOWPOSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.hwnd, (jint)lpStruct->hwnd);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.hwndInsertAfter, (jint)lpStruct->hwndInsertAfter);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.x, (jint)lpStruct->x);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.y, (jint)lpStruct->y);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.cx, (jint)lpStruct->cx);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.cy, (jint)lpStruct->cy);
-	(*env)->SetIntField(env, lpObject, WINDOWPOSFc.flags, (jint)lpStruct->flags);
-}
-#endif
-
-#ifndef NO_WNDCLASS
-typedef struct WNDCLASS_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID style, lpfnWndProc, cbClsExtra, cbWndExtra, hInstance, hIcon, hCursor, hbrBackground, lpszMenuName, lpszClassName;
-} WNDCLASS_FID_CACHE;
-
-WNDCLASS_FID_CACHE WNDCLASSFc;
-
-void cacheWNDCLASSFields(JNIEnv *env, jobject lpObject)
-{
-	if (WNDCLASSFc.cached) return;
-	WNDCLASSFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	WNDCLASSFc.style = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "style", "I");
-	WNDCLASSFc.lpfnWndProc = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "lpfnWndProc", "I");
-	WNDCLASSFc.cbClsExtra = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "cbClsExtra", "I");
-	WNDCLASSFc.cbWndExtra = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "cbWndExtra", "I");
-	WNDCLASSFc.hInstance = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "hInstance", "I");
-	WNDCLASSFc.hIcon = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "hIcon", "I");
-	WNDCLASSFc.hCursor = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "hCursor", "I");
-	WNDCLASSFc.hbrBackground = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "hbrBackground", "I");
-	WNDCLASSFc.lpszMenuName = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "lpszMenuName", "I");
-	WNDCLASSFc.lpszClassName = (*env)->GetFieldID(env, WNDCLASSFc.clazz, "lpszClassName", "I");
-	WNDCLASSFc.cached = 1;
-}
-
-WNDCLASS *getWNDCLASSFields(JNIEnv *env, jobject lpObject, WNDCLASS *lpStruct)
-{
-	if (!WNDCLASSFc.cached) cacheWNDCLASSFields(env, lpObject);
-	lpStruct->style = (*env)->GetIntField(env, lpObject, WNDCLASSFc.style);
-	lpStruct->lpfnWndProc = (WNDPROC)(*env)->GetIntField(env, lpObject, WNDCLASSFc.lpfnWndProc);
-	lpStruct->cbClsExtra = (*env)->GetIntField(env, lpObject, WNDCLASSFc.cbClsExtra);
-	lpStruct->cbWndExtra = (*env)->GetIntField(env, lpObject, WNDCLASSFc.cbWndExtra);
-	lpStruct->hInstance = (HINSTANCE)(*env)->GetIntField(env, lpObject, WNDCLASSFc.hInstance);
-	lpStruct->hIcon = (HICON)(*env)->GetIntField(env, lpObject, WNDCLASSFc.hIcon);
-	lpStruct->hCursor = (HCURSOR)(*env)->GetIntField(env, lpObject, WNDCLASSFc.hCursor);
-	lpStruct->hbrBackground = (HBRUSH)(*env)->GetIntField(env, lpObject, WNDCLASSFc.hbrBackground);
-	lpStruct->lpszMenuName = (LPCTSTR)(*env)->GetIntField(env, lpObject, WNDCLASSFc.lpszMenuName);
-	lpStruct->lpszClassName = (LPCTSTR)(*env)->GetIntField(env, lpObject, WNDCLASSFc.lpszClassName);
-	return lpStruct;
-}
-
-void setWNDCLASSFields(JNIEnv *env, jobject lpObject, WNDCLASS *lpStruct)
-{
-	if (!WNDCLASSFc.cached) cacheWNDCLASSFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.style, (jint)lpStruct->style);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.lpfnWndProc, (jint)lpStruct->lpfnWndProc);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.cbClsExtra, (jint)lpStruct->cbClsExtra);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.cbWndExtra, (jint)lpStruct->cbWndExtra);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.hInstance, (jint)lpStruct->hInstance);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.hIcon, (jint)lpStruct->hIcon);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.hCursor, (jint)lpStruct->hCursor);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.hbrBackground, (jint)lpStruct->hbrBackground);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.lpszMenuName, (jint)lpStruct->lpszMenuName);
-	(*env)->SetIntField(env, lpObject, WNDCLASSFc.lpszClassName, (jint)lpStruct->lpszClassName);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
deleted file mode 100644
index 689e7b1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
+++ /dev/null
@@ -1,1429 +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
- *******************************************************************************/
-
-#include "os.h"
-
-#ifndef NO_ACCEL
-void cacheACCELFields(JNIEnv *env, jobject lpObject);
-ACCEL *getACCELFields(JNIEnv *env, jobject lpObject, ACCEL *lpStruct);
-void setACCELFields(JNIEnv *env, jobject lpObject, ACCEL *lpStruct);
-#define ACCEL_sizeof() sizeof(ACCEL)
-#else
-#define cacheACCELFields(a,b)
-#define getACCELFields(a,b,c) NULL
-#define setACCELFields(a,b,c)
-#define ACCEL_sizeof() 0
-#endif
-
-#ifndef NO_ACTCTX
-void cacheACTCTXFields(JNIEnv *env, jobject lpObject);
-ACTCTX *getACTCTXFields(JNIEnv *env, jobject lpObject, ACTCTX *lpStruct);
-void setACTCTXFields(JNIEnv *env, jobject lpObject, ACTCTX *lpStruct);
-#define ACTCTX_sizeof() sizeof(ACTCTX)
-#else
-#define cacheACTCTXFields(a,b)
-#define getACTCTXFields(a,b,c) NULL
-#define setACTCTXFields(a,b,c)
-#define ACTCTX_sizeof() 0
-#endif
-
-#ifndef NO_BITMAP
-void cacheBITMAPFields(JNIEnv *env, jobject lpObject);
-BITMAP *getBITMAPFields(JNIEnv *env, jobject lpObject, BITMAP *lpStruct);
-void setBITMAPFields(JNIEnv *env, jobject lpObject, BITMAP *lpStruct);
-#define BITMAP_sizeof() sizeof(BITMAP)
-#else
-#define cacheBITMAPFields(a,b)
-#define getBITMAPFields(a,b,c) NULL
-#define setBITMAPFields(a,b,c)
-#define BITMAP_sizeof() 0
-#endif
-
-#ifndef NO_BITMAPINFOHEADER
-void cacheBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject);
-BITMAPINFOHEADER *getBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject, BITMAPINFOHEADER *lpStruct);
-void setBITMAPINFOHEADERFields(JNIEnv *env, jobject lpObject, BITMAPINFOHEADER *lpStruct);
-#define BITMAPINFOHEADER_sizeof() sizeof(BITMAPINFOHEADER)
-#else
-#define cacheBITMAPINFOHEADERFields(a,b)
-#define getBITMAPINFOHEADERFields(a,b,c) NULL
-#define setBITMAPINFOHEADERFields(a,b,c)
-#define BITMAPINFOHEADER_sizeof() 0
-#endif
-
-#ifndef NO_BLENDFUNCTION
-void cacheBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject);
-BLENDFUNCTION *getBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject, BLENDFUNCTION *lpStruct);
-void setBLENDFUNCTIONFields(JNIEnv *env, jobject lpObject, BLENDFUNCTION *lpStruct);
-#define BLENDFUNCTION_sizeof() sizeof(BLENDFUNCTION)
-#else
-#define cacheBLENDFUNCTIONFields(a,b)
-#define getBLENDFUNCTIONFields(a,b,c) NULL
-#define setBLENDFUNCTIONFields(a,b,c)
-#define BLENDFUNCTION_sizeof() 0
-#endif
-
-#ifndef NO_BROWSEINFO
-void cacheBROWSEINFOFields(JNIEnv *env, jobject lpObject);
-BROWSEINFO *getBROWSEINFOFields(JNIEnv *env, jobject lpObject, BROWSEINFO *lpStruct);
-void setBROWSEINFOFields(JNIEnv *env, jobject lpObject, BROWSEINFO *lpStruct);
-#define BROWSEINFO_sizeof() sizeof(BROWSEINFO)
-#else
-#define cacheBROWSEINFOFields(a,b)
-#define getBROWSEINFOFields(a,b,c) NULL
-#define setBROWSEINFOFields(a,b,c)
-#define BROWSEINFO_sizeof() 0
-#endif
-
-#ifndef NO_BUTTON_IMAGELIST
-void cacheBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject);
-BUTTON_IMAGELIST *getBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject, BUTTON_IMAGELIST *lpStruct);
-void setBUTTON_IMAGELISTFields(JNIEnv *env, jobject lpObject, BUTTON_IMAGELIST *lpStruct);
-#define BUTTON_IMAGELIST_sizeof() sizeof(BUTTON_IMAGELIST)
-#else
-#define cacheBUTTON_IMAGELISTFields(a,b)
-#define getBUTTON_IMAGELISTFields(a,b,c) NULL
-#define setBUTTON_IMAGELISTFields(a,b,c)
-#define BUTTON_IMAGELIST_sizeof() 0
-#endif
-
-#ifndef NO_CHOOSECOLOR
-void cacheCHOOSECOLORFields(JNIEnv *env, jobject lpObject);
-CHOOSECOLOR *getCHOOSECOLORFields(JNIEnv *env, jobject lpObject, CHOOSECOLOR *lpStruct);
-void setCHOOSECOLORFields(JNIEnv *env, jobject lpObject, CHOOSECOLOR *lpStruct);
-#define CHOOSECOLOR_sizeof() sizeof(CHOOSECOLOR)
-#else
-#define cacheCHOOSECOLORFields(a,b)
-#define getCHOOSECOLORFields(a,b,c) NULL
-#define setCHOOSECOLORFields(a,b,c)
-#define CHOOSECOLOR_sizeof() 0
-#endif
-
-#ifndef NO_CHOOSEFONT
-void cacheCHOOSEFONTFields(JNIEnv *env, jobject lpObject);
-CHOOSEFONT *getCHOOSEFONTFields(JNIEnv *env, jobject lpObject, CHOOSEFONT *lpStruct);
-void setCHOOSEFONTFields(JNIEnv *env, jobject lpObject, CHOOSEFONT *lpStruct);
-#define CHOOSEFONT_sizeof() sizeof(CHOOSEFONT)
-#else
-#define cacheCHOOSEFONTFields(a,b)
-#define getCHOOSEFONTFields(a,b,c) NULL
-#define setCHOOSEFONTFields(a,b,c)
-#define CHOOSEFONT_sizeof() 0
-#endif
-
-#ifndef NO_COMBOBOXINFO
-void cacheCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject);
-COMBOBOXINFO *getCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject, COMBOBOXINFO *lpStruct);
-void setCOMBOBOXINFOFields(JNIEnv *env, jobject lpObject, COMBOBOXINFO *lpStruct);
-#define COMBOBOXINFO_sizeof() sizeof(COMBOBOXINFO)
-#else
-#define cacheCOMBOBOXINFOFields(a,b)
-#define getCOMBOBOXINFOFields(a,b,c) NULL
-#define setCOMBOBOXINFOFields(a,b,c)
-#define COMBOBOXINFO_sizeof() 0
-#endif
-
-#ifndef NO_COMPOSITIONFORM
-void cacheCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject);
-COMPOSITIONFORM *getCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject, COMPOSITIONFORM *lpStruct);
-void setCOMPOSITIONFORMFields(JNIEnv *env, jobject lpObject, COMPOSITIONFORM *lpStruct);
-#define COMPOSITIONFORM_sizeof() sizeof(COMPOSITIONFORM)
-#else
-#define cacheCOMPOSITIONFORMFields(a,b)
-#define getCOMPOSITIONFORMFields(a,b,c) NULL
-#define setCOMPOSITIONFORMFields(a,b,c)
-#define COMPOSITIONFORM_sizeof() 0
-#endif
-
-#ifndef NO_CREATESTRUCT
-void cacheCREATESTRUCTFields(JNIEnv *env, jobject lpObject);
-CREATESTRUCT *getCREATESTRUCTFields(JNIEnv *env, jobject lpObject, CREATESTRUCT *lpStruct);
-void setCREATESTRUCTFields(JNIEnv *env, jobject lpObject, CREATESTRUCT *lpStruct);
-#define CREATESTRUCT_sizeof() sizeof(CREATESTRUCT)
-#else
-#define cacheCREATESTRUCTFields(a,b)
-#define getCREATESTRUCTFields(a,b,c) NULL
-#define setCREATESTRUCTFields(a,b,c)
-#define CREATESTRUCT_sizeof() 0
-#endif
-
-#ifndef NO_DIBSECTION
-void cacheDIBSECTIONFields(JNIEnv *env, jobject lpObject);
-DIBSECTION *getDIBSECTIONFields(JNIEnv *env, jobject lpObject, DIBSECTION *lpStruct);
-void setDIBSECTIONFields(JNIEnv *env, jobject lpObject, DIBSECTION *lpStruct);
-#define DIBSECTION_sizeof() sizeof(DIBSECTION)
-#else
-#define cacheDIBSECTIONFields(a,b)
-#define getDIBSECTIONFields(a,b,c) NULL
-#define setDIBSECTIONFields(a,b,c)
-#define DIBSECTION_sizeof() 0
-#endif
-
-#ifndef NO_DLLVERSIONINFO
-void cacheDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject);
-DLLVERSIONINFO *getDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject, DLLVERSIONINFO *lpStruct);
-void setDLLVERSIONINFOFields(JNIEnv *env, jobject lpObject, DLLVERSIONINFO *lpStruct);
-#define DLLVERSIONINFO_sizeof() sizeof(DLLVERSIONINFO)
-#else
-#define cacheDLLVERSIONINFOFields(a,b)
-#define getDLLVERSIONINFOFields(a,b,c) NULL
-#define setDLLVERSIONINFOFields(a,b,c)
-#define DLLVERSIONINFO_sizeof() 0
-#endif
-
-#ifndef NO_DOCINFO
-void cacheDOCINFOFields(JNIEnv *env, jobject lpObject);
-DOCINFO *getDOCINFOFields(JNIEnv *env, jobject lpObject, DOCINFO *lpStruct);
-void setDOCINFOFields(JNIEnv *env, jobject lpObject, DOCINFO *lpStruct);
-#define DOCINFO_sizeof() sizeof(DOCINFO)
-#else
-#define cacheDOCINFOFields(a,b)
-#define getDOCINFOFields(a,b,c) NULL
-#define setDOCINFOFields(a,b,c)
-#define DOCINFO_sizeof() 0
-#endif
-
-#ifndef NO_DRAWITEMSTRUCT
-void cacheDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject);
-DRAWITEMSTRUCT *getDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject, DRAWITEMSTRUCT *lpStruct);
-void setDRAWITEMSTRUCTFields(JNIEnv *env, jobject lpObject, DRAWITEMSTRUCT *lpStruct);
-#define DRAWITEMSTRUCT_sizeof() sizeof(DRAWITEMSTRUCT)
-#else
-#define cacheDRAWITEMSTRUCTFields(a,b)
-#define getDRAWITEMSTRUCTFields(a,b,c) NULL
-#define setDRAWITEMSTRUCTFields(a,b,c)
-#define DRAWITEMSTRUCT_sizeof() 0
-#endif
-
-#ifndef NO_DROPFILES
-void cacheDROPFILESFields(JNIEnv *env, jobject lpObject);
-DROPFILES *getDROPFILESFields(JNIEnv *env, jobject lpObject, DROPFILES *lpStruct);
-void setDROPFILESFields(JNIEnv *env, jobject lpObject, DROPFILES *lpStruct);
-#define DROPFILES_sizeof() sizeof(DROPFILES)
-#else
-#define cacheDROPFILESFields(a,b)
-#define getDROPFILESFields(a,b,c) NULL
-#define setDROPFILESFields(a,b,c)
-#define DROPFILES_sizeof() 0
-#endif
-
-#ifndef NO_EXTLOGPEN
-void cacheEXTLOGPENFields(JNIEnv *env, jobject lpObject);
-EXTLOGPEN *getEXTLOGPENFields(JNIEnv *env, jobject lpObject, EXTLOGPEN *lpStruct);
-void setEXTLOGPENFields(JNIEnv *env, jobject lpObject, EXTLOGPEN *lpStruct);
-#define EXTLOGPEN_sizeof() sizeof(EXTLOGPEN)
-#else
-#define cacheEXTLOGPENFields(a,b)
-#define getEXTLOGPENFields(a,b,c) NULL
-#define setEXTLOGPENFields(a,b,c)
-#define EXTLOGPEN_sizeof() 0
-#endif
-
-#ifndef NO_FILETIME
-void cacheFILETIMEFields(JNIEnv *env, jobject lpObject);
-FILETIME *getFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct);
-void setFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct);
-#define FILETIME_sizeof() sizeof(FILETIME)
-#else
-#define cacheFILETIMEFields(a,b)
-#define getFILETIMEFields(a,b,c) NULL
-#define setFILETIMEFields(a,b,c)
-#define FILETIME_sizeof() 0
-#endif
-
-#ifndef NO_GCP_RESULTS
-void cacheGCP_RESULTSFields(JNIEnv *env, jobject lpObject);
-GCP_RESULTS *getGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct);
-void setGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct);
-#define GCP_RESULTS_sizeof() sizeof(GCP_RESULTS)
-#else
-#define cacheGCP_RESULTSFields(a,b)
-#define getGCP_RESULTSFields(a,b,c) NULL
-#define setGCP_RESULTSFields(a,b,c)
-#define GCP_RESULTS_sizeof() 0
-#endif
-
-#ifndef NO_GRADIENT_RECT
-void cacheGRADIENT_RECTFields(JNIEnv *env, jobject lpObject);
-GRADIENT_RECT *getGRADIENT_RECTFields(JNIEnv *env, jobject lpObject, GRADIENT_RECT *lpStruct);
-void setGRADIENT_RECTFields(JNIEnv *env, jobject lpObject, GRADIENT_RECT *lpStruct);
-#define GRADIENT_RECT_sizeof() sizeof(GRADIENT_RECT)
-#else
-#define cacheGRADIENT_RECTFields(a,b)
-#define getGRADIENT_RECTFields(a,b,c) NULL
-#define setGRADIENT_RECTFields(a,b,c)
-#define GRADIENT_RECT_sizeof() 0
-#endif
-
-#ifndef NO_GUITHREADINFO
-void cacheGUITHREADINFOFields(JNIEnv *env, jobject lpObject);
-GUITHREADINFO *getGUITHREADINFOFields(JNIEnv *env, jobject lpObject, GUITHREADINFO *lpStruct);
-void setGUITHREADINFOFields(JNIEnv *env, jobject lpObject, GUITHREADINFO *lpStruct);
-#define GUITHREADINFO_sizeof() sizeof(GUITHREADINFO)
-#else
-#define cacheGUITHREADINFOFields(a,b)
-#define getGUITHREADINFOFields(a,b,c) NULL
-#define setGUITHREADINFOFields(a,b,c)
-#define GUITHREADINFO_sizeof() 0
-#endif
-
-#ifndef NO_HDITEM
-void cacheHDITEMFields(JNIEnv *env, jobject lpObject);
-HDITEM *getHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct);
-void setHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct);
-#define HDITEM_sizeof() sizeof(HDITEM)
-#else
-#define cacheHDITEMFields(a,b)
-#define getHDITEMFields(a,b,c) NULL
-#define setHDITEMFields(a,b,c)
-#define HDITEM_sizeof() 0
-#endif
-
-#ifndef NO_HDLAYOUT
-void cacheHDLAYOUTFields(JNIEnv *env, jobject lpObject);
-HDLAYOUT *getHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct);
-void setHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct);
-#define HDLAYOUT_sizeof() sizeof(HDLAYOUT)
-#else
-#define cacheHDLAYOUTFields(a,b)
-#define getHDLAYOUTFields(a,b,c) NULL
-#define setHDLAYOUTFields(a,b,c)
-#define HDLAYOUT_sizeof() 0
-#endif
-
-#ifndef NO_HELPINFO
-void cacheHELPINFOFields(JNIEnv *env, jobject lpObject);
-HELPINFO *getHELPINFOFields(JNIEnv *env, jobject lpObject, HELPINFO *lpStruct);
-void setHELPINFOFields(JNIEnv *env, jobject lpObject, HELPINFO *lpStruct);
-#define HELPINFO_sizeof() sizeof(HELPINFO)
-#else
-#define cacheHELPINFOFields(a,b)
-#define getHELPINFOFields(a,b,c) NULL
-#define setHELPINFOFields(a,b,c)
-#define HELPINFO_sizeof() 0
-#endif
-
-#ifndef NO_HIGHCONTRAST
-void cacheHIGHCONTRASTFields(JNIEnv *env, jobject lpObject);
-HIGHCONTRAST *getHIGHCONTRASTFields(JNIEnv *env, jobject lpObject, HIGHCONTRAST *lpStruct);
-void setHIGHCONTRASTFields(JNIEnv *env, jobject lpObject, HIGHCONTRAST *lpStruct);
-#define HIGHCONTRAST_sizeof() sizeof(HIGHCONTRAST)
-#else
-#define cacheHIGHCONTRASTFields(a,b)
-#define getHIGHCONTRASTFields(a,b,c) NULL
-#define setHIGHCONTRASTFields(a,b,c)
-#define HIGHCONTRAST_sizeof() 0
-#endif
-
-#ifndef NO_ICONINFO
-void cacheICONINFOFields(JNIEnv *env, jobject lpObject);
-ICONINFO *getICONINFOFields(JNIEnv *env, jobject lpObject, ICONINFO *lpStruct);
-void setICONINFOFields(JNIEnv *env, jobject lpObject, ICONINFO *lpStruct);
-#define ICONINFO_sizeof() sizeof(ICONINFO)
-#else
-#define cacheICONINFOFields(a,b)
-#define getICONINFOFields(a,b,c) NULL
-#define setICONINFOFields(a,b,c)
-#define ICONINFO_sizeof() 0
-#endif
-
-#ifndef NO_INITCOMMONCONTROLSEX
-void cacheINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject);
-INITCOMMONCONTROLSEX *getINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject, INITCOMMONCONTROLSEX *lpStruct);
-void setINITCOMMONCONTROLSEXFields(JNIEnv *env, jobject lpObject, INITCOMMONCONTROLSEX *lpStruct);
-#define INITCOMMONCONTROLSEX_sizeof() sizeof(INITCOMMONCONTROLSEX)
-#else
-#define cacheINITCOMMONCONTROLSEXFields(a,b)
-#define getINITCOMMONCONTROLSEXFields(a,b,c) NULL
-#define setINITCOMMONCONTROLSEXFields(a,b,c)
-#define INITCOMMONCONTROLSEX_sizeof() 0
-#endif
-
-#ifndef NO_INPUT
-void cacheINPUTFields(JNIEnv *env, jobject lpObject);
-INPUT *getINPUTFields(JNIEnv *env, jobject lpObject, INPUT *lpStruct);
-void setINPUTFields(JNIEnv *env, jobject lpObject, INPUT *lpStruct);
-#define INPUT_sizeof() sizeof(INPUT)
-#else
-#define cacheINPUTFields(a,b)
-#define getINPUTFields(a,b,c) NULL
-#define setINPUTFields(a,b,c)
-#define INPUT_sizeof() 0
-#endif
-
-#ifndef NO_KEYBDINPUT
-void cacheKEYBDINPUTFields(JNIEnv *env, jobject lpObject);
-KEYBDINPUT *getKEYBDINPUTFields(JNIEnv *env, jobject lpObject, KEYBDINPUT *lpStruct);
-void setKEYBDINPUTFields(JNIEnv *env, jobject lpObject, KEYBDINPUT *lpStruct);
-#define KEYBDINPUT_sizeof() sizeof(KEYBDINPUT)
-#else
-#define cacheKEYBDINPUTFields(a,b)
-#define getKEYBDINPUTFields(a,b,c) NULL
-#define setKEYBDINPUTFields(a,b,c)
-#define KEYBDINPUT_sizeof() 0
-#endif
-
-#ifndef NO_LITEM
-void cacheLITEMFields(JNIEnv *env, jobject lpObject);
-LITEM *getLITEMFields(JNIEnv *env, jobject lpObject, LITEM *lpStruct);
-void setLITEMFields(JNIEnv *env, jobject lpObject, LITEM *lpStruct);
-#define LITEM_sizeof() sizeof(LITEM)
-#else
-#define cacheLITEMFields(a,b)
-#define getLITEMFields(a,b,c) NULL
-#define setLITEMFields(a,b,c)
-#define LITEM_sizeof() 0
-#endif
-
-#ifndef NO_LOGBRUSH
-void cacheLOGBRUSHFields(JNIEnv *env, jobject lpObject);
-LOGBRUSH *getLOGBRUSHFields(JNIEnv *env, jobject lpObject, LOGBRUSH *lpStruct);
-void setLOGBRUSHFields(JNIEnv *env, jobject lpObject, LOGBRUSH *lpStruct);
-#define LOGBRUSH_sizeof() sizeof(LOGBRUSH)
-#else
-#define cacheLOGBRUSHFields(a,b)
-#define getLOGBRUSHFields(a,b,c) NULL
-#define setLOGBRUSHFields(a,b,c)
-#define LOGBRUSH_sizeof() 0
-#endif
-
-#ifndef NO_LOGFONT
-void cacheLOGFONTFields(JNIEnv *env, jobject lpObject);
-LOGFONT *getLOGFONTFields(JNIEnv *env, jobject lpObject, LOGFONT *lpStruct);
-void setLOGFONTFields(JNIEnv *env, jobject lpObject, LOGFONT *lpStruct);
-#define LOGFONT_sizeof() sizeof(LOGFONT)
-#else
-#define cacheLOGFONTFields(a,b)
-#define getLOGFONTFields(a,b,c) NULL
-#define setLOGFONTFields(a,b,c)
-#define LOGFONT_sizeof() 0
-#endif
-
-#ifndef NO_LOGFONTA
-void cacheLOGFONTAFields(JNIEnv *env, jobject lpObject);
-LOGFONTA *getLOGFONTAFields(JNIEnv *env, jobject lpObject, LOGFONTA *lpStruct);
-void setLOGFONTAFields(JNIEnv *env, jobject lpObject, LOGFONTA *lpStruct);
-#define LOGFONTA_sizeof() sizeof(LOGFONTA)
-#else
-#define cacheLOGFONTAFields(a,b)
-#define getLOGFONTAFields(a,b,c) NULL
-#define setLOGFONTAFields(a,b,c)
-#define LOGFONTA_sizeof() 0
-#endif
-
-#ifndef NO_LOGFONTW
-void cacheLOGFONTWFields(JNIEnv *env, jobject lpObject);
-LOGFONTW *getLOGFONTWFields(JNIEnv *env, jobject lpObject, LOGFONTW *lpStruct);
-void setLOGFONTWFields(JNIEnv *env, jobject lpObject, LOGFONTW *lpStruct);
-#define LOGFONTW_sizeof() sizeof(LOGFONTW)
-#else
-#define cacheLOGFONTWFields(a,b)
-#define getLOGFONTWFields(a,b,c) NULL
-#define setLOGFONTWFields(a,b,c)
-#define LOGFONTW_sizeof() 0
-#endif
-
-#ifndef NO_LOGPEN
-void cacheLOGPENFields(JNIEnv *env, jobject lpObject);
-LOGPEN *getLOGPENFields(JNIEnv *env, jobject lpObject, LOGPEN *lpStruct);
-void setLOGPENFields(JNIEnv *env, jobject lpObject, LOGPEN *lpStruct);
-#define LOGPEN_sizeof() sizeof(LOGPEN)
-#else
-#define cacheLOGPENFields(a,b)
-#define getLOGPENFields(a,b,c) NULL
-#define setLOGPENFields(a,b,c)
-#define LOGPEN_sizeof() 0
-#endif
-
-#ifndef NO_LVCOLUMN
-void cacheLVCOLUMNFields(JNIEnv *env, jobject lpObject);
-LVCOLUMN *getLVCOLUMNFields(JNIEnv *env, jobject lpObject, LVCOLUMN *lpStruct);
-void setLVCOLUMNFields(JNIEnv *env, jobject lpObject, LVCOLUMN *lpStruct);
-#define LVCOLUMN_sizeof() sizeof(LVCOLUMN)
-#else
-#define cacheLVCOLUMNFields(a,b)
-#define getLVCOLUMNFields(a,b,c) NULL
-#define setLVCOLUMNFields(a,b,c)
-#define LVCOLUMN_sizeof() 0
-#endif
-
-#ifndef NO_LVHITTESTINFO
-void cacheLVHITTESTINFOFields(JNIEnv *env, jobject lpObject);
-LVHITTESTINFO *getLVHITTESTINFOFields(JNIEnv *env, jobject lpObject, LVHITTESTINFO *lpStruct);
-void setLVHITTESTINFOFields(JNIEnv *env, jobject lpObject, LVHITTESTINFO *lpStruct);
-#define LVHITTESTINFO_sizeof() sizeof(LVHITTESTINFO)
-#else
-#define cacheLVHITTESTINFOFields(a,b)
-#define getLVHITTESTINFOFields(a,b,c) NULL
-#define setLVHITTESTINFOFields(a,b,c)
-#define LVHITTESTINFO_sizeof() 0
-#endif
-
-#ifndef NO_LVITEM
-void cacheLVITEMFields(JNIEnv *env, jobject lpObject);
-LVITEM *getLVITEMFields(JNIEnv *env, jobject lpObject, LVITEM *lpStruct);
-void setLVITEMFields(JNIEnv *env, jobject lpObject, LVITEM *lpStruct);
-#define LVITEM_sizeof() sizeof(LVITEM)
-#else
-#define cacheLVITEMFields(a,b)
-#define getLVITEMFields(a,b,c) NULL
-#define setLVITEMFields(a,b,c)
-#define LVITEM_sizeof() 0
-#endif
-
-#ifndef NO_MARGINS
-void cacheMARGINSFields(JNIEnv *env, jobject lpObject);
-MARGINS *getMARGINSFields(JNIEnv *env, jobject lpObject, MARGINS *lpStruct);
-void setMARGINSFields(JNIEnv *env, jobject lpObject, MARGINS *lpStruct);
-#define MARGINS_sizeof() sizeof(MARGINS)
-#else
-#define cacheMARGINSFields(a,b)
-#define getMARGINSFields(a,b,c) NULL
-#define setMARGINSFields(a,b,c)
-#define MARGINS_sizeof() 0
-#endif
-
-#ifndef NO_MEASUREITEMSTRUCT
-void cacheMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject);
-MEASUREITEMSTRUCT *getMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject, MEASUREITEMSTRUCT *lpStruct);
-void setMEASUREITEMSTRUCTFields(JNIEnv *env, jobject lpObject, MEASUREITEMSTRUCT *lpStruct);
-#define MEASUREITEMSTRUCT_sizeof() sizeof(MEASUREITEMSTRUCT)
-#else
-#define cacheMEASUREITEMSTRUCTFields(a,b)
-#define getMEASUREITEMSTRUCTFields(a,b,c) NULL
-#define setMEASUREITEMSTRUCTFields(a,b,c)
-#define MEASUREITEMSTRUCT_sizeof() 0
-#endif
-
-#ifndef NO_MENUBARINFO
-void cacheMENUBARINFOFields(JNIEnv *env, jobject lpObject);
-MENUBARINFO *getMENUBARINFOFields(JNIEnv *env, jobject lpObject, MENUBARINFO *lpStruct);
-void setMENUBARINFOFields(JNIEnv *env, jobject lpObject, MENUBARINFO *lpStruct);
-#define MENUBARINFO_sizeof() sizeof(MENUBARINFO)
-#else
-#define cacheMENUBARINFOFields(a,b)
-#define getMENUBARINFOFields(a,b,c) NULL
-#define setMENUBARINFOFields(a,b,c)
-#define MENUBARINFO_sizeof() 0
-#endif
-
-#ifndef NO_MENUINFO
-void cacheMENUINFOFields(JNIEnv *env, jobject lpObject);
-MENUINFO *getMENUINFOFields(JNIEnv *env, jobject lpObject, MENUINFO *lpStruct);
-void setMENUINFOFields(JNIEnv *env, jobject lpObject, MENUINFO *lpStruct);
-#define MENUINFO_sizeof() sizeof(MENUINFO)
-#else
-#define cacheMENUINFOFields(a,b)
-#define getMENUINFOFields(a,b,c) NULL
-#define setMENUINFOFields(a,b,c)
-#define MENUINFO_sizeof() 0
-#endif
-
-#ifndef NO_MENUITEMINFO
-void cacheMENUITEMINFOFields(JNIEnv *env, jobject lpObject);
-MENUITEMINFO *getMENUITEMINFOFields(JNIEnv *env, jobject lpObject, MENUITEMINFO *lpStruct);
-void setMENUITEMINFOFields(JNIEnv *env, jobject lpObject, MENUITEMINFO *lpStruct);
-#define MENUITEMINFO_sizeof() sizeof(MENUITEMINFO)
-#else
-#define cacheMENUITEMINFOFields(a,b)
-#define getMENUITEMINFOFields(a,b,c) NULL
-#define setMENUITEMINFOFields(a,b,c)
-#define MENUITEMINFO_sizeof() 0
-#endif
-
-#ifndef NO_MINMAXINFO
-void cacheMINMAXINFOFields(JNIEnv *env, jobject lpObject);
-MINMAXINFO *getMINMAXINFOFields(JNIEnv *env, jobject lpObject, MINMAXINFO *lpStruct);
-void setMINMAXINFOFields(JNIEnv *env, jobject lpObject, MINMAXINFO *lpStruct);
-#define MINMAXINFO_sizeof() sizeof(MINMAXINFO)
-#else
-#define cacheMINMAXINFOFields(a,b)
-#define getMINMAXINFOFields(a,b,c) NULL
-#define setMINMAXINFOFields(a,b,c)
-#define MINMAXINFO_sizeof() 0
-#endif
-
-#ifndef NO_MONITORINFO
-void cacheMONITORINFOFields(JNIEnv *env, jobject lpObject);
-MONITORINFO *getMONITORINFOFields(JNIEnv *env, jobject lpObject, MONITORINFO *lpStruct);
-void setMONITORINFOFields(JNIEnv *env, jobject lpObject, MONITORINFO *lpStruct);
-#define MONITORINFO_sizeof() sizeof(MONITORINFO)
-#else
-#define cacheMONITORINFOFields(a,b)
-#define getMONITORINFOFields(a,b,c) NULL
-#define setMONITORINFOFields(a,b,c)
-#define MONITORINFO_sizeof() 0
-#endif
-
-#ifndef NO_MOUSEINPUT
-void cacheMOUSEINPUTFields(JNIEnv *env, jobject lpObject);
-MOUSEINPUT *getMOUSEINPUTFields(JNIEnv *env, jobject lpObject, MOUSEINPUT *lpStruct);
-void setMOUSEINPUTFields(JNIEnv *env, jobject lpObject, MOUSEINPUT *lpStruct);
-#define MOUSEINPUT_sizeof() sizeof(MOUSEINPUT)
-#else
-#define cacheMOUSEINPUTFields(a,b)
-#define getMOUSEINPUTFields(a,b,c) NULL
-#define setMOUSEINPUTFields(a,b,c)
-#define MOUSEINPUT_sizeof() 0
-#endif
-
-#ifndef NO_MSG
-void cacheMSGFields(JNIEnv *env, jobject lpObject);
-MSG *getMSGFields(JNIEnv *env, jobject lpObject, MSG *lpStruct);
-void setMSGFields(JNIEnv *env, jobject lpObject, MSG *lpStruct);
-#define MSG_sizeof() sizeof(MSG)
-#else
-#define cacheMSGFields(a,b)
-#define getMSGFields(a,b,c) NULL
-#define setMSGFields(a,b,c)
-#define MSG_sizeof() 0
-#endif
-
-#ifndef NO_NMCUSTOMDRAW
-void cacheNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject);
-NMCUSTOMDRAW *getNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMCUSTOMDRAW *lpStruct);
-void setNMCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMCUSTOMDRAW *lpStruct);
-#define NMCUSTOMDRAW_sizeof() sizeof(NMCUSTOMDRAW)
-#else
-#define cacheNMCUSTOMDRAWFields(a,b)
-#define getNMCUSTOMDRAWFields(a,b,c) NULL
-#define setNMCUSTOMDRAWFields(a,b,c)
-#define NMCUSTOMDRAW_sizeof() 0
-#endif
-
-#ifndef NO_NMHDR
-void cacheNMHDRFields(JNIEnv *env, jobject lpObject);
-NMHDR *getNMHDRFields(JNIEnv *env, jobject lpObject, NMHDR *lpStruct);
-void setNMHDRFields(JNIEnv *env, jobject lpObject, NMHDR *lpStruct);
-#define NMHDR_sizeof() sizeof(NMHDR)
-#else
-#define cacheNMHDRFields(a,b)
-#define getNMHDRFields(a,b,c) NULL
-#define setNMHDRFields(a,b,c)
-#define NMHDR_sizeof() 0
-#endif
-
-#ifndef NO_NMHEADER
-void cacheNMHEADERFields(JNIEnv *env, jobject lpObject);
-NMHEADER *getNMHEADERFields(JNIEnv *env, jobject lpObject, NMHEADER *lpStruct);
-void setNMHEADERFields(JNIEnv *env, jobject lpObject, NMHEADER *lpStruct);
-#define NMHEADER_sizeof() sizeof(NMHEADER)
-#else
-#define cacheNMHEADERFields(a,b)
-#define getNMHEADERFields(a,b,c) NULL
-#define setNMHEADERFields(a,b,c)
-#define NMHEADER_sizeof() 0
-#endif
-
-#ifndef NO_NMLINK
-void cacheNMLINKFields(JNIEnv *env, jobject lpObject);
-NMLINK *getNMLINKFields(JNIEnv *env, jobject lpObject, NMLINK *lpStruct);
-void setNMLINKFields(JNIEnv *env, jobject lpObject, NMLINK *lpStruct);
-#define NMLINK_sizeof() sizeof(NMLINK)
-#else
-#define cacheNMLINKFields(a,b)
-#define getNMLINKFields(a,b,c) NULL
-#define setNMLINKFields(a,b,c)
-#define NMLINK_sizeof() 0
-#endif
-
-#ifndef NO_NMLISTVIEW
-void cacheNMLISTVIEWFields(JNIEnv *env, jobject lpObject);
-NMLISTVIEW *getNMLISTVIEWFields(JNIEnv *env, jobject lpObject, NMLISTVIEW *lpStruct);
-void setNMLISTVIEWFields(JNIEnv *env, jobject lpObject, NMLISTVIEW *lpStruct);
-#define NMLISTVIEW_sizeof() sizeof(NMLISTVIEW)
-#else
-#define cacheNMLISTVIEWFields(a,b)
-#define getNMLISTVIEWFields(a,b,c) NULL
-#define setNMLISTVIEWFields(a,b,c)
-#define NMLISTVIEW_sizeof() 0
-#endif
-
-#ifndef NO_NMLVCUSTOMDRAW
-void cacheNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject);
-NMLVCUSTOMDRAW *getNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMLVCUSTOMDRAW *lpStruct);
-void setNMLVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMLVCUSTOMDRAW *lpStruct);
-#define NMLVCUSTOMDRAW_sizeof() sizeof(NMLVCUSTOMDRAW)
-#else
-#define cacheNMLVCUSTOMDRAWFields(a,b)
-#define getNMLVCUSTOMDRAWFields(a,b,c) NULL
-#define setNMLVCUSTOMDRAWFields(a,b,c)
-#define NMLVCUSTOMDRAW_sizeof() 0
-#endif
-
-#ifndef NO_NMLVDISPINFO
-void cacheNMLVDISPINFOFields(JNIEnv *env, jobject lpObject);
-NMLVDISPINFO *getNMLVDISPINFOFields(JNIEnv *env, jobject lpObject, NMLVDISPINFO *lpStruct);
-void setNMLVDISPINFOFields(JNIEnv *env, jobject lpObject, NMLVDISPINFO *lpStruct);
-#define NMLVDISPINFO_sizeof() sizeof(NMLVDISPINFO)
-#else
-#define cacheNMLVDISPINFOFields(a,b)
-#define getNMLVDISPINFOFields(a,b,c) NULL
-#define setNMLVDISPINFOFields(a,b,c)
-#define NMLVDISPINFO_sizeof() 0
-#endif
-
-#ifndef NO_NMLVFINDITEM
-void cacheNMLVFINDITEMFields(JNIEnv *env, jobject lpObject);
-NMLVFINDITEM *getNMLVFINDITEMFields(JNIEnv *env, jobject lpObject, NMLVFINDITEM *lpStruct);
-void setNMLVFINDITEMFields(JNIEnv *env, jobject lpObject, NMLVFINDITEM *lpStruct);
-#define NMLVFINDITEM_sizeof() sizeof(NMLVFINDITEM)
-#else
-#define cacheNMLVFINDITEMFields(a,b)
-#define getNMLVFINDITEMFields(a,b,c) NULL
-#define setNMLVFINDITEMFields(a,b,c)
-#define NMLVFINDITEM_sizeof() 0
-#endif
-
-#ifndef NO_NMREBARCHEVRON
-void cacheNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject);
-NMREBARCHEVRON *getNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpStruct);
-void setNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpStruct);
-#define NMREBARCHEVRON_sizeof() sizeof(NMREBARCHEVRON)
-#else
-#define cacheNMREBARCHEVRONFields(a,b)
-#define getNMREBARCHEVRONFields(a,b,c) NULL
-#define setNMREBARCHEVRONFields(a,b,c)
-#define NMREBARCHEVRON_sizeof() 0
-#endif
-
-#ifndef NO_NMREBARCHILDSIZE
-void cacheNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject);
-NMREBARCHILDSIZE *getNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct);
-void setNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct);
-#define NMREBARCHILDSIZE_sizeof() sizeof(NMREBARCHILDSIZE)
-#else
-#define cacheNMREBARCHILDSIZEFields(a,b)
-#define getNMREBARCHILDSIZEFields(a,b,c) NULL
-#define setNMREBARCHILDSIZEFields(a,b,c)
-#define NMREBARCHILDSIZE_sizeof() 0
-#endif
-
-#ifndef NO_NMRGINFO
-void cacheNMRGINFOFields(JNIEnv *env, jobject lpObject);
-NMRGINFO *getNMRGINFOFields(JNIEnv *env, jobject lpObject, NMRGINFO *lpStruct);
-void setNMRGINFOFields(JNIEnv *env, jobject lpObject, NMRGINFO *lpStruct);
-#define NMRGINFO_sizeof() sizeof(NMRGINFO)
-#else
-#define cacheNMRGINFOFields(a,b)
-#define getNMRGINFOFields(a,b,c) NULL
-#define setNMRGINFOFields(a,b,c)
-#define NMRGINFO_sizeof() 0
-#endif
-
-#ifndef NO_NMTBHOTITEM
-void cacheNMTBHOTITEMFields(JNIEnv *env, jobject lpObject);
-NMTBHOTITEM *getNMTBHOTITEMFields(JNIEnv *env, jobject lpObject, NMTBHOTITEM *lpStruct);
-void setNMTBHOTITEMFields(JNIEnv *env, jobject lpObject, NMTBHOTITEM *lpStruct);
-#define NMTBHOTITEM_sizeof() sizeof(NMTBHOTITEM)
-#else
-#define cacheNMTBHOTITEMFields(a,b)
-#define getNMTBHOTITEMFields(a,b,c) NULL
-#define setNMTBHOTITEMFields(a,b,c)
-#define NMTBHOTITEM_sizeof() 0
-#endif
-
-#ifndef NO_NMTOOLBAR
-void cacheNMTOOLBARFields(JNIEnv *env, jobject lpObject);
-NMTOOLBAR *getNMTOOLBARFields(JNIEnv *env, jobject lpObject, NMTOOLBAR *lpStruct);
-void setNMTOOLBARFields(JNIEnv *env, jobject lpObject, NMTOOLBAR *lpStruct);
-#define NMTOOLBAR_sizeof() sizeof(NMTOOLBAR)
-#else
-#define cacheNMTOOLBARFields(a,b)
-#define getNMTOOLBARFields(a,b,c) NULL
-#define setNMTOOLBARFields(a,b,c)
-#define NMTOOLBAR_sizeof() 0
-#endif
-
-#ifndef NO_NMTTDISPINFO
-void cacheNMTTDISPINFOFields(JNIEnv *env, jobject lpObject);
-NMTTDISPINFO *getNMTTDISPINFOFields(JNIEnv *env, jobject lpObject, NMTTDISPINFO *lpStruct);
-void setNMTTDISPINFOFields(JNIEnv *env, jobject lpObject, NMTTDISPINFO *lpStruct);
-#define NMTTDISPINFO_sizeof() sizeof(NMTTDISPINFO)
-#else
-#define cacheNMTTDISPINFOFields(a,b)
-#define getNMTTDISPINFOFields(a,b,c) NULL
-#define setNMTTDISPINFOFields(a,b,c)
-#define NMTTDISPINFO_sizeof() 0
-#endif
-
-#ifndef NO_NMTTDISPINFOA
-void cacheNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject);
-NMTTDISPINFOA *getNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOA *lpStruct);
-void setNMTTDISPINFOAFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOA *lpStruct);
-#define NMTTDISPINFOA_sizeof() sizeof(NMTTDISPINFOA)
-#else
-#define cacheNMTTDISPINFOAFields(a,b)
-#define getNMTTDISPINFOAFields(a,b,c) NULL
-#define setNMTTDISPINFOAFields(a,b,c)
-#define NMTTDISPINFOA_sizeof() 0
-#endif
-
-#ifndef NO_NMTTDISPINFOW
-void cacheNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject);
-NMTTDISPINFOW *getNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOW *lpStruct);
-void setNMTTDISPINFOWFields(JNIEnv *env, jobject lpObject, NMTTDISPINFOW *lpStruct);
-#define NMTTDISPINFOW_sizeof() sizeof(NMTTDISPINFOW)
-#else
-#define cacheNMTTDISPINFOWFields(a,b)
-#define getNMTTDISPINFOWFields(a,b,c) NULL
-#define setNMTTDISPINFOWFields(a,b,c)
-#define NMTTDISPINFOW_sizeof() 0
-#endif
-
-#ifndef NO_NMTVCUSTOMDRAW
-void cacheNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject);
-NMTVCUSTOMDRAW *getNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpStruct);
-void setNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpStruct);
-#define NMTVCUSTOMDRAW_sizeof() sizeof(NMTVCUSTOMDRAW)
-#else
-#define cacheNMTVCUSTOMDRAWFields(a,b)
-#define getNMTVCUSTOMDRAWFields(a,b,c) NULL
-#define setNMTVCUSTOMDRAWFields(a,b,c)
-#define NMTVCUSTOMDRAW_sizeof() 0
-#endif
-
-#ifndef NO_NMTVDISPINFO
-void cacheNMTVDISPINFOFields(JNIEnv *env, jobject lpObject);
-NMTVDISPINFO *getNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct);
-void setNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct);
-#define NMTVDISPINFO_sizeof() sizeof(NMTVDISPINFO)
-#else
-#define cacheNMTVDISPINFOFields(a,b)
-#define getNMTVDISPINFOFields(a,b,c) NULL
-#define setNMTVDISPINFOFields(a,b,c)
-#define NMTVDISPINFO_sizeof() 0
-#endif
-
-#ifndef NO_NMTVITEMCHANGE
-void cacheNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject);
-NMTVITEMCHANGE *getNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject, NMTVITEMCHANGE *lpStruct);
-void setNMTVITEMCHANGEFields(JNIEnv *env, jobject lpObject, NMTVITEMCHANGE *lpStruct);
-#define NMTVITEMCHANGE_sizeof() sizeof(NMTVITEMCHANGE)
-#else
-#define cacheNMTVITEMCHANGEFields(a,b)
-#define getNMTVITEMCHANGEFields(a,b,c) NULL
-#define setNMTVITEMCHANGEFields(a,b,c)
-#define NMTVITEMCHANGE_sizeof() 0
-#endif
-
-#ifndef NO_NMUPDOWN
-void cacheNMUPDOWNFields(JNIEnv *env, jobject lpObject);
-NMUPDOWN *getNMUPDOWNFields(JNIEnv *env, jobject lpObject, NMUPDOWN *lpStruct);
-void setNMUPDOWNFields(JNIEnv *env, jobject lpObject, NMUPDOWN *lpStruct);
-#define NMUPDOWN_sizeof() sizeof(NMUPDOWN)
-#else
-#define cacheNMUPDOWNFields(a,b)
-#define getNMUPDOWNFields(a,b,c) NULL
-#define setNMUPDOWNFields(a,b,c)
-#define NMUPDOWN_sizeof() 0
-#endif
-
-#ifndef NO_NONCLIENTMETRICS
-void cacheNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject);
-NONCLIENTMETRICS *getNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICS *lpStruct);
-void setNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICS *lpStruct);
-#define NONCLIENTMETRICS_sizeof() sizeof(NONCLIENTMETRICS)
-#else
-#define cacheNONCLIENTMETRICSFields(a,b)
-#define getNONCLIENTMETRICSFields(a,b,c) NULL
-#define setNONCLIENTMETRICSFields(a,b,c)
-#define NONCLIENTMETRICS_sizeof() 0
-#endif
-
-#ifndef NO_NONCLIENTMETRICSA
-void cacheNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject);
-NONCLIENTMETRICSA *getNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSA *lpStruct);
-void setNONCLIENTMETRICSAFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSA *lpStruct);
-#define NONCLIENTMETRICSA_sizeof() sizeof(NONCLIENTMETRICSA)
-#else
-#define cacheNONCLIENTMETRICSAFields(a,b)
-#define getNONCLIENTMETRICSAFields(a,b,c) NULL
-#define setNONCLIENTMETRICSAFields(a,b,c)
-#define NONCLIENTMETRICSA_sizeof() 0
-#endif
-
-#ifndef NO_NONCLIENTMETRICSW
-void cacheNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject);
-NONCLIENTMETRICSW *getNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSW *lpStruct);
-void setNONCLIENTMETRICSWFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICSW *lpStruct);
-#define NONCLIENTMETRICSW_sizeof() sizeof(NONCLIENTMETRICSW)
-#else
-#define cacheNONCLIENTMETRICSWFields(a,b)
-#define getNONCLIENTMETRICSWFields(a,b,c) NULL
-#define setNONCLIENTMETRICSWFields(a,b,c)
-#define NONCLIENTMETRICSW_sizeof() 0
-#endif
-
-#ifndef NO_NOTIFYICONDATA
-void cacheNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject);
-NOTIFYICONDATA *getNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATA *lpStruct);
-void setNOTIFYICONDATAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATA *lpStruct);
-#define NOTIFYICONDATA_sizeof() sizeof(NOTIFYICONDATA)
-#else
-#define cacheNOTIFYICONDATAFields(a,b)
-#define getNOTIFYICONDATAFields(a,b,c) NULL
-#define setNOTIFYICONDATAFields(a,b,c)
-#define NOTIFYICONDATA_sizeof() 0
-#endif
-
-#ifndef NO_NOTIFYICONDATAA
-void cacheNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject);
-NOTIFYICONDATAA *getNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAA *lpStruct);
-void setNOTIFYICONDATAAFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAA *lpStruct);
-#define NOTIFYICONDATAA_sizeof() sizeof(NOTIFYICONDATAA)
-#else
-#define cacheNOTIFYICONDATAAFields(a,b)
-#define getNOTIFYICONDATAAFields(a,b,c) NULL
-#define setNOTIFYICONDATAAFields(a,b,c)
-#define NOTIFYICONDATAA_sizeof() 0
-#endif
-
-#ifndef NO_NOTIFYICONDATAW
-void cacheNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject);
-NOTIFYICONDATAW *getNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAW *lpStruct);
-void setNOTIFYICONDATAWFields(JNIEnv *env, jobject lpObject, NOTIFYICONDATAW *lpStruct);
-#define NOTIFYICONDATAW_sizeof() sizeof(NOTIFYICONDATAW)
-#else
-#define cacheNOTIFYICONDATAWFields(a,b)
-#define getNOTIFYICONDATAWFields(a,b,c) NULL
-#define setNOTIFYICONDATAWFields(a,b,c)
-#define NOTIFYICONDATAW_sizeof() 0
-#endif
-
-#ifndef NO_OPENFILENAME
-void cacheOPENFILENAMEFields(JNIEnv *env, jobject lpObject);
-OPENFILENAME *getOPENFILENAMEFields(JNIEnv *env, jobject lpObject, OPENFILENAME *lpStruct);
-void setOPENFILENAMEFields(JNIEnv *env, jobject lpObject, OPENFILENAME *lpStruct);
-#define OPENFILENAME_sizeof() sizeof(OPENFILENAME)
-#else
-#define cacheOPENFILENAMEFields(a,b)
-#define getOPENFILENAMEFields(a,b,c) NULL
-#define setOPENFILENAMEFields(a,b,c)
-#define OPENFILENAME_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFO
-void cacheOSVERSIONINFOFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFO *getOSVERSIONINFOFields(JNIEnv *env, jobject lpObject, OSVERSIONINFO *lpStruct);
-void setOSVERSIONINFOFields(JNIEnv *env, jobject lpObject, OSVERSIONINFO *lpStruct);
-#define OSVERSIONINFO_sizeof() sizeof(OSVERSIONINFO)
-#else
-#define cacheOSVERSIONINFOFields(a,b)
-#define getOSVERSIONINFOFields(a,b,c) NULL
-#define setOSVERSIONINFOFields(a,b,c)
-#define OSVERSIONINFO_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFOA
-void cacheOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFOA *getOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOA *lpStruct);
-void setOSVERSIONINFOAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOA *lpStruct);
-#define OSVERSIONINFOA_sizeof() sizeof(OSVERSIONINFOA)
-#else
-#define cacheOSVERSIONINFOAFields(a,b)
-#define getOSVERSIONINFOAFields(a,b,c) NULL
-#define setOSVERSIONINFOAFields(a,b,c)
-#define OSVERSIONINFOA_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFOEX
-void cacheOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFOEX *getOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEX *lpStruct);
-void setOSVERSIONINFOEXFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEX *lpStruct);
-#define OSVERSIONINFOEX_sizeof() sizeof(OSVERSIONINFOEX)
-#else
-#define cacheOSVERSIONINFOEXFields(a,b)
-#define getOSVERSIONINFOEXFields(a,b,c) NULL
-#define setOSVERSIONINFOEXFields(a,b,c)
-#define OSVERSIONINFOEX_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFOEXA
-void cacheOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFOEXA *getOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXA *lpStruct);
-void setOSVERSIONINFOEXAFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXA *lpStruct);
-#define OSVERSIONINFOEXA_sizeof() sizeof(OSVERSIONINFOEXA)
-#else
-#define cacheOSVERSIONINFOEXAFields(a,b)
-#define getOSVERSIONINFOEXAFields(a,b,c) NULL
-#define setOSVERSIONINFOEXAFields(a,b,c)
-#define OSVERSIONINFOEXA_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFOEXW
-void cacheOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFOEXW *getOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXW *lpStruct);
-void setOSVERSIONINFOEXWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOEXW *lpStruct);
-#define OSVERSIONINFOEXW_sizeof() sizeof(OSVERSIONINFOEXW)
-#else
-#define cacheOSVERSIONINFOEXWFields(a,b)
-#define getOSVERSIONINFOEXWFields(a,b,c) NULL
-#define setOSVERSIONINFOEXWFields(a,b,c)
-#define OSVERSIONINFOEXW_sizeof() 0
-#endif
-
-#ifndef NO_OSVERSIONINFOW
-void cacheOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject);
-OSVERSIONINFOW *getOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOW *lpStruct);
-void setOSVERSIONINFOWFields(JNIEnv *env, jobject lpObject, OSVERSIONINFOW *lpStruct);
-#define OSVERSIONINFOW_sizeof() sizeof(OSVERSIONINFOW)
-#else
-#define cacheOSVERSIONINFOWFields(a,b)
-#define getOSVERSIONINFOWFields(a,b,c) NULL
-#define setOSVERSIONINFOWFields(a,b,c)
-#define OSVERSIONINFOW_sizeof() 0
-#endif
-
-#ifndef NO_PAINTSTRUCT
-void cachePAINTSTRUCTFields(JNIEnv *env, jobject lpObject);
-PAINTSTRUCT *getPAINTSTRUCTFields(JNIEnv *env, jobject lpObject, PAINTSTRUCT *lpStruct);
-void setPAINTSTRUCTFields(JNIEnv *env, jobject lpObject, PAINTSTRUCT *lpStruct);
-#define PAINTSTRUCT_sizeof() sizeof(PAINTSTRUCT)
-#else
-#define cachePAINTSTRUCTFields(a,b)
-#define getPAINTSTRUCTFields(a,b,c) NULL
-#define setPAINTSTRUCTFields(a,b,c)
-#define PAINTSTRUCT_sizeof() 0
-#endif
-
-#ifndef NO_POINT
-void cachePOINTFields(JNIEnv *env, jobject lpObject);
-POINT *getPOINTFields(JNIEnv *env, jobject lpObject, POINT *lpStruct);
-void setPOINTFields(JNIEnv *env, jobject lpObject, POINT *lpStruct);
-#define POINT_sizeof() sizeof(POINT)
-#else
-#define cachePOINTFields(a,b)
-#define getPOINTFields(a,b,c) NULL
-#define setPOINTFields(a,b,c)
-#define POINT_sizeof() 0
-#endif
-
-#ifndef NO_PRINTDLG
-void cachePRINTDLGFields(JNIEnv *env, jobject lpObject);
-PRINTDLG *getPRINTDLGFields(JNIEnv *env, jobject lpObject, PRINTDLG *lpStruct);
-void setPRINTDLGFields(JNIEnv *env, jobject lpObject, PRINTDLG *lpStruct);
-#define PRINTDLG_sizeof() sizeof(PRINTDLG)
-#else
-#define cachePRINTDLGFields(a,b)
-#define getPRINTDLGFields(a,b,c) NULL
-#define setPRINTDLGFields(a,b,c)
-#define PRINTDLG_sizeof() 0
-#endif
-
-#ifndef NO_REBARBANDINFO
-void cacheREBARBANDINFOFields(JNIEnv *env, jobject lpObject);
-REBARBANDINFO *getREBARBANDINFOFields(JNIEnv *env, jobject lpObject, REBARBANDINFO *lpStruct);
-void setREBARBANDINFOFields(JNIEnv *env, jobject lpObject, REBARBANDINFO *lpStruct);
-#define REBARBANDINFO_sizeof() sizeof(REBARBANDINFO)
-#else
-#define cacheREBARBANDINFOFields(a,b)
-#define getREBARBANDINFOFields(a,b,c) NULL
-#define setREBARBANDINFOFields(a,b,c)
-#define REBARBANDINFO_sizeof() 0
-#endif
-
-#ifndef NO_RECT
-void cacheRECTFields(JNIEnv *env, jobject lpObject);
-RECT *getRECTFields(JNIEnv *env, jobject lpObject, RECT *lpStruct);
-void setRECTFields(JNIEnv *env, jobject lpObject, RECT *lpStruct);
-#define RECT_sizeof() sizeof(RECT)
-#else
-#define cacheRECTFields(a,b)
-#define getRECTFields(a,b,c) NULL
-#define setRECTFields(a,b,c)
-#define RECT_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_ANALYSIS
-void cacheSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject);
-SCRIPT_ANALYSIS *getSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject, SCRIPT_ANALYSIS *lpStruct);
-void setSCRIPT_ANALYSISFields(JNIEnv *env, jobject lpObject, SCRIPT_ANALYSIS *lpStruct);
-#define SCRIPT_ANALYSIS_sizeof() sizeof(SCRIPT_ANALYSIS)
-#else
-#define cacheSCRIPT_ANALYSISFields(a,b)
-#define getSCRIPT_ANALYSISFields(a,b,c) NULL
-#define setSCRIPT_ANALYSISFields(a,b,c)
-#define SCRIPT_ANALYSIS_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_CONTROL
-void cacheSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject);
-SCRIPT_CONTROL *getSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject, SCRIPT_CONTROL *lpStruct);
-void setSCRIPT_CONTROLFields(JNIEnv *env, jobject lpObject, SCRIPT_CONTROL *lpStruct);
-#define SCRIPT_CONTROL_sizeof() sizeof(SCRIPT_CONTROL)
-#else
-#define cacheSCRIPT_CONTROLFields(a,b)
-#define getSCRIPT_CONTROLFields(a,b,c) NULL
-#define setSCRIPT_CONTROLFields(a,b,c)
-#define SCRIPT_CONTROL_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_DIGITSUBSTITUTE
-void cacheSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject);
-SCRIPT_DIGITSUBSTITUTE *getSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject, SCRIPT_DIGITSUBSTITUTE *lpStruct);
-void setSCRIPT_DIGITSUBSTITUTEFields(JNIEnv *env, jobject lpObject, SCRIPT_DIGITSUBSTITUTE *lpStruct);
-#define SCRIPT_DIGITSUBSTITUTE_sizeof() sizeof(SCRIPT_DIGITSUBSTITUTE)
-#else
-#define cacheSCRIPT_DIGITSUBSTITUTEFields(a,b)
-#define getSCRIPT_DIGITSUBSTITUTEFields(a,b,c) NULL
-#define setSCRIPT_DIGITSUBSTITUTEFields(a,b,c)
-#define SCRIPT_DIGITSUBSTITUTE_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_FONTPROPERTIES
-void cacheSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject);
-SCRIPT_FONTPROPERTIES *getSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_FONTPROPERTIES *lpStruct);
-void setSCRIPT_FONTPROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_FONTPROPERTIES *lpStruct);
-#define SCRIPT_FONTPROPERTIES_sizeof() sizeof(SCRIPT_FONTPROPERTIES)
-#else
-#define cacheSCRIPT_FONTPROPERTIESFields(a,b)
-#define getSCRIPT_FONTPROPERTIESFields(a,b,c) NULL
-#define setSCRIPT_FONTPROPERTIESFields(a,b,c)
-#define SCRIPT_FONTPROPERTIES_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_ITEM
-void cacheSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject);
-SCRIPT_ITEM *getSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject, SCRIPT_ITEM *lpStruct);
-void setSCRIPT_ITEMFields(JNIEnv *env, jobject lpObject, SCRIPT_ITEM *lpStruct);
-#define SCRIPT_ITEM_sizeof() sizeof(SCRIPT_ITEM)
-#else
-#define cacheSCRIPT_ITEMFields(a,b)
-#define getSCRIPT_ITEMFields(a,b,c) NULL
-#define setSCRIPT_ITEMFields(a,b,c)
-#define SCRIPT_ITEM_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_LOGATTR
-void cacheSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject);
-SCRIPT_LOGATTR *getSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject, SCRIPT_LOGATTR *lpStruct);
-void setSCRIPT_LOGATTRFields(JNIEnv *env, jobject lpObject, SCRIPT_LOGATTR *lpStruct);
-#define SCRIPT_LOGATTR_sizeof() sizeof(SCRIPT_LOGATTR)
-#else
-#define cacheSCRIPT_LOGATTRFields(a,b)
-#define getSCRIPT_LOGATTRFields(a,b,c) NULL
-#define setSCRIPT_LOGATTRFields(a,b,c)
-#define SCRIPT_LOGATTR_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_PROPERTIES
-void cacheSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject);
-SCRIPT_PROPERTIES *getSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_PROPERTIES *lpStruct);
-void setSCRIPT_PROPERTIESFields(JNIEnv *env, jobject lpObject, SCRIPT_PROPERTIES *lpStruct);
-#define SCRIPT_PROPERTIES_sizeof() sizeof(SCRIPT_PROPERTIES)
-#else
-#define cacheSCRIPT_PROPERTIESFields(a,b)
-#define getSCRIPT_PROPERTIESFields(a,b,c) NULL
-#define setSCRIPT_PROPERTIESFields(a,b,c)
-#define SCRIPT_PROPERTIES_sizeof() 0
-#endif
-
-#ifndef NO_SCRIPT_STATE
-void cacheSCRIPT_STATEFields(JNIEnv *env, jobject lpObject);
-SCRIPT_STATE *getSCRIPT_STATEFields(JNIEnv *env, jobject lpObject, SCRIPT_STATE *lpStruct);
-void setSCRIPT_STATEFields(JNIEnv *env, jobject lpObject, SCRIPT_STATE *lpStruct);
-#define SCRIPT_STATE_sizeof() sizeof(SCRIPT_STATE)
-#else
-#define cacheSCRIPT_STATEFields(a,b)
-#define getSCRIPT_STATEFields(a,b,c) NULL
-#define setSCRIPT_STATEFields(a,b,c)
-#define SCRIPT_STATE_sizeof() 0
-#endif
-
-#ifndef NO_SCROLLINFO
-void cacheSCROLLINFOFields(JNIEnv *env, jobject lpObject);
-SCROLLINFO *getSCROLLINFOFields(JNIEnv *env, jobject lpObject, SCROLLINFO *lpStruct);
-void setSCROLLINFOFields(JNIEnv *env, jobject lpObject, SCROLLINFO *lpStruct);
-#define SCROLLINFO_sizeof() sizeof(SCROLLINFO)
-#else
-#define cacheSCROLLINFOFields(a,b)
-#define getSCROLLINFOFields(a,b,c) NULL
-#define setSCROLLINFOFields(a,b,c)
-#define SCROLLINFO_sizeof() 0
-#endif
-
-#ifndef NO_SHACTIVATEINFO
-void cacheSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject);
-SHACTIVATEINFO *getSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject, SHACTIVATEINFO *lpStruct);
-void setSHACTIVATEINFOFields(JNIEnv *env, jobject lpObject, SHACTIVATEINFO *lpStruct);
-#define SHACTIVATEINFO_sizeof() sizeof(SHACTIVATEINFO)
-#else
-#define cacheSHACTIVATEINFOFields(a,b)
-#define getSHACTIVATEINFOFields(a,b,c) NULL
-#define setSHACTIVATEINFOFields(a,b,c)
-#define SHACTIVATEINFO_sizeof() 0
-#endif
-
-#ifndef NO_SHELLEXECUTEINFO
-void cacheSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject);
-SHELLEXECUTEINFO *getSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject, SHELLEXECUTEINFO *lpStruct);
-void setSHELLEXECUTEINFOFields(JNIEnv *env, jobject lpObject, SHELLEXECUTEINFO *lpStruct);
-#define SHELLEXECUTEINFO_sizeof() sizeof(SHELLEXECUTEINFO)
-#else
-#define cacheSHELLEXECUTEINFOFields(a,b)
-#define getSHELLEXECUTEINFOFields(a,b,c) NULL
-#define setSHELLEXECUTEINFOFields(a,b,c)
-#define SHELLEXECUTEINFO_sizeof() 0
-#endif
-
-#ifndef NO_SHMENUBARINFO
-void cacheSHMENUBARINFOFields(JNIEnv *env, jobject lpObject);
-SHMENUBARINFO *getSHMENUBARINFOFields(JNIEnv *env, jobject lpObject, SHMENUBARINFO *lpStruct);
-void setSHMENUBARINFOFields(JNIEnv *env, jobject lpObject, SHMENUBARINFO *lpStruct);
-#define SHMENUBARINFO_sizeof() sizeof(SHMENUBARINFO)
-#else
-#define cacheSHMENUBARINFOFields(a,b)
-#define getSHMENUBARINFOFields(a,b,c) NULL
-#define setSHMENUBARINFOFields(a,b,c)
-#define SHMENUBARINFO_sizeof() 0
-#endif
-
-#ifndef NO_SHRGINFO
-void cacheSHRGINFOFields(JNIEnv *env, jobject lpObject);
-SHRGINFO *getSHRGINFOFields(JNIEnv *env, jobject lpObject, SHRGINFO *lpStruct);
-void setSHRGINFOFields(JNIEnv *env, jobject lpObject, SHRGINFO *lpStruct);
-#define SHRGINFO_sizeof() sizeof(SHRGINFO)
-#else
-#define cacheSHRGINFOFields(a,b)
-#define getSHRGINFOFields(a,b,c) NULL
-#define setSHRGINFOFields(a,b,c)
-#define SHRGINFO_sizeof() 0
-#endif
-
-#ifndef NO_SIPINFO
-void cacheSIPINFOFields(JNIEnv *env, jobject lpObject);
-SIPINFO *getSIPINFOFields(JNIEnv *env, jobject lpObject, SIPINFO *lpStruct);
-void setSIPINFOFields(JNIEnv *env, jobject lpObject, SIPINFO *lpStruct);
-#define SIPINFO_sizeof() sizeof(SIPINFO)
-#else
-#define cacheSIPINFOFields(a,b)
-#define getSIPINFOFields(a,b,c) NULL
-#define setSIPINFOFields(a,b,c)
-#define SIPINFO_sizeof() 0
-#endif
-
-#ifndef NO_SIZE
-void cacheSIZEFields(JNIEnv *env, jobject lpObject);
-SIZE *getSIZEFields(JNIEnv *env, jobject lpObject, SIZE *lpStruct);
-void setSIZEFields(JNIEnv *env, jobject lpObject, SIZE *lpStruct);
-#define SIZE_sizeof() sizeof(SIZE)
-#else
-#define cacheSIZEFields(a,b)
-#define getSIZEFields(a,b,c) NULL
-#define setSIZEFields(a,b,c)
-#define SIZE_sizeof() 0
-#endif
-
-#ifndef NO_TBBUTTON
-void cacheTBBUTTONFields(JNIEnv *env, jobject lpObject);
-TBBUTTON *getTBBUTTONFields(JNIEnv *env, jobject lpObject, TBBUTTON *lpStruct);
-void setTBBUTTONFields(JNIEnv *env, jobject lpObject, TBBUTTON *lpStruct);
-#define TBBUTTON_sizeof() sizeof(TBBUTTON)
-#else
-#define cacheTBBUTTONFields(a,b)
-#define getTBBUTTONFields(a,b,c) NULL
-#define setTBBUTTONFields(a,b,c)
-#define TBBUTTON_sizeof() 0
-#endif
-
-#ifndef NO_TBBUTTONINFO
-void cacheTBBUTTONINFOFields(JNIEnv *env, jobject lpObject);
-TBBUTTONINFO *getTBBUTTONINFOFields(JNIEnv *env, jobject lpObject, TBBUTTONINFO *lpStruct);
-void setTBBUTTONINFOFields(JNIEnv *env, jobject lpObject, TBBUTTONINFO *lpStruct);
-#define TBBUTTONINFO_sizeof() sizeof(TBBUTTONINFO)
-#else
-#define cacheTBBUTTONINFOFields(a,b)
-#define getTBBUTTONINFOFields(a,b,c) NULL
-#define setTBBUTTONINFOFields(a,b,c)
-#define TBBUTTONINFO_sizeof() 0
-#endif
-
-#ifndef NO_TCITEM
-void cacheTCITEMFields(JNIEnv *env, jobject lpObject);
-TCITEM *getTCITEMFields(JNIEnv *env, jobject lpObject, TCITEM *lpStruct);
-void setTCITEMFields(JNIEnv *env, jobject lpObject, TCITEM *lpStruct);
-#define TCITEM_sizeof() sizeof(TCITEM)
-#else
-#define cacheTCITEMFields(a,b)
-#define getTCITEMFields(a,b,c) NULL
-#define setTCITEMFields(a,b,c)
-#define TCITEM_sizeof() 0
-#endif
-
-#ifndef NO_TEXTMETRIC
-void cacheTEXTMETRICFields(JNIEnv *env, jobject lpObject);
-TEXTMETRIC *getTEXTMETRICFields(JNIEnv *env, jobject lpObject, TEXTMETRIC *lpStruct);
-void setTEXTMETRICFields(JNIEnv *env, jobject lpObject, TEXTMETRIC *lpStruct);
-#define TEXTMETRIC_sizeof() sizeof(TEXTMETRIC)
-#else
-#define cacheTEXTMETRICFields(a,b)
-#define getTEXTMETRICFields(a,b,c) NULL
-#define setTEXTMETRICFields(a,b,c)
-#define TEXTMETRIC_sizeof() 0
-#endif
-
-#ifndef NO_TEXTMETRICA
-void cacheTEXTMETRICAFields(JNIEnv *env, jobject lpObject);
-TEXTMETRICA *getTEXTMETRICAFields(JNIEnv *env, jobject lpObject, TEXTMETRICA *lpStruct);
-void setTEXTMETRICAFields(JNIEnv *env, jobject lpObject, TEXTMETRICA *lpStruct);
-#define TEXTMETRICA_sizeof() sizeof(TEXTMETRICA)
-#else
-#define cacheTEXTMETRICAFields(a,b)
-#define getTEXTMETRICAFields(a,b,c) NULL
-#define setTEXTMETRICAFields(a,b,c)
-#define TEXTMETRICA_sizeof() 0
-#endif
-
-#ifndef NO_TEXTMETRICW
-void cacheTEXTMETRICWFields(JNIEnv *env, jobject lpObject);
-TEXTMETRICW *getTEXTMETRICWFields(JNIEnv *env, jobject lpObject, TEXTMETRICW *lpStruct);
-void setTEXTMETRICWFields(JNIEnv *env, jobject lpObject, TEXTMETRICW *lpStruct);
-#define TEXTMETRICW_sizeof() sizeof(TEXTMETRICW)
-#else
-#define cacheTEXTMETRICWFields(a,b)
-#define getTEXTMETRICWFields(a,b,c) NULL
-#define setTEXTMETRICWFields(a,b,c)
-#define TEXTMETRICW_sizeof() 0
-#endif
-
-#ifndef NO_TOOLINFO
-void cacheTOOLINFOFields(JNIEnv *env, jobject lpObject);
-TOOLINFO *getTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct);
-void setTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct);
-#define TOOLINFO_sizeof() sizeof(TOOLINFO)
-#else
-#define cacheTOOLINFOFields(a,b)
-#define getTOOLINFOFields(a,b,c) NULL
-#define setTOOLINFOFields(a,b,c)
-#define TOOLINFO_sizeof() 0
-#endif
-
-#ifndef NO_TRACKMOUSEEVENT
-void cacheTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject);
-TRACKMOUSEEVENT *getTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject, TRACKMOUSEEVENT *lpStruct);
-void setTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject, TRACKMOUSEEVENT *lpStruct);
-#define TRACKMOUSEEVENT_sizeof() sizeof(TRACKMOUSEEVENT)
-#else
-#define cacheTRACKMOUSEEVENTFields(a,b)
-#define getTRACKMOUSEEVENTFields(a,b,c) NULL
-#define setTRACKMOUSEEVENTFields(a,b,c)
-#define TRACKMOUSEEVENT_sizeof() 0
-#endif
-
-#ifndef NO_TRIVERTEX
-void cacheTRIVERTEXFields(JNIEnv *env, jobject lpObject);
-TRIVERTEX *getTRIVERTEXFields(JNIEnv *env, jobject lpObject, TRIVERTEX *lpStruct);
-void setTRIVERTEXFields(JNIEnv *env, jobject lpObject, TRIVERTEX *lpStruct);
-#define TRIVERTEX_sizeof() sizeof(TRIVERTEX)
-#else
-#define cacheTRIVERTEXFields(a,b)
-#define getTRIVERTEXFields(a,b,c) NULL
-#define setTRIVERTEXFields(a,b,c)
-#define TRIVERTEX_sizeof() 0
-#endif
-
-#ifndef NO_TVHITTESTINFO
-void cacheTVHITTESTINFOFields(JNIEnv *env, jobject lpObject);
-TVHITTESTINFO *getTVHITTESTINFOFields(JNIEnv *env, jobject lpObject, TVHITTESTINFO *lpStruct);
-void setTVHITTESTINFOFields(JNIEnv *env, jobject lpObject, TVHITTESTINFO *lpStruct);
-#define TVHITTESTINFO_sizeof() sizeof(TVHITTESTINFO)
-#else
-#define cacheTVHITTESTINFOFields(a,b)
-#define getTVHITTESTINFOFields(a,b,c) NULL
-#define setTVHITTESTINFOFields(a,b,c)
-#define TVHITTESTINFO_sizeof() 0
-#endif
-
-#ifndef NO_TVINSERTSTRUCT
-void cacheTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject);
-TVINSERTSTRUCT *getTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject, TVINSERTSTRUCT *lpStruct);
-void setTVINSERTSTRUCTFields(JNIEnv *env, jobject lpObject, TVINSERTSTRUCT *lpStruct);
-#define TVINSERTSTRUCT_sizeof() sizeof(TVINSERTSTRUCT)
-#else
-#define cacheTVINSERTSTRUCTFields(a,b)
-#define getTVINSERTSTRUCTFields(a,b,c) NULL
-#define setTVINSERTSTRUCTFields(a,b,c)
-#define TVINSERTSTRUCT_sizeof() 0
-#endif
-
-#ifndef NO_TVITEM
-void cacheTVITEMFields(JNIEnv *env, jobject lpObject);
-TVITEM *getTVITEMFields(JNIEnv *env, jobject lpObject, TVITEM *lpStruct);
-void setTVITEMFields(JNIEnv *env, jobject lpObject, TVITEM *lpStruct);
-#define TVITEM_sizeof() sizeof(TVITEM)
-#else
-#define cacheTVITEMFields(a,b)
-#define getTVITEMFields(a,b,c) NULL
-#define setTVITEMFields(a,b,c)
-#define TVITEM_sizeof() 0
-#endif
-
-#ifndef NO_TVITEMEX
-void cacheTVITEMEXFields(JNIEnv *env, jobject lpObject);
-TVITEMEX *getTVITEMEXFields(JNIEnv *env, jobject lpObject, TVITEMEX *lpStruct);
-void setTVITEMEXFields(JNIEnv *env, jobject lpObject, TVITEMEX *lpStruct);
-#define TVITEMEX_sizeof() sizeof(TVITEMEX)
-#else
-#define cacheTVITEMEXFields(a,b)
-#define getTVITEMEXFields(a,b,c) NULL
-#define setTVITEMEXFields(a,b,c)
-#define TVITEMEX_sizeof() 0
-#endif
-
-#ifndef NO_UDACCEL
-void cacheUDACCELFields(JNIEnv *env, jobject lpObject);
-UDACCEL *getUDACCELFields(JNIEnv *env, jobject lpObject, UDACCEL *lpStruct);
-void setUDACCELFields(JNIEnv *env, jobject lpObject, UDACCEL *lpStruct);
-#define UDACCEL_sizeof() sizeof(UDACCEL)
-#else
-#define cacheUDACCELFields(a,b)
-#define getUDACCELFields(a,b,c) NULL
-#define setUDACCELFields(a,b,c)
-#define UDACCEL_sizeof() 0
-#endif
-
-#ifndef NO_WINDOWPLACEMENT
-void cacheWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject);
-WINDOWPLACEMENT *getWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject, WINDOWPLACEMENT *lpStruct);
-void setWINDOWPLACEMENTFields(JNIEnv *env, jobject lpObject, WINDOWPLACEMENT *lpStruct);
-#define WINDOWPLACEMENT_sizeof() sizeof(WINDOWPLACEMENT)
-#else
-#define cacheWINDOWPLACEMENTFields(a,b)
-#define getWINDOWPLACEMENTFields(a,b,c) NULL
-#define setWINDOWPLACEMENTFields(a,b,c)
-#define WINDOWPLACEMENT_sizeof() 0
-#endif
-
-#ifndef NO_WINDOWPOS
-void cacheWINDOWPOSFields(JNIEnv *env, jobject lpObject);
-WINDOWPOS *getWINDOWPOSFields(JNIEnv *env, jobject lpObject, WINDOWPOS *lpStruct);
-void setWINDOWPOSFields(JNIEnv *env, jobject lpObject, WINDOWPOS *lpStruct);
-#define WINDOWPOS_sizeof() sizeof(WINDOWPOS)
-#else
-#define cacheWINDOWPOSFields(a,b)
-#define getWINDOWPOSFields(a,b,c) NULL
-#define setWINDOWPOSFields(a,b,c)
-#define WINDOWPOS_sizeof() 0
-#endif
-
-#ifndef NO_WNDCLASS
-void cacheWNDCLASSFields(JNIEnv *env, jobject lpObject);
-WNDCLASS *getWNDCLASSFields(JNIEnv *env, jobject lpObject, WNDCLASS *lpStruct);
-void setWNDCLASSFields(JNIEnv *env, jobject lpObject, WNDCLASS *lpStruct);
-#define WNDCLASS_sizeof() sizeof(WNDCLASS)
-#else
-#define cacheWNDCLASSFields(a,b)
-#define getWNDCLASSFields(a,b,c) NULL
-#define setWNDCLASSFields(a,b,c)
-#define WNDCLASS_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
deleted file mode 100644
index 4bdbcfb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt.rc
+++ /dev/null
@@ -1,206 +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
- *******************************************************************************/
- 
-#include "windows.h"
-
-/* NOTE: PUTTING NEW LINES IN THE MANIFEST FILE CAUSES IT TO FAIL */
-#define MANIFEST_RESOURCE_ID 2
-MANIFEST_RESOURCE_ID RT_MANIFEST "javaw.exe.manifest"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION SWT_COMMA_VERSION
- 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", "Eclipse Foundation\0"
-            VALUE "FileDescription", "SWT for Windows native library\0"
-            VALUE "FileVersion", SWT_FILE_VERSION
-            VALUE "InternalName", "SWT\0"
-            VALUE "LegalCopyright", "Copyright (c) 2000, 2006 IBM Corp.  All Rights Reserved.\0"
-            VALUE "OriginalFilename", SWT_ORG_FILENAME
-            VALUE "ProductName", "Standard Widget Toolkit\0"
-            VALUE "ProductVersion", "0,0,0,0\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#ifdef WIN32_PLATFORM_PSPC
-/* 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
-#endif /* WIN32_PLATFORM_PSPC */
-
-#ifdef WIN32_PLATFORM_WFSP
-/* SHMENUBAR Smart Phone 2002 - 2 menus
- * ID_MENU SHMENUBAR DISCARDABLE
- * BEGIN
- *  ID_MENU,  (2 items) 2,
- *  I_IMAGENONE, ID_MENU_ITEM1, TBSTATE_ENABLED,
- * TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
- * (wID) 0, 0, (submenu 0) 0, 
- * I_IMAGENONE, ID_MENU_ITEM2, TBSTATE_ENABLED,
- * TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
- * (wID) 0, 0, (submenu 1) 1, 
- * END
- *
- * ID_MENU MENU DISCARDABLE
- * BEGIN
- *  (submenu 0)
- *  POPUP ""
- *  BEGIN
- *   MENUITEM "", 0
- *  END
- *  (submenu 1)
- *  POPUP ""
- *  BEGIN
- *   MENUITEM "", 0
- *  END 
- * END
- */
-102 RCDATA DISCARDABLE 
-BEGIN
- 102, 2,
-    -2, 106, 0x4,
- 0x8 | 0x10,
- 0, 0, 0, 
- -2, 107, 0x4,
- 0x8 | 0x10,
- 0, 0, 1, 
-END
-
-102 MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
-  MENUITEM "", 0
- END
- POPUP ""
- BEGIN
-  MENUITEM "", 0
- END 
-END
-
-/* SHMENUBAR Smart Phone 2002 - left button + right menu
- * ID_MENU RCDATA
- * BEGIN
- *  ID_MENU2, 2,
- * I_IMAGENONE, ID_SOFTBUTTON1, TBSTATE_ENABLED,
- * TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, (wID) 0, 0, NOMENU,
- * I_IMAGENONE, ID_MENU_ITEM2, TBSTATE_ENABLED,
- * TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, (wID) 0, 0, (submenu) 1,
- * END
- * ID_MENU2 MENU DISCARDABLE
- * BEGIN
- *  (submenu 0)
- *  POPUP ""
- *  BEGIN
- *   MENUITEM "", 0
- *  END
- *  (submenu 1)
- *  POPUP ""
- *  BEGIN
- *   MENUITEM "", 0
- *  END 
- * END
- */
-103 RCDATA DISCARDABLE 
-BEGIN
- 103, 2,
-    -2, 106, 0x4,
- 0x0 | 0x10,
- 0, 0, 0xFFFF, 
- -2, 107, 0x4,
- 0x8 | 0x10,
- 0, 0, 1, 
-END
-
-103 MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
-  MENUITEM "", 0
- END
- POPUP ""
- BEGIN
-  MENUITEM "", 0
- END 
-END
-
-/* SHMENUBAR Smart Phone 2002 - left menu + right button
- */
-104 RCDATA DISCARDABLE 
-BEGIN
- 104, 2,
-    -2, 106, 0x4,
- 0x8 | 0x10,
- 0, 0, 0, 
- -2, 107, 0x4,
- 0x0 | 0x10,
- 0, 0, 0xFFFF, 
-END
-
-104 MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
-  MENUITEM "", 0
- END 
-END
-
-/* SHMENUBAR Smart Phone 2002 - left button + right button
- */
-105 RCDATA DISCARDABLE 
-BEGIN
- 105, 2,
-    -2, 106, 0x4,
- 0x0 | 0x10,
- 0, 0, 0xFFFF, 
- -2, 107, 0x4,
- 0x0 | 0x10,
- 0, 0, 0xFFFF, 
-END
-#endif /* WIN32_PLATFORM_WFSP */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt_gdip.rc b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt_gdip.rc
deleted file mode 100644
index e46095f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/swt_gdip.rc
+++ /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
- *******************************************************************************/
- 
-#include "windows.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION SWT_COMMA_VERSION
- 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", "Eclipse Foundation\0"
-            VALUE "FileDescription", "SWT for Windows native library\0"
-            VALUE "FileVersion", SWT_FILE_VERSION
-            VALUE "InternalName", "SWT\0"
-            VALUE "LegalCopyright", "Copyright (c) 2000, 2006 IBM Corp.  All Rights Reserved.\0"
-            VALUE "OriginalFilename", SWT_ORG_FILENAME
-            VALUE "ProductName", "Standard Widget Toolkit\0"
-            VALUE "ProductVersion", "0,0,0,0\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.java
deleted file mode 100644
index 34fc954..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/Platform.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.internal;
-
-public class Platform {
-	
-public static final String PLATFORM = "win32";
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java
deleted file mode 100644
index 3f1b5ff..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/BitmapData.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.gdip;
-
-public class BitmapData {
-	public int Width;
-    public int Height;
-    public int Stride;
-    public int PixelFormat;
-    public int Scan0;
-    public int Reserved;
-    public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java
deleted file mode 100644
index c78892a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/ColorPalette.java
+++ /dev/null
@@ -1,18 +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.gdip;
-
-public class ColorPalette {
-	public int Flags;
-    public int Count;
-    public int[] Entries = new int[1];
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java
deleted file mode 100644
index 07f1e3b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Gdip.java
+++ /dev/null
@@ -1,297 +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.internal.gdip;
-
-import org.eclipse.swt.internal.*;
-
-public class Gdip extends Platform {
-	static {
-		Library.loadLibrary ("swt-gdip"); //$NON-NLS-1$
-	}
-	
-	/** GdiPlus constants */
-	public static final int BrushTypeSolidColor = 0;
-	public static final int BrushTypeHatchFill = 1;
-	public static final int BrushTypeTextureFill = 2;
-	public static final int BrushTypePathGradient = 3;
-	public static final int BrushTypeLinearGradient = 4;
-	public static final int ColorAdjustTypeBitmap = 1;
-	public static final int ColorMatrixFlagsDefault = 0;
-	public static final int CombineModeReplace = 0;
-	public static final int CombineModeIntersect = 1;
-	public static final int CombineModeUnion = 2;
-	public static final int CombineModeXor = 3;
-	public static final int CombineModeExclude = 4;
-	public static final int CombineModeComplement = 5;
-	public static final int FillModeAlternate = 0;
-	public static final int FillModeWinding = 1;
-	public static final int DashCapFlat = 0;
-	public static final int DashCapRound = 2;
-    public static final int DashCapTriangle = 3;
-    public static final int DashStyleSolid = 0;
-    public static final int DashStyleDash = 1;
-    public static final int DashStyleDot = 2;
-    public static final int DashStyleDashDot = 3;
-    public static final int DashStyleDashDotDot = 4;
-    public static final int DashStyleCustom = 5;
-    public static final int FontStyleRegular = 0;
-    public static final int FontStyleBold = 1;
-    public static final int FontStyleItalic = 2;
-    public static final int FontStyleBoldItalic = 3;
-    public static final int FontStyleUnderline = 4;
-    public static final int FontStyleStrikeout = 8;
-    public static final int PaletteFlagsHasAlpha = 0x0001;
-    public static final int FlushIntentionFlush = 0;
-    public static final int FlushIntentionSync = 1;
-    public static final int HotkeyPrefixNone = 0;
-    public static final int HotkeyPrefixShow = 1;
-    public static final int HotkeyPrefixHide = 2;
-    public static final int LineJoinMiter = 0;
-    public static final int LineJoinBevel = 1;
-    public static final int LineJoinRound = 2;
-    public static final int LineCapFlat = 0;
-    public static final int LineCapSquare = 1;
-    public static final int LineCapRound = 2;
-    public static final int MatrixOrderPrepend = 0;
-    public static final int MatrixOrderAppend = 1;
-    public static final int QualityModeDefault = 0;
-    public static final int QualityModeLow = 1;
-    public static final int QualityModeHigh = 2;
-    public static final int InterpolationModeDefault = QualityModeDefault;
-    public static final int InterpolationModeLowQuality = QualityModeLow;
-    public static final int InterpolationModeHighQuality = QualityModeHigh;
-    public static final int InterpolationModeBilinear = QualityModeHigh + 1;
-    public static final int InterpolationModeBicubic = QualityModeHigh + 2;
-    public static final int InterpolationModeNearestNeighbor = QualityModeHigh + 3;
-    public static final int InterpolationModeHighQualityBilinear = QualityModeHigh + 4;
-    public static final int InterpolationModeHighQualityBicubic = QualityModeHigh + 5;
-    public static final int PathPointTypeStart = 0;
-    public static final int PathPointTypeLine = 1;
-    public static final int PathPointTypeBezier = 3;
-    public static final int PathPointTypePathTypeMask = 0x7;
-    public static final int PathPointTypePathDashMode = 0x10;
-    public static final int PathPointTypePathMarker = 0x20;
-    public static final int PathPointTypeCloseSubpath = 0x80;
-    public static final int PathPointTypeBezier3 = 3;
-    public static final int PixelFormatIndexed = 0x00010000;
-    public static final int PixelFormatGDI = 0x00020000;
-    public static final int PixelFormatAlpha = 0x00040000;
-    public static final int PixelFormatPAlpha = 0x00080000;
-    public static final int PixelFormatExtended = 0x00100000;
-    public static final int PixelFormatCanonical = 0x00200000;
-    public static final int PixelFormat1bppIndexed = (1 | ( 1 << 8) | PixelFormatIndexed | PixelFormatGDI);
-    public static final int PixelFormat4bppIndexed = (2 | ( 4 << 8) | PixelFormatIndexed | PixelFormatGDI);
-    public static final int PixelFormat8bppIndexed = (3 | ( 8 << 8) | PixelFormatIndexed | PixelFormatGDI);
-    public static final int PixelFormat16bppGrayScale = (4 | (16 << 8) | PixelFormatExtended);
-    public static final int PixelFormat16bppRGB555 = (5 | (16 << 8) | PixelFormatGDI);
-    public static final int PixelFormat16bppRGB565 = (6 | (16 << 8) | PixelFormatGDI);
-    public static final int PixelFormat16bppARGB1555 = (7 | (16 << 8) | PixelFormatAlpha | PixelFormatGDI);
-    public static final int PixelFormat24bppRGB = (8 | (24 << 8) | PixelFormatGDI);
-    public static final int PixelFormat32bppRGB = (9 | (32 << 8) | PixelFormatGDI);
-    public static final int PixelFormat32bppARGB = (10 | (32 << 8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical);
-    public static final int PixelFormat32bppPARGB = (11 | (32 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI);
-    public static final int PixelFormat48bppRGB = (12 | (48 << 8) | PixelFormatExtended);
-    public static final int PixelFormat64bppARGB = (13 | (64 << 8) | PixelFormatAlpha  | PixelFormatCanonical | PixelFormatExtended);
-    public static final int PixelFormat64bppPARGB = (14 | (64 << 8) | PixelFormatAlpha  | PixelFormatPAlpha | PixelFormatExtended);
-    public static final int PixelFormatMax = 15;
-    public static final int PixelOffsetModeNone = QualityModeHigh + 1;
-    public static final int PixelOffsetModeHalf = QualityModeHigh + 2;
-    public static final int SmoothingModeDefault = QualityModeDefault;
-    public static final int SmoothingModeHighSpeed = QualityModeLow;
-    public static final int SmoothingModeHighQuality = QualityModeHigh;
-    public static final int SmoothingModeNone = 3;
-    public static final int SmoothingModeAntiAlias8x4 = 4;
-    public static final int SmoothingModeAntiAlias = SmoothingModeAntiAlias8x4;
-    public static final int SmoothingModeAntiAlias8x8 = 5;
-    public static final int StringFormatFlagsDirectionRightToLeft = 0x00000001;
-    public static final int StringFormatFlagsDirectionVertical = 0x00000002;
-    public static final int StringFormatFlagsNoFitBlackBox = 0x00000004;
-    public static final int StringFormatFlagsDisplayFormatControl = 0x00000020;
-    public static final int StringFormatFlagsNoFontFallback = 0x00000400;
-    public static final int StringFormatFlagsMeasureTrailingSpaces = 0x00000800;
-    public static final int StringFormatFlagsNoWrap = 0x00001000;
-    public static final int StringFormatFlagsLineLimit = 0x00002000;
-    public static final int StringFormatFlagsNoClip = 0x00004000;
-    public static final int TextRenderingHintSystemDefault = 0;
-    public static final int TextRenderingHintSingleBitPerPixelGridFit = 1;
-    public static final int TextRenderingHintSingleBitPerPixel = 2;
-    public static final int TextRenderingHintAntiAliasGridFit = 3;
-    public static final int TextRenderingHintAntiAlias = 4;
-    public static final int TextRenderingHintClearTypeGridFit = 5;
-    public static final int UnitPixel = 2;
-    public static final int WrapModeTile = 0;
-    public static final int WrapModeTileFlipX = 1;
-    public static final int WrapModeTileFlipY = 2;
-    public static final int WrapModeTileFlipXY = 3;
-    public static final int WrapModeClamp = 4;
-
-
-/** GdiPlus natives */
-public static final native int GdiplusStartup(int[] token, GdiplusStartupInput input, int output);
-public static final native void GdiplusShutdown(int[] token);
-public static final native int Bitmap_new(int hbm, int hpal);
-public static final native int Bitmap_new(int hicon);
-public static final native int Bitmap_new(int width, int height, int stride, int format, int scan0);
-public static final native int Bitmap_new(char[] filename, boolean useIcm);
-public static final native void Bitmap_delete(int bitmap);
-public static final native int Bitmap_GetHBITMAP(int bitmap, int colorBackground, int[] hbmReturn);
-public static final native int Bitmap_GetHICON(int bitmap, int[] hicon);
-public static final native int BitmapData_new();
-public static final native void BitmapData_delete(int bitmapData);
-public static final native int Bitmap_LockBits(int bitmap, int rect, int flags, int pixelFormat, int lockedBitmapData);
-public static final native int Bitmap_UnlockBits(int bitmap, int lockedBitmapData);
-public static final native int Brush_Clone(int brush);
-public static final native int Brush_GetType(int brush);
-public static final native int Color_new(int argb);
-public static final native void Color_delete(int color);
-public static final native int Font_new(int hdc, int hfont);
-public static final native int Font_new(char[] familyName, float emSize, int style, int unit, int fontCollection);
-public static final native void Font_delete(int font);
-public static final native int Font_GetFamily(int font, int family);
-public static final native float Font_GetSize(int font);
-public static final native int Font_GetStyle(int font);
-public static final native boolean Font_IsAvailable(int font);
-public static final native int FontFamily_new();
-public static final native void FontFamily_delete(int family);
-public static final native int FontFamily_GetFamilyName(int family, char[] name, char language);
-public static final native int Graphics_new(int hdc);
-public static final native void Graphics_delete(int graphics);
-public static final native int Graphics_DrawArc(int graphics, int pen, int x, int y, int width, int height, float startAngle, float sweepAngle);
-public static final native int Graphics_DrawEllipse(int graphics, int pen, int x, int y, int width, int height);
-public static final native int Graphics_DrawImage(int graphics, int image, int x, int y);
-public static final native int Graphics_DrawImage(int graphics, int image, Rect destRect, int srcx, int srcy, int srcwidth, int srcheight, int srcUnit, int imageAttributes, int callback, int callbackData);
-public static final native int Graphics_DrawLine(int graphics, int pen, int x1, int y1, int x2, int y2);
-public static final native int Graphics_DrawLines(int graphics, int pen, int[] points, int count);
-public static final native int Graphics_DrawPath(int graphics, int pen, int path);
-public static final native int Graphics_DrawPolygon(int graphics, int pen, int[] points, int count);
-public static final native int Graphics_DrawRectangle(int graphics, int pen, int x, int y, int width, int height);
-public static final native int Graphics_DrawString(int graphics, char[] string, int length, int font, PointF origin, int brush);
-public static final native int Graphics_DrawString(int graphics, char[] string, int length, int font, PointF origin, int format, int brush);
-public static final native int Graphics_FillEllipse(int graphics, int brush, int x, int y, int width, int height);
-public static final native int Graphics_FillPath(int graphics, int brush, int path);
-public static final native void Graphics_Flush(int graphics, int intention);
-public static final native int Graphics_FillPie(int graphics, int brush, int x, int y, int width, int height, float startAngle, float sweepAngle);
-public static final native int Graphics_FillPolygon(int graphics, int brush, int[] points, int count, int fillMode);
-public static final native int Graphics_FillRectangle(int graphics, int brush, int x, int y, int width, int height);
-public static final native int Graphics_GetClipBounds(int graphics, RectF rect);
-public static final native int Graphics_GetClipBounds(int graphics, Rect rect);
-public static final native int Graphics_GetClip(int graphics, int region);
-public static final native int Graphics_GetHDC(int graphics);
-public static final native void Graphics_ReleaseHDC(int graphics, int hdc);
-public static final native int Graphics_GetInterpolationMode(int graphics);
-public static final native int Graphics_GetSmoothingMode(int graphics);
-public static final native int Graphics_GetTextRenderingHint(int graphics);
-public static final native int Graphics_GetTransform(int graphics, int matrix);
-public static final native int Graphics_GetVisibleClipBounds(int graphics, Rect rect);
-public static final native int Graphics_MeasureString(int graphics, char[] string, int length, int font, PointF origin, RectF boundingBox);
-public static final native int Graphics_MeasureString(int graphics, char[] string, int length, int font, PointF origin, int format, RectF boundingBox);
-public static final native int Graphics_ResetClip(int graphics);
-public static final native int Graphics_Restore(int graphics, int gstate);
-public static final native int Graphics_Save(int graphics);
-public static final native int Graphics_ScaleTransform(int graphics, float sx, float sy, int order);
-public static final native int Graphics_SetClip(int graphics, int hrgn, int combineMode);
-public static final native int Graphics_SetClip(int graphics, int path);
-public static final native int Graphics_SetClip(int graphics, RectF rect);
-public static final native int Graphics_SetCompositingQuality(int graphics, int compositingQuality);
-public static final native int Graphics_SetPageUnit(int graphics, int unit);
-public static final native int Graphics_SetPixelOffsetMode(int graphics, int pixelOffsetMode);
-public static final native int Graphics_SetSmoothingMode(int graphics, int smoothingMode);
-public static final native int Graphics_SetTransform(int graphics, int matrix);
-public static final native int Graphics_SetInterpolationMode(int graphics, int mode);
-public static final native int Graphics_SetTextRenderingHint(int graphics, int mode);
-public static final native int Graphics_TranslateTransform(int graphics, float dx, float dy, int order);
-public static final native int GraphicsPath_new(int brushMode);
-public static final native void GraphicsPath_delete(int path);
-public static final native int GraphicsPath_AddArc(int path, float x, float y, float width, float height, float startAngle, float sweepAngle);
-public static final native int GraphicsPath_AddBezier(int path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
-public static final native int GraphicsPath_AddLine(int path, float x1, float y1, float x2, float y2);
-public static final native int GraphicsPath_AddPath(int path, int addingPath, boolean connect);
-public static final native int GraphicsPath_AddRectangle(int path, RectF rect);
-public static final native int GraphicsPath_AddString(int path, char[] string, int length, int family, int style, float emSize, PointF origin, int format);
-public static final native int GraphicsPath_CloseFigure(int path);
-public static final native int GraphicsPath_Flatten(int path, int matrix, float flatness);
-public static final native int GraphicsPath_GetBounds(int path, RectF bounds, int matrix, int pen);
-public static final native int GraphicsPath_GetLastPoint(int path, PointF lastPoint);
-public static final native int GraphicsPath_GetPathPoints(int path, float[] points, int count);
-public static final native int GraphicsPath_GetPathTypes(int path, byte[] types, int count);
-public static final native int GraphicsPath_GetPointCount(int path);
-public static final native boolean GraphicsPath_IsOutlineVisible(int path, float x, float y, int pen, int g);
-public static final native boolean GraphicsPath_IsVisible(int path, float x, float y, int g);
-public static final native int GraphicsPath_SetFillMode(int path, int fillmode);
-public static final native int GraphicsPath_StartFigure(int path);
-public static final native int GraphicsPath_Transform(int path, int matrix);
-public static final native int HatchBrush_new(int hatchStyle, int foreColor, int backColor);
-public static final native int Image_GetLastStatus(int image);
-public static final native int Image_GetPixelFormat(int bitmap);
-public static final native int Image_GetWidth(int image);
-public static final native int Image_GetHeight(int image);
-public static final native int Image_GetPalette(int image, int palette, int size);
-public static final native int Image_GetPaletteSize(int image);
-public static final native int ImageAttributes_new();
-public static final native void ImageAttributes_delete(int attrib);
-public static final native int ImageAttributes_SetWrapMode(int attrib, int wrap);
-public static final native int ImageAttributes_SetColorMatrix(int attrib, float[] matrix, int mode, int type);
-public static final native void HatchBrush_delete(int brush);
-public static final native int LinearGradientBrush_new(PointF point1, PointF point2, int color1, int color2);
-public static final native void LinearGradientBrush_delete(int brush);
-public static final native int LinearGradientBrush_SetInterpolationColors(int brush, int[] presetColors, float[] blendPositions, int count);
-public static final native int LinearGradientBrush_SetWrapMode(int brush, int wrapMode);
-public static final native int Matrix_new(float m11, float m12, float m21, float m22, float dx, float dy);
-public static final native void Matrix_delete(int matrix);
-public static final native int Matrix_GetElements(int matrix, float[] m);
-public static final native int Matrix_Invert(int matrix);
-public static final native boolean Matrix_IsIdentity(int metrix);
-public static final native int Matrix_Multiply(int matrix, int matrix1, int order);
-public static final native int Matrix_Rotate(int matrix, float angle, int order);
-public static final native int Matrix_Scale(int matrix, float scaleX, float scaleY, int order);
-public static final native int Matrix_Shear(int matrix, float shearX, float shearY, int order);
-public static final native int Matrix_TransformPoints(int matrix, PointF pts, int count);
-public static final native int Matrix_TransformPoints(int matrix, float[] pts, int count);
-public static final native int Matrix_Translate(int matrix, float offsetX, float offsetY, int order);
-public static final native int Matrix_SetElements(int matrix, float m11, float m12, float m21, float m22, float dx, float dy);
-public static final native void MoveMemory(ColorPalette Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(BitmapData Destination, int SourcePtr, int Length);
-public static final native int PathGradientBrush_new(int path);
-public static final native void PathGradientBrush_delete(int brush);
-public static final native int PathGradientBrush_SetCenterColor(int brush, int color);
-public static final native int PathGradientBrush_SetCenterPoint(int brush, PointF pt);
-public static final native int PathGradientBrush_SetSurroundColors(int brush, int[] colors, int[] count);
-public static final native int PathGradientBrush_SetGraphicsPath(int brush, int path);
-public static final native int Pen_new(int color, float width);
-public static final native void Pen_delete(int pen);
-public static final native int Pen_GetBrush(int pen);
-public static final native int Pen_SetBrush(int pen, int brush);
-public static final native int Pen_SetDashPattern(int pen, float[] dashArray, int count);
-public static final native int Pen_SetDashStyle(int pen, int dashStyle);
-public static final native int Pen_SetLineCap(int pen, int startCap, int endCap, int dashCap);
-public static final native int Pen_SetLineJoin(int pen, int lineJoin);
-public static final native int Point_new(int x, int y);
-public static final native void Point_delete(int point);
-public static final native int Region_new(int hRgn);
-public static final native int Region_new();
-public static final native void Region_delete(int region);
-public static final native int Region_GetHRGN(int region, int graphics);
-public static final native boolean Region_IsInfinite(int region, int graphics);
-public static final native int SolidBrush_new(int color);
-public static final native void SolidBrush_delete(int pen);
-public static final native void StringFormat_delete(int format);
-public static final native int StringFormat_Clone(int format);
-public static final native int StringFormat_GenericDefault();
-public static final native int StringFormat_GenericTypographic();
-public static final native int StringFormat_GetFormatFlags(int format);
-public static final native int StringFormat_SetHotkeyPrefix(int format, int hotkeyPrefix);
-public static final native int StringFormat_SetFormatFlags(int format, int flags);
-public static final native int StringFormat_SetTabStops(int format, float firstTabOffset, int count, float[] tabStops);
-public static final native int TextureBrush_new(int image, int wrapMode, float dstX, float dstY, float dstWidth, float dstHeight);
-public static final native void TextureBrush_delete(int brush);
-public static final native void TextureBrush_SetTransform(int brush, int matrix);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java
deleted file mode 100644
index efad8ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/GdiplusStartupInput.java
+++ /dev/null
@@ -1,19 +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.gdip;
-
-public class GdiplusStartupInput {
-	public int GdiplusVersion;
-    public int DebugEventCallback;
-    public int SuppressBackgroundThread;
-    public int SuppressExternalCodecs;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java
deleted file mode 100644
index f465f14..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/PointF.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.gdip;
-
-public class PointF {
-	public float X;
-    public float Y;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java
deleted file mode 100644
index 44f693d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/Rect.java
+++ /dev/null
@@ -1,19 +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.gdip;
-
-public class Rect {
-	public int X;             
-    public int Y;         
-    public int Width;         
-    public int Height;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java
deleted file mode 100644
index 4be273d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/gdip/RectF.java
+++ /dev/null
@@ -1,19 +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.gdip;
-
-public class RectF {
-	public float X;             
-    public float Y;         
-    public float Width;         
-    public float Height;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java
deleted file mode 100644
index f132f78..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CAUUID.java
+++ /dev/null
@@ -1,17 +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.internal.ole.win32;
-
-public final class CAUUID {
-	public int cElems;
-	public int pElems;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
deleted file mode 100644
index 47e1a5f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
+++ /dev/null
@@ -1,593 +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.internal.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class COM extends OS {
-	/** GUID Constants */
-	public static final GUID IIDJavaBeansBridge = COM.IIDFromString("{8AD9C840-044E-11D1-B3E9-00805F499D93}"); //$NON-NLS-1$
-	public static final GUID IIDShockwaveActiveXControl = COM.IIDFromString("{166B1BCA-3F9C-11CF-8075-444553540000}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorSiteTime = IIDFromString("{6BD2AEFE-7876-45e6-A6E7-3BFCDF6540AA}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorSiteProperty = IIDFromString("{D381A1F4-2326-4f3c-AFB9-B7537DB9E238}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorBaseProperty = IIDFromString("{61E55B0B-2647-47c4-8C89-E736EF15D636}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorSite = IIDFromString("{CDD88AB9-B01D-426E-B0F0-30973E9A074B}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorService = IIDFromString("{BEE283FE-7B42-4FF3-8232-0F07D43ABCF1}"); //$NON-NLS-1$
-	public static final GUID IIDIEditorManager = IIDFromString("{EFDE08C4-BE87-4B1A-BF84-15FC30207180}"); //$NON-NLS-1$
-	public static final GUID IIDIAccessible = IIDFromString("{618736E0-3C3D-11CF-810C-00AA00389B71}"); //$NON-NLS-1$
-	//public static final GUID IIDIAccessibleHandler = IIDFromString("{03022430-ABC4-11D0-BDE2-00AA001A1953}"); //$NON-NLS-1$
-	//public static final GUID IIDIAccessor = IIDFromString("{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}"); //$NON-NLS-1$
-	public static final GUID IIDIAdviseSink = IIDFromString("{0000010F-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIAdviseSink2 = IIDFromString("{00000125-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIBindCtx = IIDFromString("{0000000E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIClassFactory = IIDFromString("{00000001-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIClassFactory2 = IIDFromString("{B196B28F-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIConnectionPoint = IIDFromString("{B196B286-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIConnectionPointContainer = IIDFromString("{B196B284-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	//public static final GUID IIDICreateErrorInfo = IIDFromString("{22F03340-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
-	//public static final GUID IIDICreateTypeInfo = IIDFromString("{00020405-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDICreateTypeLib = IIDFromString("{00020406-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIDataAdviseHolder = IIDFromString("{00000110-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIDataObject = IIDFromString("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIDispatch = IIDFromString("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIDocHostUIHandler = IIDFromString("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$	
-	public static final GUID IIDIDocHostShowUI = IIDFromString("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$	
-	public static final GUID IIDIDropSource = IIDFromString("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIDropTarget = IIDFromString("{00000122-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumConnectionPoints = IIDFromString("{B196B285-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumConnections = IIDFromString("{B196B287-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIEnumFORMATETC = IIDFromString("{00000103-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumMoniker = IIDFromString("{00000102-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumOLEVERB = IIDFromString("{00000104-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumSTATDATA = IIDFromString("{00000105-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumSTATSTG = IIDFromString("{0000000D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumString = IIDFromString("{00000101-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIEnumUnknown = IIDFromString("{00000100-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIEnumVARIANT = IIDFromString("{00020404-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIErrorInfo = IIDFromString("{1CF2B120-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
-	//public static final GUID IIDIErrorLog = IIDFromString("{3127CA40-446E-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
-	//public static final GUID IIDIExternalConnection = IIDFromString("{00000019-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIFont = IIDFromString("{BEF6E002-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$
-	//public static final GUID IIDIFontDisp = IIDFromString("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$
-	public static final GUID IIDIInternetSecurityManager = IIDFromString("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
-	//public static final GUID IIDILockBytes = IIDFromString("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIMalloc = IIDFromString("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIMallocSpy = IIDFromString("{0000001D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIMarshal = IIDFromString("{00000003-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIMessageFilter = IIDFromString("{00000016-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIMoniker = IIDFromString("{0000000F-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIOleAdviseHolder = IIDFromString("{00000111-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIOleCache = IIDFromString("{0000011E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIOleCache2 = IIDFromString("{00000128-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIOleCacheControl = IIDFromString("{00000129-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleClientSite = IIDFromString("{00000118-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleCommandTarget = IIDFromString("{B722BCCB-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
-	public static final GUID IIDIOleContainer = IIDFromString("{0000011B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleControl = IIDFromString("{B196B288-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIOleControlSite = IIDFromString("{B196B289-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIOleDocument = IIDFromString("{B722BCC5-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
-	public static final GUID IIDIOleDocumentSite = IIDFromString("{B722BCC7-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
-	public static final GUID IIDIOleInPlaceActiveObject = IIDFromString("{00000117-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleInPlaceFrame = IIDFromString("{00000116-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleInPlaceObject = IIDFromString("{00000113-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleInPlaceSite = IIDFromString("{00000119-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleInPlaceUIWindow = IIDFromString("{00000115-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIOleItemContainer = IIDFromString("{0000011C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleLink = IIDFromString("{0000011D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleObject = IIDFromString("{00000112-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIOleWindow = IIDFromString("{00000114-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIParseDisplayName = IIDFromString("{0000011A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIPerPropertyBrowsing = IIDFromString("{376BD3AA-3845-101B-84ED-08002B2EC713}"); //$NON-NLS-1$
-	public static final GUID IIDIPersist = IIDFromString("{0000010C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIPersistFile = IIDFromString("{0000010B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIPersistMemory = IIDFromString("{BD1AE5E0-A6AE-11CE-BD37-504200C10000}"); //$NON-NLS-1$
-	//public static final GUID IIDIPersistPropertyBag = IIDFromString("{37D84F60-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
-	public static final GUID IIDIPersistStorage = IIDFromString("{0000010A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIPersistStream = IIDFromString("{00000109-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIPersistStreamInit = IIDFromString("{7FD52380-4E07-101B-AE2D-08002B2EC713}"); //$NON-NLS-1$
-	//public static final GUID IIDIPicture = IIDFromString("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$
-	//public static final GUID IIDIPictureDisp = IIDFromString("{7BF80981-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$
-	//public static final GUID IIDIPropertyBag = IIDFromString("{55272A00-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
-	public static final GUID IIDIPropertyNotifySink = IIDFromString("{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"); //$NON-NLS-1$
-	//public static final GUID IIDIPropertyPage = IIDFromString("{B196B28D-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	//public static final GUID IIDIPropertyPage2 = IIDFromString("{01E44665-24AC-101B-84ED-08002B2EC713}"); //$NON-NLS-1$
-	//public static final GUID IIDIPropertyPageSite = IIDFromString("{B196B28C-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIProvideClassInfo = IIDFromString("{B196B283-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	public static final GUID IIDIProvideClassInfo2 = IIDFromString("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"); //$NON-NLS-1$
-	//public static final GUID IIDIPSFactoryBuffer = IIDFromString("{D5F569D0-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
-	//public static final GUID IIDIRootStorage = IIDFromString("{00000012-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIROTData = IIDFromString("{F29F6BC0-5021-11CE-AA15-00006901293F}"); //$NON-NLS-1$
-	//public static final GUID IIDIRpcChannelBuffer = IIDFromString("{D5F56B60-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
-	//public static final GUID IIDIRpcProxyBuffer = IIDFromString("{D5F56A34-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
-	//public static final GUID IIDIRpcStubBuffer = IIDFromString("{D5F56AFC-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
-	//public static final GUID IIDIRunnableObject = IIDFromString("{00000126-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIRunningObjectTable = IIDFromString("{00000010-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDISimpleFrameSite = IIDFromString("{742B0E01-14E6-101B-914E-00AA00300CAB}"); //$NON-NLS-1$
-	public static final GUID IIDIServiceProvider = IIDFromString("{6d5140c1-7436-11ce-8034-00aa006009fa}"); //$NON-NLS-1$
-	public static final GUID IIDISpecifyPropertyPages = IIDFromString("{B196B28B-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
-	//public static final GUID IIDIStdMarshalInfo = IIDFromString("{00000018-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIStorage = IIDFromString("{0000000B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIStream = IIDFromString("{0000000C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDISupportErrorInfo = IIDFromString("{DF0B3D60-548F-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
-	//public static final GUID IIDITypeComp = IIDFromString("{00020403-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDITypeLib = IIDFromString("{00020402-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIUnknown = IIDFromString("{00000000-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	//public static final GUID IIDIViewObject = IIDFromString("{0000010D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID IIDIViewObject2 = IIDFromString("{00000127-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-	public static final GUID CGID_DocHostCommandHandler = IIDFromString("{f38bc242-b950-11d1-8918-00c04fc2c836}"); //$NON-NLS-1$
-	public static final GUID CGID_Explorer = IIDFromString("{000214D0-0000-0000-C000-000000000046}"); //$NON-NLS-1$
-
-
-	/** Constants */
-	//public static final int ADVF_DATAONSTOP = 64;
-	//public static final int ADVF_NODATA = 1;
-	//public static final int ADVF_ONLYONCE = 2;
-	//public static final int ADVF_PRIMEFIRST = 4;
-	//public static final int ADVFCACHE_FORCEBUILTIN = 16;
-	//public static final int ADVFCACHE_NOHANDLER = 8;
-	//public static final int ADVFCACHE_ONSAVE = 32;
-	public static final int CF_TEXT = 1;
-	public static final int CF_BITMAP = 2;
-	public static final int CF_METAFILEPICT = 3;
-	public static final int CF_SYLK = 4;
-	public static final int CF_DIF = 5;
-	public static final int CF_TIFF = 6;
-	public static final int CF_OEMTEXT = 7;
-	public static final int CF_DIB = 8;
-	public static final int CF_PALETTE = 9;
-	public static final int CF_PENDATA = 10;
-	public static final int CF_RIFF = 11;
-	public static final int CF_WAVE = 12;
-	public static final int CF_UNICODETEXT = 13;
-	public static final int CF_ENHMETAFILE = 14;
-	public static final int CF_HDROP = 15;
-	public static final int CF_LOCALE = 16;
-	public static final int CF_MAX = 17;
-	public static final int CLSCTX_INPROC_HANDLER = 2;
-	public static final int CLSCTX_INPROC_SERVER = 1;
-	public static final int CLSCTX_LOCAL_SERVER = 4;
-	public static final int CLSCTX_REMOTE_SERVER = 16;
-	public static final int CO_E_CLASSSTRING = -2147221005;
-	//public static final int COINIT_APARTMENTTHREADED = 2;
-	//public static final int COINIT_DISABLE_OLE1DDE = 4;
-	//public static final int COINIT_MULTITHREADED = 0;
-	//public static final int COINIT_SPEED_OVER_MEMORY = 8;
-	public static final int DATADIR_GET = 1;
-	public static final int DATADIR_SET = 2;
-	public static final int DISP_E_EXCEPTION = 0x80020009;
-	public static final int DISP_E_MEMBERNOTFOUND = -2147352573;
-	public static final int DISP_E_UNKNOWNINTERFACE = 0x80020001;
-	//public static final int DISPID_AMBIENT_APPEARANCE = -716;
-	//public static final int DISPID_AMBIENT_AUTOCLIP = -715;
-	public static final int DISPID_AMBIENT_BACKCOLOR = -701;
-	//public static final int DISPID_AMBIENT_CHARSET = -727;
-	//public static final int DISPID_AMBIENT_CODEPAGE = -725;
-	//public static final int DISPID_AMBIENT_DISPLAYASDEFAULT = -713;
-	//public static final int DISPID_AMBIENT_DISPLAYNAME = -702;
-	public static final int DISPID_AMBIENT_FONT = -703;
-	public static final int DISPID_AMBIENT_FORECOLOR = -704;
-	public static final int DISPID_AMBIENT_LOCALEID = -705;
-	public static final int DISPID_AMBIENT_MESSAGEREFLECT = -706;
-	public static final int DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501;
-	//public static final int DISPID_AMBIENT_PALETTE = -726;
-	//public static final int DISPID_AMBIENT_RIGHTTOLEFT = -732;
-	//public static final int DISPID_AMBIENT_SCALEUNITS = -707;
-	public static final int DISPID_AMBIENT_SHOWGRABHANDLES = -711;
-	public static final int DISPID_AMBIENT_SHOWHATCHING = -712;
-	public static final int DISPID_AMBIENT_SILENT = -5502;
-	public static final int DISPID_AMBIENT_SUPPORTSMNEMONICS = -714;
-	//public static final int DISPID_AMBIENT_TEXTALIGN = -708;
-	//public static final int DISPID_AMBIENT_TOPTOBOTTOM = -733;
-	//public static final int DISPID_AMBIENT_TRANSFERPRIORITY = -728;
-	public static final int DISPID_AMBIENT_UIDEAD = -710;
-	public static final int DISPID_AMBIENT_USERMODE = -709;
-	public static final int DISPID_BACKCOLOR = -501;
-	public static final int DISPID_FONT = -512;
-	public static final int DISPID_FONT_BOLD = 3;
-	public static final int DISPID_FONT_CHARSET = 8; 
-	public static final int DISPID_FONT_ITALIC = 4; 
-	public static final int DISPID_FONT_NAME = 0;
-	public static final int DISPID_FONT_SIZE = 2;
-	public static final int DISPID_FONT_STRIKE = 6;
-	public static final int DISPID_FONT_UNDER = 5;
-	public static final int DISPID_FONT_WEIGHT = 7;
-	public static final int DISPID_FORECOLOR = -513;
-	//public static final int DISPID_READYSTATE = -525;
-	//public static final int DISPID_READYSTATECHANGE = -609;
-	public static final int DRAGDROP_S_DROP = 0x00040100;
-	public static final int DRAGDROP_S_CANCEL = 0x00040101;
-	public static final int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102;
-	public static final int DROPEFFECT_NONE = 0; 
-	public static final int DROPEFFECT_COPY = 1; 
-	public static final int DROPEFFECT_MOVE = 2; 
-	public static final int DROPEFFECT_LINK = 4; 
-	public static final int DROPEFFECT_SCROLL = 0x80000000; 
-	public static final int DV_E_FORMATETC = -2147221404;
-	public static final int DV_E_STGMEDIUM = -2147221402;
-	public static final int DV_E_TYMED = -2147221399;
-	public static final int DVASPECT_CONTENT = 1;
-	//public static final int DVASPECT_DOCPRINT = 8;
-	//public static final int DVASPECT_ICON = 4;
-	//public static final int DVASPECT_THUMBNAIL = 2;
-	public static final int E_FAIL = -2147467259;
-	public static final int E_INVALIDARG = -2147024809;
-	public static final int E_NOINTERFACE = -2147467262;
-	public static final int E_NOTIMPL = -2147467263;
-	public static final int E_NOTSUPPORTED = 0x80040100;
-	//public static final int E_NOTLICENSED = -2147221230;
-	//public static final int E_OUTOFMEMORY = -2147024882;
-	//public static final int E_POINTER = -2147467261;
-	public static final int GMEM_FIXED = 0;
-	//public static final int GMEM_MOVABLE = 2;
-	//public static final int GMEM_NODISCARD = 32;
-	public static final int GMEM_ZEROINIT = 64;
-	public static final int GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1;
-	public static final int IMPLTYPEFLAG_FDEFAULT = 1;
-	//public static final int IMPLTYPEFLAG_FDEFAULTVTABLE = 2048;
-	public static final int IMPLTYPEFLAG_FRESTRICTED = 4;
-	public static final int IMPLTYPEFLAG_FSOURCE = 2;
-	public static final int LOCALE_SYSTEM_DEFAULT = 1024;
-	public static final int LOCALE_USER_DEFAULT = 2048;
-	//public static final int MEMCTX_TASK = 1;
-	//public static final int OLEACTIVATEAUTO = 3; 
-	//public static final int OLEACTIVATEDOUBLECLICK = 2; 
-	//public static final int OLEACTIVATEGETFOCUS = 1; 
-	//public static final int OLEACTIVATEMANUAL = 0; 
-	//public static final int OLEAUTOMATIC = 0; 
-	//public static final int OLECHANGED = 0; 
-	public static final int OLECLOSE_NOSAVE = 1;
-	//public static final int OLECLOSE_PROMPTSAVE = 2;
-	public static final int OLECLOSE_SAVEIFDIRTY = 0;	
-	//public static final int OLECLOSED = 2; 
-	//public static final int OLECONTF_EMBEDDINGS = 1;
-	//public static final int OLECONTF_LINKS = 2;
-	//public static final int OLECONTF_ONLYIFRUNNING = 16;
-	//public static final int OLECONTF_ONLYUSER = 8;
-	//public static final int OLECONTF_OTHERS = 4;
-	//public static final int OLEDEACTIVATEMANUAL = 1;
-	//public static final int OLEDEACTIVATEONLOSEFOCUS = 0; 
-	//public static final int OLEDECBORDER = 1;
-	//public static final int OLEDECBORDERANDNIBS = 3;
-	//public static final int OLEDECNIBS = 2;
-	//public static final int OLEDECNONE = 0;
-	//public static final int OLEDISPLAYCONTENT = 0; 
-	//public static final int OLEDISPLAYICON = 1; 
-	//public static final int OLEEITHER = 2; 
-	public static final int OLEEMBEDDED = 1; 
-	//public static final int OLEFROZEN = 1; 
-	public static final int OLEIVERB_DISCARDUNDOSTATE = -6;
-	//public static final int OLEIVERB_HIDE = -3;
-	public static final int OLEIVERB_INPLACEACTIVATE = -5;	
-	//public static final int OLEIVERB_OPEN = -2;
-	public static final int OLEIVERB_PRIMARY = 0;
-	//public static final int OLEIVERB_PROPERTIES = -7;
-	//public static final int OLEIVERB_SHOW = -1;
-	//public static final int OLEIVERB_UIACTIVATE = -4; 
-	public static final int OLELINKED = 0; 
-	//public static final int OLEMANUAL = 2; 
-	//public static final int OLEMISC_ACTIVATEWHENVISIBLE = 256;
-	//public static final int OLEMISC_ACTSLIKEBUTTON = 4096;
-	//public static final int OLEMISC_ACTSLIKELABEL = 8192;
-	//public static final int OLEMISC_ALIGNABLE = 32768;
-	//public static final int OLEMISC_ALWAYSRUN = 2048;
-	//public static final int OLEMISC_CANLINKBYOLE1 = 32;
-	//public static final int OLEMISC_CANTLINKINSIDE = 16;
-	//public static final int OLEMISC_IGNOREACTIVATEWHENVISIBLE = 524288;
-	//public static final int OLEMISC_IMEMODE = 262144;
-	//public static final int OLEMISC_INSERTNOTREPLACE = 4;
-	//public static final int OLEMISC_INSIDEOUT = 128;
-	//public static final int OLEMISC_INVISIBLEATRUNTIME = 1024;
-	//public static final int OLEMISC_ISLINKOBJECT = 64;
-	//public static final int OLEMISC_NOUIACTIVATE = 16384;
-	//public static final int OLEMISC_ONLYICONIC = 2;
-	//public static final int OLEMISC_RECOMPOSEONRESIZE = 1;
-	//public static final int OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512;
-	//public static final int OLEMISC_SETCLIENTSITEFIRST = 131072;
-	//public static final int OLEMISC_SIMPLEFRAME = 65536;
-	//public static final int OLEMISC_STATIC = 8;
-	//public static final int OLEMISC_SUPPORTSMULTILEVELUNDO = 2097152;
-	//public static final int OLEMISC_WANTSTOMENUMERGE = 1048576;
-	//public static final int OLENONE = 3; 
-	//public static final int OLERENAMED = 3; 
-	//public static final int OLERENDER_ASIS = 3;
-	public static final int OLERENDER_DRAW = 1;
-	//public static final int OLERENDER_FORMAT = 2;
-	//public static final int OLERENDER_NONE = 0;
-	//public static final int OLESAVED = 1; 
-	//public static final int OLESIZEAUTOSIZE = 2; 
-	//public static final int OLESIZECLIP = 0; 
-	//public static final int OLESIZESTRETCH = 1; 
-	//public static final int OLESIZEZOOM = 3; 
-	//public static final int OLEWHICHMK_CONTAINER = 1;
-	//public static final int OLEWHICHMK_OBJFULL = 3;
-	//public static final int OLEWHICHMK_OBJREL = 2;
-	public static final int S_FALSE = 1;
-	public static final int S_OK = 0;
-	public static final int STG_E_FILENOTFOUND = 0x80030002;
-	public static final int STG_S_CONVERTED = 0x00030200;
-	//public static final int STGC_CONSOLIDATE = 8;
-	//public static final int STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4;
-	public static final int STGC_DEFAULT = 0;
-	//public static final int STGC_ONLYIFCURRENT = 2;
-	//public static final int STGC_OVERWRITE = 1;
-	public static final int STGM_CONVERT = 0x00020000;
-	public static final int STGM_CREATE = 0x00001000;
-	public static final int STGM_DELETEONRELEASE = 0x04000000;
-	public static final int STGM_DIRECT = 0x00000000;
-	public static final int STGM_DIRECT_SWMR = 0x00400000;
-	public static final int STGM_FAILIFTHERE = 0x00000000;
-	public static final int STGM_NOSCRATCH = 0x00100000;
-	public static final int STGM_NOSNAPSHOT = 0x00200000;
-	public static final int STGM_PRIORITY = 0x00040000;
-	public static final int STGM_READ = 0x00000000;
-	public static final int STGM_READWRITE = 0x00000002;
-	public static final int STGM_SHARE_DENY_NONE = 0x00000040;
-	public static final int STGM_SHARE_DENY_READ = 0x00000030;
-	public static final int STGM_SHARE_DENY_WRITE = 0x00000020;
-	public static final int STGM_SHARE_EXCLUSIVE = 0x00000010;
-	public static final int STGM_SIMPLE = 0x08000000;
-	public static final int STGM_TRANSACTED = 0x00010000;
-	public static final int STGM_WRITE = 0x00000001;
-	public static final int STGTY_STORAGE = 1;
-	public static final int STGTY_STREAM = 2;
-	public static final int STGTY_LOCKBYTES = 3;
-	public static final int STGTY_PROPERTY = 4;
-	//public static final int TYMED_ENHMF = 64;
-	//public static final int TYMED_FILE = 2;
-	//public static final int TYMED_GDI = 16;
-	public static final int TYMED_HGLOBAL = 1;
-	//public static final int TYMED_ISTORAGE = 8;
-	//public static final int TYMED_ISTREAM = 4;
-	//public static final int TYMED_MFPICT = 32;
-	//public static final int TYMED_NULL = 0;
-	public static final short DISPATCH_METHOD = 0x1;
-	public static final short DISPATCH_PROPERTYGET = 0x2;
-	public static final short DISPATCH_PROPERTYPUT = 0x4;
-	public static final short DISPATCH_PROPERTYPUTREF = 0x8;
-	//public static final short DISPID_CONSTRUCTOR = -6;
-	//public static final short DISPID_DESTRUCTOR = -7;
-	//public static final short DISPID_EVALUATE = -5;
-	//public static final short DISPID_NEWENUM = -4;
-	public static final short DISPID_PROPERTYPUT = -3;
-	//public static final short DISPID_UNKNOWN = -1;
-	//public static final short DISPID_VALUE = 0;
-	public static final short VT_BOOL = 11;
-	public static final short VT_BSTR = 8;
-	public static final short VT_BYREF = 16384;
-	public static final short VT_CY = 6;
-	public static final short VT_DATE = 7;
-	public static final short VT_DISPATCH = 9;
-	public static final short VT_EMPTY = 0;
-	public static final short VT_ERROR = 10;
-	public static final short VT_I2 = 2;
-	public static final short VT_I4 = 3;
-	public static final short VT_I8 = 20;
-	public static final short VT_NULL = 1;
-	public static final short VT_R4 = 4;
-	public static final short VT_R8 = 5;
-	public static final short VT_UI1 = 17;
-	public static final short VT_UI4 = 19;
-	public static final short VT_UNKNOWN = 13;
-	public static final short VT_VARIANT = 12;
-	public static final short VARIANT_TRUE = -1;
-	public static final short VARIANT_FALSE = 0;
-
-private static GUID IIDFromString(String lpsz) {
-	int length = lpsz.length();
-	char[] buffer = new char[length + 1];
-	lpsz.getChars(0, length, buffer, 0);
-	GUID lpiid = new GUID();
-	if (COM.IIDFromString(buffer, lpiid) == COM.S_OK) return lpiid;
-	return null;
-}
-
-/** Natives */
-public static final native int CLSIDFromProgID(char[] lpszProgID, GUID pclsid);
-public static final native int CLSIDFromString(char[] lpsz, GUID pclsid);
-public static final native int CoCreateInstance(GUID rclsid, int pUnkOuter, int dwClsContext, GUID riid, int[] ppv); 
-public static final native void CoFreeUnusedLibraries();
-public static final native int CoGetClassObject(GUID rclsid, int dwClsContext, int pServerInfo, GUID riid, int[] ppv);
-public static final native int CoLockObjectExternal(int pUnk, boolean fLock, boolean fLastUnlockReleases);
-public static final native int CoTaskMemAlloc(int cb);
-public static final native void CoTaskMemFree(int pv);
-public static final native int DoDragDrop(int pDataObject, int pDropSource, int dwOKEffect, int[] pdwEffect);
-public static final native int GetClassFile(char[] szFileName, GUID clsid);
-public static final native int IIDFromString(char[] lpsz, GUID lpiid);
-public static final native boolean IsEqualGUID(GUID rguid1, GUID rguid2);
-public static final native void MoveMemory(int Destination, FORMATETC Source, int Length);
-public static final native void MoveMemory(int DestinationPtr, GUID Source, int Length);
-public static final native void MoveMemory(int DestinationPtr, OLEINPLACEFRAMEINFO Source, int Length);
-public static final native void MoveMemory(int Destination, STATSTG Source, int Length);
-public static final native void MoveMemory(int Destination, STGMEDIUM Source, int Length);
-public static final native void MoveMemory(STGMEDIUM Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(DISPPARAMS Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(FORMATETC Destination, int Source, int Length);
-public static final native void MoveMemory(GUID Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(STATSTG Destination, int Source, int Length);
-public static final native void MoveMemory(TYPEATTR Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(RECT Destination, int Source, int Length);
-public static final native void MoveMemory(FUNCDESC Destination, int Source, int Length);
-public static final native void MoveMemory(VARDESC Destination, int Source, int Length);
-public static final native int OleCreate(GUID rclsid, GUID riid, int renderopt, FORMATETC pFormatEtc, int pClientSite, int pStg, int[] ppvObject);
-public static final native int OleCreateFromFile(GUID rclsid, char[] lpszFileName, GUID riid, int renderopt, FORMATETC pFormatEtc, int pClientSite, int pStg, int[] ppvObj); 
-public static final native int OleCreatePropertyFrame(int hwndOwner,int x, int y, char[] lpszCaption, int cObjects, int[] lplpUnk, int cPages, int lpPageClsID, int lcid, int dwReserved, int lpvReserved);
-public static final native int OleDraw(int pUnk, int dwAspect, int hdcDraw, int lprcBounds);
-public static final native int OleFlushClipboard();
-public static final native int OleGetClipboard(int[] ppDataObject);
-public static final native int OleIsCurrentClipboard(int pDataObject);
-public static final native boolean OleIsRunning(int pObject);
-public static final native int OleLoad(int pStg, GUID riid, int pClientSite, int[] ppvObj);
-public static final native int OleRun(int pUnknown);
-public static final native int OleSave(int pPS, int pStg,boolean fSameAsLoad);
-public static final native int OleSetClipboard(int pDataObject);
-public static final native int OleSetContainedObject(int pUnk, boolean fContained);
-public static final native int OleSetMenuDescriptor(int holemenu, int hwndFrame, int hwndActiveObject, int lpFrame, int lpActiveObj);
-public static final native int OleTranslateColor(int clr, int hpal, int[] pcolorref);
-public static final native int ProgIDFromCLSID(GUID clsid, int[] lplpszProgID);
-public static final native int RegisterDragDrop(int hwnd, int pDropTarget);
-public static final native  void ReleaseStgMedium(int pmedium); 
-public static final native int RevokeDragDrop(int hwnd);
-public static final native int StgCreateDocfile(char[] pwcsName, int grfMode, int reserved, int[] ppstgOpen);
-public static final native int StgIsStorageFile(char[] pwcsName);
-public static final native int StgOpenStorage(char[] pwcsName, int pstgPriority, int grfMode, int snbExclude, int reserved, int[] ppstgOpen);
-public static final native int StringFromCLSID(GUID rclsid, int[] ppsz); 
-public static final native int SysAllocString(char [] sz);
-public static final native void SysFreeString(int bstr);
-public static final native int SysStringByteLen(int bstr);
-public static final native int VariantChangeType(int pvargDest, int pvarSrc, short wFlags, short vt);
-public static final native int VariantClear(int pvarg);
-public static final native void VariantInit(int pvarg);
-public static final native int VtblCall(int fnNumber, int ppVtbl, char[] arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, char[] arg0, char[] arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, char[] arg0, int arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int[] arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int[] arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int[] arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int[] arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, DVTARGETDEVICE arg2, SIZE arg3);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, GUID arg2, int arg3, int[] arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, FORMATETC arg1, int[] arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, GUID arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, GUID arg1, int arg2, int arg3);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, int arg5, EXCEPINFO arg6, int[] arg7);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, STATSTG arg1, int[] arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, MSG arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, MSG arg1, int arg2, int arg3, int arg4, RECT arg5);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, SIZE arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, boolean arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, CAUUID arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, CONTROLINFO arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, FORMATETC arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, FORMATETC arg0, STGMEDIUM arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, FORMATETC arg0, STGMEDIUM arg1, boolean arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, GUID arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, GUID arg0, int[] arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int[] arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, GUID arg0, int arg1, OLECMD arg2, OLECMDTEXT arg3);
-public static final native int VtblCall(int fnNumber, int ppVtbl, LICINFO arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, RECT arg0, int arg1, boolean arg2);
-public static final native int VtblCall(int fnNumber, int ppVtbl, RECT arg0, RECT arg1);
-public static final native int VtblCall(int fnNumber, int ppVtbl, RECT arg0);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int[] arg1, int arg2, int[] arg3);
-public static final native int WriteClassStg(int pStg, GUID rclsid);
-
-/** Accessibility constants */
-public static final int CHILDID_SELF = 0;
-public static final int CO_E_OBJNOTCONNECTED = 0x800401FD;
-//public static final int ROLE_SYSTEM_TITLEBAR = 0x1;
-public static final int ROLE_SYSTEM_MENUBAR = 0x2;
-public static final int ROLE_SYSTEM_SCROLLBAR = 0x3;
-//public static final int ROLE_SYSTEM_GRIP = 0x4;
-//public static final int ROLE_SYSTEM_SOUND = 0x5;
-//public static final int ROLE_SYSTEM_CURSOR = 0x6;
-//public static final int ROLE_SYSTEM_CARET = 0x7;
-//public static final int ROLE_SYSTEM_ALERT = 0x8;
-public static final int ROLE_SYSTEM_WINDOW = 0x9;
-public static final int ROLE_SYSTEM_CLIENT = 0xa;
-public static final int ROLE_SYSTEM_MENUPOPUP = 0xb;
-public static final int ROLE_SYSTEM_MENUITEM = 0xc;
-public static final int ROLE_SYSTEM_TOOLTIP = 0xd;
-//public static final int ROLE_SYSTEM_APPLICATION = 0xe;
-//public static final int ROLE_SYSTEM_DOCUMENT = 0xf;
-//public static final int ROLE_SYSTEM_PANE = 0x10;
-//public static final int ROLE_SYSTEM_CHART = 0x11;
-public static final int ROLE_SYSTEM_DIALOG = 0x12;
-//public static final int ROLE_SYSTEM_BORDER = 0x13;
-//public static final int ROLE_SYSTEM_GROUPING = 0x14;
-public static final int ROLE_SYSTEM_SEPARATOR = 0x15;
-public static final int ROLE_SYSTEM_TOOLBAR = 0x16;
-//public static final int ROLE_SYSTEM_STATUSBAR = 0x17;
-public static final int ROLE_SYSTEM_TABLE = 0x18;
-public static final int ROLE_SYSTEM_COLUMNHEADER = 0x19;
-public static final int ROLE_SYSTEM_ROWHEADER = 0x1a;
-//public static final int ROLE_SYSTEM_COLUMN = 0x1b;
-//public static final int ROLE_SYSTEM_ROW = 0x1c;
-public static final int ROLE_SYSTEM_CELL = 0x1d;
-public static final int ROLE_SYSTEM_LINK = 0x1e;
-//public static final int ROLE_SYSTEM_HELPBALLOON = 0x1f;
-//public static final int ROLE_SYSTEM_CHARACTER = 0x20;
-public static final int ROLE_SYSTEM_LIST = 0x21;
-public static final int ROLE_SYSTEM_LISTITEM = 0x22;
-public static final int ROLE_SYSTEM_OUTLINE = 0x23;
-public static final int ROLE_SYSTEM_OUTLINEITEM = 0x24;
-public static final int ROLE_SYSTEM_PAGETAB = 0x25;
-//public static final int ROLE_SYSTEM_PROPERTYPAGE = 0x26;
-//public static final int ROLE_SYSTEM_INDICATOR = 0x27;
-//public static final int ROLE_SYSTEM_GRAPHIC = 0x28;
-public static final int ROLE_SYSTEM_STATICTEXT = 0x29;
-public static final int ROLE_SYSTEM_TEXT = 0x2a;
-public static final int ROLE_SYSTEM_PUSHBUTTON = 0x2b;
-public static final int ROLE_SYSTEM_CHECKBUTTON = 0x2c;
-public static final int ROLE_SYSTEM_RADIOBUTTON = 0x2d;
-public static final int ROLE_SYSTEM_COMBOBOX = 0x2e;
-//public static final int ROLE_SYSTEM_DROPLIST = 0x2f;
-public static final int ROLE_SYSTEM_PROGRESSBAR = 0x30;
-//public static final int ROLE_SYSTEM_DIAL = 0x31;
-//public static final int ROLE_SYSTEM_HOTKEYFIELD = 0x32;
-public static final int ROLE_SYSTEM_SLIDER = 0x33;
-//public static final int ROLE_SYSTEM_SPINBUTTON = 0x34;
-//public static final int ROLE_SYSTEM_DIAGRAM = 0x35;
-//public static final int ROLE_SYSTEM_ANIMATION = 0x36;
-//public static final int ROLE_SYSTEM_EQUATION = 0x37;
-//public static final int ROLE_SYSTEM_BUTTONDROPDOWN = 0x38;
-//public static final int ROLE_SYSTEM_BUTTONMENU = 0x39;
-//public static final int ROLE_SYSTEM_BUTTONDROPDOWNGRID = 0x3a;
-//public static final int ROLE_SYSTEM_WHITESPACE = 0x3b;
-public static final int ROLE_SYSTEM_PAGETABLIST = 0x3c;
-//public static final int ROLE_SYSTEM_CLOCK = 0x3d;
-public static final int STATE_SYSTEM_NORMAL = 0;
-//public static final int STATE_SYSTEM_UNAVAILABLE = 0x1;
-public static final int STATE_SYSTEM_SELECTED = 0x2;
-public static final int STATE_SYSTEM_FOCUSED = 0x4;
-public static final int STATE_SYSTEM_PRESSED = 0x8;
-public static final int STATE_SYSTEM_CHECKED = 0x10;
-//public static final int STATE_SYSTEM_MIXED = 0x20;
-//public static final int STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED;
-public static final int STATE_SYSTEM_READONLY = 0x40;
-public static final int STATE_SYSTEM_HOTTRACKED = 0x80;
-//public static final int STATE_SYSTEM_DEFAULT = 0x100;
-public static final int STATE_SYSTEM_EXPANDED = 0x200;
-public static final int STATE_SYSTEM_COLLAPSED = 0x400;
-public static final int STATE_SYSTEM_BUSY = 0x800;
-//public static final int STATE_SYSTEM_FLOATING = 0x1000;
-//public static final int STATE_SYSTEM_MARQUEED = 0x2000;
-//public static final int STATE_SYSTEM_ANIMATED = 0x4000;
-public static final int STATE_SYSTEM_INVISIBLE = 0x8000;
-public static final int STATE_SYSTEM_OFFSCREEN = 0x10000;
-public static final int STATE_SYSTEM_SIZEABLE = 0x20000;
-//public static final int STATE_SYSTEM_MOVEABLE = 0x40000;
-//public static final int STATE_SYSTEM_SELFVOICING = 0x80000;
-public static final int STATE_SYSTEM_FOCUSABLE = 0x100000;
-public static final int STATE_SYSTEM_SELECTABLE = 0x200000;
-public static final int STATE_SYSTEM_LINKED = 0x400000;
-//public static final int STATE_SYSTEM_TRAVERSED = 0x800000;
-public static final int STATE_SYSTEM_MULTISELECTABLE = 0x1000000;
-//public static final int STATE_SYSTEM_EXTSELECTABLE = 0x2000000;
-//public static final int STATE_SYSTEM_ALERT_LOW = 0x4000000;
-//public static final int STATE_SYSTEM_ALERT_MEDIUM = 0x8000000;
-//public static final int STATE_SYSTEM_ALERT_HIGH = 0x10000000;
-//public static final int STATE_SYSTEM_PROTECTED = 0x20000000;
-//public static final int STATE_SYSTEM_VALID = 0x3fffffff;
-
-/** Accessibility natives */
-public static final native int CreateStdAccessibleObject (int hwnd, int idObject, GUID riidInterface, int[] ppvObject);
-public static final native int LresultFromObject (GUID riid, int wParam, int pAcc);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int arg2, int arg3);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5);
-public static final native int VtblCall(int fnNumber, int ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7);
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java
deleted file mode 100644
index 4891eba..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/CONTROLINFO.java
+++ /dev/null
@@ -1,19 +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.internal.ole.win32;
-
-public final class CONTROLINFO {
-	public int cb;
-	public int hAccel;
-	public short cAccel;
-	public int dwFlags;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java
deleted file mode 100644
index 56207f0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COSERVERINFO.java
+++ /dev/null
@@ -1,19 +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.internal.ole.win32;
-
-public class COSERVERINFO {
-	public int dwReserved1;   
-	public int pwszName;    
-	public int pAuthInfo;
-	public int dwReserved2;
-	public static final int sizeof = 16; 
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java
deleted file mode 100644
index cdd10c9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DISPPARAMS.java
+++ /dev/null
@@ -1,19 +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.internal.ole.win32;
-
-public final class DISPPARAMS {
-	public int rgvarg;
-	public int rgdispidNamedArgs;
-	public int cArgs;
-	public int cNamedArgs;
-	public static final int sizeof = 16; 						
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java
deleted file mode 100644
index def4ca0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/DVTARGETDEVICE.java
+++ /dev/null
@@ -1,21 +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.internal.ole.win32;
-
-public final class DVTARGETDEVICE {
-	public int tdSize; 
-	public short tdDriverNameOffset; 
-	public short tdDeviceNameOffset;
-	public short tdPortNameOffset;
-	public short tdExtDevmodeOffset;
-	public byte[] tdData = new byte[1];
-	public static final int sizeof = 13;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java
deleted file mode 100644
index cb2789b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/EXCEPINFO.java
+++ /dev/null
@@ -1,24 +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.internal.ole.win32;
-
-public final class EXCEPINFO {
-	public short wCode;   
-	public short wReserved;
-	public int bstrSource; 
-	public int bstrDescription; 
-	public int bstrHelpFile;
-	public int dwHelpContext; 
-	public int pvReserved;
-	public int pfnDeferredFillIn;
-	public int scode;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java
deleted file mode 100644
index 4786e20..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FORMATETC.java
+++ /dev/null
@@ -1,20 +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.internal.ole.win32;
-
-public final class FORMATETC {
-	public int cfFormat;
-	public int ptd;
-	public int dwAspect;
-	public int lindex;
-	public int tymed;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java
deleted file mode 100644
index c7a5baf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/FUNCDESC.java
+++ /dev/null
@@ -1,33 +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.internal.ole.win32;
-
-public class FUNCDESC {
-	public int memid;
-	public int lprgscode;
-	public int lprgelemdescParam;
-	public int funckind;
-	public int invkind;
-	public int callconv;
-	public short cParams;
-	public short cParamsOpt;
-	public short oVft;
-	public short cScodes;
-//	ELEMDESC elemdescFunc;
-//	TYPEDESC elemdescFunc.tdesc
-	public int elemdescFunc_tdesc_union;
-	public short elemdescFunc_tdesc_vt;
-//	PARAMDESC elemdescFunc.paramdesc
-	public int elemdescFunc_paramdesc_pparamdescex;
-	public short elemdescFunc_paramdesc_wParamFlags;
-	public short wFuncFlags;
-	public static final int sizeof = 50;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java
deleted file mode 100644
index 7646263..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/GUID.java
+++ /dev/null
@@ -1,19 +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.internal.ole.win32;
-
-public final class GUID {
-	public int Data1;
-	public short Data2;
-	public short Data3;
-	public byte[] Data4 = new byte[8];
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
deleted file mode 100644
index 94b3e7c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-
-public class IAccessible extends IDispatch {
-
-public IAccessible(int address) {
-	super(address);
-}
-
-public int get_accParent(int ppdispParent) {
-	return COM.VtblCall(7, address, ppdispParent);
-}
-public int get_accChildCount(int pcountChildren) {
-	return COM.VtblCall(8, address, pcountChildren);
-}
-public int get_accChild(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int ppdispChild) {
-	return COM.VtblCall(9, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, ppdispChild);
-}
-public int get_accName(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszName) {
-	return COM.VtblCall(10, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszName);
-}
-public int get_accValue(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszValue) {
-	return COM.VtblCall(11, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszValue);
-}
-public int get_accDescription(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszDescription) {
-	return COM.VtblCall(12, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszDescription);
-}
-public int get_accRole(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pvarRole) {
-	return COM.VtblCall(13, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pvarRole);
-}
-public int get_accState(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pvarState) {
-	return COM.VtblCall(14, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pvarState);
-}
-public int get_accHelp(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszHelp) {
-	return COM.VtblCall(15, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszHelp);
-}
-public int get_accHelpTopic(int pszHelpFile, int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pidTopic) {
-	return COM.VtblCall(16, address, pszHelpFile, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pidTopic);
-}
-public int get_accKeyboardShortcut(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszKeyboardShortcut) {
-	return COM.VtblCall(17, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszKeyboardShortcut);
-}
-public int get_accFocus(int pvarChild) {
-	return COM.VtblCall(18, address, pvarChild);
-}
-public int get_accSelection(int pvarChildren) {
-	return COM.VtblCall(19, address, pvarChildren);
-}
-public int get_accDefaultAction(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pszDefaultAction) {
-	return COM.VtblCall(20, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pszDefaultAction);
-}
-public int accSelect(int flagsSelect, int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2) {
-	return COM.VtblCall(21, address, flagsSelect, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2);
-}
-public int accLocation(int pxLeft, int pyTop, int pcxWidth, int pcyHeight,
-	int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2) {
-	return COM.VtblCall(22, address, pxLeft, pyTop, pcxWidth, pcyHeight, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2);
-}
-public int accNavigate(int navDir, int varStart_vt, int varStart_reserved1, int varStart_lVal, int varStart_reserved2, int pvarEndUpAt) {
-	return COM.VtblCall(23, address, navDir, varStart_vt, varStart_reserved1, varStart_lVal, varStart_reserved2, pvarEndUpAt);
-}
-public int accHitTest(int xLeft, int yTop, int pvarChild) {
-	return COM.VtblCall(24, address, xLeft, yTop, pvarChild);
-}
-public int accDoDefaultAction(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2) {
-	return COM.VtblCall(25, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2);
-}
-public int put_accName(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int szName) {
-	return COM.VtblCall(26, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, szName);
-}
-public int put_accValue(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int szValue) {
-	return COM.VtblCall(27, address, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, szValue);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.java
deleted file mode 100644
index cb20df0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IClassFactory2.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.internal.ole.win32;
-
-public class IClassFactory2 extends IUnknown
-{
-public IClassFactory2(int address) {
-	super(address);
-}
-public int CreateInstanceLic(int pUnkOuter, int pUnkReserved, GUID riid, int bstrKey, int ppvObject[]) {
-	return COM.VtblCall(7, address, pUnkOuter, pUnkReserved, riid, bstrKey, ppvObject);
-}
-public int GetLicInfo(LICINFO licInfo) {
-	return COM.VtblCall(5, address, licInfo);
-}
-public int RequestLicKey(int dwReserved, int[] pBstrKey) {
-	return COM.VtblCall(6, address, dwReserved, pBstrKey);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.java
deleted file mode 100644
index 05b1fdf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPoint.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.ole.win32;
-
-public class IConnectionPoint extends IUnknown
-{
-public IConnectionPoint(int address) {
-	super(address);
-}
-public int Advise(int pUnk, int[] pdwCookie) {
-	return COM.VtblCall(5, address, pUnk, pdwCookie);
-}
-public int Unadvise(int dwCookie) {
-	return COM.VtblCall(6, address, dwCookie);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java
deleted file mode 100644
index d7796e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IConnectionPointContainer.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IConnectionPointContainer extends IUnknown
-{
-public IConnectionPointContainer(int address) {
-	super(address);
-}
-public int FindConnectionPoint(GUID riid, int[] ppCP) {
-	return COM.VtblCall(4, address, riid, ppCP);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java
deleted file mode 100644
index d603365..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDataObject.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IDataObject extends IUnknown {
-public IDataObject(int address) {
-	super(address);
-}
-public int EnumFormatEtc(int dwDirection, int[] ppenumFormatetc) {
-	return COM.VtblCall(8, address, dwDirection, ppenumFormatetc);
-}
-public int GetData(FORMATETC pFormatetc, STGMEDIUM pmedium) {
-	//Called by a data consumer to obtain data from a source data object. 
-	//The GetData method renders the data described in the specified FORMATETC 
-	//structure and transfers it through the specified STGMEDIUM structure. 
-	//The caller then assumes responsibility for releasing the STGMEDIUM structure.
-	return COM.VtblCall(3, address, pFormatetc, pmedium);
-}
-public int GetDataHere(FORMATETC pFormatetc, STGMEDIUM pmedium) {
-	//Called by a data consumer to obtain data from a source data object. 
-	//This method differs from the GetData method in that the caller must 
-	//allocate and free the specified storage medium.
-	return COM.VtblCall(4, address, pFormatetc, pmedium);
-}
-public int QueryGetData(FORMATETC pFormatetc) {
-	return COM.VtblCall(5, address, pFormatetc);
-}
-public int SetData(
-	FORMATETC pFormatetc,  // Pointer to the FORMATETC structure
-	STGMEDIUM pmedium,     // Pointer to STGMEDIUM structure
-	boolean fRelease     // Indicates which object owns the storage medium after the call is completed
-	){
-	return COM.VtblCall(7, address, pFormatetc, pmedium, fRelease);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
deleted file mode 100644
index afd9024..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
+++ /dev/null
@@ -1,66 +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.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class IDispatch extends IUnknown
-{
-public IDispatch(int address) {
-	super(address);
-}
-public int GetIDsOfNames(GUID riid, String[] rgszNames, int cNames, int lcid, int[] rgDispId) {
-
-	char[] buffer;
-	int size = rgszNames.length;
-
-	// create an array to hold the addresses
-	int hHeap = OS.GetProcessHeap();
-	int ppNames = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, size*4);
-	int[] memTracker = new int[size];
-	
-	try {	
-		// add the address of each string to the array
-		
-		for (int i=0; i<size; i++){
-			// create a null terminated array of char for each String
-			int nameSize = rgszNames[i].length();
-			buffer = new char[nameSize +1];
-			rgszNames[i].getChars(0, nameSize, buffer, 0);
-			// get the address of the start of the array of char
-			int pName = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, buffer.length * 2);
-			OS.MoveMemory(pName, buffer, buffer.length * 2);
-			// copy the address to the array of addresses
-			COM.MoveMemory(ppNames + 4*i, new int[]{pName}, 4);
-			// keep track of the Global Memory so we can free it
-			memTracker[i] = pName;
-		}
-	
-		return COM.VtblCall(5, address, new GUID(), ppNames, cNames, lcid, rgDispId);
-		
-	} finally {
-		// free the memory
-		for (int i=0; i<memTracker.length; i++){
-			OS.HeapFree(hHeap, 0, memTracker[i]);
-		}
-		OS.HeapFree(hHeap, 0, ppNames);
-	}
-}
-public int GetTypeInfo(int iTInfo, int lcid, int[] ppTInfo ){
-	return COM.VtblCall(4, address, iTInfo, lcid, ppTInfo);
-}
-public int GetTypeInfoCount(int[] pctinfo ){
-	return COM.VtblCall(3, address, pctinfo);
-}
-public int Invoke(int dispIdMember, GUID riid, int lcid, int dwFlags, DISPPARAMS pDispParams, int pVarResult, EXCEPINFO pExcepInfo, int pArgErr[]) {
-	return COM.VtblCall(6, address, dispIdMember, riid, lcid, dwFlags, pDispParams, pVarResult, pExcepInfo, pArgErr);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java
deleted file mode 100644
index 614ef33..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnum.java
+++ /dev/null
@@ -1,30 +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.ole.win32;
-
-public class IEnum extends IUnknown
-{
-public IEnum(int address) {
-	super(address);
-}
-public int Clone( int[] ppenum  ){
-	return COM.VtblCall(6, address, ppenum);
-}
-public int Next(int celt, int rgelt, int[] pceltFetched  ){
-	return COM.VtblCall(3, address, celt, rgelt, pceltFetched);
-}
-public int Reset() {
-	return COM.VtblCall(5, address);
-}
-public int Skip(int celt){
-	return COM.VtblCall(4, address, celt);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.java
deleted file mode 100644
index 23cfc76..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumFORMATETC.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.internal.ole.win32;
-
-public class IEnumFORMATETC extends IEnum {
-public IEnumFORMATETC(int address) {
-	super(address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.java
deleted file mode 100644
index c1d6580..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumSTATSTG.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.internal.ole.win32;
-
-public class IEnumSTATSTG extends IEnum {
-public IEnumSTATSTG(int address) {
-	super(address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.java
deleted file mode 100644
index 36352ca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IEnumVARIANT.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.internal.ole.win32;
-
-public class IEnumVARIANT extends IEnum {
-public IEnumVARIANT(int address) {
-	super(address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java
deleted file mode 100644
index 38dd307..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IFont.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IFont extends IUnknown {
-public IFont(int address) {
-	super(address);
-}
-public int get_hFont(int[] phfont){
-	return COM.VtblCall(3, address, phfont);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java
deleted file mode 100644
index dc1eeaf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IMoniker.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IMoniker extends IPersist
-{
-public IMoniker(int address) {
-	super(address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java
deleted file mode 100644
index e4a5e66..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleCommandTarget.java
+++ /dev/null
@@ -1,36 +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.ole.win32;
-
-public class IOleCommandTarget extends IUnknown {
-public IOleCommandTarget(int address) {
-	super(address);
-}
-public int Exec(
-	GUID pguidCmdGroup,  // Pointer to command group
-	int  nCmdID,         // Identifier of command to execute
-	int  nCmdExecOpt,    // Options for executing the command
-	int  pvaIn,          // Pointer to input arguments
-	int  pvaOut          // Pointer to command output
-){
-	return COM.VtblCall(4, address, pguidCmdGroup, nCmdID, nCmdExecOpt, pvaIn, pvaOut);
-}
-public int QueryStatus(
-	GUID       pguidCmdGroup, // Pointer to command group
-	int        cCmds,         // Number of commands in prgCmds array
-	OLECMD     prgCmds,       // Array of commands
-	OLECMDTEXT pCmdText       // Pointer to name or status of command
-){
-	// we only support querying for one command at a time
-	if (cCmds > 1) return COM.E_INVALIDARG;
-	return COM.VtblCall(3, address, pguidCmdGroup, cCmds, prgCmds, pCmdText);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java
deleted file mode 100644
index 77f86fd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleControl.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IOleControl extends IUnknown
-{
-public IOleControl(int address) {
-	super(address);
-}
-public int GetControlInfo(CONTROLINFO pCI) {
-	return COM.VtblCall(3, address, pCI);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java
deleted file mode 100644
index 7eb42c1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocument.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IOleDocument extends IUnknown
-{
-public IOleDocument(int address) {
-	super(address);
-}
-public int CreateView(int pIPSite,int pstm, int dwReserved,int[] ppView) {
-	return COM.VtblCall(3, address, pIPSite, pstm, dwReserved, ppView);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java
deleted file mode 100644
index 9becdff..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleDocumentView.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
- 
-import org.eclipse.swt.internal.win32.RECT;
- 
-public class IOleDocumentView extends IUnknown
-{
-public IOleDocumentView(int address) {
-	super(address);
-}
-
-public int SetInPlaceSite(int pIPSite) {
-	return COM.VtblCall(3, address, pIPSite);
-}
-public int SetRect(RECT prcView){
-	return COM.VtblCall(6, address, prcView);
-}
-public int Show(int fShow ){
-	return COM.VtblCall(9, address, fShow);
-}
-public int UIActivate(int fUIActivate){
-	return COM.VtblCall(10, address, fUIActivate);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.java
deleted file mode 100644
index 15a81ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceActiveObject.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.internal.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class IOleInPlaceActiveObject extends IOleWindow
-{
-public IOleInPlaceActiveObject(int address) {
-	super(address);
-}
-public int TranslateAccelerator(MSG lpmsg) {
-	  //lpmsg - Pointer to message that may need translating
-	  return COM.VtblCall(5, address, lpmsg);
-}
-public int ResizeBorder(RECT prcBorder, int pUIWindow, boolean fFrameWindow) {
-	return COM.VtblCall(8, address, prcBorder, pUIWindow, fFrameWindow);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java
deleted file mode 100644
index 0279146..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleInPlaceObject.java
+++ /dev/null
@@ -1,32 +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.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class IOleInPlaceObject extends IOleWindow
-{	
-public IOleInPlaceObject(int address) {
-	super(address);
-}
-public int InPlaceDeactivate() {
-	return COM.VtblCall(5, address);
-}
-public int UIDeactivate() {
-	return COM.VtblCall(6, address);
-}
-public int SetObjectRects(RECT lprcPosRect, RECT lprcClipRect) {
-	return COM.VtblCall(7, address, lprcPosRect, lprcClipRect);
-}
-public int ReactivateAndUndo() {
-	return COM.VtblCall(8, address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.java
deleted file mode 100644
index 91f8513..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleLink.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.ole.win32;
-
-public class IOleLink extends IUnknown
-{
-public IOleLink(int address) {
-	super(address);
-}
-public int BindIfRunning() {
-	return COM.VtblCall(10, address);
-}
-public int GetSourceMoniker(int[] ppmk) {
-	return COM.VtblCall(6, address, ppmk);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java
deleted file mode 100644
index 0f46c0d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleObject.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class IOleObject extends IUnknown
-{
-public IOleObject(int address) {
-	super(address);
-}
-public int Advise(int pAdvSink, int pdwConnection[]) {
-	return COM.VtblCall(19, address, pAdvSink, pdwConnection);
-}
-public int Close(int dwSaveOption) {
-	return COM.VtblCall(6, address, dwSaveOption);
-}
-public int DoVerb(int iVerb, MSG lpmsg, int pActiveSite, int lindex, int hwndParent, RECT lprcPosRect) {
-	return COM.VtblCall(11, address, iVerb, lpmsg, pActiveSite, lindex, hwndParent, lprcPosRect);
-}
-public int GetExtent(int dwDrawAspect, SIZE pSizel) {
-	return COM.VtblCall(18, address, dwDrawAspect, pSizel);
-}
-public int SetClientSite(int pClientSite) {
-	return COM.VtblCall(3, address, pClientSite);
-}
-public int SetExtent(int dwDrawAspect, SIZE pSizel) {
-	return COM.VtblCall(17, address, dwDrawAspect, pSizel);
-}
-public int SetHostNames(String szContainerApp, String szContainerObj) {
-
-	// create a null terminated array of char
-	char[] buffer1 = null;
-	if (szContainerApp != null) {
-		int count1 = szContainerApp.length();
-		buffer1 = new char[count1 + 1];
-		szContainerApp.getChars(0, count1, buffer1, 0);
-	}
-
-	// create a null terminated array of char
-	char[] buffer2 = null;
-	if (szContainerObj != null) {
-		int count2 = szContainerObj.length();
-		buffer2 = new char[count2 + 1];
-		szContainerObj.getChars(0, count2, buffer2, 0);
-	}
-	return COM.VtblCall(5, address, buffer1, buffer2);
-}
-public int Update() {
-	return COM.VtblCall(13, address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java
deleted file mode 100644
index 8591661..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IOleWindow.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IOleWindow extends IUnknown {
-public IOleWindow(int address) {
-	super(address);
-}
-public int GetWindow(int phwnd[]) {
-	return COM.VtblCall(3, address, phwnd);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java
deleted file mode 100644
index 43f57c0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersist.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IPersist extends IUnknown
-{
-public IPersist(int address) {
-	super(address);
-}
-public int GetClassID(GUID pClassID) {
-	return COM.VtblCall(3, address, pClassID);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java
deleted file mode 100644
index 51caacc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStorage.java
+++ /dev/null
@@ -1,36 +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.ole.win32;
-
-public class IPersistStorage extends IPersist
-{
-public IPersistStorage(int address) {
-	super(address);
-}
-public int IsDirty() {
-	return COM.VtblCall(4, address);
-}
-public int InitNew(int pStg) {
-	return COM.VtblCall(5, address, pStg);
-}
-public int Load(int pStg) {
-	return COM.VtblCall(6, address, pStg);
-}
-public int Save(int pStgSave, boolean fSameAsLoad) {
-	return COM.VtblCall(7, address, pStgSave, fSameAsLoad);
-}
-public int SaveCompleted(int pStgNew) {
-	return COM.VtblCall(8, address, pStgNew);
-}
-public int HandsOffStorage(){
-	return COM.VtblCall(9, address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java
deleted file mode 100644
index a3545c8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IPersistStreamInit.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IPersistStreamInit extends IPersist
-{
-public IPersistStreamInit(int address) {
-	super(address);
-}
-
-public int Load(int pStm) {
-	return COM.VtblCall(5, address, pStm);
-}
-
-public int InitNew() {
-	return COM.VtblCall(8, address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java
deleted file mode 100644
index 61c88af..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IProvideClassInfo extends IUnknown
-{
-public IProvideClassInfo(int address) {
-	super(address);
-}
-public int GetClassInfo(int[] ppTI) {
-	return COM.VtblCall(3, address, ppTI);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java
deleted file mode 100644
index 4c555f2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IProvideClassInfo2.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class IProvideClassInfo2 extends IProvideClassInfo
-{
-public IProvideClassInfo2(int address) {
-	super(address);
-}
-public int GetGUID(int dwGuidKind, GUID pGUID) {
-	return COM.VtblCall(4, address, dwGuidKind, pGUID);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java
deleted file mode 100644
index 3389e37..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ISpecifyPropertyPages.java
+++ /dev/null
@@ -1,21 +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.ole.win32;
-
-public class ISpecifyPropertyPages extends IUnknown {
-
-public ISpecifyPropertyPages(int address) {
-	super(address);
-}
-public int GetPages(CAUUID pPages){
-	return COM.VtblCall(3, address, pPages);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java
deleted file mode 100644
index dbc5bb9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStorage.java
+++ /dev/null
@@ -1,149 +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.ole.win32;
-
-public class IStorage extends IUnknown
-{
-public IStorage(int address) {
-	super(address);
-}
-public int Commit(int grfCommitFlag) {
-	return COM.VtblCall(9, address, grfCommitFlag);
-}
-public int CopyTo(
-	int ciidExclude,     //Number of elements in rgiidExclude
-  	GUID rgiidExclude,   //Array of interface identifiers (IIDs)
-  	String[] snbExclude, //Points to a block of stream names in the storage object
-	int pstgDest         //Points to destination storage object
-  ){
-	// we only support snbExclude = null
-	if (snbExclude != null) {
-		return COM.E_INVALIDARG;
-	}
-	return COM.VtblCall(7, address, ciidExclude, rgiidExclude, 0, pstgDest);
-}
-public int CreateStorage(
-	String pwcsName, //Pointer to the name of the new storage object
-	int grfMode,     //Access mode for the new storage object  
-	int reserved1,   //Reserved; must be zero
-	int reserved2,   //Reserved; must be zero
-	int[] ppStg      //Pointer to new storage object
-){
-	
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (pwcsName != null) {
-		buffer = (pwcsName+"\0").toCharArray();
-	}
-	
-	return COM.VtblCall(5, address, buffer, grfMode, reserved1, reserved2, ppStg);
-}
-public int CreateStream(
-	String pwcsName, //Pointer to the name of the new stream
-	int grfMode,     //Access mode for the new stream  
-	int reserved1,   //Reserved; must be zero  
-	int reserved2,   //Reserved; must be zero  
-	int[] ppStm      //Pointer to new stream object
-){
-  
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (pwcsName != null) {
-		buffer = (pwcsName+"\0").toCharArray();
-	}
-
-	return COM.VtblCall(3, address, buffer, grfMode, reserved1, reserved2, ppStm);
-}
-public int DestroyElement(String pwcsName) {
-
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (pwcsName != null) {
-		buffer = (pwcsName+"\0").toCharArray();
-	}
-	return COM.VtblCall(12, address, buffer);
-}
-public int EnumElements( 
-	int reserved1, //Reserved; must be zero
-	int reserved2, //Reserved; must be NULL
-	int reserved3, //Reserved; must be zero
-	int[] ppenum   //Pointer to output variable that
-				   // receives the IEnumSTATSTG interface 
-){
-	return COM.VtblCall(11, address, reserved1, reserved2, reserved3, ppenum);
-}
-public int OpenStorage(
-	String pwcsName,     //Pointer to the name of the                           
-	                     // storage object to open
-	int pstgPriority,    //Must be NULL.
-	int grfMode,         //Access mode for the new storage object
-	String snbExclude[], //Must be NULL.
-	int reserved,        //Reserved; must be zero
-	int[] ppStg          //Pointer to opened storage object
-){
-
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (pwcsName != null) {
-		buffer = (pwcsName+"\0").toCharArray();
-	}
-
-	// we only support the case where snbExclude = null
-	if (snbExclude != null) {
-		return COM.E_INVALIDARG;
-	}
-	return COM.VtblCall(6, address, buffer, pstgPriority, grfMode, 0, reserved, ppStg);
-}
-public int OpenStream(
-	String pwcsName, //Pointer to name of stream to open
-	int reserved1,   //Reserved; must be NULL  
-	int grfMode,     //Access mode for the new stream  
-	int reserved2,   //Reserved; must be zero
-	int[] ppStm      //Pointer to output variable
-	                 // that receives the IStream interface pointer
-) {
-  
-	// create a null terminated array of char
-	char[] buffer = null;
-	if (pwcsName != null) {
-		buffer = (pwcsName+"\0").toCharArray();
-	}
-
-	return COM.VtblCall(4, address, buffer, reserved1, grfMode, reserved2, ppStm);
-}
-public int RenameElement(
-	String pwcsOldName,  //Pointer to the name of the
-						 // element to be changed
-	String pwcsNewName   //Pointer to the new name for
-						 // the specified element
-){
-
-	// create a null terminated array of char
-	char[] buffer1 = null;
-	if (pwcsOldName != null) {
-		buffer1 = (pwcsOldName+"\0").toCharArray();
-	}
-	// create a null terminated array of char
-	char[] buffer2 = null;
-	if (pwcsNewName != null) {
-		buffer2 = (pwcsNewName+"\0").toCharArray();
-	}
-	return COM.VtblCall(13, address, buffer1, buffer2);
-}
-public int Revert() {
-	return COM.VtblCall(10, address);
-}
-public int SetClass(
-	GUID clsid  //CLSID to be assigned to the storage object
-){
-	return COM.VtblCall(15, address, clsid);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java
deleted file mode 100644
index 919888a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IStream.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-public class IStream extends IUnknown {
-public IStream(int address) {
-	super(address);
-}
-public int Clone(
-	int[] ppstm  //Pointer to location for pointer to the new stream object
-){
-	return COM.VtblCall(13, address, ppstm);
-}
-public int Commit( int grfCommitFlags  //Specifies how changes are committed
-){
-	return COM.VtblCall(8, address, grfCommitFlags);
-}
-public int Read(int pv, int cb, int[] pcbWritten) {
-	return COM.VtblCall(3, address, pv, cb, pcbWritten);
-}
-public int Revert(){
-	return COM.VtblCall(9, address);
-}
-public int Write(int pv, int cb, int[] pcbWritten) {
-	return COM.VtblCall(4, address, pv, cb, pcbWritten);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java
deleted file mode 100644
index 1ef15de..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ITypeInfo.java
+++ /dev/null
@@ -1,160 +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.ole.win32;
-
- 
-import org.eclipse.swt.internal.win32.OS;
-
-public class ITypeInfo extends IUnknown
-{
-	
-public ITypeInfo(int address) {
-	super(address);
-}
-public int GetDocumentation(int index, String[] name, String[] docString, int[] pdwHelpContext, String[] helpFile ) {
-	int[] pBstrName = null;
-	if (name != null) pBstrName = new int[1];
-	int[] pBstrDocString = null;
-	if (docString != null) pBstrDocString = new int[1];
-	int[] pBstrHelpFile  = null;
-	if (helpFile != null) pBstrHelpFile = new int[1];
-	int rc = COM.VtblCall(12, address, index, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
-	if (name != null && pBstrName[0] != 0) {
-		int size = COM.SysStringByteLen(pBstrName[0]);
-		if (size > 0){
-			// get the unicode character array from the global memory and create a String
-			char[] buffer = new char[(size + 1) /2]; // add one to avoid rounding errors
-			COM.MoveMemory(buffer, pBstrName[0], size);
-			name[0] = new String(buffer);
-			int subindex = name[0].indexOf("\0");
-			if (subindex > 0)
-				name[0] = name[0].substring(0, subindex);
-		}
-		COM.SysFreeString(pBstrName[0]);
-	}
-	if (docString != null && pBstrDocString[0] != 0) {
-		int size = COM.SysStringByteLen(pBstrDocString[0]);
-		if (size > 0){
-			// get the unicode character array from the global memory and create a String
-			char[] buffer = new char[(size + 1) /2]; // add one to avoid rounding errors
-			COM.MoveMemory(buffer, pBstrDocString[0], size);
-			docString[0] = new String(buffer);
-			int subindex = docString[0].indexOf("\0");
-			if (subindex > 0)
-				docString[0] = docString[0].substring(0, subindex);
-		}
-		COM.SysFreeString(pBstrDocString[0]);
-	}
-	if (helpFile != null && pBstrHelpFile[0] != 0) {
-		int size = COM.SysStringByteLen(pBstrHelpFile[0]);
-		if (size > 0){
-			// get the unicode character array from the global memory and create a String
-			char[] buffer = new char[(size + 1) /2]; // add one to avoid rounding errors
-			COM.MoveMemory(buffer, pBstrHelpFile[0], size);
-			helpFile[0] = new String(buffer);
-			int subindex = helpFile[0].indexOf("\0");
-			if (subindex > 0)
-				helpFile[0] = helpFile[0].substring(0, subindex);
-		}
-		COM.SysFreeString(pBstrHelpFile[0]);
-	}
-	return rc;
-}
-public int GetFuncDesc(int index, int[] ppFuncDesc) {
-	return COM.VtblCall(5, address, index, ppFuncDesc);
-}
-public int GetIDsOfNames(String[] rgszNames, int cNames, int[] pMemId) {
-
-	char[] buffer;
-	int size = rgszNames.length;
-
-	// create an array to hold the addresses
-	int hHeap = OS.GetProcessHeap();
-	int ppNames = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, size*4);
-	int[] memTracker = new int[size];
-	
-	try {	
-		// add the address of each string to the array
-		
-		for (int i=0; i<size; i++){
-			// create a null terminated array of char for each String
-			int nameSize = rgszNames[i].length();
-			buffer = new char[nameSize +1];
-			rgszNames[i].getChars(0, nameSize, buffer, 0);
-			// get the address of the start of the array of char
-			int pName = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, buffer.length * 2);
-			OS.MoveMemory(pName, buffer, buffer.length * 2);
-			// copy the address to the array of addresses
-			COM.MoveMemory(ppNames + 4*i, new int[]{pName}, 4);
-			// keep track of the Global Memory so we can free it
-			memTracker[i] = pName;
-		}
-	
-		return COM.VtblCall(10, address, ppNames, cNames, pMemId);
-		
-	} finally {
-		// free the memory
-		for (int i=0; i<memTracker.length; i++){
-			OS.HeapFree(hHeap, 0, memTracker[i]);
-		}
-		OS.HeapFree(hHeap, 0, ppNames);
-	}
-}
-
-public int GetImplTypeFlags(int index, int[] pImplTypeFlags) {
-	return COM.VtblCall(9, address, index, pImplTypeFlags);
-}
-public int GetNames(int memid, String[] names, int cMaxNames, int[] pcNames){
-	
-	int nameSize = names.length;
-	int[] rgBstrNames = new int[nameSize];
-	int rc = COM.VtblCall(7, address, memid, rgBstrNames, nameSize, pcNames);
-	
-	if (rc == COM.S_OK) {
-		for (int i = 0; i < pcNames[0]; i++) {
-			int size = COM.SysStringByteLen(rgBstrNames[i]);
-			if (size > 0){
-				// get the unicode character array from the global memory and create a String
-				char[] buffer = new char[(size + 1) /2]; // add one to avoid rounding errors
-				COM.MoveMemory(buffer, rgBstrNames[i], size);
-				names[i] = new String(buffer);
-				int subindex = names[i].indexOf("\0");
-				if (subindex > 0)
-					names[i] = names[i].substring(0, subindex);
-			}
-			COM.SysFreeString(rgBstrNames[i]);
-		}
-	}
-	
-	return rc;
-}
-public int GetRefTypeInfo(int hRefType, int[] ppTInfo) {
-	return COM.VtblCall(14, address, hRefType, ppTInfo);
-}
-public int GetRefTypeOfImplType(int index, int[] pRefType) {
-	return COM.VtblCall(8, address, index, pRefType);
-}
-public int GetTypeAttr(int[] ppTypeAttr) {
-	return COM.VtblCall(3, address, ppTypeAttr);
-}
-public int GetVarDesc(int index, int[] ppVarDesc ) {
-	return COM.VtblCall(6, address, index, ppVarDesc);
-}
-public int ReleaseFuncDesc(int pFuncDesc ) {
-	return COM.VtblCall(20, address, pFuncDesc);
-}
-public int ReleaseTypeAttr(int pTypeAttr) {
-	return COM.VtblCall(19, address, pTypeAttr);
-}
-public int ReleaseVarDesc(int pVarDesc ) {
-	return COM.VtblCall(21, address, pVarDesc);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java
deleted file mode 100644
index 5ad4f47..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IUnknown.java
+++ /dev/null
@@ -1,31 +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.ole.win32;
-
-public class IUnknown
-{
-	int address;
-public IUnknown(int address) {
-	this.address = address;
-}
-public int AddRef() {
-	return COM.VtblCall(1, address);
-}
-public int getAddress() {
-	return address;
-}
-public int QueryInterface(GUID riid, int ppvObject[]) {
-	return COM.VtblCall(0, address, riid, ppvObject);
-}
-public int Release() {
-	return COM.VtblCall(2, address);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java
deleted file mode 100644
index 50ff403..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IViewObject2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.ole.win32;
-
-import org.eclipse.swt.internal.win32.*;
-
-public class IViewObject2 extends IUnknown
-{
-public IViewObject2(int address) {
-	super(address);
-}
-public int GetExtent(int dwAspect, int lindex, DVTARGETDEVICE ptd, SIZE lpsizel) {
-	return COM.VtblCall(9, address, dwAspect, lindex, ptd, lpsizel);
-}
-public int SetAdvise(int dwAspects, int dwAdvf, int pIAdviseSink) {
-	return COM.VtblCall(7, address, dwAspects, dwAdvf, pIAdviseSink);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java
deleted file mode 100644
index 267336b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/LICINFO.java
+++ /dev/null
@@ -1,18 +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.internal.ole.win32;
-
-public final class LICINFO {
-	public int cbLicInfo;
-	public boolean fRuntimeKeyAvail;
-	public boolean fLicVerified;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java
deleted file mode 100644
index 16c3165..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMD.java
+++ /dev/null
@@ -1,17 +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.internal.ole.win32;
-
-public class OLECMD {
-	public int cmdID;    
-	public int cmdf;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java
deleted file mode 100644
index b304e5a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLECMDTEXT.java
+++ /dev/null
@@ -1,18 +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.internal.ole.win32;
-
-public class OLECMDTEXT {
-	public int cmdtextf;    
-	public int cwActual;    
-	public int cwBuf;    
-	public short[] rgwz = new short[1];
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java
deleted file mode 100644
index a6b6b8b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/OLEINPLACEFRAMEINFO.java
+++ /dev/null
@@ -1,20 +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.internal.ole.win32;
-
-public final class OLEINPLACEFRAMEINFO {
-	public int cb;
-	public int fMDIApp;
-	public int hwndFrame;
-	public int haccel;
-	public int cAccelEntries;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.java
deleted file mode 100644
index cc2cf49..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STATSTG.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.internal.ole.win32;
-
-public class STATSTG {
-	public int pwcsName;
-	public int type; 
-	public long cbSize;
-//	FILETIME mtime;
-	public int mtime_dwLowDateTime;
-	public int mtime_dwHighDateTime; 
-//	FILETIME ctime;
-	public int ctime_dwLowDateTime;
-	public int ctime_dwHighDateTime; 
-//	FILETIME atime;
-	public int atime_dwLowDateTime;
-	public int atime_dwHighDateTime; 
-	public int grfMode;
-	public int grfLocksSupported; 
-//	GUID clsid;
-	public int clsid_Data1;
-	public short clsid_Data2;
-	public short clsid_Data3;
-	public byte[] clsid_Data4 = new byte[8];
-	public int grfStateBits; 
-	public int reserved;
-	public static final int sizeof = 72;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java
deleted file mode 100644
index 773b8c5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/STGMEDIUM.java
+++ /dev/null
@@ -1,18 +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.internal.ole.win32;
-
-public final class STGMEDIUM {
-	public int tymed;
-	public int unionField;
-	public int pUnkForRelease;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.java
deleted file mode 100644
index a57d57f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/TYPEATTR.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.internal.ole.win32;
-
-public final class TYPEATTR {
-//	GUID guid 
-	public int guid_Data1;
-	public short guid_Data2;
-	public short guid_Data3;
-	public byte[] guid_Data4 = new byte[8];
-	public int lcid;
-	public int dwReserved;
-	public int memidConstructor;
-	public int memidDestructor;
-	public int lpstrSchema;
-	public int cbSizeInstance;
-	public int typekind;
-	public short cFuncs;
-	public short cVars;
-	public short cImplTypes;
-	public short cbSizeVft;
-	public short cbAlignment;
-	public short wTypeFlags;
-	public short wMajorVerNum;
-	public short wMinorVerNum;
-//	TYPEDESC tdescAlias
-	public int tdescAlias_unionField;
-	public short tdescAlias_vt;
-//	IDLDESC idldesctype
-	public int idldescType_dwReserved;
-	public short idldescType_wIDLFlags;
-	public static final int sizeof = 74;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java
deleted file mode 100644
index 6c72460..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/VARDESC.java
+++ /dev/null
@@ -1,27 +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.internal.ole.win32;
-
-public class VARDESC {
-	public int memid;
-	public int lpstrSchema;
-	public int oInst;
-//	ELEMDESC elemdescVar
-//	TYPEDESC elemdescVar.tdesc
-	public int elemdescVar_tdesc_union;
-	public short elemdescVar_tdesc_vt;
-//	PARAMDESC elemdescFunc.paramdesc
-	public int elemdescVar_paramdesc_pparamdescex;
-	public short elemdescVar_paramdesc_wParamFlags;
-	public short wVarFlags;
-	public int varkind;
-	public static final int sizeof = 36;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html
deleted file mode 100644
index f3116a3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal Win32 OLE implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the internal classes which implement the Microsoft 
-Win32 platform interface to the Object Linking and Embedding mechanism
-that the win32 variant of SWT is capable of using.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java
deleted file mode 100644
index 5bc2590..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACCEL.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class ACCEL {
-	public byte fVirt;
-	public short key;
-	public short cmd;
-	public static final int sizeof = OS.IsWinCE ? 8 : 6;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java
deleted file mode 100644
index 407d4b7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ACTCTX.java
+++ /dev/null
@@ -1,24 +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.internal.win32;
-
-public class ACTCTX {
-	public int cbSize;
-	public int dwFlags;
-	public int lpSource;
-	public short wProcessorArchitecture;
-	public short wLangId;
-	public int lpAssemblyDirectory;
-	public int lpResourceName;
-	public int lpApplicationName;
-	public int hModule;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java
deleted file mode 100644
index ed0808f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAP.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class BITMAP {
-	public int bmType;
-	public int bmWidth;
-	public int bmHeight;
-	public int bmWidthBytes;
-	public short bmPlanes;
-	public short bmBitsPixel;
-	public int bmBits;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java
deleted file mode 100644
index 77e0603..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BITMAPINFOHEADER.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class BITMAPINFOHEADER {
-	public int biSize;
-	public int biWidth;
-	public int biHeight;
-	public short biPlanes;
-	public short biBitCount;
-	public int biCompression;
-	public int biSizeImage;
-	public int biXPelsPerMeter;
-	public int biYPelsPerMeter;
-	public int biClrUsed;
-	public int biClrImportant;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java
deleted file mode 100644
index cabf8e8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BLENDFUNCTION.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class BLENDFUNCTION {
-	public byte BlendOp;
-	public byte BlendFlags;
-	public byte SourceConstantAlpha;
-	public byte AlphaFormat;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java
deleted file mode 100644
index 85de37f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BROWSEINFO.java
+++ /dev/null
@@ -1,23 +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.win32;
-
-public class BROWSEINFO {
-	public int hwndOwner;
-	public int pidlRoot;
-	public int pszDisplayName;
-	public int lpszTitle;
-	public int ulFlags;
-	public int lpfn;
-	public int lParam;
-	public int iImage;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java
deleted file mode 100644
index 0af648a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/BUTTON_IMAGELIST.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.win32;
-
-public class BUTTON_IMAGELIST {
-	public int himl; 
-	public int margin_left;
-	public int margin_top; 
-	public int margin_right;
-	public int margin_bottom; 
-	public int uAlign;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.java
deleted file mode 100644
index ef5efdd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSECOLOR.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.win32;
-
-public class CHOOSECOLOR {
-	public int lStructSize; 
-	public int hwndOwner;
-	public int hInstance; 
-	public int rgbResult;
-	public int lpCustColors; 
-	public int Flags;
-	public int lCustData;
-	public int lpfnHook; 
-	public int lpTemplateName;
-	public static final int sizeof = 36;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java
deleted file mode 100644
index c9a23bd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CHOOSEFONT.java
+++ /dev/null
@@ -1,30 +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.win32;
-
-public class CHOOSEFONT {
-	public int lStructSize;     
-	public int hwndOwner; 
-	public int hDC;     
-	public int lpLogFont;     
-	public int iPointSize; 
-	public int Flags;     
-	public int rgbColors;     
-	public int lCustData; 
-	public int lpfnHook;     
-	public int lpTemplateName; 
-	public int hInstance;     
-	public int lpszStyle; 
-	public short nFontType;
-	public int nSizeMin;     
-	public int nSizeMax; 
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java
deleted file mode 100644
index 0295afd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMBOBOXINFO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class COMBOBOXINFO {
-	public int cbSize;
-	public int itemLeft;
-	public int itemTop;
-	public int itemRight;
-	public int itemBottom;
-	public int buttonLeft;
-	public int buttonTop;
-	public int buttonRight;
-	public int buttonBottom;
-	public int stateButton;
-	public int hwndCombo;
-	public int hwndItem;
-	public int hwndList;
-	public static final int sizeof = 52;    
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java
deleted file mode 100644
index 5cd90c8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/COMPOSITIONFORM.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class COMPOSITIONFORM {
-	public int dwStyle;       
-//	POINT ptCurrentPos;
-	public int x, y;
-//	RECT rcArea;  
-	public int left, top, right, bottom;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.java
deleted file mode 100644
index 1a2d7ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/CREATESTRUCT.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.internal.win32;
-
-public class CREATESTRUCT {
-	public int lpCreateParams; 
-	public int hInstance; 
-	public int hMenu; 
-	public int hwndParent; 
-	public int cy; 
-	public int cx; 
-	public int y; 
-	public int x; 
-	public int style; 
-	public int lpszName; 
-	public int lpszClass; 
-	public int dwExStyle;
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java
deleted file mode 100644
index 1dfd2c5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DIBSECTION.java
+++ /dev/null
@@ -1,31 +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.win32;
-
-public class DIBSECTION extends BITMAP {
-	public int biSize;
-	public int biWidth;
-	public int biHeight;
-	public short biPlanes;
-	public short biBitCount;
-	public int biCompression;
-	public int biSizeImage;
-	public int biXPelsPerMeter;
-	public int biYPelsPerMeter;
-	public int biClrUsed;
-	public int biClrImportant;
-	public int dsBitfields0;
-	public int dsBitfields1;
-	public int dsBitfields2;
-	public int dshSection;
-	public int dsOffset;
-	public static final int sizeof = 84;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java
deleted file mode 100644
index 3b33d75..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DLLVERSIONINFO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class DLLVERSIONINFO {
-	public int cbSize;
-	public int dwMajorVersion;
-	public int dwMinorVersion;
-	public int dwBuildNumber;
-	public int dwPlatformID;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java
deleted file mode 100644
index 5615fa4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DOCINFO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class DOCINFO {
-	public int cbSize; 
-	public int lpszDocName; // LPCTSTR
-	public int lpszOutput; // LPCTSTR
-	public int lpszDatatype;// LPCTSTR
-	public int fwType; // DWORD
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java
deleted file mode 100644
index a3b5c47..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DRAWITEMSTRUCT.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class DRAWITEMSTRUCT {
-	public int CtlType;
-	public int CtlID;
-	public int itemID;
-	public int itemAction;
-	public int itemState;
-	public int hwndItem;
-	public int hDC;
-// 	RECT rcItem;
-	public int left, top, bottom, right;
-	public int itemData;
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java
deleted file mode 100644
index 1f5c1e4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/DROPFILES.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class DROPFILES {
-	public int pFiles; // Offset of the file list from the beginning of this structure, in bytes.
-//	POINT pt; // Drop point. The coordinates depend on fNC.
-	public int pt_x;
-	public int pt_y;
-	public int fNC;   // Nonclient area flag. If this member is TRUE, pt specifies the screen 
-				      // coordinates of a point in a window's nonclient area. If it is FALSE, 
-				      // pt specifies the client coordinates of a point in the client area. 
-	public int fWide; // Value that indicates whether the file contains ANSI or Unicode 
-					  // characters. If it is zero, it contains ANSI characters. Otherwise, it 
-				      // contains Unicode characters.
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java
deleted file mode 100644
index 1a01a18..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/EXTLOGPEN.java
+++ /dev/null
@@ -1,22 +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.internal.win32;
-
-public class EXTLOGPEN {
-	public int elpPenStyle;
-	public int elpWidth;
-	public int elpBrushStyle;
-	public int elpColor;
-	public int elpHatch;
-	public int elpNumEntries;
-	public int[] elpStyleEntry = new int[1];
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java
deleted file mode 100644
index 8994f41..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FILETIME.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class FILETIME {
-	public int dwLowDateTime;
-	public int dwHighDateTime;
-	static final public int sizeof = 8;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java
deleted file mode 100644
index d1557a1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GCP_RESULTS.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class GCP_RESULTS {
-	public int lStructSize;
-	public int lpOutString;
-	public int lpOrder;
-	public int lpDx;
-	public int lpCaretPos;
-	public int lpClass;
-	public int lpGlyphs;
-	public int nGlyphs;
-	public int nMaxFit;
-	public static final int sizeof = 36;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java
deleted file mode 100644
index 8ec1a8d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GRADIENT_RECT.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class GRADIENT_RECT {
-	public int UpperLeft;
-	public int LowerRight;
-	public static final int sizeof = 8;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java
deleted file mode 100644
index 543be4a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GUITHREADINFO.java
+++ /dev/null
@@ -1,25 +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.internal.win32;
-
-public class GUITHREADINFO {
-	public int cbSize;
-	public int flags;
-	public int hwndActive;
-	public int hwndFocus;
-	public int hwndCapture;
-	public int hwndMenuOwner;
-	public int hwndMoveSize; 
-	public int hwndCaret;
-//	RECT rcCaret;
-	public int left, top, right, bottom;
-	public static int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.java
deleted file mode 100644
index 600b399..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDITEM.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.win32;
-
-public class HDITEM {
-	public int mask;
-	public int cxy;
-	public int pszText;
-	public int hbm;
-	public int cchTextMax;
-	public int fmt;
-	public int lParam; 
-	public int iImage;
-	public int iOrder;
-	public static int sizeof = 36;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
deleted file mode 100644
index 72fd181..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
+++ /dev/null
@@ -1,17 +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.internal.win32;
-
-public class HDLAYOUT {
-	public int prc;
-	public int pwpos;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java
deleted file mode 100644
index dfe0511..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HELPINFO.java
+++ /dev/null
@@ -1,23 +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.win32;
-
-public class HELPINFO {
-	public int cbSize;
-	public int iContextType;
-	public int iCtrlId;
-	public int hItemHandle;
-	public int dwContextId;
-//	POINT MousePos
-	public int x;
-	public int y;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java
deleted file mode 100644
index a221019..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HIGHCONTRAST.java
+++ /dev/null
@@ -1,18 +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.internal.win32;
-
-public class HIGHCONTRAST {
-	public int cbSize;
-	public int dwFlags;
-	public int lpszDefaultScheme;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java
deleted file mode 100644
index 8073639..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/ICONINFO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class ICONINFO {
-	public boolean fIcon;
-	public int xHotspot; 
-	public int yHotspot;
-	public int hbmMask;
-	public int hbmColor;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.java
deleted file mode 100644
index 05dbd1a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INITCOMMONCONTROLSEX.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.internal.win32;
-
-public class INITCOMMONCONTROLSEX {
-	public int dwSize; 
-	public int dwICC;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java
deleted file mode 100644
index 982aadd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/INPUT.java
+++ /dev/null
@@ -1,16 +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.internal.win32;
-
-public class INPUT {
-	public int type;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java
deleted file mode 100644
index 7d2cec9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/KEYBDINPUT.java
+++ /dev/null
@@ -1,20 +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.internal.win32;
-
-public class KEYBDINPUT {
-	public short wVk;
-	public short wScan;
-	public int dwFlags;
-	public int time;
-	public int dwExtraInfo;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java
deleted file mode 100644
index a76b642..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LITEM.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.win32;
-
-public class LITEM {
-	public int mask;
-	public int iLink;
-	public int state;
-	public int stateMask;
-	public char[] szID = new char[OS.MAX_LINKID_TEXT];
-	public char[] szUrl = new char[OS.L_MAX_URL_LENGTH];
-	public static final int sizeof = 4280;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java
deleted file mode 100644
index ff3aa11..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGBRUSH.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class LOGBRUSH {
-	public int lbStyle;
-	public int lbColor;
-	public int lbHatch;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java
deleted file mode 100644
index 617bbeb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONT.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public abstract class LOGFONT {
-	public int lfHeight;    
-	public int lfWidth;    
-	public int lfEscapement; 
-	public int lfOrientation;    
-	public int lfWeight;    
-	public byte lfItalic;    
-	public byte lfUnderline; 
-	public byte lfStrikeOut;    
-	public byte lfCharSet;    
-	public byte lfOutPrecision; 
-	public byte lfClipPrecision;    
-	public byte lfQuality;    
-	public byte lfPitchAndFamily;
-	public static final int sizeof = OS.IsUnicode ? 92 : 60;	
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java
deleted file mode 100644
index abd6528..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTA.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class LOGFONTA extends LOGFONT {
-	public byte[] lfFaceName = new byte[OS.LF_FACESIZE];
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java
deleted file mode 100644
index da2035a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGFONTW.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class LOGFONTW extends LOGFONT {
-	public char[] lfFaceName = new char[OS.LF_FACESIZE];
-	public static final int sizeof = 92;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java
deleted file mode 100644
index 939d2ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LOGPEN.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class LOGPEN {
-	public int lopnStyle;
-//	POINT lopnWidth; 
-	public int x;
-	public int y;
-	public int lopnColor;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java
deleted file mode 100644
index 228f7d11..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LRESULT.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class LRESULT {
-	public int value;
-	public static final LRESULT ONE = new LRESULT (1);
-	public static final LRESULT ZERO = new LRESULT (0);
-	
-public LRESULT (int value) {
-	this.value = value;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java
deleted file mode 100644
index 09f8dbc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVCOLUMN.java
+++ /dev/null
@@ -1,23 +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.win32;
-
-public class LVCOLUMN {
-	public int mask;
-	public int fmt;
-	public int cx;
-	public int pszText;
-	public int cchTextMax;
-	public int iSubItem;
-	public int iImage;
-	public int iOrder;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java
deleted file mode 100644
index 9e7cf2a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVHITTESTINFO.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class LVHITTESTINFO {
-//	POINT pt;
-	public int x;
-	public int y;
-	public int flags;
-	public int iItem;
-	public int iSubItem;
-	public static int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java
deleted file mode 100644
index 19fef35..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/LVITEM.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class LVITEM {
-	public int mask;
-	public int iItem;
-	public int iSubItem;
-	public int state;
-	public int stateMask;
-	public int pszText;
-	public int cchTextMax;
-	public int iImage;
-	public int lParam;
-	public int iIndent;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java
deleted file mode 100644
index d37bb6e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MARGINS.java
+++ /dev/null
@@ -1,19 +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.internal.win32;
-
-public class MARGINS {
-	public int cxLeftWidth;
-	public int cxRightWidth;
-	public int cyTopHeight;
-	public int cyBottomHeight;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java
deleted file mode 100644
index 2f5b7be..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MEASUREITEMSTRUCT.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class MEASUREITEMSTRUCT {
-	public int CtlType;
-	public int CtlID;
-  	public int itemID;
-	public int itemWidth;
-	public int itemHeight; 
-	public int itemData;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java
deleted file mode 100644
index b118900..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUBARINFO.java
+++ /dev/null
@@ -1,25 +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.internal.win32;
-
-public class MENUBARINFO {
-	public int cbSize;
-//	RECT  rcBar; 
-	public int left;
-	public int top;
-	public int right;
-	public int bottom;
-	public int hMenu;
-	public int hwndMenu;
-	public boolean fBarFocused;
-	public boolean fFocused;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java
deleted file mode 100644
index b7d7549..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUINFO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class MENUINFO {
-	public int cbSize;
-	public int fMask;
-	public int dwStyle;
-	public int cyMax;
-	public int hbrBack;
-	public int dwContextHelpID;
-	public int dwMenuData;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java
deleted file mode 100644
index 03d752b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MENUITEMINFO.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.win32;
-
-public class MENUITEMINFO {
-	public int cbSize;
-	public int fMask;
-	public int fType;
-	public int fState;
-	public int wID;
-	public int hSubMenu;
-	public int hbmpChecked;
-	public int hbmpUnchecked;
-	public int dwItemData;
-	public int dwTypeData;
-	public int cch;
-	public int hbmpItem;
-	public static final int sizeof;
-
-	/*
-	* Feature in Windows.  The hbmpItem field requires Windows 4.10
-	* or greater.  On Windows NT 4.0, passing in a larger struct size
-	* in the cbSize field does nothing.  On Windows 95, the MENUITEMINFO
-	* calls fail when the struct size is too large.  The fix is to ensure
-	* that the correct struct size is used for the Windows platform.
-	*/
-	static {
-		sizeof = OS.WIN32_VERSION < OS.VERSION (4, 10) ? 44 : 48;
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.java
deleted file mode 100644
index adbc231..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MINMAXINFO.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.internal.win32;
-
-public class MINMAXINFO {
-//	POINT ptReserved;
-	public int ptReserved_x;
-	public int ptReserved_y;
-//	POINT ptMaxSize;
-	public int ptMaxSize_x;
-	public int ptMaxSize_y;
-//	POINT ptMaxPosition;
-	public int ptMaxPosition_x;
-	public int ptMaxPosition_y;
-//	POINT ptMinTrackSize;
-	public int ptMinTrackSize_x;
-	public int ptMinTrackSize_y;
-//	POINT ptMaxTrackSize;
-	public int ptMaxTrackSize_x;
-	public int ptMaxTrackSize_y;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.java
deleted file mode 100644
index 6a4b1b7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MONITORINFO.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.internal.win32;
-
-public class MONITORINFO {
-	public int cbSize;
-//	RECT rcMonitor;
-	public int rcMonitor_left;
-	public int rcMonitor_top;
-	public int rcMonitor_right;
-	public int rcMonitor_bottom;
-//	RECT rcWork;
-	public int rcWork_left;
-	public int rcWork_top;
-	public int rcWork_right;
-	public int rcWork_bottom;
-	public int dwFlags;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java
deleted file mode 100644
index 2faa052..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MOUSEINPUT.java
+++ /dev/null
@@ -1,21 +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.internal.win32;
-
-public class MOUSEINPUT {
-	public int dx;
-	public int dy;
-	public int mouseData;
-	public int dwFlags;
-	public int time;
-	public int dwExtraInfo;
-	public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java
deleted file mode 100644
index ec763d6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/MSG.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class MSG {
-	public int hwnd;     
-	public int message; 
-	public int wParam; 
-	public int lParam; 
-	public int time; 
-//	POINT pt;
-	public int x, y;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java
deleted file mode 100644
index 51c5fe0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMCUSTOMDRAW.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMCUSTOMDRAW extends NMHDR {
-	 public int dwDrawStage; 
-	 public int hdc;      
-//	RECT rc;
-	 public int left, top, right, bottom;
-	 public int dwItemSpec;
-	 public int uItemState;
-	 public int lItemlParam;
-	 public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java
deleted file mode 100644
index 9b4e53d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHDR.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMHDR {
-	public int hwndFrom; 
-	public int idFrom; 
-	public int code;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java
deleted file mode 100644
index 6e78977..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMHEADER.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMHEADER extends NMHDR {
-	public int iItem; 
-	public int iButton; 
-	public int pitem; 
-	public static int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java
deleted file mode 100644
index aadeee4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLINK.java
+++ /dev/null
@@ -1,22 +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.win32;
-
-public class NMLINK extends NMHDR {
-//	LITEM item;
-	public int mask;
-	public int iLink;
-	public int state;
-	public int stateMask;
-	public char[] szID = new char[OS.MAX_LINKID_TEXT];
-	public char[] szUrl = new char[OS.L_MAX_URL_LENGTH];
-	public static final int sizeof = 4292;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java
deleted file mode 100644
index 7d65336..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLISTVIEW.java
+++ /dev/null
@@ -1,23 +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.win32;
-
-public class NMLISTVIEW extends NMHDR {
-	public int iItem;
-	public int iSubItem;
-	public int uNewState;
-	public int uOldState;
-	public int uChanged;
-//	POINT ptAction;
-	public int x, y;
-	public int lParam;
-	public static int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java
deleted file mode 100644
index 7f5d6f8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVCUSTOMDRAW.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMLVCUSTOMDRAW extends NMCUSTOMDRAW {
-	public int clrText;
-	public int clrTextBk;
-	public int iSubItem;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java
deleted file mode 100644
index 330554c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVDISPINFO.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMLVDISPINFO extends NMHDR {
-//	LVITEM item;
-	public int mask;
-	public int iItem;
-	public int iSubItem;
-	public int state;
-	public int stateMask;
-	public int pszText;
-	public int cchTextMax;
-	public int iImage;
-	public int lParam;
-	public int iIndent;
-	public static final int sizeof = 52;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java
deleted file mode 100644
index 08f8d1c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMLVFINDITEM.java
+++ /dev/null
@@ -1,24 +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.internal.win32;
-
-public class NMLVFINDITEM extends NMHDR {
-	public int iStart;
-//	LVFINDINFO lvfi;
-	public int flags;
-	public int psz;
-	public int lParam;
-//	POINT pt;
-	public int x;
-	public int y;
-	public int vkDirection;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java
deleted file mode 100644
index d392153..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHEVRON.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class NMREBARCHEVRON extends NMHDR {
-	public int uBand;
-	public int wID;
-	public int lParam;
-//	RECT rc;
-	public int left, top, right, bottom;
-	public int lParamNM;
-	public static int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
deleted file mode 100644
index cb199b2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
+++ /dev/null
@@ -1,27 +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.internal.win32;
-
-public class NMREBARCHILDSIZE extends NMHDR {
-	public int uBand;
-	public int wID;
-//  RECT rcChild;
-	public int rcChild_left;
-	public int rcChild_top;
-	public int rcChild_right;
-	public int rcChild_bottom;
-//  RECT rcBand;
-	public int rcBand_left;
-	public int rcBand_top;
-	public int rcBand_right;
-	public int rcBand_bottom;
-	public static final int sizeof = 52;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java
deleted file mode 100644
index 39ceda9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMRGINFO.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class NMRGINFO extends NMHDR {
-//	POINT ptAction;
-	public int x;
-	public int y;
-	public int dwItemSpec;
-	public static int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java
deleted file mode 100644
index 32fa120..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTBHOTITEM.java
+++ /dev/null
@@ -1,18 +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.internal.win32;
-
-public class NMTBHOTITEM extends NMHDR {
-	 public int idOld;
-	 public int idNew;
-	 public int dwFlags;
-	 public static final int sizeof = 24;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java
deleted file mode 100644
index 120d9ff..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTOOLBAR.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMTOOLBAR extends NMHDR {
-	public int iItem;
-//	TBBUTTON tbButton;
-	public int iBitmap;
-	public int idCommand;
-	public byte fsState;
-	public byte fsStyle;
-	public int dwData;
-	public int iString;
-	public int cchText;
-	public int pszText;
-//	RECT rcButton;
-	public int left, top, right, bottom;
-	/* Note in WinCE.  The field rcButton is not defined. */
-	public static final int sizeof = OS.IsWinCE ? 44 : 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java
deleted file mode 100644
index a4bc085..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFO.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public abstract class NMTTDISPINFO extends NMHDR {
-	public int lpszText;
-	public int hinst;   
-	public int uFlags;
-	public int lParam;
-	public static final int sizeof = OS.IsUnicode ? 188 : 108;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java
deleted file mode 100644
index 59bb94b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOA.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMTTDISPINFOA extends NMTTDISPINFO {
-	public byte[] szText = new byte[80];
-	public static final int sizeof = 108;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java
deleted file mode 100644
index 6010e3c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTTDISPINFOW.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMTTDISPINFOW extends NMTTDISPINFO {
-	public char[] szText = new char[80];
-	public static final int sizeof = 188;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java
deleted file mode 100644
index 9cc3f42..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVCUSTOMDRAW.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class NMTVCUSTOMDRAW extends NMCUSTOMDRAW {
-	public int clrText;
-	public int clrTextBk;
-	public int iLevel; // the iLevel field does not appear on WinCE
-	public static final int sizeof = OS.IsWinCE ? 56 : 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
deleted file mode 100644
index cf1efff..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
+++ /dev/null
@@ -1,26 +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.internal.win32;
-
-public class NMTVDISPINFO extends NMHDR {
-//	TVITEM item;
-	public int mask;
-	public int hItem;
-	public int state;
-	public int stateMask;
-	public int pszText;
-  	public int cchTextMax;
-  	public int iImage;
-  	public int iSelectedImage;
-	public int cChildren;
-	public int lParam;
-	public static final int sizeof = 52;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java
deleted file mode 100644
index 13484f1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVITEMCHANGE.java
+++ /dev/null
@@ -1,20 +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.internal.win32;
-
-public class NMTVITEMCHANGE extends NMHDR {
-	public int uChanged;
-	public int hItem;
-	public int uStateNew;
-	public int uStateOld;
-	public int lParam;
-	public static int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java
deleted file mode 100644
index 1f2bde5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMUPDOWN.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.win32;
-
-public class NMUPDOWN extends NMHDR {
-	public int iPos;
-	public int iDelta;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java
deleted file mode 100644
index efc03d5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICS.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public abstract class NONCLIENTMETRICS {
-	public int cbSize; 
-	public int iBorderWidth; 
-	public int iScrollWidth; 
-	public int iScrollHeight; 
-	public int iCaptionWidth; 
-	public int iCaptionHeight; 
-	public int iSmCaptionWidth; 
-	public int iSmCaptionHeight;
-	public int iMenuWidth; 
-	public int iMenuHeight;
-	public static final int sizeof = OS.IsUnicode ? 500 : 340;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java
deleted file mode 100644
index af39a1b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSA.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class NONCLIENTMETRICSA extends NONCLIENTMETRICS {
-	public LOGFONTA lfCaptionFont = new LOGFONTA ();
-	public LOGFONTA lfSmCaptionFont = new LOGFONTA (); 
-	public LOGFONTA lfMenuFont = new LOGFONTA ();
-	public LOGFONTA lfStatusFont = new LOGFONTA ();
-	public LOGFONTA lfMessageFont = new LOGFONTA ();
-	public static final int sizeof = 340;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java
deleted file mode 100644
index c231a96..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NONCLIENTMETRICSW.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class NONCLIENTMETRICSW extends NONCLIENTMETRICS {
-	public LOGFONTW lfCaptionFont = new LOGFONTW ();
-	public LOGFONTW lfSmCaptionFont = new LOGFONTW (); 
-	public LOGFONTW lfMenuFont = new LOGFONTW ();
-	public LOGFONTW lfStatusFont = new LOGFONTW ();
-	public LOGFONTW lfMessageFont = new LOGFONTW ();
-	public static final int sizeof = 500;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java
deleted file mode 100644
index 6e46807..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATA.java
+++ /dev/null
@@ -1,25 +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.internal.win32;
-
-public abstract class NOTIFYICONDATA {
-	public int cbSize;
-	public int hWnd;
-	public int uID;
-	public int uFlags;
-	public int uCallbackMessage;
-	public int hIcon;
-	public int dwState;
-	public int dwStateMask;
-	public int uVersion;
-	public int dwInfoFlags;
-	public static final int sizeof = OS.NOTIFYICONDATA_V2_SIZE;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java
deleted file mode 100644
index 84fe0d7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAA.java
+++ /dev/null
@@ -1,18 +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.internal.win32;
-
-public class NOTIFYICONDATAA extends NOTIFYICONDATA {
-	public byte szTip[] = new byte [128];
-	public byte szInfo[] = new byte [256];
-	public byte szInfoTitle[] = new byte [64];
-	public static final int sizeof = OS.NOTIFYICONDATAA_V2_SIZE;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java
deleted file mode 100644
index 71c9f6b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NOTIFYICONDATAW.java
+++ /dev/null
@@ -1,18 +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.internal.win32;
-
-public class NOTIFYICONDATAW extends NOTIFYICONDATA {
-	public char szTip[] = new char [128];
-	public char szInfo[] = new char [256];
-	public char szInfoTitle[] = new char [64];
-	public static final int sizeof = OS.NOTIFYICONDATAW_V2_SIZE;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java
deleted file mode 100644
index 53c1150..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OPENFILENAME.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class OPENFILENAME {
-	public int lStructSize;
-	public int hwndOwner;
-	public int hInstance;
-	public int lpstrFilter;
-	public int lpstrCustomFilter;
-	public int nMaxCustFilter;
-	public int nFilterIndex;
-	public int lpstrFile;
-	public int nMaxFile;
-	public int lpstrFileTitle;
-	public int nMaxFileTitle;
-	public int lpstrInitialDir;
-	public int lpstrTitle;
-	public int Flags;
-	public short nFileOffset;
-	public short nFileExtension;
-	public int lpstrDefExt;
-	public int lCustData;
-	public int lpfnHook;
-	public int lpTemplateName;
-	public static final int sizeof = 76;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
deleted file mode 100644
index d731508..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
+++ /dev/null
@@ -1,3421 +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.internal.win32;
-
-
-import org.eclipse.swt.internal.*;
-
-public class OS extends Platform {
-	static {
-		Library.loadLibrary ("swt"); //$NON-NLS-1$
-	}
-	
-	/*
-	* SWT Windows flags
-	*/
-	public static final boolean IsWin32s;
-	public static final boolean IsWin95;
-	public static final boolean IsWinNT;
-	public static final boolean IsWinCE;
-	public static final boolean IsPPC;
-	public static final boolean IsHPC;
-	public static final boolean IsSP;
-	public static final boolean IsDBLocale;
-	public static final boolean IsUnicode;
-	public static final int WIN32_MAJOR, WIN32_MINOR, WIN32_VERSION;
-	public static final int COMCTL32_MAJOR, COMCTL32_MINOR, COMCTL32_VERSION;
-	public static final int SHELL32_MAJOR, SHELL32_MINOR, SHELL32_VERSION;
-
-	/*
-	* Flags for Window API GetVersionEx()
-	*/
-	public static final int VER_PLATFORM_WIN32s = 0;
-	public static final int VER_PLATFORM_WIN32_WINDOWS = 1;
-	public static final int VER_PLATFORM_WIN32_NT = 2;
-	public static final int VER_PLATFORM_WIN32_CE = 3;
-	
-	/* Get the Windows version and the flags */
-	static {
-		/*
-		* Try the UNICODE version of GetVersionEx first
-		* and then the ANSI version.  The UNICODE version
-		* is present on all versions of Windows but is not
-		* implemented on Win95/98/ME.
-		* 
-		* NOTE: The value of OSVERSIONINFO.sizeof cannot
-		* be static final because it relies on the Windows
-		* platform version to be initialized and IsUnicode
-		* has not been calculated.  It must be initialized
-		* here, after the platform is determined in order
-		* for the value to be correct.
-		*/
-		OSVERSIONINFO info = new OSVERSIONINFOW ();
-		info.dwOSVersionInfoSize = OSVERSIONINFOW.sizeof;
-		if (!OS.GetVersionExW ((OSVERSIONINFOW)info)) {
-			info = new OSVERSIONINFOA ();
-			info.dwOSVersionInfoSize = OSVERSIONINFOA.sizeof;
-			OS.GetVersionExA ((OSVERSIONINFOA)info);
-		}
-		OSVERSIONINFO.sizeof = info.dwOSVersionInfoSize;
-		
-		IsWin32s = info.dwPlatformId == VER_PLATFORM_WIN32s;
-		IsWin95 = info.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS;
-		IsWinNT = info.dwPlatformId == VER_PLATFORM_WIN32_NT;
-		IsWinCE = info.dwPlatformId == VER_PLATFORM_WIN32_CE;
-		IsSP = IsSP();
-		IsPPC = IsPPC();
-		IsHPC = IsWinCE && !IsPPC && !IsSP;	
-		WIN32_MAJOR = info.dwMajorVersion;
-		WIN32_MINOR = info.dwMinorVersion;
-		WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR);
-		IsUnicode = !IsWin32s && !IsWin95;
-
-		/* Load the manifest to force the XP Theme */
-		if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
-			TCHAR buffer = new TCHAR (0, OS.MAX_PATH);
-			int hModule = OS.GetLibraryHandle ();
-			while (OS.GetModuleFileName (hModule, buffer, buffer.length ()) == buffer.length ()) {
-				buffer = new TCHAR (0, buffer.length () + OS.MAX_PATH);
-			}
-			int hHeap = OS.GetProcessHeap ();
-			int byteCount = buffer.length () * TCHAR.sizeof;
-			int pszText = OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-			OS.MoveMemory (pszText, buffer, byteCount);	
-			ACTCTX pActCtx = new ACTCTX ();
-			pActCtx.cbSize = ACTCTX.sizeof;
-			pActCtx.dwFlags = OS.ACTCTX_FLAG_RESOURCE_NAME_VALID | OS.ACTCTX_FLAG_SET_PROCESS_DEFAULT;
-			pActCtx.lpSource = pszText;
-			pActCtx.lpResourceName = OS.MANIFEST_RESOURCE_ID;
-			int hActCtx = OS.CreateActCtx (pActCtx);
-			if (pszText != 0) OS.HeapFree (hHeap, 0, pszText);
-			int [] lpCookie = new int [1];
-			OS.ActivateActCtx (hActCtx, lpCookie);
-			/*
-			* NOTE:  A single activation context is created and activated
-			* for the entire lifetime of the program.  It is deactivated
-			* and released by Windows when the program exits.
-			*/
-		}
-
-		/* Get the DBCS flag */
-		boolean dbcsEnabled = OS.GetSystemMetrics (OS.SM_DBCSENABLED) != 0;
-		boolean immEnabled = OS.GetSystemMetrics (OS.SM_IMMENABLED) != 0;
-		IsDBLocale = dbcsEnabled || immEnabled;
-		
-		/*
-		* Bug in Windows.  On Korean Windows XP when the Text
-		* Services Framework support for legacy applications
-		* is enabled, certain legacy calls segment fault.
-		* For example, when ImmSetCompositionWindow() is used
-		* to move the composition window outside of the client
-		* area, Windows crashes.  The fix is to disable legacy
-		* support.
-		* 
-		* Note: The bug is fixed in Service Pack 2.
-		*/
-		if (!OS.IsWinCE && OS.WIN32_VERSION == OS.VERSION (5, 1)) {
-			short langID = OS.GetSystemDefaultUILanguage ();
-			short primaryLang = OS.PRIMARYLANGID (langID);
-			if (primaryLang == OS.LANG_KOREAN) {
-				OSVERSIONINFOEX infoex = IsUnicode ? (OSVERSIONINFOEX)new OSVERSIONINFOEXW () : (OSVERSIONINFOEX)new OSVERSIONINFOEXA ();
-				infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof;
-				OS.GetVersionEx (infoex);
-				if (infoex.wServicePackMajor < 2) {
-					OS.ImmDisableTextFrameService (0);
-				}
-			}
-		}
-	}
-	
-	/* Get the COMCTL32.DLL version */
-	static {
-		DLLVERSIONINFO dvi = new DLLVERSIONINFO ();
-		dvi.cbSize = DLLVERSIONINFO.sizeof;
-		dvi.dwMajorVersion = 4;
-		dvi.dwMinorVersion = 0;
-		TCHAR lpLibFileName = new TCHAR (0, "comctl32.dll", true); //$NON-NLS-1$
-		int hModule = OS.LoadLibrary (lpLibFileName);
-		if (hModule != 0) {
-			String name = "DllGetVersion\0"; //$NON-NLS-1$
-			byte [] lpProcName = new byte [name.length ()];
-			for (int i=0; i<lpProcName.length; i++) {
-				lpProcName [i] = (byte) name.charAt (i);
-			}
-			int DllGetVersion = OS.GetProcAddress (hModule, lpProcName);
-			if (DllGetVersion != 0) OS.Call (DllGetVersion, dvi);
-			OS.FreeLibrary (hModule);
-		}
-		COMCTL32_MAJOR = dvi.dwMajorVersion;
-		COMCTL32_MINOR = dvi.dwMinorVersion;
-		COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR);
-	}
-	
-	/* Get the Shell32.DLL version */
-	static {
-		DLLVERSIONINFO dvi = new DLLVERSIONINFO ();
-		dvi.cbSize = DLLVERSIONINFO.sizeof;
-		dvi.dwMajorVersion = 4;
-		TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$
-		int hModule = OS.LoadLibrary (lpLibFileName);
-		if (hModule != 0) {
-			String name = "DllGetVersion\0"; //$NON-NLS-1$
-			byte [] lpProcName = new byte [name.length ()];
-			for (int i=0; i<lpProcName.length; i++) {
-				lpProcName [i] = (byte) name.charAt (i);
-			}
-			int DllGetVersion = OS.GetProcAddress (hModule, lpProcName);
-			if (DllGetVersion != 0) OS.Call (DllGetVersion, dvi);
-			OS.FreeLibrary (hModule);
-		}
-		SHELL32_MAJOR = dvi.dwMajorVersion;
-		SHELL32_MINOR = dvi.dwMinorVersion;
-		SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR);
-	}
-
-	/* Flag used on WinCE */
-	static final int SYS_COLOR_INDEX_FLAG = OS.IsWinCE ? 0x40000000 : 0x0;
-
-	/*
-	* NOTE:  There is a bug in JVM 1.2 where loading 
-	* a class with a large number of constants causes
-	* a segment fault to occur sometime later after
-	* the class is loaded.  The fix is to break the
-	* class up into a hierarchy of classes that each
-	* contain a smaller number of constants.  This
-	* fix is not necessary at this time but is required
-	* when all constants are uncommented.  We have not
-	* done the research to determine the limit.
-	*/
-
-	/* Constants */
-	public static final int ABS_DOWNDISABLED = 8;
-	public static final int ABS_DOWNHOT = 6;
-	public static final int ABS_DOWNNORMAL = 5;
-	public static final int ABS_DOWNPRESSED = 7;
-	public static final int ABS_LEFTDISABLED = 12;
-	public static final int ABS_LEFTHOT = 10;
-	public static final int ABS_LEFTNORMAL = 9;
-	public static final int ABS_LEFTPRESSED = 11;
-	public static final int ABS_RIGHTDISABLED = 16;
-	public static final int ABS_RIGHTHOT = 14;
-	public static final int	ABS_RIGHTNORMAL = 13;
-	public static final int	ABS_RIGHTPRESSED = 15;
-	public static final int ABS_UPDISABLED = 4;
-	public static final int ABS_UPHOT = 2;
-	public static final int ABS_UPNORMAL = 1;
-	public static final int ABS_UPPRESSED = 3;
-	public static final int ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x00000001;
-	public static final int ACTCTX_FLAG_LANGID_VALID = 0x00000002;
-	public static final int ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x00000004;
-	public static final int ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008;
-	public static final int ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010;
-	public static final int ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x00000020;
-	public static final int ACTCTX_FLAG_HMODULE_VALID = 0x00000080;
-	public static final int AC_SRC_OVER = 0;
-	public static final int AC_SRC_ALPHA = 1;
-	public static final int ALTERNATE = 1;
-	public static final int BDR_RAISEDOUTER = 0x0001;
-	public static final int BDR_SUNKENOUTER = 0x0002;
-	public static final int BDR_RAISEDINNER = 0x0004;
-	public static final int BDR_SUNKENINNER = 0x0008;
-	public static final int BDR_OUTER = 0x0003;
-	public static final int BDR_INNER = 0x000c;
-	public static final int BDR_RAISED = 0x0005;
-	public static final int BDR_SUNKEN = 0x000a;
-	public static final int BFFM_INITIALIZED = 0x1;
-	public static final int BFFM_SETSELECTION = IsUnicode ? 0x467 : 0x466;
-	public static final int BFFM_VALIDATEFAILED = IsUnicode ? 0x4 : 0x3;
-	public static final int BFFM_VALIDATEFAILEDW = 0x4;
-	public static final int BFFM_VALIDATEFAILEDA = 0x3;
-	public static final int BF_ADJUST = 0x2000; 
-	public static final int BF_LEFT = 0x0001;
-	public static final int BF_TOP = 0x0002;
-	public static final int BF_RIGHT = 0x0004;
-	public static final int BF_BOTTOM = 0x0008;
-	public static final int BF_RECT = (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM);
-	public static final int BIF_EDITBOX = 0x10;
-	public static final int BIF_NEWDIALOGSTYLE = 0x40;
-	public static final int BIF_RETURNONLYFSDIRS = 0x1;
-	public static final int BIF_VALIDATE = 0x20;
-	public static final int BITSPIXEL = 0xc;
-	public static final int BI_BITFIELDS = 3;
-	public static final int BI_RGB = 0;
-	public static final int BLACKNESS = 0x42;
-	public static final int BCM_FIRST = 0x1600;
-	public static final int BCM_GETIDEALSIZE = BCM_FIRST + 0x1;
-	public static final int BCM_GETIMAGELIST = BCM_FIRST + 0x3;
-	public static final int BCM_SETIMAGELIST = BCM_FIRST + 0x2;
-	public static final int BUTTON_IMAGELIST_ALIGN_LEFT = 0;
-	public static final int BUTTON_IMAGELIST_ALIGN_RIGHT = 1;
-	public static final int BUTTON_IMAGELIST_ALIGN_CENTER = 4;
-	public static final int BM_CLICK = 0xf5;
-	public static final int BM_GETCHECK = 0xf0;
-	public static final int BM_SETCHECK = 0xf1;
-	public static final int BM_SETIMAGE = 0xf7;
-	public static final int BM_SETSTYLE = 0xf4;
-	public static final int BN_CLICKED = 0x0;
-	public static final int BN_DOUBLECLICKED = 0x5;
-	public static final int BP_PUSHBUTTON = 1;
-	public static final int BP_RADIOBUTTON = 2;
-	public static final int BP_CHECKBOX = 3;
-	public static final int BP_GROUPBOX = 4;
-	public static final int BST_CHECKED = 0x1;
-	public static final int BST_UNCHECKED = 0x0;
-	public static final int BS_BITMAP = 0x80;
-	public static final int BS_CENTER = 0x300;
-	public static final int BS_CHECKBOX = 0x2;
-	public static final int BS_DEFPUSHBUTTON = 0x1;
-	public static final int BS_FLAT = 0x8000;
-	public static final int BS_GROUPBOX = 0x7;
-	public static final int BS_ICON = 0x40;
-	public static final int BS_LEFT = 0x100;
-	public static final int BS_NOTIFY = 0x4000;
-	public static final int BS_OWNERDRAW = 0xb;
-	public static final int BS_PATTERN = 0x3;
-	public static final int BS_PUSHBUTTON = 0x0;
-	public static final int BS_PUSHLIKE = 0x1000;
-	public static final int BS_RADIOBUTTON = 0x4;
-	public static final int BS_RIGHT = 0x200;
-	public static final int BS_SOLID = 0x0;
-	public static final int BTNS_AUTOSIZE = 0x10;
-	public static final int BTNS_BUTTON = 0x0;
-	public static final int BTNS_CHECK = 0x2;
-	public static final int BTNS_CHECKGROUP = 0x6;
-	public static final int BTNS_DROPDOWN = 0x8;
-	public static final int BTNS_GROUP = 0x4;
-	public static final int BTNS_SEP = 0x1;
-	public static final int BTNS_SHOWTEXT = 0x40;
-	public static final int CBN_EDITCHANGE = 0x5;
-	public static final int CBN_KILLFOCUS = 0x4;
-	public static final int CBN_SELCHANGE = 0x1;
-	public static final int CBN_SETFOCUS = 0x3;
-	public static final int CBS_AUTOHSCROLL = 0x40;
-	public static final int CBS_DROPDOWN = 0x2;
-	public static final int CBS_DROPDOWNLIST = 0x3;
-	public static final int CBS_CHECKEDNORMAL = 5;
-	public static final int CBS_MIXEDNORMAL = 9;
-	public static final int CBS_NOINTEGRALHEIGHT = 0x400;
-	public static final int CBS_SIMPLE = 0x1;
-	public static final int CBS_UNCHECKEDNORMAL = 1;
-	public static final int CBS_CHECKEDDISABLED = 8;
-	public static final int CBS_CHECKEDHOT = 6;
-	public static final int CBS_CHECKEDPRESSED = 7;
-	public static final int CBS_MIXEDDISABLED = 0;
-	public static final int CBS_MIXEDHOT = 0;
-	public static final int CBS_MIXEDPRESSED = 0;
-	public static final int CBS_UNCHECKEDDISABLED = 4;
-	public static final int CBS_UNCHECKEDHOT = 2;
-	public static final int CBS_UNCHECKEDPRESSED = 3;
-	public static final int CB_ADDSTRING = 0x143;
-	public static final int CB_DELETESTRING = 0x144;
-	public static final int CB_ERR = 0xffffffff;
-	public static final int CB_ERRSPACE = 0xfffffffe;
-	public static final int CB_FINDSTRINGEXACT = 0x158;
-	public static final int CB_GETCOUNT = 0x146;
-	public static final int CB_GETCURSEL = 0x147;
-	public static final int CB_GETDROPPEDCONTROLRECT = 0x152;
-	public static final int CB_GETDROPPEDSTATE = 0x157;
-	public static final int CB_GETDROPPEDWIDTH = 0x015f;
-	public static final int CB_GETEDITSEL = 0x140;
-	public static final int CB_GETHORIZONTALEXTENT = 0x015d;
-	public static final int CB_GETITEMHEIGHT = 0x154;
-	public static final int CB_GETLBTEXT = 0x148;
-	public static final int CB_GETLBTEXTLEN = 0x149;
-	public static final int CB_INSERTSTRING = 0x14a;
-	public static final int CB_LIMITTEXT = 0x141;
-	public static final int CB_RESETCONTENT = 0x14b;
-	public static final int CB_SELECTSTRING = 0x14d;
-	public static final int CB_SETCURSEL = 0x14e;
-	public static final int CB_SETDROPPEDWIDTH= 0x0160;
-	public static final int CB_SETEDITSEL = 0x142;
-	public static final int CB_SETHORIZONTALEXTENT = 0x015e;
-	public static final int CB_SHOWDROPDOWN = 0x14f;
-	public static final int CBXS_NORMAL = 1;
-	public static final int CBXS_HOT = 2;
-	public static final int CBXS_PRESSED = 3;
-	public static final int CBXS_DISABLED = 4;
-	public static final int CCM_FIRST = 0x2000;
-	public static final int CCM_SETBKCOLOR = 0x2001;
-	public static final int CCM_SETVERSION = 0x2007;
-	public static final int CCS_NODIVIDER = 0x40;
-	public static final int CCS_NORESIZE = 0x4;
-	public static final int CCS_VERT = 0x80;
-	public static final int CC_ANYCOLOR = 0x100;
-	public static final int CC_ENABLEHOOK = 0x10;
-	public static final int CC_FULLOPEN = 0x2;
-	public static final int CC_RGBINIT = 0x1;
-	public static final int CDDS_POSTERASE = 0x00000004;
-	public static final int CDDS_POSTPAINT = 0x00000002;
-	public static final int CDDS_PREERASE = 0x00000003;
-	public static final int CDDS_PREPAINT = 0x00000001;
-	public static final int CDDS_ITEM = 0x00010000;
-	public static final int CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT;
-	public static final int CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT;
-	public static final int CDDS_SUBITEM = 0x00020000;
-	public static final int CDDS_SUBITEMPOSTPAINT = CDDS_ITEMPOSTPAINT | CDDS_SUBITEM;
-	public static final int CDDS_SUBITEMPREPAINT = CDDS_ITEMPREPAINT | CDDS_SUBITEM;
-	public static final int CDIS_SELECTED = 0x0001;
-	public static final int CDIS_GRAYED = 0x0002;
-	public static final int CDIS_DISABLED = 0x0004;
-	public static final int CDIS_CHECKED = 0x0008;
-	public static final int CDIS_FOCUS = 0x0010;
-	public static final int CDIS_DEFAULT = 0x0020;
-	public static final int CDIS_HOT = 0x0040;
-	public static final int CDIS_MARKED = 0x0080;
-	public static final int CDIS_INDETERMINATE = 0x0100;
-	public static final int CDRF_DODEFAULT = 0x00000000;
-	public static final int CDRF_NEWFONT = 0x00000002;
-	public static final int CDRF_NOTIFYITEMDRAW = 0x00000020;
-	public static final int CDRF_NOTIFYPOSTERASE = 0x00000040;
-	public static final int CDRF_NOTIFYPOSTPAINT = 0x00000010;
-	public static final int CDRF_NOTIFYSUBITEMDRAW = 0x00000020;
-	public static final int CDRF_SKIPDEFAULT = 0x04;
-	public static final int CFE_AUTOCOLOR = 0x40000000;
-	public static final int CFE_ITALIC = 0x2;
-	public static final int CFE_STRIKEOUT = 0x8;
-	public static final int CFE_UNDERLINE = 0x4;
-	public static final int CFM_BOLD = 0x1;
-	public static final int CFM_CHARSET = 0x8000000;
-	public static final int CFM_COLOR = 0x40000000;
-	public static final int CFM_FACE = 0x20000000;
-	public static final int CFM_ITALIC = 0x2;
-	public static final int CFM_SIZE = 0x80000000;
-	public static final int CFM_STRIKEOUT = 0x8;
-	public static final int CFM_UNDERLINE = 0x4;
-	public static final int CFM_WEIGHT = 0x400000;
-	public static final int CFS_POINT = 0x2;
-	public static final int CFS_RECT = 0x1;
-	public static final int CF_EFFECTS = 0x100;
-	public static final int CF_INITTOLOGFONTSTRUCT = 0x40;
-	public static final int CF_SCREENFONTS = 0x1;
-	public static final int CF_TEXT = 0x1;
-	public static final int CF_UNICODETEXT = 13;
-	public static final int CF_USESTYLE = 0x80;
-	public static final int CLR_DEFAULT = 0xff000000;
-	public static final int CLR_INVALID = 0xffffffff;
-	public static final int CLR_NONE = 0xffffffff;
-	public static final int CLSCTX_INPROC_SERVER = 1;
-	public static final int COLORONCOLOR = 0x3;
-	public static final int COLOR_3DDKSHADOW = 0x15 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_3DFACE = 0xf | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_3DHIGHLIGHT = 0x14 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_3DHILIGHT = 0x14 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_3DLIGHT = 0x16 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_3DSHADOW = 0x10 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_ACTIVECAPTION = 0x2 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_BTNFACE = 0xf | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_BTNHIGHLIGHT = 0x14 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_BTNSHADOW = 0x10 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_BTNTEXT = 0x12 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_CAPTIONTEXT = 0x9 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_GRADIENTACTIVECAPTION = 0x1b | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_GRADIENTINACTIVECAPTION = 0x1c | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_GRAYTEXT = 0x11 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_HIGHLIGHT = 0xd | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_HIGHLIGHTTEXT = 0xe | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_INACTIVECAPTION = 0x3 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_INACTIVECAPTIONTEXT = 0x13 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_INFOBK = 0x18 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_INFOTEXT = 0x17 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_MENU = 0x4 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_MENUTEXT = 0x7 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_SCROLLBAR = 0x0 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_WINDOW = 0x5 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_WINDOWFRAME = 0x6 | SYS_COLOR_INDEX_FLAG;
-	public static final int COLOR_WINDOWTEXT = 0x8 | SYS_COLOR_INDEX_FLAG;
-	public static final int COMPLEXREGION = 0x3;
-	public static final int CP_ACP = 0x0;
-	public static final int CP_UTF8 = 65001;
-	public static final int CP_DROPDOWNBUTTON = 1;
-	public static final int CP_INSTALLED = 0x1;
-	public static final int CS_BYTEALIGNWINDOW = 0x2000;
-	public static final int CS_DBLCLKS = 0x8;
-	public static final int CS_DROPSHADOW = 0x20000;
-	public static final int CS_GLOBALCLASS = 0x4000;
-	public static final int CS_HREDRAW = 0x2;
-	public static final int CS_VREDRAW = 0x1;
-	public static final int CW_USEDEFAULT = 0x80000000;
-	public static final int DCX_CACHE = 0x2;
-	public static final int DCX_CLIPCHILDREN = 0x8;
-	public static final int DCX_CLIPSIBLINGS = 0x10;
-	public static final int DEFAULT_CHARSET = 0x1;
-	public static final int DEFAULT_GUI_FONT = 0x11;
-	public static final int DFCS_BUTTONCHECK = 0x0;
-	public static final int DFCS_CHECKED = 0x400;
-	public static final int DFCS_FLAT = 0x4000;
-	public static final int DFCS_INACTIVE = 0x100;
-	public static final int DFCS_PUSHED = 0x200;
-	public static final int DFCS_SCROLLDOWN = 0x1;
-	public static final int DFCS_SCROLLLEFT = 0x2;
-	public static final int DFCS_SCROLLRIGHT = 0x3;
-	public static final int DFCS_SCROLLUP = 0x0;
-	public static final int DFC_BUTTON = 0x4;
-	public static final int DFC_SCROLL = 0x3;
-	public static final int DIB_RGB_COLORS = 0x0;
-	public static final int DISP_E_EXCEPTION = 0x80020009;
-	public static final int DI_NORMAL = 0x3;
-	public static final int DI_NOMIRROR = 0x10;
-	public static final int DLGC_BUTTON = 0x2000;
-	public static final int DLGC_HASSETSEL = 0x8;
-	public static final int DLGC_STATIC = 0x100;
-	public static final int DLGC_WANTALLKEYS = 0x4;
-	public static final int DLGC_WANTARROWS = 0x1;
-	public static final int DLGC_WANTCHARS = 0x80;
-	public static final int DLGC_WANTTAB = 0x2;
-	public static final int DM_SETDEFID = 0x401;
-	public static final int DSS_DISABLED = 0x20;
-	public static final int DSTINVERT = 0x550009;
-	public static final int DST_BITMAP = 0x4;
-	public static final int DST_ICON = 0x3;
-	public static final int DT_BOTTOM = 0x8;
-	public static final int DT_CALCRECT = 0x400;
-	public static final int DT_CENTER = 0x1;
-	public static final int DT_EDITCONTROL = 0x2000;
-	public static final int DT_EXPANDTABS = 0x40;
-	public static final int DT_ENDELLIPSIS = 32768;
-	public static final int DT_LEFT = 0x0;
-	public static final int DT_NOPREFIX = 0x800;
-	public static final int DT_RASPRINTER = 0x2;
-	public static final int DT_RIGHT = 0x2;
-	public static final int DT_SINGLELINE = 0x20;
-	public static final int DT_TOP = 0;
-	public static final int DT_VCENTER = 4;
-	public static final int DT_WORDBREAK = 0x10;
-	public static final int EBP_NORMALGROUPBACKGROUND = 5;
-	public static final int EBP_NORMALGROUPCOLLAPSE = 6;
-	public static final int EBP_NORMALGROUPEXPAND = 7;
-	public static final int EBP_NORMALGROUPHEAD = 8;
-	public static final int EBNGC_NORMAL = 1;
-	public static final int EBNGC_HOT = 2;
-	public static final int EBNGC_PRESSED = 3;
-	public static final int EBP_HEADERBACKGROUND = 1;
-	public static final int ECOOP_AND = 0x3;
-	public static final int ECOOP_OR = 0x2;
-	public static final int ECO_AUTOHSCROLL = 0x80;
-	public static final int EDGE_RAISED = (BDR_RAISEDOUTER | BDR_RAISEDINNER);
-	public static final int EDGE_SUNKEN = (BDR_SUNKENOUTER | BDR_SUNKENINNER);
-	public static final int EDGE_ETCHED = (BDR_SUNKENOUTER | BDR_RAISEDINNER);
-	public static final int EDGE_BUMP = (BDR_RAISEDOUTER | BDR_SUNKENINNER);
-	public static final int EM_CANUNDO = 0xc6;
-	public static final int EM_CHARFROMPOS = 0xd7;
-	public static final int EM_DISPLAYBAND = 0x433;
-	public static final int EM_GETFIRSTVISIBLELINE = 0xce;
-	public static final int EM_GETLIMITTEXT = 0xd5;
-	public static final int EM_GETLINE = 0xc4;
-	public static final int EM_GETLINECOUNT = 0xba;
-	public static final int EM_GETMARGINS = 0xd4;
-	public static final int EM_GETPASSWORDCHAR = 0xd2;
-	public static final int EM_GETSCROLLPOS = 0x4dd;
-	public static final int EM_GETSEL = 0xb0;
-	public static final int EM_LIMITTEXT = 0xc5;
-	public static final int EM_LINEFROMCHAR = 0xc9;
-	public static final int EM_LINEINDEX = 0xbb;
-	public static final int EM_LINELENGTH = 0xc1;
-	public static final int EM_LINESCROLL = 0xb6;
-	public static final int EM_POSFROMCHAR = 0xd6;
-	public static final int EM_REPLACESEL = 0xc2;
-	public static final int EM_SCROLLCARET = 0xb7;
-	public static final int EM_SETBKGNDCOLOR = 0x443;
-	public static final int EM_SETLIMITTEXT = 0xc5;
-	public static final int EM_SETOPTIONS = 0x44d;
-	public static final int EM_SETPARAFORMAT = 0x447;
-	public static final int EM_SETPASSWORDCHAR = 0xcc;
-	public static final int EM_SETREADONLY = 0xcf;
-	public static final int EM_SETSEL = 0xb1;
-	public static final int EM_SETTABSTOPS = 0xcb;
-	public static final int EM_UNDO = 199;
-	public static final int EN_ALIGN_LTR_EC = 0x0700;
-	public static final int EN_ALIGN_RTL_EC = 0x0701;
-	public static final int EN_CHANGE = 0x300;
-	public static final int EP_EDITTEXT = 1;
-	public static final int ERROR_NO_MORE_ITEMS = 0x103;
-	public static final int ESB_DISABLE_BOTH = 0x3;
-	public static final int ESB_ENABLE_BOTH = 0x0;
-	public static final int ES_AUTOHSCROLL = 0x80;
-	public static final int ES_AUTOVSCROLL = 0x40;
-	public static final int ES_CENTER = 0x1;
-	public static final int ES_MULTILINE = 0x4;
-	public static final int ES_NOHIDESEL = 0x100;
-	public static final int ES_PASSWORD = 0x20;
-	public static final int ES_READONLY = 0x800;
-	public static final int ES_RIGHT = 0x2;
-	public static final int ETO_CLIPPED = 0x4;
-	public static final int ETS_NORMAL = 1;
-	public static final int ETS_HOT = 2;
-	public static final int ETS_SELECTED = 3;
-	public static final int ETS_DISABLED = 4;
-	public static final int ETS_FOCUSED = 5;
-	public static final int ETS_READONLY = 6;
-	public static final int EVENT_OBJECT_FOCUS = 0x8005;
-	public static final int EVENT_OBJECT_LOCATIONCHANGE = 0x800B;
-//	public static final int EVENT_OBJECT_SELECTION = 0x8006;
-	public static final int EVENT_OBJECT_SELECTIONWITHIN = 0x8009;
-	public static final int EVENT_OBJECT_VALUECHANGE = 0x800E;
-	public static final int FALT = 0x10;
-	public static final int FCONTROL = 0x8;
-	public static final int FE_FONTSMOOTHINGCLEARTYPE = 0x0002;
-	public static final int FNERR_INVALIDFILENAME = 0x3002;
-	public static final int FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100;
-	public static final int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000;
-	public static final int FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200;
-	public static final int FSHIFT = 0x4;
-	public static final int FVIRTKEY = 0x1;
-	public static final int GBS_NORMAL = 1;
-	public static final int GBS_DISABLED = 2;
-	public static final int GCS_COMPSTR = 0x8;
-	public static final int GCS_RESULTSTR = 0x800;
-	public static final int GLPS_CLOSED = 1;
-	public static final int GLPS_OPENED = 2;
-	public static final int GM_ADVANCED = 2;
-	public static final int GMDI_USEDISABLED = 0x1;
-	public static final int GMEM_FIXED = 0x0;
-	public static final int GMEM_ZEROINIT = 0x40;
-	public static final int GN_CONTEXTMENU = 1000;
-	public static final int GPTR = 0x40;
-	public static final int GRADIENT_FILL_RECT_H = 0x0;
-	public static final int GRADIENT_FILL_RECT_V = 0x1;
-	public static final int GTL_NUMBYTES = 0x10;
-	public static final int GTL_NUMCHARS = 0x8;
-	public static final int GTL_PRECISE = 0x2;
-	public static final int GT_DEFAULT = 0x0;
-	public static final int GUI_16BITTASK = 0x20;
-	public static final int GUI_CARETBLINKING = 0x1;
-	public static final int GUI_INMENUMODE = 0x4;
-	public static final int GUI_INMOVESIZE = 0x2;
-	public static final int GUI_POPUPMENUMODE = 0x10;
-	public static final int GUI_SYSTEMMENUMODE = 0x8;
-	public static final int GWL_EXSTYLE = 0xffffffec;
-	public static final int GWL_ID = -12;
-	public static final int GWL_STYLE = 0xfffffff0;
-	public static final int GWL_USERDATA = 0xffffffeb;
-	public static final int GWL_WNDPROC = 0xfffffffc;
-	public static final int GW_CHILD = 0x5;
-	public static final int GW_HWNDFIRST = 0x0;
-	public static final int GW_HWNDLAST = 0x1;
-	public static final int GW_HWNDNEXT = 0x2;
-	public static final int GW_HWNDPREV = 0x3;
-	public static final int GW_OWNER = 0x4;
-	public static final int HBMMENU_CALLBACK = 0xffffffff;
-	public static final int HCF_HIGHCONTRASTON = 0x1;
-	public static final int HDF_BITMAP = 0x2000;
-	public static final int HDF_BITMAP_ON_RIGHT = 0x1000;
-	public static final int HDF_CENTER = 2;
-	public static final int HDF_JUSTIFYMASK = 0x3;
-	public static final int HDF_IMAGE = 0x0800;
-	public static final int HDF_LEFT = 0;
-	public static final int HDF_RIGHT = 1;
-	public static final int HDF_SORTUP = 0x0400;
-	public static final int HDF_SORTDOWN = 0x0200;
-	public static final int HDI_BITMAP = 0x0010;
-	public static final int HDI_IMAGE = 32;
-	public static final int HDI_ORDER = 0x80;
-	public static final int HDI_TEXT = 0x2;
-	public static final int HDI_WIDTH = 0x1;
-	public static final int HDI_FORMAT = 0x4;
-	public static final int HDM_FIRST = 0x1200;
-	public static final int HDM_DELETEITEM = HDM_FIRST + 2;
-	public static final int HDM_GETBITMAPMARGIN = HDM_FIRST + 21;
-	public static final int HDM_GETITEMCOUNT = 0x1200;
-	public static final int HDM_GETITEMA = HDM_FIRST + 3;
-	public static final int HDM_GETITEMW = HDM_FIRST + 11;
-	public static final int HDM_GETITEM = IsUnicode ? HDM_GETITEMW : HDM_GETITEMA;
-	public static final int HDM_GETITEMRECT = HDM_FIRST + 7;
-	public static final int HDM_GETORDERARRAY = HDM_FIRST + 17;
-	public static final int HDM_INSERTITEMA = HDM_FIRST + 1;
-	public static final int HDM_INSERTITEMW = HDM_FIRST + 10;
-	public static final int HDM_INSERTITEM = IsUnicode ? HDM_INSERTITEMW : HDM_INSERTITEMA;
-	public static final int HDM_LAYOUT = HDM_FIRST + 5;
-	public static final int HDM_ORDERTOINDEX = HDM_FIRST + 15;
-	public static final int HDM_SETIMAGELIST = HDM_FIRST + 8;
-	public static final int HDM_SETITEMA = HDM_FIRST + 4;
-	public static final int HDM_SETITEMW = HDM_FIRST + 12;
-	public static final int HDM_SETITEM = IsUnicode ? HDM_SETITEMW : HDM_SETITEMA;
-	public static final int HDM_SETORDERARRAY = HDM_FIRST + 18;
-	public static final int HDN_FIRST = 0xfffffed4;
-	public static final int HDN_BEGINDRAG = HDN_FIRST - 10;
-	public static final int HDN_BEGINTRACK = IsUnicode ? 0xfffffeba : 0xfffffece;
-	public static final int HDN_BEGINTRACKW = 0xfffffeba;
-	public static final int HDN_BEGINTRACKA = 0xfffffece;
-	public static final int HDN_DIVIDERDBLCLICKA = HDN_FIRST - 5;
-	public static final int HDN_DIVIDERDBLCLICKW = HDN_FIRST - 25;
-	public static final int HDN_DIVIDERDBLCLICK = IsUnicode ? HDN_DIVIDERDBLCLICKW : HDN_DIVIDERDBLCLICKA;
-	public static final int HDN_ENDDRAG = HDN_FIRST - 11;
-	public static final int HDN_ITEMCHANGED = IsUnicode ? 0xfffffebf : 0xfffffed3;
-	public static final int HDN_ITEMCHANGEDW = 0xfffffebf;
-	public static final int HDN_ITEMCHANGEDA = 0xfffffed3;
-	public static final int HDN_ITEMCHANGINGW = HDN_FIRST - 20;
-	public static final int HDN_ITEMCHANGINGA = HDN_FIRST;
-	public static final int HDN_ITEMCLICKW = HDN_FIRST - 22;
-	public static final int HDN_ITEMCLICKA = HDN_FIRST - 2;
-	public static final int HDN_ITEMDBLCLICKW = HDN_FIRST - 23;
-	public static final int HDN_ITEMDBLCLICKA = HDN_FIRST - 3;
-	public static final int HDN_ITEMDBLCLICK = IsUnicode ? HDN_ITEMDBLCLICKW : HDN_ITEMDBLCLICKA;
-	public static final int HDS_BUTTONS = 0x2;
-	public static final int HDS_DRAGDROP = 0x0040;
-	public static final int HDS_FULLDRAG = 0x80;
-	public static final int HDS_HIDDEN = 0x8;
-	public static final int HEAP_ZERO_MEMORY = 0x8;
-	public static final int HELPINFO_MENUITEM = 0x2;
-	public static final int HICF_ARROWKEYS = 0x2;
-	public static final int HINST_COMMCTRL = 0xffffffff;
-	public static final int HKEY_CLASSES_ROOT = 0x80000000;
-	public static final int HKEY_CURRENT_USER = 0x80000001;
-	public static final int HKEY_LOCAL_MACHINE = 0x80000002;
-	public static final int HORZRES = 0x8;
-	public static final int HTBORDER = 0x12;
-	public static final int HTCAPTION = 0x2;
-	public static final int HTCLIENT = 0x1;
-	public static final int HTERROR = -2;
-	public static final int HTHSCROLL = 0x6;
-	public static final int HTMENU = 0x5;
-	public static final int HTNOWHERE = 0x0;
-	public static final int HTSYSMENU = 0x3;        
-	public static final int HTTRANSPARENT = 0xffffffff;
-	public static final int HTVSCROLL = 0x7;
-	public static final int HWND_BOTTOM = 0x1;
-	public static final int HWND_TOP = 0x0;
-	public static final int HWND_TOPMOST = 0xffffffff;
-	public static final int HWND_NOTOPMOST = -2;
-	public static final int ICC_COOL_CLASSES = 0x400;
-	public static final int ICM_NOTOPEN = 0x0;
-	public static final int ICON_BIG = 0x1;
-	public static final int ICON_SMALL = 0x0;
-	public static final int I_IMAGECALLBACK = -1;
-	public static final int I_IMAGENONE = -2;
-	public static final int IDABORT = 0x3;
-	public static final int IDB_STD_SMALL_COLOR = 0x0;
-	public static final int IDC_APPSTARTING = 0x7f8a;
-	public static final int IDC_ARROW = 0x7f00;
-	public static final int IDC_CROSS = 0x7f03;
-	public static final int IDC_HAND = 0x7f89;
-	public static final int IDC_HELP = 0x7f8b;
-	public static final int IDC_IBEAM = 0x7f01;
-	public static final int IDC_NO = 0x7f88;
-	public static final int IDC_SIZE = 0x7f80;
-	public static final int IDC_SIZEALL = 0x7f86;
-	public static final int IDC_SIZENESW = 0x7f83;
-	public static final int IDC_SIZENS = 0x7f85;
-	public static final int IDC_SIZENWSE = 0x7f82;
-	public static final int IDC_SIZEWE = 0x7f84;
-	public static final int IDC_UPARROW = 0x7f04;
-	public static final int IDC_WAIT = 0x7f02;
-	public static final int IDNO = 0x7;
-	public static final int IDOK = 0x1;
-	public static final int IDRETRY = 0x4;
-	public static final int IDYES = 0x6;
-	public static final int ILC_COLOR = 0x0;
-	public static final int ILC_COLOR16 = 0x10;
-	public static final int ILC_COLOR24 = 0x18;
-	public static final int ILC_COLOR32 = 0x20;
-	public static final int ILC_COLOR4 = 0x4;
-	public static final int ILC_COLOR8 = 0x8;
-	public static final int ILC_MASK = 0x1;
-	public static final int ILC_MIRROR = 0x2000;
-	public static final int ILD_NORMAL = 0x0;
-	public static final int ILD_SELECTED = 0x4;
-	public static final int IMAGE_BITMAP = 0x0;
-	public static final int IMAGE_CURSOR = 0x2;
-	public static final int IMAGE_ICON = 0x1;
-	public static final int IME_CMODE_FULLSHAPE = 0x8;
-	public static final int IME_CMODE_KATAKANA = 0x2;
-	public static final int IME_CMODE_NATIVE = 0x1;
-	public static final int IME_CMODE_ROMAN = 0x10;
-	public static final int INFINITE = 0xffffffff;
-	public static final int INPUT_KEYBOARD = 1;
-	public static final int INPUT_MOUSE = 0;
-	public static final int INTERNET_OPTION_END_BROWSER_SESSION = 42;
-	public static final int KEY_ENUMERATE_SUB_KEYS = 0x8;
-	public static final int KEY_NOTIFY = 0x10;
-	public static final int KEY_QUERY_VALUE = 0x1;
-	public static final int KEY_READ = 0x20019;
-	public static final int KEYEVENTF_KEYUP = 0x0002;
-	public static final int L_MAX_URL_LENGTH = 2084;
-	public static final int LANG_KOREAN = 0x12;
-	public static final int LANG_NEUTRAL = 0x0;
-	public static final int LANG_USER_DEFAULT = 1 << 10;
-	public static final int LAYOUT_RTL = 0x1;
-	public static final int LBN_DBLCLK = 0x2;
-	public static final int LBN_SELCHANGE = 0x1;
-	public static final int LBS_EXTENDEDSEL = 0x800;
-	public static final int LBS_MULTIPLESEL = 0x8;
-	public static final int LBS_NOINTEGRALHEIGHT = 0x100;
-	public static final int LBS_NOTIFY = 0x1;
-	public static final int LB_ADDSTRING = 0x180;
-	public static final int LB_DELETESTRING = 0x182;
-	public static final int LB_ERR = 0xffffffff;
-	public static final int LB_ERRSPACE = 0xfffffffe;
-	public static final int LB_FINDSTRINGEXACT = 0x1a2;
-	public static final int LB_GETCARETINDEX = 0x19f;
-	public static final int LB_GETCOUNT = 0x18b;
-	public static final int LB_GETCURSEL = 0x188;
-	public static final int LB_GETHORIZONTALEXTENT = 0x193;
-	public static final int LB_GETITEMHEIGHT = 0x1a1;
-	public static final int LB_GETITEMRECT = 0x198;
-	public static final int LB_GETSEL = 0x187;
-	public static final int LB_GETSELCOUNT = 0x190;
-	public static final int LB_GETSELITEMS = 0x191;
-	public static final int LB_GETTEXT = 0x189;
-	public static final int LB_GETTEXTLEN = 0x18a;
-	public static final int LB_GETTOPINDEX = 0x18e;
-	public static final int LB_INITSTORAGE = 0x1a8;
-	public static final int LB_INSERTSTRING = 0x181;
-	public static final int LB_RESETCONTENT = 0x184;
-	public static final int LB_SELITEMRANGE = 0x19b;
-	public static final int LB_SELITEMRANGEEX = 0x183;
-	public static final int LB_SETCARETINDEX = 0x19e;
-	public static final int LB_SETCURSEL = 0x186;
-	public static final int LB_SETHORIZONTALEXTENT = 0x194;
-	public static final int LB_SETSEL = 0x185;
-	public static final int LB_SETTOPINDEX = 0x197;
-	public static final int LF_FACESIZE = 32;
-	public static final int LGRPID_ARABIC = 0xd;
-	public static final int LGRPID_HEBREW = 0xc;
-	public static final int LGRPID_INSTALLED = 1;
-	public static final int LIF_ITEMINDEX = 0x1;
-	public static final int LIF_STATE = 0x2;
-	public static final int LIS_FOCUSED = 0x1;
-	public static final int LIS_ENABLED = 0x2;
-	public static final int LM_GETIDEALHEIGHT = 0x701;
-	public static final int LM_SETITEM = 0x702;
-	public static final int LM_GETITEM = 0x703;
-	public static final int LCID_SUPPORTED = 0x2;
-	public static final int LOCALE_IDEFAULTANSICODEPAGE = 0x1004;
-	public static final int LOCALE_SDECIMAL = 14;	
-	public static final int LOCALE_SISO3166CTRYNAME = 0x5a;
-	public static final int LOCALE_SISO639LANGNAME = 0x59;
-	public static final int LOCALE_USER_DEFAULT = 1024;
-	public static final int LOGPIXELSX = 0x58;
-	public static final int LOGPIXELSY = 0x5a;
-	public static final int LPSTR_TEXTCALLBACK = 0xffffffff;
-	public static final int LR_DEFAULTCOLOR = 0x0;
-	public static final int LR_SHARED = 0x8000;
-	public static final int LVCFMT_BITMAP_ON_RIGHT = 0x1000;
-	public static final int LVCFMT_CENTER = 0x2;
-	public static final int LVCFMT_IMAGE = 0x800;
-	public static final int LVCFMT_LEFT = 0x0;
-	public static final int LVCFMT_RIGHT = 0x1;
-	public static final int LVCF_FMT = 0x1;
-	public static final int LVCF_IMAGE = 0x10;
-	public static final int LVCFMT_JUSTIFYMASK = 0x3;
-	public static final int LVCF_TEXT = 0x4;
-	public static final int LVCF_WIDTH = 0x2;
-	public static final int LVHT_ONITEM = 0xe;
-	public static final int LVHT_ONITEMICON = 0x2;
-	public static final int LVHT_ONITEMLABEL = 0x4;
-	public static final int LVHT_ONITEMSTATEICON = 0x8;
-	public static final int LVIF_IMAGE = 0x2;
-	public static final int LVIF_INDENT = 0x10;
-	public static final int LVIF_STATE = 0x8;
-	public static final int LVIF_TEXT = 0x1;
-	public static final int LVIR_BOUNDS = 0x0;
-	public static final int LVIR_ICON = 0x1;
-	public static final int LVIR_LABEL = 0x2;
-	public static final int LVIR_SELECTBOUNDS = 0x3;
-	public static final int LVIS_DROPHILITED = 0x8;
-	public static final int LVIS_FOCUSED = 0x1;
-	public static final int LVIS_SELECTED = 0x2;
-	public static final int LVIS_STATEIMAGEMASK = 0xf000;
-	public static final int LVM_FIRST = 0x1000;
-	public static final int LVM_APPROXIMATEVIEWRECT = 0x1040;
-	public static final int LVM_CREATEDRAGIMAGE = LVM_FIRST + 33;
-	public static final int LVM_DELETEALLITEMS = 0x1009;
-	public static final int LVM_DELETECOLUMN = 0x101c;
-	public static final int LVM_DELETEITEM = 0x1008;
-	public static final int LVM_ENSUREVISIBLE = 0x1013;
-	public static final int LVM_GETBKCOLOR = 0x1000;
-	public static final int LVM_GETCOLUMN = IsUnicode ? 0x105f : 0x1019;
-	public static final int LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59;
-	public static final int LVM_GETCOLUMNWIDTH = 0x101d;
-	public static final int LVM_GETCOUNTPERPAGE = 0x1028;
-	public static final int LVM_GETEXTENDEDLISTVIEWSTYLE = 0x1037;
-	public static final int LVM_GETHEADER = 0x101f;
-	public static final int LVM_GETIMAGELIST = 0x1002;
-	public static final int LVM_GETITEM = IsUnicode ? 0x104b : 0x1005;
-	public static final int LVM_GETITEMW = 0x104b;
-	public static final int LVM_GETITEMA = 0x1005;
-	public static final int LVM_GETITEMCOUNT = 0x1004;
-	public static final int LVM_GETITEMRECT = 0x100e;
-	public static final int LVM_GETITEMSTATE = 0x102c;
-	public static final int LVM_GETNEXTITEM = 0x100c;
-	public static final int LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174;
-	public static final int LVM_GETSELECTEDCOUNT = 0x1032;
-	public static final int LVM_GETSTRINGWIDTH = IsUnicode ? 0x1057 : 0x1011;
-	public static final int LVM_GETSUBITEMRECT = 0x1038;
-	public static final int LVM_GETTEXTCOLOR = 0x1023;
-	public static final int LVM_GETTOOLTIPS = 0x104e;
-	public static final int LVM_GETTOPINDEX = 0x1027;
-	public static final int LVM_HITTEST = 0x1012;
-	public static final int LVM_INSERTCOLUMN = IsUnicode ? 0x1061 : 0x101b;
-	public static final int LVM_INSERTITEM = IsUnicode ? 0x104d : 0x1007;
-	public static final int LVM_REDRAWITEMS = LVM_FIRST + 21;
-	public static final int LVM_SCROLL = 0x1014;
-	public static final int LVM_SETBKCOLOR = 0x1001;
-	public static final int LVM_SETCALLBACKMASK = LVM_FIRST + 11;
-	public static final int LVM_SETCOLUMN = IsUnicode ? 0x1060 : 0x101a;
-	public static final int LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58;
-	public static final int LVM_SETCOLUMNWIDTH = 0x101e;
-	public static final int LVM_SETEXTENDEDLISTVIEWSTYLE = 0x1036;
-	public static final int LVM_SETIMAGELIST = 0x1003;
-	public static final int LVM_SETITEM = IsUnicode ? 0x104c : 0x1006;
-	public static final int LVM_SETITEMCOUNT = LVM_FIRST + 47;
-	public static final int LVM_SETITEMSTATE = 0x102b;
-	public static final int LVM_SETSELECTIONMARK = LVM_FIRST + 67;
-	public static final int LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140;
-	public static final int LVM_SETTEXTBKCOLOR = 0x1026;
-	public static final int LVM_SETTEXTCOLOR = 0x1024;
-	public static final int LVNI_FOCUSED = 0x1;
-	public static final int LVNI_SELECTED = 0x2;
-	public static final int LVN_BEGINDRAG = 0xffffff93;
-	public static final int LVN_BEGINRDRAG = 0xffffff91;
-	public static final int LVN_COLUMNCLICK = 0xffffff94;
-	public static final int LVN_FIRST = 0xffffff9c;
-	public static final int LVN_GETDISPINFOA = LVN_FIRST - 50;
-	public static final int LVN_GETDISPINFOW = LVN_FIRST - 77;
-	public static final int LVN_ITEMACTIVATE = 0xffffff8e;
-	public static final int LVN_ITEMCHANGED = 0xffffff9b;
-	public static final int LVN_MARQUEEBEGIN = 0xffffff64;
-	public static final int LVN_ODFINDITEMA = LVN_FIRST - 52;
-	public static final int LVN_ODFINDITEMW = LVN_FIRST - 79;
-	public static final int LVSCW_AUTOSIZE = 0xffffffff;
-	public static final int LVSCW_AUTOSIZE_USEHEADER = 0xfffffffe;
-	public static final int LVSICF_NOINVALIDATEALL = 0x1;
-	public static final int LVSICF_NOSCROLL = 0x2;
-	public static final int LVSIL_SMALL = 0x1;
-	public static final int LVSIL_STATE = 0x2;
-	public static final int LVS_EX_DOUBLEBUFFER = 0x10000;
-	public static final int LVS_EX_FULLROWSELECT = 0x20;
-	public static final int LVS_EX_GRIDLINES = 0x1;
-	public static final int LVS_EX_HEADERDRAGDROP = 0x10;
-	public static final int LVS_EX_LABELTIP = 0x4000;
-	public static final int LVS_EX_ONECLICKACTIVATE = 0x40;
-	public static final int LVS_EX_SUBITEMIMAGES = 0x2;
-	public static final int LVS_EX_TRACKSELECT = 0x8;
-	public static final int LVS_EX_TWOCLICKACTIVATE = 0x80;
-	public static final int LVS_NOCOLUMNHEADER = 0x4000;
-	public static final int LVS_NOSCROLL = 0x2000;
-	public static final int LVS_OWNERDATA = 0x1000;
-	public static final int LVS_OWNERDRAWFIXED = 0x400;
-	public static final int LVS_REPORT = 0x1;
-	public static final int LVS_SHAREIMAGELISTS = 0x40;
-	public static final int LVS_SHOWSELALWAYS = 0x8;
-	public static final int LVS_SINGLESEL = 0x4;
-	public static final int MAX_LINKID_TEXT = 48;
-	public static final int MAX_PATH = 260;
-	public static final int MA_NOACTIVATE = 0x3;
-	public static final int MANIFEST_RESOURCE_ID = 2;
-	public static final int MB_ABORTRETRYIGNORE = 0x2;
-	public static final int MB_APPLMODAL = 0x0;
-	public static final int MB_ICONERROR = 0x10;
-	public static final int MB_ICONINFORMATION = 0x40;
-	public static final int MB_ICONQUESTION = 0x20;
-	public static final int MB_ICONWARNING = 0x30;
-	public static final int MB_OK = 0x0;
-	public static final int MB_OKCANCEL = 0x1;
-	public static final int MB_PRECOMPOSED = 0x1;
-	public static final int MB_RETRYCANCEL = 0x5;
-	public static final int MB_RTLREADING = 0x100000;
-	public static final int MB_SYSTEMMODAL = 0x1000;
-	public static final int MB_TASKMODAL = 0x2000;
-	public static final int MB_YESNO = 0x4;
-	public static final int MB_YESNOCANCEL = 0x3;
-	public static final int MDIS_ALLCHILDSTYLES = 0x0001;
-	public static final int MFS_CHECKED = 0x8;
-	public static final int MFS_DISABLED = 0x3;
-	public static final int MFS_GRAYED = 0x3;
-	public static final int MFT_RADIOCHECK = 0x200;
-	public static final int MFT_RIGHTJUSTIFY = 0x4000;
-	public static final int MFT_RIGHTORDER = 0x2000; 
-	public static final int MFT_SEPARATOR = 0x800;
-	public static final int MFT_STRING = 0x0;
-	public static final int MF_BYCOMMAND = 0x0;
-	public static final int MF_BYPOSITION = 0x400;
-	public static final int MF_CHECKED = 0x8;
-	public static final int MF_DISABLED = 0x2;
-	public static final int MF_ENABLED = 0x0;
-	public static final int MF_GRAYED = 0x1;
-	public static final int MF_HILITE = 0x80;
-	public static final int MF_POPUP = 0x10;
-	public static final int MF_SEPARATOR = 0x800;
-	public static final int MF_SYSMENU = 0x2000;
-	public static final int MF_UNCHECKED = 0x0;
-	public static final int MIIM_BITMAP = 0x80;
-	public static final int MIIM_DATA = 0x20;
-	public static final int MIIM_ID = 0x2;
-	public static final int MIIM_STATE = 0x1;
-	public static final int MIIM_SUBMENU = 0x4;
-	public static final int MIIM_TYPE = 0x10;
-	public static final int MIM_STYLE = 0x10;
-	public static final int MK_CONTROL = 0x8;
-	public static final int MK_LBUTTON = 0x1;
-	public static final int MK_MBUTTON = 0x10;
-	public static final int MK_RBUTTON = 0x2;
-	public static final int MK_SHIFT = 0x4;
-	public static final int MK_XBUTTON1 = 0x20;
-	public static final int MK_XBUTTON2 = 0x40;
-	public static final int MM_TEXT = 0x1;
-	public static final int MNC_CLOSE = 0x1;
-	public static final int MNS_CHECKORBMP = 0x4000000;
-	public static final int MONITOR_DEFAULTTONEAREST = 0x2;
-	public static final int MONITORINFOF_PRIMARY = 0x1;
-	public static final int MOUSEEVENTF_ABSOLUTE = 0x8000;
-	public static final int MOUSEEVENTF_LEFTDOWN = 0x0002; 
-	public static final int MOUSEEVENTF_LEFTUP = 0x0004; 
-	public static final int MOUSEEVENTF_MIDDLEDOWN = 0x0020; 
-	public static final int MOUSEEVENTF_MIDDLEUP = 0x0040; 
-	public static final int MOUSEEVENTF_MOVE = 0x0001;
-	public static final int MOUSEEVENTF_RIGHTDOWN = 0x0008; 
-	public static final int MOUSEEVENTF_RIGHTUP = 0x0010;
-	public static final int MSGF_DIALOGBOX = 0;
-	public static final int MSGF_COMMCTRL_BEGINDRAG = 0x4200;
-	public static final int MSGF_COMMCTRL_SIZEHEADER = 0x4201;
-	public static final int MSGF_COMMCTRL_DRAGSELECT = 0x4202;
-	public static final int MSGF_COMMCTRL_TOOLBARCUST = 0x4203;
-	public static final int MSGF_MAINLOOP = 8;
-	public static final int MSGF_MENU = 2;
-	public static final int MSGF_MOVE = 3;
-	public static final int MSGF_MESSAGEBOX = 1;
-	public static final int MSGF_NEXTWINDOW = 6;
-	public static final int MSGF_SCROLLBAR = 5;
-	public static final int MSGF_SIZE = 4;
-	public static final int MSGF_USER = 4096;
-	public static final int MWMO_INPUTAVAILABLE = 0x4;
-	public static final int NIF_ICON = 0x00000002;
-	public static final int NIF_INFO = 0x00000010;
-	public static final int NIF_MESSAGE = 0x00000001;
-	public static final int NIF_STATE = 0x00000008;
-	public static final int NIF_TIP = 0x00000004;
-	public static final int NIIF_ERROR = 0x00000003;
-	public static final int NIIF_INFO = 0x00000001;
-	public static final int NIIF_NONE = 0x00000000;
-	public static final int NIIF_WARNING = 0x00000002;
-	public static final int NIM_ADD = 0x00000000;
-	public static final int NIM_DELETE = 0x00000002;
-	public static final int NIM_MODIFY = 0x00000001;
-	public static final int NIN_SELECT = 0x400 + 0;
-	public static final int NINF_KEY = 0x1;
-	public static final int NIN_KEYSELECT = NIN_SELECT | NINF_KEY;
-	public static final int NIN_BALLOONSHOW = 0x400 + 2;
-	public static final int NIN_BALLOONHIDE = 0x400 + 3;
-	public static final int NIN_BALLOONTIMEOUT = 0x400 + 4;
-	public static final int NIN_BALLOONUSERCLICK = 0x400 + 5;
-	public static final int NIS_HIDDEN = 0x00000001;
-	public static final int NM_FIRST = 0x0;
-	public static final int NM_CLICK = 0xfffffffe;
-	public static final int NM_CUSTOMDRAW = NM_FIRST - 12;
-	public static final int NM_DBLCLK = 0xfffffffd;
-	public static final int NM_RECOGNIZEGESTURE = NM_FIRST - 16;
-	public static final int NM_RELEASEDCAPTURE = NM_FIRST - 16;
-	public static final int NM_RETURN = 0xfffffffc;
-	public static final int NOTIFYICONDATAA_V2_SIZE = 488;
-	public static final int NOTIFYICONDATAW_V2_SIZE = 936;
-	public static final int NOTIFYICONDATA_V2_SIZE = IsUnicode ? NOTIFYICONDATAW_V2_SIZE : NOTIFYICONDATAA_V2_SIZE;
-	public static final int NOTSRCCOPY = 0x330008;
-	public static final int NULLREGION = 0x1;
-	public static final int NULL_BRUSH = 0x5;
-	public static final int NULL_PEN = 0x8;
-	public static final int NUMRESERVED = 106;
-	public static final int OBJID_CARET = 0xFFFFFFF8;
-	public static final int OBJID_CLIENT = 0xFFFFFFFC;
-	public static final int OBJID_MENU = 0xFFFFFFFD;
-	public static final int OBJID_WINDOW = 0x00000000;
-	public static final int OBJ_BITMAP = 0x7;
-	public static final int OBJ_FONT = 0x6;
-	public static final int OBJ_PEN = 0x1;
-	public static final int OBM_CHECKBOXES = 0x7ff7;
-	public static final int ODS_SELECTED = 0x1;
-	public static final int ODT_MENU = 0x1;
-	public static final int OFN_ALLOWMULTISELECT = 0x200;
-	public static final int OFN_EXPLORER = 0x80000;
-	public static final int OFN_HIDEREADONLY = 0x4;
-	public static final int OFN_NOCHANGEDIR = 0x8;
-	public static final int OIC_BANG = 0x7F03;
-	public static final int OIC_HAND = 0x7F01;
-	public static final int OIC_INFORMATION = 0x7F04;
-	public static final int OIC_QUES = 0x7F02;
-	public static final int OIC_WINLOGO = 0x7F05;
-	public static final int OPAQUE = 0x2;
-	public static final int PATCOPY = 0xf00021;
-	public static final int PATINVERT = 0x5a0049;
-	public static final int PBM_GETPOS = 0x408;
-	public static final int PBM_GETRANGE = 0x407;
-	public static final int PBM_SETBARCOLOR = 0x409;
-	public static final int PBM_SETBKCOLOR = 0x2001;
-	public static final int PBM_SETMARQUEE = OS.WM_USER + 10;
-	public static final int PBM_SETPOS = 0x402;
-	public static final int PBM_SETRANGE32 = 0x406;
-	public static final int PBM_STEPIT = 0x405;
-	public static final int PBS_MARQUEE = 0x08;
-	public static final int PBS_SMOOTH = 0x1;
-	public static final int PBS_VERTICAL = 0x4;
-	public static final int PBS_NORMAL = 1;
-	public static final int PBS_HOT = 2;
-	public static final int PBS_PRESSED = 3; 
-	public static final int PBS_DISABLED = 4;
-	public static final int PBS_DEFAULTED = 5;
-	public static final int PD_ALLPAGES = 0x0;
-	public static final int PD_COLLATE = 0x10;
-	public static final int PD_PAGENUMS = 0x2;
-	public static final int PD_PRINTTOFILE = 0x20;
-	public static final int PD_RETURNDC = 0x100;
-	public static final int PD_SELECTION = 0x1;
-	public static final int PD_USEDEVMODECOPIESANDCOLLATE = 0x40000;
-	public static final int PFM_TABSTOPS = 0x10;
-	public static final int PHYSICALHEIGHT = 0x6f;
-	public static final int PHYSICALOFFSETX = 0x70;
-	public static final int PHYSICALOFFSETY = 0x71;
-	public static final int PHYSICALWIDTH = 0x6e;
-	public static final int PLANES = 0xe;
-	public static final int PM_NOREMOVE = 0x0;
-	public static final int PM_NOYIELD = 0x2;
-	public static final int PRF_CLIENT = 0x4;
-	public static final int PRF_ERASEBKGND = 0x8;
-	public static final int PRF_NONCLIENT = 0x2; 
-	public static final int QS_HOTKEY = 0x0080;
-	public static final int QS_KEY = 0x0001;
-	public static final int QS_MOUSEMOVE = 0x0002;
-	public static final int QS_MOUSEBUTTON = 0x0004;
-	public static final int QS_MOUSE = QS_MOUSEMOVE | QS_MOUSEBUTTON;
-	public static final int QS_INPUT = QS_KEY | QS_MOUSE;
-	public static final int QS_POSTMESSAGE = 0x0008;
-	public static final int QS_TIMER = 0x0010;
-	public static final int QS_PAINT = 0x0020;
-	public static final int QS_SENDMESSAGE = 0x0040;
-	public static final int QS_ALLINPUT = QS_MOUSEMOVE | QS_MOUSEBUTTON | QS_KEY | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_SENDMESSAGE;
-	public static final int PROGRESSCHUNKSIZE = 2411;
-	public static final int PROGRESSSPACESIZE = 2412;
-	public static final int PM_QS_INPUT = QS_INPUT << 16;
-	public static final int PM_QS_POSTMESSAGE = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16;
-	public static final int PM_QS_PAINT = QS_PAINT << 16;
-	public static final int PM_QS_SENDMESSAGE = QS_SENDMESSAGE << 16;
-	public static final int PM_REMOVE = 0x1;
-	public static final String PROGRESS_CLASS = "msctls_progress32"; //$NON-NLS-1$
-	public static final int PP_BAR = 1;
-	public static final int PP_BARVERT = 2;
-	public static final int PP_CHUNK = 3;
-	public static final int PP_CHUNKVERT = 4;
-	public static final int PS_DASH = 0x1;
-	public static final int PS_DASHDOT = 0x3;
-	public static final int PS_DASHDOTDOT = 0x4;
-	public static final int PS_DOT = 0x2;
-	public static final int PS_ENDCAP_FLAT = 0x200;
-	public static final int PS_ENDCAP_SQUARE = 0x100;
-	public static final int PS_ENDCAP_ROUND = 0x000;
-	public static final int PS_ENDCAP_MASK = 0xF00;
-	public static final int PS_GEOMETRIC = 0x10000;
-	public static final int PS_JOIN_BEVEL = 0x1000;
-	public static final int PS_JOIN_MASK = 0xF000;
-	public static final int PS_JOIN_MITER = 0x2000;
-	public static final int PS_JOIN_ROUND = 0x0000;
-	public static final int PS_SOLID = 0x0;
-	public static final int PS_STYLE_MASK = 0xf;
-	public static final int PS_TYPE_MASK = 0x000f0000;
-	public static final int PS_USERSTYLE = 0x7;
-	public static final int R2_COPYPEN = 0xd;
-	public static final int R2_XORPEN = 0x7;
-	public static final int RASTERCAPS = 0x26;
-	public static final int RASTER_FONTTYPE = 0x1;
-	public static final int RBBIM_CHILD = 0x10;
-	public static final int RBBIM_CHILDSIZE = 0x20;
-	public static final int RBBIM_COLORS = 0x2;
-	public static final int RBBIM_HEADERSIZE = 0x800;
-	public static final int RBBIM_ID = 0x100;
-	public static final int RBBIM_IDEALSIZE = 0x200;
-	public static final int RBBIM_SIZE = 0x40;
-	public static final int RBBIM_STYLE = 0x1;
-	public static final int RBBIM_TEXT = 0x4;
-	public static final int RBBS_BREAK = 0x1;
-	public static final int RBBS_GRIPPERALWAYS = 0x80;
-	public static final int RBBS_NOGRIPPER = 0x00000100;
-	public static final int RBBS_USECHEVRON = 0x00000200;
-	public static final int RBBS_VARIABLEHEIGHT = 0x40;
-	public static final int RBN_FIRST = 0xfffffcc1;
-	public static final int RBN_BEGINDRAG = RBN_FIRST - 4;
-	public static final int RBN_CHILDSIZE = RBN_FIRST - 8;
-	public static final int RBN_CHEVRONPUSHED = RBN_FIRST - 10;
-	public static final int RBN_HEIGHTCHANGE = 0xfffffcc1;
-	public static final int RBS_DBLCLKTOGGLE = 0x8000;
-	public static final int RBS_BANDBORDERS = 0x400;
-	public static final int RBS_VARHEIGHT = 0x200;
-	public static final int RB_DELETEBAND = 0x402;
-	public static final int RB_GETBANDBORDERS = 0x422;
-	public static final int RB_GETBANDCOUNT = 0x40c;
-	public static final int RB_GETBANDINFO = IsUnicode ? 0x41c : 0x41d;
-	public static final int RB_GETBANDMARGINS = 0x428;
-	public static final int RB_GETBARHEIGHT = 0x41b;
-	public static final int RB_GETBKCOLOR = 0x414;
-	public static final int RB_GETRECT = 0x409;
-	public static final int RB_GETTEXTCOLOR = 0x416;
-	public static final int RB_IDTOINDEX = 0x410;
-	public static final int RB_INSERTBAND = IsUnicode ? 0x40a : 0x401;
-	public static final int RB_MOVEBAND = 0x427;
-	public static final int RB_SETBANDINFO = IsUnicode ? 0x40b : 0x406;
-	public static final int RB_SETBKCOLOR = 0x413;
-	public static final int RB_SETTEXTCOLOR = 0x415;
-	public static final int RC_BITBLT = 0x1;
-	public static final int RC_PALETTE = 0x100;
-	public static final int RDW_ALLCHILDREN = 0x80;
-	public static final int RDW_ERASE = 0x4;
-	public static final int RDW_FRAME = 0x400;
-	public static final int RDW_INVALIDATE = 0x1;
-	public static final int RDW_UPDATENOW = 0x100;
-	public static final int READ_CONTROL = 0x20000;
-	public static final String REBARCLASSNAME = "ReBarWindow32"; //$NON-NLS-1$
-	public static final int RGN_AND = 0x1;
-	public static final int RGN_COPY = 5;
-	public static final int RGN_DIFF = 0x4;
-	public static final int RGN_ERROR = 0;
-	public static final int RGN_OR = 0x2;
-	public static final int RP_BAND = 3;
-	public static final int SBP_ARROWBTN = 0x1;
-	public static final int SBP_THUMBBTNHORZ = 2;
-	public static final int SBP_THUMBBTNVERT = 3;
-	public static final int SBP_LOWERTRACKHORZ = 4;
-	public static final int SBP_UPPERTRACKHORZ = 5;
-	public static final int SBP_LOWERTRACKVERT = 6;
-	public static final int SBP_UPPERTRACKVERT = 7;
-	public static final int SBP_GRIPPERHORZ = 8;
-	public static final int SBP_GRIPPERVERT = 9;
-	public static final int SBP_SIZEBOX = 10;
-	public static final int SBS_HORZ = 0x0;
-	public static final int SBS_VERT = 0x1;
-	public static final int SB_BOTH = 0x3;
-	public static final int SB_BOTTOM = 0x7;
-	public static final int SB_CTL = 0x2;
-	public static final int SB_ENDSCROLL = 0x8;
-	public static final int SB_HORZ = 0x0;
-	public static final int SB_LINEDOWN = 0x1;
-	public static final int SB_LINEUP = 0x0;
-	public static final int SB_PAGEDOWN = 0x3;
-	public static final int SB_PAGEUP = 0x2;
-	public static final int SB_THUMBPOSITION = 0x4;
-	public static final int SB_THUMBTRACK = 0x5;
-	public static final int SB_TOP = 0x6;
-	public static final int SB_VERT = 0x1;
-	public static final int SCF_ALL = 0x4;
-	public static final int SCF_DEFAULT = 0x0;
-	public static final int SCF_SELECTION = 0x1;
-	public static final int SC_CLOSE = 0xf060;
-	public static final int SC_HSCROLL = 0xf080;
-	public static final int SC_KEYMENU = 0xf100;
-	public static final int SC_MAXIMIZE = 0xf030;
-	public static final int SC_MINIMIZE = 0xf020;
-	public static final int SC_NEXTWINDOW = 0xF040;
-	public static final int SC_RESTORE = 0xf120;
-	public static final int SC_SIZE = 0xf000;
-	public static final int SC_TASKLIST = 0xf130;
-	public static final int SC_VSCROLL = 0xf070;
-	public static final int SCRBS_NORMAL = 1;
-	public static final int SCRBS_HOT = 2;
-	public static final int SCRBS_PRESSED = 3;
-	public static final int SCRBS_DISABLED = 4;
-	public static final int SEM_FAILCRITICALERRORS = 0x1;
-	public static final int SF_RTF = 0x2;
-	public static final int SHCMBF_HIDDEN = 0x2;
-	public static final int SHCMBM_OVERRIDEKEY = 0x400 + 403;
-	public static final int SHCMBM_SETSUBMENU = 0x590;
-	public static final int SHCMBM_GETSUBMENU = 0x591;
-	public static final int SHMBOF_NODEFAULT = 0x1;
-	public static final int SHMBOF_NOTIFY = 0x2;
-	public static final int SHRG_RETURNCMD = 0x1;
-	public static final int SIF_ALL = 0x17;
-	public static final int SIF_DISABLENOSCROLL = 0x8;
-	public static final int SIF_PAGE = 0x2;
-	public static final int SIF_POS = 0x4;
-	public static final int SIF_RANGE = 0x1;
-	public static final int SIF_TRACKPOS = 0x10;
-	public static final int SIP_DOWN = 1;
-	public static final int SIP_UP = 0;
-	public static final int SIPF_ON = 0x1;
-	public static final int SIZE_RESTORED = 0;
-	public static final int SIZE_MINIMIZED = 1;
-	public static final int SIZE_MAXIMIZED = 2;
-	public static final int SIZEPALETTE = 104;
-	public static final int SM_CMONITORS = 80;
-	public static final int SM_CXBORDER = 0x5;
-	public static final int SM_CXCURSOR = 0xd;
-	public static final int SM_CXDOUBLECLK = 36;
-	public static final int SM_CYDOUBLECLK = 37;
-	public static final int SM_CXEDGE = 0x2d;
-	public static final int SM_CXHSCROLL = 0x15;
-	public static final int SM_CXICON = 0x0b;
-	public static final int SM_CYICON = 0x0c;
-	public static final int SM_CXVIRTUALSCREEN = 78;
-	public static final int SM_CYVIRTUALSCREEN = 79;
-	public static final int SM_CXSMICON = 49;
-	public static final int SM_CYSMICON = 50;
-	public static final int SM_CXSCREEN = 0x0;
-	public static final int SM_XVIRTUALSCREEN = 76;
-	public static final int SM_YVIRTUALSCREEN = 77;
-	public static final int SM_CXVSCROLL = 0x2;
-	public static final int SM_CYBORDER = 0x6;
-	public static final int SM_CYCURSOR = 0xe;
-	public static final int SM_CYHSCROLL = 0x3;
-	public static final int SM_CYMENU = 0xf;
-	public static final int SM_CXMINTRACK = 34;
-	public static final int SM_CYMINTRACK = 35;
-	public static final int SM_CYSCREEN = 0x1;
-	public static final int SM_CYVSCROLL = 0x14;
-	public static final int SM_DBCSENABLED = 0x2A;
-	public static final int SM_IMMENABLED = 0x52;
-	public static final int SPI_GETFONTSMOOTHINGTYPE = 0x200A;
-	public static final int SPI_GETHIGHCONTRAST = 66;
-	public static final int SPI_GETWORKAREA = 0x30;
-	public static final int SPI_GETNONCLIENTMETRICS = 41;
-	public static final int SPI_GETWHEELSCROLLLINES = 104;
-	public static final int SPI_SETSIPINFO = 224;
-	public static final int SPI_SETHIGHCONTRAST = 67;
-	public static final int SRCAND = 0x8800c6;
-	public static final int SRCCOPY = 0xcc0020;
-	public static final int SRCINVERT = 0x660046;
-	public static final int SRCPAINT = 0xee0086;
-	public static final int SS_BITMAP = 0xe;
-	public static final int SS_CENTER = 0x1;
-	public static final int SS_CENTERIMAGE = 0x200;
-	public static final int SS_EDITCONTROL = 0x2000;
-	public static final int SS_ICON = 0x3;
-	public static final int SS_LEFT = 0x0;
-	public static final int SS_LEFTNOWORDWRAP = 0xc;
-	public static final int SS_NOTIFY = 0x100;
-	public static final int SS_OWNERDRAW = 0xd;
-	public static final int SS_REALSIZEIMAGE = 0x800;
-	public static final int SS_RIGHT = 0x2;
-	public static final int STANDARD_RIGHTS_READ = 0x20000;
-	public static final int STD_COPY = 0x1;
-	public static final int STD_CUT = 0x0;
-	public static final int STD_FILENEW = 0x6;
-	public static final int STD_FILEOPEN = 0x7;
-	public static final int STD_FILESAVE = 0x8;
-	public static final int STD_PASTE = 0x2;
-	public static final int STM_GETIMAGE = 0x173;
-	public static final int STM_SETIMAGE = 0x172;
-	public static final int SWP_ASYNCWINDOWPOS = 0x4000;
-	public static final int SWP_DRAWFRAME = 0x20;
-	public static final int SWP_NOACTIVATE = 0x10;
-	public static final int SWP_NOCOPYBITS = 0x100;
-	public static final int SWP_NOMOVE = 0x2;
-	public static final int SWP_NOREDRAW = 0x8;
-	public static final int SWP_NOSIZE = 0x1;
-	public static final int SWP_NOZORDER = 0x4;
-	public static final int SW_ERASE = 0x4;
-	public static final int SW_HIDE = 0x0;
-	public static final int SW_INVALIDATE = 0x2;
-	public static final int SW_MINIMIZE = 0x6;
-	public static final int SW_PARENTOPENING = 0x3;
-	public static final int SW_RESTORE = IsWinCE ? 0xd : 0x9;
-	public static final int SW_SCROLLCHILDREN = 0x1;
-	public static final int SW_SHOW = 0x5;
-	public static final int SW_SHOWMAXIMIZED = IsWinCE ? 0xb : 0x3;
-	public static final int SW_SHOWMINIMIZED = 0x2;
-	public static final int SW_SHOWMINNOACTIVE = 0x7;
-	public static final int SW_SHOWNA = 0x8;
-	public static final int SW_SHOWNOACTIVATE = 0x4;
-	public static final int SYNCHRONIZE = 0x100000;
-	public static final int SYSRGN = 0x4;
-	public static final int SYSTEM_FONT = 0xd;
-	public static final int S_OK = 0x0;
-	public static final int TABP_TABITEM = 1;
-	public static final int TABP_TABITEMLEFTEDGE = 2;
-	public static final int TABP_TABITEMRIGHTEDGE = 3;
-	public static final int TABP_TABITEMBOTHEDGE = 4;
-	public static final int TABP_TOPTABITEM = 5;
-	public static final int TABP_TOPTABITEMLEFTEDGE = 6;
-	public static final int TABP_TOPTABITEMRIGHTEDGE = 7;
-	public static final int TABP_TOPTABITEMBOTHEDGE = 8;
-	public static final int TABP_PANE = 9;
-	public static final int TABP_BODY = 10;
-	public static final int TBIF_COMMAND = 0x20;
-	public static final int TBIF_STATE = 0x4;
-	public static final int TBIF_IMAGE = 0x1;
-	public static final int TBIF_LPARAM = 0x10;
-	public static final int TBIF_SIZE = 0x40;
-	public static final int TBIF_STYLE = 0x8;
-	public static final int TBIF_TEXT = 0x2;
-	public static final int TB_GETEXTENDEDSTYLE = 0x400 + 85;
-	public static final int TBM_GETLINESIZE = 0x418;
-	public static final int TBM_GETPAGESIZE = 0x416;
-	public static final int TBM_GETPOS = 0x400;
-	public static final int TBM_GETRANGEMAX = 0x402;
-	public static final int TBM_GETRANGEMIN = 0x401;
-	public static final int TBM_GETTHUMBRECT = 0x419;
-	public static final int TBM_SETLINESIZE = 0x417;
-	public static final int TBM_SETPAGESIZE = 0x415;
-	public static final int TBM_SETPOS = 0x405;
-	public static final int TBM_SETRANGEMAX = 0x408;
-	public static final int TBM_SETRANGEMIN = 0x407;
-	public static final int TBM_SETTICFREQ = 0x414;
-	public static final int TBN_DROPDOWN = 0xfffffd3a;
-	public static final int TBN_FIRST = 0xfffffd44;
-	public static final int TBN_HOTITEMCHANGE = 0xFFFFFD37;
-	public static final int TBSTATE_CHECKED = 0x1;
-	public static final int TBSTATE_PRESSED = 0x02;
-	public static final int TBSTYLE_CUSTOMERASE = 0x2000;
-	public static final int TBSTYLE_DROPDOWN = 0x8;
-	public static final int TBSTATE_ENABLED = 0x4;
-	public static final int TBSTYLE_AUTOSIZE = 0x10;
-	public static final int TBSTYLE_EX_DOUBLEBUFFER = 0x80; 
-	public static final int TBSTYLE_EX_DRAWDDARROWS = 0x1;
-	public static final int TBSTYLE_EX_HIDECLIPPEDBUTTONS = 0x10;
-	public static final int TBSTYLE_EX_MIXEDBUTTONS = 0x8;
-	public static final int TBSTYLE_FLAT = 0x800;
-	public static final int TBSTYLE_LIST = 0x1000;
-	public static final int TBSTYLE_TOOLTIPS = 0x100;
-	public static final int TBSTYLE_TRANSPARENT = 0x8000;
-	public static final int TBSTYLE_WRAPABLE = 0x200;
-	public static final int TBS_AUTOTICKS = 0x1;
-	public static final int TBS_BOTH = 0x8;
-	public static final int TBS_DOWNISLEFT = 0x0400;
-	public static final int TBS_HORZ = 0x0;
-	public static final int TBS_VERT = 0x2;
-	public static final int TB_ADDSTRING = IsUnicode ? 0x44d : 0x41c;
-	public static final int TB_AUTOSIZE = 0x421;
-	public static final int TB_BUTTONCOUNT = 0x418;
-	public static final int TB_BUTTONSTRUCTSIZE = 0x41e;
-	public static final int TB_COMMANDTOINDEX = 0x419;
-	public static final int TB_DELETEBUTTON = 0x416;
-	public static final int TB_ENDTRACK = 0x8;
-	public static final int TB_GETBUTTON = 0x417;
-	public static final int TB_GETBUTTONINFO = IsUnicode ? 0x43f : 0x441;
-	public static final int TB_GETBUTTONSIZE = 0x43a;
-	public static final int TB_GETBUTTONTEXT = IsUnicode ? 0x44b : 0x42d;
-	public static final int TB_GETDISABLEDIMAGELIST = 0x437;
-	public static final int TB_GETHOTIMAGELIST = 0x435;
-	public static final int TB_GETHOTITEM = 0x0400 + 71;
-	public static final int TB_GETIMAGELIST = 0x431;
-	public static final int TB_GETITEMRECT = 0x41d;
-	public static final int TB_GETPADDING = 0x0400 + 86;
-	public static final int TB_GETROWS = 0x428;
-	public static final int TB_GETSTATE = 0x412;
-	public static final int TB_GETTOOLTIPS = 0x423;
-	public static final int TB_INSERTBUTTON = IsUnicode ? 0x443 : 0x415;
-	public static final int TB_LOADIMAGES = 0x432;
-	public static final int TB_MAPACCELERATOR = 0x0400 + (IsUnicode ? 90 : 78);
-	public static final int TB_SETBITMAPSIZE = 0x420;
-	public static final int TB_SETBUTTONINFO = IsUnicode ? 0x440 : 0x442;
-	public static final int TB_SETBUTTONSIZE = 0x41f;
-	public static final int TB_SETDISABLEDIMAGELIST = 0x436;
-	public static final int TB_SETEXTENDEDSTYLE = 0x454;
-	public static final int TB_SETHOTIMAGELIST = 0x434;
-	public static final int TB_SETHOTITEM =  0x0400 + 72;
-	public static final int TB_SETIMAGELIST = 0x430;
-	public static final int TB_SETPARENT = 0x400 + 37;
-	public static final int TB_SETROWS = 0x427;
-	public static final int TB_SETSTATE = 0x411;
-	public static final int TB_THUMBPOSITION = 0x4;
-	public static final int TCIF_IMAGE = 0x2;
-	public static final int TCIF_TEXT = 0x1;
-	public static final int TCI_SRCCHARSET = 0x1;
-	public static final int TCI_SRCCODEPAGE = 0x2;
-	public static final int TCM_ADJUSTRECT = 0x1328;
-	public static final int TCM_DELETEITEM = 0x1308;
-	public static final int TCM_GETCURSEL = 0x130b;
-	public static final int TCM_GETITEMCOUNT = 0x1304;
-	public static final int TCM_GETITEMRECT = 0x130a;
-	public static final int TCM_GETTOOLTIPS = 0x132d;
-	public static final int TCM_INSERTITEM = IsUnicode ? 0x133e : 0x1307;
-	public static final int TCM_SETCURSEL = 0x130c;
-	public static final int TCM_SETIMAGELIST = 0x1303;
-	public static final int TCM_SETITEM = IsUnicode ? 0x133d : 0x1306;
-	public static final int TCN_SELCHANGE = 0xfffffdd9;
-	public static final int TCN_SELCHANGING = 0xfffffdd8;
-	public static final int TCS_BOTTOM = 0x0002;
-	public static final int TCS_FOCUSNEVER = 0x8000;
-	public static final int TCS_MULTILINE = 0x200;
-	public static final int TCS_TABS = 0x0;
-	public static final int TCS_TOOLTIPS = 0x4000;
-	public static final int TECHNOLOGY = 0x2;
-	public static final int TIS_NORMAL = 1;
-	public static final int TIS_HOT = 2;
-	public static final int TIS_SELECTED = 3;
-	public static final int TIS_DISABLED = 4;
-	public static final int TIS_FOCUSED = 5;
-	public static final int TKP_TRACK = 1;
-	public static final int TKP_TRACKVERT = 2;
-	public static final int TKP_THUMB = 3;
-	public static final int TKP_THUMBBOTTOM = 4;
-	public static final int TKP_THUMBTOP = 5;
-	public static final int TKP_THUMBVERT = 6;
-	public static final int TKP_THUMBLEFT = 7;
-	public static final int TKP_THUMBRIGHT = 8;
-	public static final int TKP_TICS = 9;
-	public static final int TKP_TICSVERT = 10;
-	public static final int TME_HOVER = 0x1;
-	public static final int TME_LEAVE = 0x2;
-	public static final int TME_QUERY = 0x40000000;
-	public static final int TMPF_VECTOR = 0x2;
-	public static final int TMT_CONTENTMARGINS = 3602;
-	public static final String TOOLBARCLASSNAME = "ToolbarWindow32"; //$NON-NLS-1$
-	public static final String TOOLTIPS_CLASS = "tooltips_class32"; //$NON-NLS-1$
-	public static final int TP_BUTTON = 1;
-	public static final int TP_DROPDOWNBUTTON = 2;
-	public static final int TP_SPLITBUTTON = 3;
-	public static final int TP_SPLITBUTTONDROPDOWN = 4;
-	public static final int TP_SEPARATOR = 5;
-	public static final int TP_SEPARATORVERT = 6;
-	public static final int TPM_LEFTALIGN = 0x0;
-	public static final int TPM_LEFTBUTTON = 0x0;
-	public static final int TPM_RIGHTBUTTON = 0x2;
-	public static final int TPM_RIGHTALIGN = 0x8;
-	public static final String TRACKBAR_CLASS = "msctls_trackbar32"; //$NON-NLS-1$
-	public static final int TRANSPARENT = 0x1;
-	public static final int TS_MIN = 0;
-	public static final int TS_TRUE = 1;
-	public static final int TS_DRAW = 2;
-	public static final int TS_NORMAL = 1;
-	public static final int TS_HOT = 2;
-	public static final int TS_PRESSED = 3;
-	public static final int TS_DISABLED = 4;
-	public static final int TS_CHECKED = 5;
-	public static final int TS_HOTCHECKED = 6;
-	public static final int TTDT_AUTOMATIC = 0;
-	public static final int TTDT_RESHOW = 1;
-	public static final int TTDT_AUTOPOP = 2;
-	public static final int TTDT_INITIAL = 3;
-	public static final int TTF_ABSOLUTE = 0x80;
-	public static final int TTF_IDISHWND = 0x1;
-	public static final int TTF_SUBCLASS = 0x10;
-	public static final int TTF_RTLREADING = 0x4;
-	public static final int TTF_TRACK = 0x20;
-	public static final int TTF_TRANSPARENT = 0x100;
-	public static final int TTI_NONE = 0;
-	public static final int TTI_INFO = 1;
-	public static final int TTI_WARNING = 2;
-	public static final int TTI_ERROR= 3;
-	public static final int TTM_ACTIVATE = 0x400 + 1;
-	public static final int TTM_ADDTOOL = IsUnicode ? 0x432 : 0x404;
-	public static final int TTM_GETCURRENTTOOLA = 0x400 + 15;
-	public static final int TTM_GETCURRENTTOOLW = 0x400 + 59;
-	public static final int TTM_GETCURRENTTOOL = 0x400 + (IsUnicode ? 59 : 15);
-	public static final int TTM_GETDELAYTIME = 0x400 + 21;
-	public static final int TTM_DELTOOL = IsUnicode ? 0x433 : 0x405;
-	public static final int TTM_GETTOOLINFO = 0x400 + (IsUnicode ? 53 : 8);
-	public static final int TTM_NEWTOOLRECT = 0x400 + (IsUnicode ? 52 : 6);
-	public static final int TTM_POP = 0x400 + 28; 
-	public static final int TTM_SETDELAYTIME = 0x400 + 3;
-	public static final int TTM_SETMAXTIPWIDTH = 0x418;
-	public static final int TTM_SETTITLEA = 0x400 + 32;
-	public static final int TTM_SETTITLEW = 0x400 + 33;
-	public static final int TTM_SETTITLE = 0x400 + (IsUnicode ? 33 : 32);
-	public static final int TTM_TRACKPOSITION = 1042;
-	public static final int TTM_TRACKACTIVATE = 1041;
-	public static final int TTM_UPDATE = 0x41D;
-	public static final int TTN_FIRST = 0xfffffdf8;
-	public static final int TTN_GETDISPINFO = IsUnicode ? 0xfffffdee : 0xfffffdf8;
-	public static final int TTN_GETDISPINFOW = 0xfffffdee;
-	public static final int TTN_GETDISPINFOA = 0xfffffdf8;
-	public static final int TTN_POP = TTN_FIRST - 2;
-	public static final int TTN_SHOW = TTN_FIRST - 1;
-	public static final int TTS_ALWAYSTIP = 0x1;
-	public static final int TTS_BALLOON = 0x40;
-	public static final int TV_FIRST = 0x1100;
-	public static final int TVE_COLLAPSE = 0x1;
-	public static final int TVE_COLLAPSERESET = 0x8000;
-	public static final int TVE_EXPAND = 0x2;
-	public static final int TVGN_CARET = 0x9;
-	public static final int TVGN_CHILD = 0x4;
-	public static final int TVGN_DROPHILITED = 0x8;
-	public static final int TVGN_FIRSTVISIBLE = 0x5;
-	public static final int TVGN_LASTVISIBLE = 0xa;
-	public static final int TVGN_NEXT = 0x1;
-	public static final int TVGN_NEXTVISIBLE = 0x6;
-	public static final int TVGN_PARENT = 0x3;
-	public static final int TVGN_PREVIOUS = 0x2;
-	public static final int TVGN_PREVIOUSVISIBLE = 0x7;
-	public static final int TVGN_ROOT = 0x0;
-	public static final int TVHT_ONITEM = 0x46;
-	public static final int TVHT_ONITEMBUTTON = 16;
-	public static final int TVHT_ONITEMICON = 0x2;
-	public static final int TVHT_ONITEMLABEL = 0x4;
-	public static final int TVHT_ONITEMSTATEICON = 0x40;
-	public static final int TVIF_HANDLE = 0x10;
-	public static final int TVIF_IMAGE = 0x2;
-	public static final int TVIF_INTEGRAL = 0x0080;
-	public static final int TVIF_PARAM = 0x4;
-	public static final int TVIF_SELECTEDIMAGE = 0x20;
-	public static final int TVIF_STATE = 0x8;
-	public static final int TVIF_TEXT = 0x1;
-	public static final int TVIS_DROPHILITED = 0x8;
-	public static final int TVIS_EXPANDED = 0x20;
-	public static final int TVIS_SELECTED = 0x2;
-	public static final int TVIS_STATEIMAGEMASK = 0xf000;
-	public static final int TVI_FIRST = 0xffff0001;
-	public static final int TVI_LAST = 0xffff0002;
-	public static final int TVI_ROOT = 0xffff0000;
-	public static final int TVM_CREATEDRAGIMAGE = TV_FIRST + 18;
-	public static final int TVM_DELETEITEM = 0x1101;
-	public static final int TVM_ENSUREVISIBLE = 0x1114;
-	public static final int TVM_EXPAND = 0x1102;
-	public static final int TVM_GETBKCOLOR = 0x111f;
-	public static final int TVM_GETCOUNT = 0x1105;
-	public static final int TVM_GETIMAGELIST = 0x1108;
-	public static final int TVM_GETITEM = IsUnicode ? 0x113e : 0x110c;
-	public static final int TVM_GETITEMHEIGHT = 0x111c;
-	public static final int TVM_GETITEMRECT = 0x1104;
-	public static final int TVM_GETITEMSTATE = TV_FIRST + 39;
-	public static final int TVM_GETNEXTITEM = 0x110a;
-	public static final int TVM_GETTEXTCOLOR = 0x1120;
-	public static final int TVM_GETTOOLTIPS = TV_FIRST + 25;
-	public static final int TVM_GETVISIBLECOUNT = TV_FIRST + 16;
-	public static final int TVM_HITTEST = 0x1111;
-	public static final int TVM_INSERTITEM = IsUnicode ? 0x1132 : 0x1100;
-	public static final int TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42;
-	public static final int TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43;
-	public static final int TVM_SELECTITEM = 0x110b;
-	public static final int TVM_SETBKCOLOR = 0x111d;
-	public static final int TVM_SETIMAGELIST = 0x1109;
-	public static final int TVM_SETINSERTMARK = 0x111a;
-	public static final int TVM_SETITEM = IsUnicode ? 0x113f : 0x110d;
-	public static final int TVM_SETITEMHEIGHT = TV_FIRST + 27;
-	public static final int TVM_SETSCROLLTIME = TV_FIRST + 33;
-	public static final int TVM_SETTEXTCOLOR = 0x111e;
-	public static final int TVN_BEGINDRAGW = 0xfffffe38;
-	public static final int TVN_BEGINDRAGA = 0xfffffe69;
-	public static final int TVN_BEGINRDRAGW = 0xfffffe37;
-	public static final int TVN_BEGINRDRAGA = 0xfffffe68;
-	public static final int TVN_FIRST = 0xfffffe70;
-	public static final int TVN_GETDISPINFOA = TVN_FIRST - 3;
-	public static final int TVN_GETDISPINFOW = TVN_FIRST - 52;
-	public static final int TVN_ITEMCHANGINGW = TVN_FIRST - 17;
-	public static final int TVN_ITEMCHANGINGA = TVN_FIRST - 16;
-	public static final int TVN_ITEMEXPANDEDA = TVN_FIRST -6;
-	public static final int TVN_ITEMEXPANDEDW = TVN_FIRST - 55;
-	public static final int TVN_ITEMEXPANDINGW = 0xfffffe3a;
-	public static final int TVN_ITEMEXPANDINGA = 0xfffffe6b;
-	public static final int TVN_SELCHANGEDW = 0xfffffe3d;
-	public static final int TVN_SELCHANGEDA = 0xfffffe6e;
-	public static final int TVN_SELCHANGINGW = 0xfffffe3e;
-	public static final int TVN_SELCHANGINGA = 0xfffffe6f;
-	public static final int TVP_GLYPH = 2;
-	public static final int TVSIL_NORMAL = 0x0;
-	public static final int TVSIL_STATE = 0x2;
-	public static final int TVS_DISABLEDRAGDROP = 0x10;
-	public static final int TVS_FULLROWSELECT = 0x1000;
-	public static final int TVS_HASBUTTONS = 0x1;
-	public static final int TVS_HASLINES = 0x2;
-	public static final int TVS_LINESATROOT = 0x4;
-	public static final int TVS_NOHSCROLL = 0x8000;
-	public static final int TVS_NONEVENHEIGHT = 0x4000;
-	public static final int TVS_NOTOOLTIPS = 0x80;
-	public static final int TVS_SHOWSELALWAYS = 0x20;
-	public static final int UDM_GETACCEL = 0x046C;
-	public static final int UDM_GETRANGE32 = 0x0470;
-	public static final int UDM_GETPOS = 0x468;
-	public static final int UDM_GETPOS32 = 0x0472;
-	public static final int UDM_SETACCEL = 0x046B;
-	public static final int UDM_SETRANGE32 = 0x046f;
-	public static final int UDM_SETPOS = 0x467;
-	public static final int UDM_SETPOS32 = 0x0471;
-	public static final int UDN_DELTAPOS = -722;
-	public static final int UDS_ALIGNLEFT = 0x008;
-	public static final int UDS_ALIGNRIGHT = 0x004;
-	public static final int UDS_AUTOBUDDY = 0x0010;
-	public static final int UDS_WRAP = 0x0001;
-	public static final int UIS_INITIALIZE = 3;
-	public static final int UISF_HIDEACCEL = 0x2;
-	public static final int UISF_HIDEFOCUS = 0x1;
-	public static final String UPDOWN_CLASS = "msctls_updown32"; //$NON-NLS-1$
-	public static final int USP_E_SCRIPT_NOT_IN_FONT = 0x80040200;
-	public static final int VERTRES = 0xa;
-	public static final int VK_BACK = 0x8;
-	public static final int VK_CANCEL = 0x3;
-	public static final int VK_CAPITAL = 0x14;
-	public static final int VK_CONTROL = 0x11;
-	public static final int VK_DECIMAL = 0x6E;
-	public static final int VK_DELETE = 0x2e;
-	public static final int VK_DIVIDE = 0x6f;
-	public static final int VK_DOWN = 0x28;
-	public static final int VK_END = 0x23;
-	public static final int VK_ESCAPE = 0x1b;
-	public static final int VK_F1 = 0x70;
-	public static final int VK_F10 = 0x79;
-	public static final int VK_F11 = 0x7a;
-	public static final int VK_F12 = 0x7b;
-	public static final int VK_F13 = 0x7c;
-	public static final int VK_F14 = 0x7d;
-	public static final int VK_F15 = 0x7e;
-	public static final int VK_F2 = 0x71;
-	public static final int VK_F3 = 0x72;
-	public static final int VK_F4 = 0x73;
-	public static final int VK_F5 = 0x74;
-	public static final int VK_F6 = 0x75;
-	public static final int VK_F7 = 0x76;
-	public static final int VK_F8 = 0x77;
-	public static final int VK_F9 = 0x78;
-	public static final int VK_HOME = 0x24;
-	public static final int VK_INSERT = 0x2d;
-	public static final int VK_LBUTTON = 0x1;
-	public static final int VK_LEFT = 0x25;
-	public static final int VK_MBUTTON = 0x4;
-	public static final int VK_MENU = 0x12;
-	public static final int VK_MULTIPLY = 0x6A;
-	public static final int VK_N = 0x4e;
-	public static final int VK_NEXT = 0x22;
-	public static final int VK_NUMLOCK = 0x90;
-	public static final int VK_NUMPAD0 = 0x60;
-	public static final int VK_NUMPAD1 = 0x61;
-	public static final int VK_NUMPAD2 = 0x62;
-	public static final int VK_NUMPAD3 = 0x63;
-	public static final int VK_NUMPAD4 = 0x64;
-	public static final int VK_NUMPAD5 = 0x65;
-	public static final int VK_NUMPAD6 = 0x66;
-	public static final int VK_NUMPAD7 = 0x67;
-	public static final int VK_NUMPAD8 = 0x68;
-	public static final int VK_NUMPAD9 = 0x69;
-	public static final int VK_PAUSE = 0x13;
-	public static final int VK_PRIOR = 0x21;
-	public static final int VK_RBUTTON = 0x2;
-	public static final int VK_RETURN = 0xd;
-	public static final int VK_RIGHT = 0x27;
-	public static final int VK_SCROLL = 0x91;
-	public static final int VK_SEPARATOR = 0x6C;
-	public static final int VK_SHIFT = 0x10;
-	public static final int VK_SNAPSHOT = 0x2C;
-	public static final int VK_SPACE = 0x20;
-	public static final int VK_SUBTRACT = 0x6D;
-	public static final int VK_TAB = 0x9;
-	public static final int VK_UP = 0x26;
-	public static final int VK_XBUTTON1 = 0x05;
-	public static final int VK_XBUTTON2 = 0x06;
-	public static final int VK_ADD = 0x6B;
-	public static final int VK_APP1 = 0xc1;
-	public static final int VK_APP2 = 0xc2;
-	public static final int VK_APP3 = 0xc3;
-	public static final int VK_APP4 = 0xc4;
-	public static final int VK_APP5 = 0xc5;
-	public static final int VK_APP6 = 0xc6;
-	public static final String WC_HEADER = "SysHeader32"; //$NON-NLS-1$
-	public static final String WC_LINK = "SysLink"; //$NON-NLS-1$
-	public static final String WC_LISTVIEW = "SysListView32"; //$NON-NLS-1$
-	public static final String WC_TABCONTROL = "SysTabControl32"; //$NON-NLS-1$
-	public static final String WC_TREEVIEW = "SysTreeView32"; //$NON-NLS-1$
-	public static final int WINDING = 2;
-	public static final int WH_GETMESSAGE = 0x3;
-	public static final int WH_MSGFILTER = 0xFFFFFFFF;
-	public static final int WH_FOREGROUNDIDLE = 11;
-	public static final int WHEEL_DELTA = 120;
-	public static final int WHEEL_PAGESCROLL = 0xFFFFFFFF;
-	public static final int WHITE_BRUSH = 0;
-	public static final int WM_ACTIVATE = 0x6;
-	public static final int WM_ACTIVATEAPP = 0x1c;
-	public static final int WM_APP = 0x8000;
-	public static final int WM_CANCELMODE = 0x1f;
-	public static final int WM_CAPTURECHANGED = 0x0215;
-	public static final int WM_CHANGEUISTATE = 0x0127;
-	public static final int WM_CHAR = 0x102;
-	public static final int WM_CLEAR = 0x303;
-	public static final int WM_CLOSE = 0x10;
-	public static final int WM_COMMAND = 0x111;
-	public static final int WM_CONTEXTMENU = 0x7b;
-	public static final int WM_COPY = 0x301;
-	public static final int WM_CREATE = 0x0001;	
-	public static final int WM_CTLCOLORBTN = 0x135;
-	public static final int WM_CTLCOLORDLG = 0x136;
-	public static final int WM_CTLCOLOREDIT = 0x133;
-	public static final int WM_CTLCOLORLISTBOX = 0x134;
-	public static final int WM_CTLCOLORMSGBOX = 0x132;
-	public static final int WM_CTLCOLORSCROLLBAR = 0x137;
-	public static final int WM_CTLCOLORSTATIC = 0x138;
-	public static final int WM_CUT = 0x300;
-	public static final int WM_DEADCHAR = 0x103;
-	public static final int WM_DESTROY = 0x2;
-	public static final int WM_DRAWITEM = 0x2b;
-	public static final int WM_ENDSESSION = 0x16;
-	public static final int WM_ENTERIDLE = 0x121;
-	public static final int WM_ERASEBKGND = 0x14;
-	public static final int WM_GETDLGCODE = 0x87;
-	public static final int WM_GETFONT = 0x31;
-//	public static final int WM_GETICON = 0x7f;
-	public static final int WM_GETOBJECT = 0x003D;
-	public static final int WM_GETMINMAXINFO = 0x0024;
-	public static final int WM_HELP = 0x53;
-	public static final int WM_HOTKEY = 0x0312;
-	public static final int WM_HSCROLL = 0x114;
-	public static final int WM_IME_CHAR = 0x286;
-	public static final int WM_IME_COMPOSITION = 0x10f;
-	public static final int WM_INITDIALOG = 0x110;
-	public static final int WM_INITMENUPOPUP = 0x117;
-	public static final int WM_INPUTLANGCHANGE = 0x51;
-	public static final int WM_KEYDOWN = 0x100;
-	public static final int WM_KEYFIRST = 0x100;
-	public static final int WM_KEYLAST = 0x108;
-	public static final int WM_KEYUP = 0x101;
-	public static final int WM_KILLFOCUS = 0x8;
-	public static final int WM_LBUTTONDBLCLK = 0x203;
-	public static final int WM_LBUTTONDOWN = 0x201;
-	public static final int WM_LBUTTONUP = 0x202;
-	public static final int WM_MBUTTONDBLCLK = 0x209;
-	public static final int WM_MBUTTONDOWN = 0x207;
-	public static final int WM_MBUTTONUP = 0x208;
-	public static final int WM_MEASUREITEM = 0x2c;
-	public static final int WM_MENUCHAR = 0x120;
-	public static final int WM_MENUSELECT = 0x11f;
-	public static final int WM_MOUSEACTIVATE = 0x21;
-	public static final int WM_MOUSEFIRST = 0x200;
-	public static final int WM_MOUSEHOVER = 0x2a1;
-	public static final int WM_MOUSELEAVE = 0x2a3;
-	public static final int WM_MOUSEMOVE = 0x200;
-	public static final int WM_MOUSEWHEEL = 0x20a;
-	public static final int WM_MOUSELAST = 0x20d;
-	public static final int WM_MOVE = 0x3;
-	public static final int WM_NCACTIVATE = 0x86;
-	public static final int WM_NCCALCSIZE = 0x83;
-	public static final int WM_NCHITTEST = 0x84;
-	public static final int WM_NCLBUTTONDOWN = 0x00A1;
-	public static final int WM_NCPAINT = 0x85;
-	public static final int WM_NOTIFY = 0x4e;
-	public static final int WM_NULL = 0x0;
-	public static final int WM_PAINT = 0xf;
-	public static final int WM_PALETTECHANGED = 0x311;
-	public static final int WM_PARENTNOTIFY = 0x0210;
-	public static final int WM_PASTE = 0x302;
-	public static final int WM_PRINT = 0x0317;
-	public static final int WM_PRINTCLIENT = 0x0318;
-	public static final int WM_QUERYENDSESSION = 0x11;
-	public static final int WM_QUERYNEWPALETTE = 0x30f;
-	public static final int WM_QUERYOPEN = 0x13;
-	public static final int WM_QUERYUISTATE = 0x129;
-	public static final int WM_RBUTTONDBLCLK = 0x206;
-	public static final int WM_RBUTTONDOWN = 0x204;
-	public static final int WM_RBUTTONUP = 0x205;
-	public static final int WM_SETCURSOR = 0x20;
-	public static final int WM_SETFOCUS = 0x7;
-	public static final int WM_SETFONT = 0x30;
-	public static final int WM_SETICON = 0x80;
-	public static final int WM_SETREDRAW = 0xb;
-	public static final int WM_SETTEXT = 12;
-	public static final int WM_SETTINGCHANGE = 0x1A;
-	public static final int WM_SHOWWINDOW = 0x18;
-	public static final int WM_SIZE = 0x5;
-	public static final int WM_SYSCHAR = 0x106;
-	public static final int WM_SYSCOLORCHANGE = 0x15;
-	public static final int WM_SYSCOMMAND = 0x112;
-	public static final int WM_SYSKEYDOWN = 0x104;
-	public static final int WM_SYSKEYUP = 0x105;
-	public static final int WM_TIMER = 0x113;
-	public static final int WM_UNDO = 0x304;
-	public static final int WM_UPDATEUISTATE = 0x0128;
-	public static final int WM_USER = 0x400;
-	public static final int WM_VSCROLL = 0x115;
-	public static final int WM_WINDOWPOSCHANGED = 0x47;
-	public static final int WM_WINDOWPOSCHANGING = 0x46;
-	public static final int WS_BORDER = 0x800000;
-	public static final int WS_CAPTION = 0xc00000;
-	public static final int WS_CHILD = 0x40000000;
-	public static final int WS_CLIPCHILDREN = 0x2000000;
-	public static final int WS_CLIPSIBLINGS = 0x4000000;
-	public static final int WS_DISABLED = 0x4000000;
-	public static final int WS_EX_CAPTIONOKBTN = 0x80000000;
-	public static final int WS_EX_CLIENTEDGE = 0x200;
-	public static final int WS_EX_DLGMODALFRAME = 0x1;
-	public static final int WS_EX_LAYOUTRTL = 0x00400000;
-	public static final int WS_EX_LEFTSCROLLBAR = 0x00004000;
-	public static final int WS_EX_MDICHILD = 0x00000040;
-	public static final int WS_EX_NOINHERITLAYOUT = 0x00100000;
-	public static final int WS_EX_RIGHT = 0x00001000;
-	public static final int WS_EX_RTLREADING = 0x00002000;
-	public static final int WS_EX_STATICEDGE = 0x20000;
-	public static final int WS_EX_TOOLWINDOW = 0x80;
-	public static final int WS_EX_TOPMOST = 0x8;
-	public static final int WS_EX_TRANSPARENT = 0x20;
-	public static final int WS_HSCROLL = 0x100000;
-	public static final int WS_MAXIMIZEBOX = IsWinCE ? 0x20000 : 0x10000;
-	public static final int WS_MINIMIZEBOX = IsWinCE ? 0x10000 : 0x20000;
-	public static final int WS_OVERLAPPED = IsWinCE ? WS_BORDER | WS_CAPTION : 0x0;
-	public static final int WS_OVERLAPPEDWINDOW = 0xcf0000;
-	public static final int WS_POPUP = 0x80000000;
-	public static final int WS_SYSMENU = 0x80000;
-	public static final int WS_TABSTOP = 0x10000;
-	public static final int WS_THICKFRAME = 0x40000;
-	public static final int WS_VISIBLE = 0x10000000;
-	public static final int WS_VSCROLL = 0x200000;
-	public static final int WM_XBUTTONDOWN = 0x020B;
-	public static final int WM_XBUTTONUP = 0x020C;
-	public static final int WM_XBUTTONDBLCLK = 0x020D;
-	public static final int XBUTTON1 = 0x1;
-	public static final int XBUTTON2 = 0x2;
-	
-public static int VERSION (int major, int minor) {
-	return major << 16 | minor;
-}
-
-/** Ansi/Unicode wrappers */
-
-public static final int CallWindowProc (int lpPrevWndFunc, int hWnd, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return CallWindowProcW (lpPrevWndFunc, hWnd, Msg, wParam, lParam);
-	return CallWindowProcA (lpPrevWndFunc, hWnd, Msg, wParam, lParam);
-}
-
-public static final short CharUpper (short ch) {
-	if (IsUnicode) return CharUpperW (ch);
-	return CharUpperA (ch);
-}
-
-public static final short CharLower (short ch) {
-	if (IsUnicode) return CharLowerW (ch);
-	return CharLowerA (ch);
-}
-
-public static final boolean ChooseColor (CHOOSECOLOR lpcc) {
-	if (IsUnicode) return ChooseColorW (lpcc);
-	return ChooseColorA (lpcc);
-}
-
-public static final boolean ChooseFont (CHOOSEFONT chooseFont) {
-	if (IsUnicode) return ChooseFontW (chooseFont);
-	return ChooseFontA (chooseFont);
-}
-
-public static final int CreateActCtx (ACTCTX pActCtx) {
-	if (IsUnicode) return CreateActCtxW (pActCtx);
-	return CreateActCtxA (pActCtx);
-}
-
-public static final int CreateAcceleratorTable (byte [] lpaccl, int cEntries) {
-	if (IsUnicode) return CreateAcceleratorTableW (lpaccl, cEntries);
-	return CreateAcceleratorTableA (lpaccl, cEntries);
-}
-
-public static final int CreateDC (TCHAR lpszDriver, TCHAR lpszDevice, int lpszOutput, int lpInitData) {
-	if (IsUnicode) {
-		char [] lpszDriver1 = lpszDriver == null ? null : lpszDriver.chars;
-		char [] lpszDevice1 = lpszDevice == null ? null : lpszDevice.chars;
-		return CreateDCW (lpszDriver1, lpszDevice1, lpszOutput, lpInitData);
-	}
-	byte [] lpszDriver1 = lpszDriver == null ? null : lpszDriver.bytes;
-	byte [] lpszDevice1 = lpszDevice == null ? null : lpszDevice.bytes;
-	return CreateDCA (lpszDriver1, lpszDevice1, lpszOutput, lpInitData);
-}
-
-public static final int CreateFontIndirect (int lplf) {
-	if (IsUnicode) return CreateFontIndirectW (lplf);
-	return CreateFontIndirectA (lplf);
-}
-
-public static final int CreateFontIndirect (LOGFONT lplf) {
-	if (IsUnicode) return CreateFontIndirectW ((LOGFONTW)lplf);
-	return CreateFontIndirectA ((LOGFONTA)lplf);
-}
-
-public static final int CreateWindowEx (int dwExStyle, TCHAR lpClassName, TCHAR lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hWndParent, int hMenu, int hInstance, CREATESTRUCT lpParam) {
-	if (IsUnicode) {
-		char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars;
-		char [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.chars;
-		return CreateWindowExW (dwExStyle, lpClassName1, lpWindowName1, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
-	}
-	byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes;
-	byte [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.bytes;
-	return CreateWindowExA (dwExStyle, lpClassName1, lpWindowName1, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
-}
-
-public static final int DefMDIChildProc (int hWnd, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return DefMDIChildProcW (hWnd, Msg, wParam, lParam);
-	return DefMDIChildProcA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int DefFrameProc (int hWnd, int hWndMDIClient, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return DefFrameProcW (hWnd, hWndMDIClient, Msg, wParam, lParam);
-	return DefFrameProcA (hWnd, hWndMDIClient, Msg, wParam, lParam);
-}
-public static final int DefWindowProc (int hWnd, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return DefWindowProcW (hWnd, Msg, wParam, lParam);
-	return DefWindowProcA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int DispatchMessage (MSG lpmsg) {
-	if (IsUnicode) return DispatchMessageW (lpmsg);
-	return DispatchMessageA (lpmsg);
-}
-
-public static final int DragQueryFile (int hDrop, int iFile, TCHAR lpszFile, int cch) {
-	if (IsUnicode) {
-		char [] lpszFile1 = lpszFile == null ? null : lpszFile.chars;
-		return DragQueryFileW (hDrop, iFile, lpszFile1, cch);
-	}
-	byte [] lpszFile1 = lpszFile == null ? null : lpszFile.bytes;
-	return DragQueryFileA (hDrop, iFile, lpszFile1, cch);
-}
-
-public static final boolean DrawState (int hdc, int hbr, int lpOutputFunc, int lData, int wData, int x, int y, int cx, int cy, int fuFlags) {
-	if (IsUnicode) return DrawStateW (hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, fuFlags);
-	return DrawStateA (hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, fuFlags);
-}
-
-public static final int DrawText (int hDC, TCHAR lpString, int nCount, RECT lpRect, int uFormat) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return DrawTextW (hDC, lpString1, nCount, lpRect, uFormat);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return DrawTextA (hDC, lpString1, nCount, lpRect, uFormat);
-}
-
-public static final int EnumFontFamilies (int hdc, TCHAR lpszFamily, int lpEnumFontFamProc, int lParam) {
-	if (IsUnicode) {
-		char [] lpszFamily1 = lpszFamily == null ? null : lpszFamily.chars;
-		return EnumFontFamiliesW (hdc, lpszFamily1, lpEnumFontFamProc, lParam);
-	}
-	byte [] lpszFamily1 = lpszFamily == null ? null : lpszFamily.bytes;
-	return EnumFontFamiliesA (hdc, lpszFamily1, lpEnumFontFamProc, lParam);
-}
-
-public static final int EnumFontFamiliesEx (int hdc, LOGFONT lpLogfont, int lpEnumFontFamExProc, int lParam, int dwFlags) {
-	if (IsUnicode) return EnumFontFamiliesExW (hdc, (LOGFONTW)lpLogfont, lpEnumFontFamExProc, lParam, dwFlags);
-	return EnumFontFamiliesExA (hdc, (LOGFONTA)lpLogfont, lpEnumFontFamExProc, lParam, dwFlags);
-}
-
-public static final boolean EnumSystemLocales (int lpLocaleEnumProc, int dwFlags) {
-	if (IsUnicode) return EnumSystemLocalesW (lpLocaleEnumProc, dwFlags);
-	return EnumSystemLocalesA (lpLocaleEnumProc, dwFlags);
-}
-
-public static final boolean EnumSystemLanguageGroups (int pLangGroupEnumProc, int dwFlags, int lParam) {
-	if (IsUnicode) return EnumSystemLanguageGroupsW (pLangGroupEnumProc, dwFlags, lParam);
-	return EnumSystemLanguageGroupsA (pLangGroupEnumProc, dwFlags, lParam);
-}
-
-public static final int ExpandEnvironmentStrings (TCHAR lpSrc, TCHAR lpDst, int nSize) {
-	if (IsUnicode) {
-		char [] lpSrc1 = lpSrc == null ? null : lpSrc.chars;
-		char [] lpDst1 = lpDst == null ? null : lpDst.chars;
-		return ExpandEnvironmentStringsW (lpSrc1, lpDst1, nSize);
-	}
-	byte [] lpSrc1 = lpSrc == null ? null : lpSrc.bytes;
-	byte [] lpDst1 = lpDst == null ? null : lpDst.bytes;
-	return ExpandEnvironmentStringsA (lpSrc1, lpDst1, nSize);
-}
-
-public static final int ExtractIconEx (TCHAR lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons) {
-	if (IsUnicode) {
-		char [] lpszFile1 = lpszFile == null ? null : lpszFile.chars;
-		return ExtractIconExW (lpszFile1, nIconIndex, phiconLarge, phiconSmall, nIcons);
-	}
-	byte [] lpszFile1 = lpszFile == null ? null : lpszFile.bytes;
-	return ExtractIconExA (lpszFile1, nIconIndex, phiconLarge, phiconSmall, nIcons);
-}
-
-public static final boolean ExtTextOut(int hdc, int X, int Y, int fuOptions, RECT lprc, TCHAR lpString, int cbCount, int[] lpDx) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return ExtTextOutW (hdc, X, Y, fuOptions, lprc, lpString1, cbCount, lpDx);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return ExtTextOutA (hdc, X, Y, fuOptions, lprc, lpString1, cbCount, lpDx);
-}
-
-public static final int FindWindow (TCHAR lpClassName, TCHAR lpWindowName) {
-	if (IsUnicode) {
-		char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars;
-		char [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.chars;
-		return FindWindowW (lpClassName1, lpWindowName1); 
-	}
-	byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes;
-	byte [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.bytes;
-	return FindWindowA (lpClassName1, lpWindowName1);
-}
-
-public static final int FormatMessage (int dwFlags, int lpSource, int dwMessageId, int dwLanguageId, int[] lpBuffer, int nSize, int Arguments) {
-	if (IsUnicode) {
-		return FormatMessageW (dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments); 
-	}
-	return FormatMessageA (dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments);
-}
-
-public static final boolean GetCharABCWidths (int hdc, int iFirstChar, int iLastChar, int [] lpabc) {
-	if (IsUnicode) return GetCharABCWidthsW (hdc,iFirstChar, iLastChar, lpabc);
-	return GetCharABCWidthsA (hdc,iFirstChar, iLastChar, lpabc);
-}
-
-public static final int GetCharacterPlacement (int hdc, TCHAR lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return GetCharacterPlacementW (hdc, lpString1, nCount, nMaxExtent, lpResults, dwFlags);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return GetCharacterPlacementA (hdc, lpString1, nCount, nMaxExtent, lpResults, dwFlags);	
-}
-
-public static final boolean GetCharWidth (int hdc, int iFirstChar, int iLastChar, int [] lpabc) {
-	if (IsUnicode) return GetCharWidthW (hdc,iFirstChar, iLastChar, lpabc);
-	return GetCharWidthA (hdc,iFirstChar, iLastChar, lpabc);
-}
-
-public static final boolean GetClassInfo (int hInstance, TCHAR lpClassName, WNDCLASS lpWndClass) {
-	if (IsUnicode) {
-		char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars;
-		return GetClassInfoW (hInstance, lpClassName1, lpWndClass);
-	}
-	byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes;
-	return GetClassInfoA (hInstance, lpClassName1, lpWndClass);
-}
-
-public static final int GetClassName (int hWnd, TCHAR lpClassName, int nMaxCount) {
-	if (IsUnicode) {
-		char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars;
-		return GetClassNameW (hWnd, lpClassName1, nMaxCount);
-	}
-	byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes;
-	return GetClassNameA (hWnd, lpClassName1, nMaxCount);
-}
-
-public static final int GetClipboardFormatName (int format, TCHAR lpszFormatName, int cchMaxCount) {
-	if (IsUnicode) {
-		char [] lpszFormatName1 = lpszFormatName == null ? null : lpszFormatName.chars;
-		return GetClipboardFormatNameW (format, lpszFormatName1, cchMaxCount);
-	}
-	byte [] lpszFormatName1 = lpszFormatName == null ? null : lpszFormatName.bytes;
-	return GetClipboardFormatNameA (format, lpszFormatName1, cchMaxCount);
-}
-
-public static final int GetKeyNameText (int lParam, TCHAR lpString, int nSize) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return GetKeyNameTextW (lParam, lpString1, nSize);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return GetKeyNameTextA (lParam, lpString1, nSize);
-}
-
-public static final int GetLocaleInfo (int Locale, int LCType, TCHAR lpLCData, int cchData) {
-	if (IsUnicode) {
-		char [] lpLCData1 = lpLCData == null ? null : lpLCData.chars;
-		return GetLocaleInfoW (Locale, LCType, lpLCData1, cchData);
-	}
-	byte [] lpLCData1 = lpLCData == null ? null : lpLCData.bytes;
-	return GetLocaleInfoA (Locale, LCType, lpLCData1, cchData);
-}
-
-public static final boolean GetMenuItemInfo (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii) {
-	if (IsUnicode) return GetMenuItemInfoW (hMenu, uItem, fByPosition, lpmii);
-	return GetMenuItemInfoA (hMenu, uItem, fByPosition, lpmii);
-}
-
-public static final boolean GetMessage (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax) {	
-	if (IsUnicode) return GetMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
-	return GetMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
-}
-
-public static final int GetModuleFileName (int hModule, TCHAR lpFilename, int inSize) {
-	if (IsUnicode) {
-		char [] lpFilename1 = lpFilename == null ? null : lpFilename.chars;
-		return GetModuleFileNameW (hModule, lpFilename1, inSize);
-	}
-	byte [] lpFilename1 = lpFilename == null ? null : lpFilename.bytes;
-	return GetModuleFileNameA (hModule, lpFilename1, inSize);
-}
-
-public static final int GetModuleHandle (TCHAR lpModuleName) {
-	if (IsUnicode) {
-		char [] lpModuleName1 = lpModuleName == null ? null : lpModuleName.chars;
-		return GetModuleHandleW (lpModuleName1);
-	}
-	byte [] lpModuleName1 = lpModuleName == null ? null : lpModuleName.bytes;
-	return GetModuleHandleA (lpModuleName1);
-}
-
-public static final boolean GetMonitorInfo (int hmonitor, MONITORINFO lpmi) {
-	if (IsUnicode) return GetMonitorInfoW (hmonitor, lpmi);
-	return GetMonitorInfoA (hmonitor, lpmi);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, BITMAP lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, DIBSECTION lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, EXTLOGPEN lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, LOGFONT lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, (LOGFONTW)lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, (LOGFONTA)lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, LOGPEN lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final int GetObject (int hgdiobj, int cbBuffer, int lpvObject) {
-	if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject);
-	return GetObjectA (hgdiobj, cbBuffer, lpvObject);
-}
-
-public static final boolean GetOpenFileName (OPENFILENAME lpofn) {
-	if (IsUnicode) return GetOpenFileNameW (lpofn);
-	return GetOpenFileNameA (lpofn);
-}
-
-public static final int GetProfileString (TCHAR lpAppName, TCHAR lpKeyName, TCHAR lpDefault, TCHAR lpReturnedString, int nSize) {
-	if (IsUnicode) {
-		char [] lpAppName1 = lpAppName == null ? null : lpAppName.chars;
-		char [] lpKeyName1 = lpKeyName == null ? null : lpKeyName.chars;
-		char [] lpDefault1 = lpDefault == null ? null : lpDefault.chars;
-		char [] lpReturnedString1 = lpReturnedString == null ? null : lpReturnedString.chars;
-		return GetProfileStringW (lpAppName1, lpKeyName1, lpDefault1, lpReturnedString1, nSize);
-	}
-	byte [] lpAppName1 = lpAppName == null ? null : lpAppName.bytes;
-	byte [] lpKeyName1 = lpKeyName == null ? null : lpKeyName.bytes;
-	byte [] lpDefault1 = lpDefault == null ? null : lpDefault.bytes;
-	byte [] lpReturnedString1 = lpReturnedString == null ? null : lpReturnedString.bytes;
-	return GetProfileStringA (lpAppName1, lpKeyName1, lpDefault1, lpReturnedString1, nSize);
-}
-
-public static int GetProp (int hWnd, int lpString) {
-	if (IsUnicode) return GetPropW (hWnd, lpString);
-	return GetPropA (hWnd, lpString);
-}
-
-public static final boolean GetSaveFileName (OPENFILENAME lpofn) {
-	if (IsUnicode) return GetSaveFileNameW (lpofn);
-	return GetSaveFileNameA (lpofn);
-}
-
-public static final boolean GetTextExtentPoint32 (int hdc, TCHAR lpString, int cbString, SIZE lpSize) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return GetTextExtentPoint32W (hdc, lpString1, cbString, lpSize);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return GetTextExtentPoint32A (hdc, lpString1, cbString, lpSize);	
-}
-
-public static final boolean GetTextMetrics (int hdc, TEXTMETRIC lptm) {
-	if (IsUnicode) return GetTextMetricsW (hdc, (TEXTMETRICW)lptm);
-	return GetTextMetricsA (hdc, (TEXTMETRICA)lptm);
-}
-
-public static final boolean GetVersionEx (OSVERSIONINFO lpVersionInfo) {
-	if (IsUnicode) return GetVersionExW ((OSVERSIONINFOW)lpVersionInfo);
-	return GetVersionExA ((OSVERSIONINFOA)lpVersionInfo);
-}
-
-public static final boolean GetVersionEx (OSVERSIONINFOEX lpVersionInfo) {
-	if (IsUnicode) return GetVersionExW ((OSVERSIONINFOEXW)lpVersionInfo);
-	return GetVersionExA ((OSVERSIONINFOEXA)lpVersionInfo);
-}
-
-public static final int GetWindowLong (int hWnd, int nIndex) {
-	if (IsUnicode) return GetWindowLongW (hWnd, nIndex);
-	return GetWindowLongA (hWnd, nIndex);
-}
-
-public static final int GetWindowText (int hWnd, TCHAR lpString, int nMaxCount) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return GetWindowTextW (hWnd, lpString1, nMaxCount);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return GetWindowTextA (hWnd, lpString1, nMaxCount);
-}
-
-public static final int GetWindowTextLength (int hWnd) {
-	if (IsUnicode) return GetWindowTextLengthW (hWnd);
-	return GetWindowTextLengthA (hWnd);
-}
-
-public static final int GlobalAddAtom (TCHAR lpString) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return GlobalAddAtomW (lpString1);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return GlobalAddAtomA (lpString1);
-}
-
-public static final boolean ImmGetCompositionFont (int hIMC, LOGFONT lplf) {
-	if (IsUnicode) return ImmGetCompositionFontW (hIMC, (LOGFONTW)lplf);
-	return ImmGetCompositionFontA (hIMC, (LOGFONTA)lplf);
-}
-
-public static final boolean ImmSetCompositionFont (int hIMC, LOGFONT lplf) {
-	if (IsUnicode) return ImmSetCompositionFontW (hIMC, (LOGFONTW)lplf);
-	return ImmSetCompositionFontA (hIMC, (LOGFONTA)lplf);
-}
-
-public static final int ImmGetCompositionString (int hIMC, int dwIndex, TCHAR lpBuf, int dwBufLen) {
-	if (IsUnicode) {
-		char [] lpBuf1 = lpBuf == null ? null : lpBuf.chars;
-		return ImmGetCompositionStringW (hIMC, dwIndex, lpBuf1, dwBufLen);
-	}
-	byte [] lpBuf1 = lpBuf == null ? null : lpBuf.bytes;
-	return ImmGetCompositionStringA (hIMC, dwIndex, lpBuf1, dwBufLen);
-}
-
-public static final boolean InsertMenu (int hMenu, int uPosition, int uFlags, int uIDNewItem, TCHAR lpNewItem) {
-	if (IsUnicode) {
-		char [] lpNewItem1 = lpNewItem == null ? null : lpNewItem.chars;
-		return InsertMenuW (hMenu, uPosition, uFlags, uIDNewItem, lpNewItem1);
-	}
-	byte [] lpNewItem1 = lpNewItem == null ? null : lpNewItem.bytes;
-	return InsertMenuA (hMenu, uPosition, uFlags, uIDNewItem, lpNewItem1);	
-}
-
-public static final boolean InsertMenuItem (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii) {
-	if (IsUnicode) return InsertMenuItemW (hMenu, uItem, fByPosition, lpmii);
-	return InsertMenuItemA (hMenu, uItem, fByPosition, lpmii);
-}
-
-public static final int LoadBitmap (int hInstance, int lpBitmapName) {
-	if (IsUnicode) return LoadBitmapW (hInstance, lpBitmapName);
-	return LoadBitmapA (hInstance, lpBitmapName);
-}
-
-public static final int LoadCursor (int hInstance, int lpCursorName) {
-	if (IsUnicode) return LoadCursorW (hInstance, lpCursorName);
-	return LoadCursorA (hInstance, lpCursorName);
-}
-
-public static final int LoadIcon (int hInstance, int lpIconName) {
-	if (IsUnicode) return LoadIconW (hInstance, lpIconName);
-	return LoadIconA (hInstance, lpIconName);
-}
-
-public static final int LoadImage (int hinst, TCHAR lpszName, int uType, int cxDesired, int cyDesired, int fuLoad) {
-	if (IsUnicode) {
-		char [] lpszName1 = lpszName == null ? null : lpszName.chars;
-		return LoadImageW (hinst, lpszName1, uType, cxDesired, cyDesired, fuLoad);
-	}
-	byte [] lpszName1 = lpszName == null ? null : lpszName.bytes;
-	return LoadImageA (hinst, lpszName1, uType, cxDesired, cyDesired, fuLoad);
-}
-
-public static final int LoadImage (int hinst, int lpszName, int uType, int cxDesired, int cyDesired, int fuLoad) {
-	if (IsUnicode) return LoadImageW (hinst, lpszName, uType, cxDesired, cyDesired, fuLoad);
-	return LoadImageA (hinst, lpszName, uType, cxDesired, cyDesired, fuLoad);
-}
-
-public static final int LoadLibrary (TCHAR lpLibFileName) {
-	if (IsUnicode) {
-		char [] lpLibFileName1 = lpLibFileName == null ? null : lpLibFileName.chars;
-		return LoadLibraryW (lpLibFileName1);
-	}
-	byte [] lpLibFileName1 = lpLibFileName == null ? null : lpLibFileName.bytes;
-	return LoadLibraryA (lpLibFileName1);
-}
-
-public static final int LoadString (int hinst, int uID, TCHAR lpBuffer, int nBufferMax) {
-	if (IsUnicode) {
-		char [] lpBuffer1 = lpBuffer == null ? null : lpBuffer.chars;
-		return LoadStringW (hinst, uID, lpBuffer1, nBufferMax);
-	}
-	byte [] lpBuffer1 = lpBuffer == null ? null : lpBuffer.bytes;
-	return LoadStringA (hinst, uID, lpBuffer1, nBufferMax);
-}
-
-public static final int MapVirtualKey (int uCode, int uMapType) {
-	if (IsUnicode) return MapVirtualKeyW (uCode, uMapType);
-	return MapVirtualKeyA (uCode, uMapType);
-}
-
-public static final int MessageBox (int hWnd, TCHAR lpText, TCHAR lpCaption, int uType) {
-	if (IsUnicode) {
-		char [] lpText1 = lpText == null ? null : lpText.chars;
-		char [] lpCaption1 = lpCaption == null ? null : lpCaption.chars;
-		return MessageBoxW (hWnd, lpText1, lpCaption1, uType);
-	}
-	byte [] lpText1 = lpText == null ? null : lpText.bytes;
-	byte [] lpCaption1 = lpCaption == null ? null : lpCaption.bytes;
-	return MessageBoxA (hWnd, lpText1, lpCaption1, uType);
-}
-
-public static final void MoveMemory (int Destination, TCHAR Source, int Length) {
-	if (IsUnicode) {
-		char [] Source1 = Source == null ? null : Source.chars;
-		MoveMemory (Destination, Source1, Length);
-	} else {
-		byte [] Source1 = Source == null ? null : Source.bytes;
-		MoveMemory (Destination, Source1, Length);
-	}
-}
-
-public static final void MoveMemory (TCHAR Destination, int Source, int Length) {
-	if (IsUnicode) {
-		char [] Destination1 = Destination == null ? null : Destination.chars;
-		MoveMemory (Destination1, Source, Length);
-	} else {
-		byte [] Destination1 = Destination == null ? null : Destination.bytes;
-		MoveMemory (Destination1, Source, Length);
-	}
-}
-
-public static final void MoveMemory (int Destination, LOGFONT Source, int Length) {
-	if (IsUnicode) {
-		MoveMemory (Destination, (LOGFONTW)Source, Length);
-	} else {
-		MoveMemory (Destination, (LOGFONTA)Source, Length);
-	}
-}
-
-public static final void MoveMemory (LOGFONT Destination, int Source, int Length) {
-	if (IsUnicode) {
-		MoveMemory ((LOGFONTW)Destination, Source, Length);
-	} else {
-		MoveMemory ((LOGFONTA)Destination, Source, Length);
-	}
-}
-
-public static final void MoveMemory (int Destination, NMTTDISPINFO Source, int Length) {
-	if (IsUnicode) {
-		MoveMemory (Destination, (NMTTDISPINFOW)Source, Length);
-	} else {
-		MoveMemory (Destination, (NMTTDISPINFOA)Source, Length);
-	}
-}
-
-public static final void MoveMemory (NMTTDISPINFO Destination, int Source, int Length) {
-	if (IsUnicode) {
-		MoveMemory ((NMTTDISPINFOW)Destination, Source, Length);
-	} else {
-		MoveMemory ((NMTTDISPINFOA)Destination, Source, Length);
-	}
-}
-
-public static final void MoveMemory (TEXTMETRIC Destination, int Source, int Length) {
-	if (IsUnicode) {
-		MoveMemory ((TEXTMETRICW)Destination, Source, Length);
-	} else {
-		MoveMemory ((TEXTMETRICA)Destination, Source, Length);
-	}
-}
-
-public static final boolean PeekMessage (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg) {
-	if (IsUnicode) return PeekMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
-	return PeekMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg);
-}
-
-public static final boolean PostMessage (int hWnd, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return PostMessageW (hWnd, Msg, wParam, lParam);
-	return PostMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final boolean PostThreadMessage (int idThread, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return PostThreadMessageW (idThread, Msg, wParam, lParam);
-	return PostThreadMessageA (idThread, Msg, wParam, lParam);
-}
-
-public static final boolean PrintDlg (PRINTDLG lppd) {
-	if (IsUnicode) return PrintDlgW (lppd);
-	return PrintDlgA (lppd);
-}
-
-public static final int RegEnumKeyEx (int hKey, int dwIndex, TCHAR lpName, int [] lpcName, int [] lpReserved, TCHAR lpClass, int [] lpcClass, FILETIME lpftLastWriteTime) {
-	if (IsUnicode) {
-		char [] lpName1 = lpName == null ? null : lpName.chars;
-		char [] lpClass1 = lpClass == null ? null : lpClass.chars;
-		return RegEnumKeyExW (hKey, dwIndex, lpName1, lpcName, lpReserved, lpClass1, lpcClass, lpftLastWriteTime);
-	}
-	byte [] lpName1 = lpName == null ? null : lpName.bytes;
-	byte [] lpClass1 = lpClass == null ? null : lpClass.bytes;
-	return RegEnumKeyExA (hKey, dwIndex, lpName1, lpcName, lpReserved, lpClass1, lpcClass, lpftLastWriteTime);
-}
-
-public static final int RegisterClass (WNDCLASS lpWndClass) {
-	if (IsUnicode) return RegisterClassW (lpWndClass);
-	return RegisterClassA (lpWndClass);
-}
-
-public static final int RegisterClipboardFormat (TCHAR lpszFormat) {
-	if (IsUnicode) {
-		char [] lpszFormat1 = lpszFormat == null ? null : lpszFormat.chars;
-		return RegisterClipboardFormatW (lpszFormat1);
-	}
-	byte [] lpszFormat1 = lpszFormat == null ? null : lpszFormat.bytes;
-	return RegisterClipboardFormatA (lpszFormat1);
-}
-
-public static final int RegisterWindowMessage (TCHAR lpString) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return RegisterWindowMessageW (lpString1);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return RegisterWindowMessageA (lpString1);
-}
-
-public static final int RegOpenKeyEx (int hKey, TCHAR lpSubKey, int ulOptions, int samDesired, int[] phkResult) {
-	if (IsUnicode) {
-		char [] lpSubKey1 = lpSubKey == null ? null : lpSubKey.chars;
-		return RegOpenKeyExW (hKey, lpSubKey1, ulOptions, samDesired, phkResult);
-	}
-	byte [] lpSubKey1 = lpSubKey == null ? null : lpSubKey.bytes;
-	return RegOpenKeyExA (hKey, lpSubKey1, ulOptions, samDesired, phkResult);
-}
-
-public static final int RegQueryInfoKey (int hKey, int lpClass, int[] lpcbClass, int lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int lpftLastWriteTime){
-	if (IsUnicode) return RegQueryInfoKeyW (hKey, lpClass, lpcbClass, lpReserved, lpSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
-	return RegQueryInfoKeyA (hKey, lpClass, lpcbClass, lpReserved, lpSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime);
-}
-
-public static final int RegQueryValueEx (int hKey, TCHAR lpValueName, int lpReserved, int[] lpType, TCHAR lpData, int[] lpcbData) {
-	if (IsUnicode) {
-		char [] lpValueName1 = lpValueName == null ? null : lpValueName.chars;
-		char [] lpData1 = lpData == null ? null : lpData.chars;
-		return RegQueryValueExW (hKey, lpValueName1, lpReserved, lpType, lpData1, lpcbData);
-	}
-	byte [] lpValueName1 = lpValueName == null ? null : lpValueName.bytes;
-	byte [] lpData1 = lpData == null ? null : lpData.bytes;
-	return RegQueryValueExA (hKey, lpValueName1, lpReserved, lpType, lpData1, lpcbData);
-}
-
-public static final int RegQueryValueEx (int hKey, TCHAR lpValueName, int lpReserved, int[] lpType, int [] lpData, int[] lpcbData) {
-	if (IsUnicode) {
-		char [] lpValueName1 = lpValueName == null ? null : lpValueName.chars;
-		return RegQueryValueExW (hKey, lpValueName1, lpReserved, lpType, lpData, lpcbData);
-	}
-	byte [] lpValueName1 = lpValueName == null ? null : lpValueName.bytes;
-	return RegQueryValueExA (hKey, lpValueName1, lpReserved, lpType, lpData, lpcbData);
-}
-
-public static final int RemoveProp  (int hWnd, int lpString){
-	if (IsUnicode) return RemovePropW (hWnd, lpString);
-	return RemovePropA (hWnd, lpString);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TCHAR lParam) {
-	if (IsUnicode) {
-		char [] lParam1 = lParam == null ? null : lParam.chars;
-		return SendMessageW (hWnd, Msg, wParam, lParam1);
-	}
-	byte [] lParam1 = lParam == null ? null : lParam.bytes;
-	return SendMessageA (hWnd, Msg, wParam, lParam1);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int [] wParam, int [] lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, SIZE lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int [] wParam, int lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, int [] lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, short [] lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, int lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, LITEM lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, LVCOLUMN lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, LVHITTESTINFO lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, LVITEM lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, MARGINS lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, POINT lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, REBARBANDINFO lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, RECT lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TBBUTTON lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TBBUTTONINFO lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TCITEM lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TOOLINFO lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TVHITTESTINFO lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TVINSERTSTRUCT lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, TVITEM lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, UDACCEL lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, HDITEM lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, HDLAYOUT lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final int SendMessage (int hWnd, int Msg, int wParam, BUTTON_IMAGELIST lParam) {
-	if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
-	return SendMessageA (hWnd, Msg, wParam, lParam);
-}
-
-public static final boolean SetMenuItemInfo (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii) {
-	if (IsUnicode) return SetMenuItemInfoW (hMenu, uItem, fByPosition, lpmii);
-	return SetMenuItemInfoA (hMenu, uItem, fByPosition, lpmii);
-}
-
-public static boolean SetProp (int hWnd, int lpString, int hData) {
-	if (IsUnicode) return SetPropW (hWnd, lpString, hData);
-	return SetPropA (hWnd, lpString, hData);
-}
-
-public static final int SetWindowLong (int hWnd, int nIndex, int dwNewLong) {
-	if (IsUnicode) return SetWindowLongW (hWnd, nIndex, dwNewLong);
-	return SetWindowLongA (hWnd, nIndex, dwNewLong);
-}
-
-public static final int SetWindowsHookEx (int idHook, int lpfn, int hMod, int dwThreadId) {
-	if (IsUnicode) return SetWindowsHookExW (idHook, lpfn, hMod, dwThreadId);
-	return SetWindowsHookExA (idHook, lpfn, hMod, dwThreadId);
-}
-
-public static final boolean SetWindowText (int hWnd, TCHAR lpString) {
-	if (IsUnicode) {
-		char [] lpString1 = lpString == null ? null : lpString.chars;
-		return SetWindowTextW (hWnd, lpString1);
-	}
-	byte [] lpString1 = lpString == null ? null : lpString.bytes;
-	return SetWindowTextA (hWnd, lpString1);
-}
-
-public static final int SHBrowseForFolder (BROWSEINFO lpbi) {
-	if (IsUnicode) return SHBrowseForFolderW (lpbi);
-	return SHBrowseForFolderA (lpbi);
-}
-
-public static final boolean ShellExecuteEx (SHELLEXECUTEINFO lpExecInfo) {
-	if (IsUnicode) return ShellExecuteExW (lpExecInfo);
-	return ShellExecuteExA (lpExecInfo);
-}
-
-public static final boolean Shell_NotifyIcon (int dwMessage, NOTIFYICONDATA lpData) {
-	if (IsUnicode) return Shell_NotifyIconW (dwMessage, (NOTIFYICONDATAW)lpData);
-	return Shell_NotifyIconA (dwMessage, (NOTIFYICONDATAA)lpData);
-}
-
-public static final boolean SHGetPathFromIDList (int pidl, TCHAR pszPath) {
-	if (IsUnicode) {
-		char [] pszPath1 = pszPath == null ? null : pszPath.chars;
-		return SHGetPathFromIDListW (pidl, pszPath1);
-	}
-	byte [] pszPath1 = pszPath == null ? null : pszPath.bytes;
-	return SHGetPathFromIDListA (pidl, pszPath1);
-}
-
-public static final int StartDoc (int hdc, DOCINFO lpdi) {
-	if (IsUnicode) return StartDocW (hdc, lpdi);
-	return StartDocA (hdc, lpdi);
-}
-
-public static final boolean SystemParametersInfo (int uiAction, int uiParam, RECT pvParam, int fWinIni) {
-	if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
-	return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
-}
-
-public static final boolean SystemParametersInfo (int uiAction, int uiParam, HIGHCONTRAST pvParam, int fWinIni) {
-	if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
-	return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
-}
-
-public static final boolean SystemParametersInfo (int uiAction, int uiParam, NONCLIENTMETRICS pvParam, int fWinIni) {
-	if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, (NONCLIENTMETRICSW)pvParam, fWinIni);
-	return SystemParametersInfoA (uiAction, uiParam, (NONCLIENTMETRICSA)pvParam, fWinIni);
-}
-
-public static final boolean SystemParametersInfo (int uiAction, int uiParam, int[] pvParam, int fWinIni) {
-	if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni);
-	return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni);
-}
-
-public static final int TranslateAccelerator (int hWnd, int hAccTable, MSG lpMsg) {
-	if (IsUnicode) return TranslateAcceleratorW (hWnd, hAccTable, lpMsg);
-	return TranslateAcceleratorA (hWnd, hAccTable, lpMsg);
-}
-
-public static final boolean UnregisterClass (TCHAR lpClassName, int hInstance) {
-	if (IsUnicode) {
-		char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars;
-		return UnregisterClassW (lpClassName1, hInstance);
-	}
-	byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes;
-	return UnregisterClassA (lpClassName1, hInstance);
-}
-
-public static final short VkKeyScan (short ch) {
-	if (IsUnicode) return VkKeyScanW (ch);
-	return VkKeyScanA (ch);
-}
-
-/** Natives */
-public static final native int AbortDoc (int hdc);
-public static final native boolean ActivateActCtx (int hActCtx, int [] lpCookie);
-public static final native int ActivateKeyboardLayout(int hkl, int Flags);
-public static final native boolean AdjustWindowRectEx (RECT lpRect, int dwStyle, boolean bMenu, int dwExStyle);
-public static final native boolean AlphaBlend(int hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, int hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, BLENDFUNCTION blendFunction);
-public static final native boolean Arc (int hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nXStartArc,int nYStartArc,int nXEndArc,int nYEndArc);
-public static final native int BeginDeferWindowPos (int nNumWindows);
-public static final native int BeginPaint (int hWnd, PAINTSTRUCT lpPaint);
-public static final native boolean BeginPath(int hdc);
-public static final native boolean BitBlt (int hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,int hdcSrc,int nXSrc,int nYSrc,int dwRop);
-public static final native boolean BringWindowToTop (int hWnd);
-public static final native int Call (int address, DLLVERSIONINFO arg0);
-public static final native int CallNextHookEx(int hhk, int nCode, int wParam, int lParam);
-public static final native int CallWindowProcW (int lpPrevWndFunc, int hWnd, int Msg, int wParam, int lParam);
-public static final native int CallWindowProcA (int lpPrevWndFunc, int hWnd, int Msg, int wParam, int lParam);
-public static final native short CharLowerW (short ch);
-public static final native short CharLowerA (short ch);
-public static final native short CharUpperW (short ch);
-public static final native short CharUpperA (short ch);
-public static final native boolean CheckMenuItem (int hmenu, int uIDCheckItem, int uCheck); 
-public static final native boolean ChooseColorW (CHOOSECOLOR lpcc);
-public static final native boolean ChooseColorA (CHOOSECOLOR lpcc);
-public static final native boolean ChooseFontW (CHOOSEFONT chooseFont);
-public static final native boolean ChooseFontA (CHOOSEFONT chooseFont);
-public static final native boolean ClientToScreen (int hWnd, POINT lpPoint);
-public static final native boolean CloseClipboard ();
-public static final native int CloseThemeData (int hTheme);
-public static final native int CoCreateInstance(byte[] rclsid, int pUnkOuter, int dwClsContext, byte[] riid, int[] ppv);
-public static final native int CombineRgn (int hrgnDest, int hrgnSrc1, int hrgnSrc2, int fnCombineMode);
-public static final native boolean CommandBar_AddAdornments (int hwndCB, int dwFlags, int dwReserved);
-public static final native int CommandBar_Create (int hInst, int hwndParent, int idCmdBar);
-public static final native void CommandBar_Destroy (int hwndCB);
-public static final native boolean CommandBar_DrawMenuBar (int hwndCB, int iButton);
-public static final native int CommandBar_Height (int hdnwCB);
-public static final native boolean CommandBar_InsertMenubarEx (int hwndCB, int hInst, int pszMenu, int iButton);
-public static final native boolean CommandBar_Show (int hwndCB, boolean fShow);
-public static final native int CommDlgExtendedError ();
-public static final native int CopyImage (int hImage, int uType, int cxDesired, int cyDesired, int fuFlags);
-public static final native int CreateAcceleratorTableW (byte [] lpaccl, int cEntries); 
-public static final native int CreateAcceleratorTableA (byte [] lpaccl, int cEntries);
-public static final native int CreateActCtxW (ACTCTX pActCtx);
-public static final native int CreateActCtxA (ACTCTX pActCtx);
-public static final native int CreateBitmap (int nWidth, int nHeight, int cPlanes, int cBitsPerPel, byte [] lpvBits);
-public static final native boolean CreateCaret (int hWnd, int hBitmap, int nWidth, int nHeight);
-public static final native int CreateCompatibleBitmap (int hdc, int nWidth, int nHeight);
-public static final native int CreateCompatibleDC (int hdc);
-public static final native int CreateCursor (int hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, byte [] pvANDPlane, byte [] pvXORPlane);
-public static final native int CreateDCW (char [] lpszDriver, char [] lpszDevice, int lpszOutput, int lpInitData);  
-public static final native int CreateDCA (byte [] lpszDriver, byte [] lpszDevice, int lpszOutput, int lpInitData);  
-public static final native int CreateDIBSection(int hdc, byte[] pbmi, int iUsage, int[] ppvBits, int hSection, int dwOffset);
-public static final native int CreateFontIndirectW (int lplf);
-public static final native int CreateFontIndirectA (int lplf);
-public static final native int CreateFontIndirectW (LOGFONTW lplf);
-public static final native int CreateFontIndirectA (LOGFONTA lplf);
-public static final native int CreateIconIndirect (ICONINFO lplf);
-public static final native int CreateMenu ();
-public static final native int CreatePalette (byte[] logPalette);
-public static final native int CreatePatternBrush (int colorRef);
-public static final native int CreatePen (int fnPenStyle, int nWidth, int crColor);
-public static final native int CreatePolygonRgn(int[] lppt, int cPoints, int fnPolyFillMode);
-public static final native int CreatePopupMenu ();
-public static final native int CreateRectRgn (int left, int top, int right, int bottom);
-public static final native int CreateSolidBrush (int colorRef);
-public static final native int CreateStreamOnHGlobal(int hGlobal, boolean fDeleteOnRelease, int[] ppstm);
-public static final native int CreateWindowExW (int dwExStyle, char [] lpClassName, char [] lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hWndParent, int hMenu, int hInstance, CREATESTRUCT lpParam);
-public static final native int CreateWindowExA (int dwExStyle, byte [] lpClassName, byte [] lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hWndParent, int hMenu, int hInstance, CREATESTRUCT lpParam);
-public static final native int DeferWindowPos (int hWinPosInfo, int hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);
-public static final native int DefMDIChildProcW (int hWnd, int Msg, int wParam, int lParam);
-public static final native int DefMDIChildProcA (int hWnd, int Msg, int wParam, int lParam);
-public static final native int DefFrameProcW (int hWnd, int hWndMDIClient, int Msg, int wParam, int lParam);
-public static final native int DefFrameProcA (int hWnd, int hWndMDIClient, int Msg, int wParam, int lParam);
-public static final native int DefWindowProcW (int hWnd, int Msg, int wParam, int lParam);
-public static final native int DefWindowProcA (int hWnd, int Msg, int wParam, int lParam);
-public static final native boolean DeleteDC (int hdc);
-public static final native boolean DeleteMenu (int hMenu, int uPosition, int uFlags);
-public static final native boolean DeleteObject (int hGdiObj);
-public static final native boolean DestroyAcceleratorTable (int hAccel);
-public static final native boolean DestroyCaret ();
-public static final native boolean DestroyCursor (int hCursor);
-public static final native boolean DestroyIcon (int hIcon);
-public static final native boolean DestroyMenu (int hMenu);
-public static final native boolean DestroyWindow (int hWnd);
-public static final native int DispatchMessageW (MSG lpmsg);
-public static final native int DispatchMessageA (MSG lpmsg);
-public static final native boolean DragDetect (int hwnd, POINT pt);
-public static final native void DragFinish (int hDrop);
-public static final native int DragQueryFileA (int hDrop, int iFile, byte[] lpszFile, int cch);
-public static final native int DragQueryFileW (int hDrop, int iFile, char[] lpszFile, int cch);
-public static final native boolean DrawEdge (int hdc, RECT qrc, int edge, int grfFlags);
-public static final native boolean DrawFocusRect (int hDC, RECT lpRect);
-public static final native boolean DrawFrameControl (int hdc, RECT lprc, int uType, int uState);
-public static final native boolean DrawIconEx (int hdc, int xLeft, int yTop, int hIcon, int cxWidth, int cyWidth, int istepIfAniCur, int hbrFlickerFreeDraw, int diFlags);
-public static final native boolean DrawMenuBar (int hWnd);
-public static final native boolean DrawStateW (int hdc, int hbr, int lpOutputFunc, int lData, int wData, int x, int y, int cx, int cy, int fuFlags);
-public static final native boolean DrawStateA (int hdc, int hbr, int lpOutputFunc, int lData, int wData, int x, int y, int cx, int cy, int fuFlags);
-public static final native int DrawTextW (int hDC, char [] lpString, int nCount, RECT lpRect, int uFormat);
-public static final native int DrawTextA (int hDC, byte [] lpString, int nCount, RECT lpRect, int uFormat);
-public static final native int DrawThemeBackground(int hTheme, int hdc, int iPartId, int iStateId, RECT pRect, RECT pClipRect);
-public static final native int DrawThemeEdge(int hTheme, int hdc, int iPartId, int iStateId, RECT pDestRect, int uEdge, int uFlags, RECT pContentRect);
-public static final native int DrawThemeIcon(int hTheme, int hdc, int iPartId, int iStateId, RECT pRect, int himl, int iImageIndex);
-public static final native int DrawThemeParentBackground(int hwnd, int hdc, RECT prc);
-public static final native int DrawThemeText(int hTheme, int hdc, int iPartId, int iStateId, char[] pszText, int iCharCount, int dwTextFlags, int dwTextFlags2, RECT pRect);
-public static final native boolean Ellipse (int hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
-public static final native boolean EnableMenuItem (int hMenu, int uIDEnableItem, int uEnable);
-public static final native boolean EnableScrollBar (int hWnd, int wSBflags, int wArrows);
-public static final native boolean EnableWindow (int hWnd, boolean bEnable);
-public static final native boolean EnumSystemLanguageGroupsW(int pLangGroupEnumProc, int dwFlags, int lParam);
-public static final native boolean EnumSystemLanguageGroupsA(int pLangGroupEnumProc, int dwFlags, int lParam);
-public static final native boolean EnumSystemLocalesW (int lpLocaleEnumProc, int dwFlags);
-public static final native boolean EnumSystemLocalesA (int lpLocaleEnumProc, int dwFlags);
-public static final native boolean EndDeferWindowPos (int hWinPosInfo);
-public static final native int EndDoc (int hdc);
-public static final native int EndPage (int hdc);
-public static final native int EndPaint (int hWnd, PAINTSTRUCT lpPaint);
-public static final native boolean EndPath(int hdc);
-public static final native boolean EnumDisplayMonitors (int hdc, RECT lprcClip, int lpfnEnum, int dwData);
-public static final native int EnumFontFamiliesW (int hdc, char [] lpszFamily, int lpEnumFontFamProc, int lParam);
-public static final native int EnumFontFamiliesA (int hdc, byte [] lpszFamily, int lpEnumFontFamProc, int lParam);
-public static final native int EnumFontFamiliesExW (int hdc, LOGFONTW lpLogfont, int lpEnumFontFamExProc, int lParam, int dwFlags);
-public static final native int EnumFontFamiliesExA (int hdc, LOGFONTA lpLogfont, int lpEnumFontFamExProc, int lParam, int dwFlags);
-public static final native boolean EqualRect (RECT lprc1, RECT lprc2);
-public static final native boolean EqualRgn (int hSrcRgn1, int hSrcRgn2);
-public static final native int ExcludeClipRect (int hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
-public static final native int ExpandEnvironmentStringsW (char [] lpSrc, char [] lsDst, int nSize);
-public static final native int ExpandEnvironmentStringsA (byte [] lpSrc, byte [] lsDst, int nSize);
-public static final native int ExtCreatePen(int dwPenStyle, int dwWidth, LOGBRUSH lplb, int dwStyleCount, int[] lpStyle);
-public static final native int ExtCreateRegion(float[] lpXform, int nCount, int[] lpRgnData);
-public static final native boolean ExtTextOutW(int hdc, int X, int Y, int fuOptions, RECT lprc, char[] lpString, int cbCount, int[] lpDx);
-public static final native boolean ExtTextOutA(int hdc, int X, int Y, int fuOptions, RECT lprc, byte[] lpString, int cbCount, int[] lpDx);
-public static final native int ExtractIconExW (char [] lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons);
-public static final native int ExtractIconExA (byte [] lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons);
-public static final native int FillRect(int hDC, RECT lprc, int hbr);
-public static final native boolean FillPath(int hdc);
-public static final native int FindWindowA (byte [] lpClassName, byte [] lpWindowName);
-public static final native int FindWindowW (char [] lpClassName, char [] lpWindowName);
-public static final native int FormatMessageA(int dwFlags, int lpSource, int dwMessageId, int dwLanguageId, int[] lpBuffer, int nSize, int Arguments);
-public static final native int FormatMessageW(int dwFlags, int lpSource, int dwMessageId, int dwLanguageId, int[] lpBuffer, int nSize, int Arguments);
-public static final native boolean FreeLibrary (int hLibModule);
-public static final native int GdiSetBatchLimit (int dwLimit);
-public static final native int GetACP ();
-public static final native int GetActiveWindow ();
-public static final native int GetBkColor (int hDC);
-public static final native int GetCapture ();
-public static final native boolean GetCaretPos (POINT lpPoint);
-public static final native boolean GetCharABCWidthsA (int hdc, int iFirstChar, int iLastChar, int [] lpabc);
-public static final native boolean GetCharABCWidthsW (int hdc, int iFirstChar, int iLastChar, int [] lpabc);
-public static final native int GetCharacterPlacementW(int hdc, char[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags);
-public static final native int GetCharacterPlacementA(int hdc, byte[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags);
-public static final native boolean GetCharWidthA (int hdc, int iFirstChar, int iLastChar, int [] lpBuffer);
-public static final native boolean GetCharWidthW (int hdc, int iFirstChar, int iLastChar, int [] lpBuffer);
-public static final native boolean GetClassInfoW (int hInstance, char [] lpClassName, WNDCLASS lpWndClass);
-public static final native boolean GetClassInfoA (int hInstance, byte [] lpClassName, WNDCLASS lpWndClass);
-public static final native int GetClassNameW (int hWnd, char [] lpClassName, int nMaxCount);
-public static final native int GetClassNameA (int hWnd, byte [] lpClassName, int nMaxCount);
-public static final native boolean GetClientRect (int hWnd, RECT lpRect);
-public static final native int GetClipboardData (int uFormat);
-public static final native int GetClipboardFormatNameA (int format, byte[] lpszFormatName, int cchMaxCount);
-public static final native int GetClipboardFormatNameW (int format, char[] lpszFormatName, int cchMaxCount);
-public static final native int GetClipBox (int hdc, RECT lprc);
-public static final native int GetClipRgn (int hdc, int hrgn);
-public static final native boolean GetComboBoxInfo (int hwndCombo, COMBOBOXINFO pcbi);
-public static final native int GetCurrentObject (int hdc, int uObjectType);
-public static final native int GetCurrentProcessId ();
-public static final native int GetCurrentThreadId ();
-public static final native int GetCursor ();
-public static final native boolean GetCursorPos (POINT lpPoint);
-public static final native int GetDC (int hwnd);
-public static final native int GetDCEx (int hWnd, int hrgnClip, int flags);
-public static final native int GetDesktopWindow ();
-public static final native int GetDeviceCaps (int hdc, int nIndex);
-public static final native int GetDialogBaseUnits ();
-public static final native int GetDIBColorTable (int hdc, int uStartIndex, int cEntries, byte[] pColors);
-public static final native int GetDIBits (int hdc, int hbmp, int uStartScan, int cScanLines, int lpvBits, byte[] lpbi, int uUsage);
-public static final native int GetDlgItem (int hDlg, int nIDDlgItem);
-public static final native int GetDoubleClickTime ();
-public static final native int GetFocus ();
-public static final native int GetFontLanguageInfo(int hdc);
-public static final native int GetForegroundWindow ();
-public static final native boolean GetGUIThreadInfo(int idThread, GUITHREADINFO lpgui);
-public static final native boolean GetIconInfo (int hIcon, ICONINFO piconinfo);
-public static final native int GetKeyboardLayoutList(int nBuff, int[] lpList);
-public static final native int GetKeyboardLayout(int idThread);
-public static final native short GetKeyState (int nVirtKey);
-public static final native boolean GetKeyboardState (byte [] lpKeyState);
-public static final native int GetKeyNameTextW(int lParam, char [] lpString, int nSize);
-public static final native int GetKeyNameTextA(int lParam, byte [] lpString, int nSize);
-public static final native int GetLastActivePopup (int hWnd);
-public static final native int GetLastError ();
-public static final native int GetLayout (int hdc);
-/* returns the instance handle to the swt library */
-public static final native int GetLibraryHandle ();
-public static final native int GetLocaleInfoW (int Locale, int LCType, char [] lpLCData, int cchData);
-public static final native int GetLocaleInfoA (int Locale, int LCType, byte [] lpLCData, int cchData);
-public static final native int GetMenu (int hWnd);
-public static final native boolean GetMenuBarInfo (int hWnd, int idObject, int idItem, MENUBARINFO pmbi);
-public static final native int GetMenuDefaultItem (int hMenu, int fByPos, int gmdiFlags);
-public static final native boolean GetMenuInfo (int hmenu, MENUINFO lpcmi);
-public static final native int GetMenuItemCount (int hMenu);
-public static final native boolean GetMenuItemInfoW (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native boolean GetMenuItemInfoA (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native boolean GetMenuItemRect (int hWnd, int hMenu, int uItem, RECT lprcItem);
-public static final native boolean GetMessageW (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax);
-public static final native boolean GetMessageA (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax);
-public static final native int GetMessagePos ();
-public static final native int GetMessageTime ();
-public static final native int GetMetaRgn(int hdc, int hrgn);
-public static final native int GetThemeColor(int hTheme, int iPartId, int iStateId, int iPropId, int[] pColor);
-public static final native int GetThemeTextExtent(int hTheme, int hdc, int iPartId, int iStateId, char[] pszText, int iCharCount, int dwTextFlags, RECT pBoundingRect, RECT pExtentRect);
-public static final native int GetTextCharset(int hdc);
-public static final native int GetTickCount ();
-public static final native int GetModuleFileNameW (int hModule, char [] lpFilename, int inSize);
-public static final native int GetModuleFileNameA (int hModule, byte [] lpFilename, int inSize);
-public static final native int GetModuleHandleW (char [] lpModuleName);
-public static final native int GetModuleHandleA (byte [] lpModuleName);
-public static final native boolean GetMonitorInfoW (int hmonitor, MONITORINFO lpmi);
-public static final native boolean GetMonitorInfoA (int hmonitor, MONITORINFO lpmi);
-public static final native int GetNearestPaletteIndex(int hPal, int crColor);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, BITMAP lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, BITMAP lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, DIBSECTION lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, DIBSECTION lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, EXTLOGPEN lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, EXTLOGPEN lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, LOGFONTA lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, LOGFONTW lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, LOGPEN lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, LOGPEN lpvObject);
-public static final native int GetObjectA (int hgdiobj, int cbBuffer, int lpvObject);
-public static final native int GetObjectW (int hgdiobj, int cbBuffer, int lpvObject);
-public static final native boolean GetOpenFileNameW (OPENFILENAME lpofn);
-public static final native boolean GetOpenFileNameA (OPENFILENAME lpofn);
-public static final native int GetPaletteEntries (int hPalette, int iStartIndex, int nEntries, byte[] logPalette);
-public static final native int GetParent (int hWnd);
-public static final native int GetPixel (int hdc, int x, int y);
-public static final native int GetPolyFillMode(int hdc);
-public static final native int GetProcAddress (int hModule, byte [] lpProcName);
-public static final native int GetProcessHeap ();
-public static final native int GetProfileStringW (char [] lpAppName, char [] lpKeyName, char [] lpDefault, char [] lpReturnedString, int nSize);
-public static final native int GetProfileStringA (byte [] lpAppName, byte [] lpKeyName, byte [] lpDefault, byte [] lpReturnedString, int nSize);
-public static final native int GetPropW (int hWnd, int lpString);
-public static final native int GetPropA (int hWnd, int lpString);
-public static final native int GetRandomRgn (int hdc, int hrgn, int iNum);
-public static final native int GetRegionData (int hRgn, int dwCount, int [] lpRgnData);
-public static final native int GetRgnBox (int hrgn, RECT lprc);
-public static final native int GetROP2 (int hdc);
-public static final native boolean GetSaveFileNameW (OPENFILENAME lpofn);
-public static final native boolean GetSaveFileNameA (OPENFILENAME lpofn);
-public static final native boolean GetScrollInfo (int hwnd, int flags, SCROLLINFO info);
-public static final native int GetStockObject (int fnObject);
-public static final native int GetSysColor (int nIndex);
-public static final native int GetSysColorBrush (int nIndex);
-public static final native short GetSystemDefaultUILanguage ();
-public static final native int GetSystemMenu (int hWnd, boolean bRevert);
-public static final native int GetSystemMetrics (int nIndex);
-public static final native int GetSystemPaletteEntries(int hdc, int iStartIndex, int nEntries, byte[] lppe);
-public static final native int GetTextColor (int hDC);
-public static final native boolean GetTextExtentPoint32W (int hdc, char [] lpString, int cbString, SIZE lpSize);
-public static final native boolean GetTextExtentPoint32A (int hdc, byte [] lpString, int cbString, SIZE lpSize);
-public static final native boolean GetTextMetricsW (int hdc, TEXTMETRICW lptm);
-public static final native boolean GetTextMetricsA (int hdc, TEXTMETRICA lptm);
-public static final native int GetThemeInt(int hTheme, int iPartId, int iStateId, int iPropId, int[] piVal);
-public static final native int GetThemeMargins(int hTheme, int hdc, int iPartId, int iStateId, int iPropId, RECT prc, MARGINS pMargins);
-public static final native int GetThemeBackgroundContentRect(int hTheme, int hdc, int iPartId, int iStateId, RECT pBoundingRect, RECT pContentRect);
-public static final native int GetThemeBackgroundExtent(int hTheme, int hdc, int iPartId, int iStateId, RECT pContentRect, RECT pExtentRect);
-public static final native int GetThemePartSize(int hTheme, int hdc, int iPartId, int iStateId, RECT prc, int eSize, SIZE psz);
-public static final native int GetThemeMetric(int hTheme, int hdc, int iPartId, int iStateId, int iPropId, int[] piVal);
-public static final native int GetThemeRect(int hTheme, int iPartId, int iStateId, int iPropId, RECT pRect);
-public static final native int GetThemeSysSize(int hTheme, int iSizeID);
-public static final native boolean GetUpdateRect (int hWnd, RECT lpRect, boolean bErase);
-public static final native int GetUpdateRgn (int hWnd, int hRgn, boolean bErase);
-public static final native boolean GetVersionExW (OSVERSIONINFOEXW lpVersionInfo);
-public static final native boolean GetVersionExA (OSVERSIONINFOEXA lpVersionInfo);
-public static final native boolean GetVersionExW (OSVERSIONINFOW lpVersionInfo);
-public static final native boolean GetVersionExA (OSVERSIONINFOA lpVersionInfo);
-public static final native int GetWindow (int hWnd, int uCmd);
-public static final native int GetWindowLongW (int hWnd, int nIndex);
-public static final native int GetWindowLongA (int hWnd, int nIndex);
-public static final native int GetWindowDC (int hWnd);
-public static final native boolean GetWindowOrgEx(int hdc, POINT lpPoint);
-public static final native boolean GetWindowPlacement (int hWnd, WINDOWPLACEMENT lpwndpl);
-public static final native boolean GetWindowRect (int hWnd, RECT lpRect);
-public static final native int GetWindowRgn(int hWnd, int hRgn);
-public static final native int GetWindowTextW (int hWnd, char [] lpString, int nMaxCount);
-public static final native int GetWindowTextA (int hWnd, byte [] lpString, int nMaxCount);
-public static final native int GetWindowTextLengthW (int hWnd);
-public static final native int GetWindowTextLengthA (int hWnd);
-public static final native int GetWindowThreadProcessId (int hWnd, int [] lpdwProcessId);
-public static final native boolean GetWorldTransform(int hdc, float[] lpXform);
-public static final native int GlobalAddAtomW (char [] lpString);
-public static final native int GlobalAddAtomA (byte [] lpString);
-public static final native int GlobalAlloc (int uFlags, int dwBytes);
-public static final native int GlobalFree (int hMem);
-public static final native int GlobalLock (int hMem);
-public static final native int GlobalSize (int hMem);
-public static final native boolean GlobalUnlock (int hMem);
-public static final native boolean GradientFill(int hdc, int pVertex, int dwNumVertex, int pMesh, int dwNumMesh, int dwMode);
-public static final native int HeapAlloc (int hHeap, int dwFlags, int dwBytes);
-public static final native boolean HeapFree (int hHeap, int dwFlags, int lpMem);
-public static final native boolean HideCaret (int hWnd);
-public static final native int HitTestThemeBackground(int hTheme, int hdc, int iPartId, int iStateId, int dwOptions, RECT pRect, int hrgn, POINT ptTest, short[] pwHitTestCode);
-public static final native int IIDFromString(char[] lpsz, byte[] lpiid);
-public static final native int ImageList_Add (int himl, int hbmImage, int hbmMask);
-public static final native int ImageList_AddMasked (int himl, int hbmImage, int crMask);
-public static final native boolean ImageList_BeginDrag (int himl, int iTrack, int dxHotspot, int dyHotspot);
-public static final native int ImageList_Create (int cx, int cy, int flags, int cInitial, int cGrow);
-public static final native boolean ImageList_Destroy (int himl);
-public static final native boolean ImageList_DragEnter (int hwndLock, int x, int y);
-public static final native boolean ImageList_DragLeave (int hwndLock);
-public static final native boolean ImageList_DragMove (int x, int y);
-public static final native boolean ImageList_DragShowNolock (boolean fShow);
-public static final native boolean ImageList_Draw (int himl, int i, int hdcDst, int x, int y, int fStyle);
-public static final native void ImageList_EndDrag ();
-public static final native int ImageList_GetDragImage (POINT ppt, POINT pptHotspot);
-public static final native int ImageList_GetIcon (int himl, int i, int flags);
-public static final native boolean ImageList_GetIconSize (int himl, int [] cx, int [] cy);   
-public static final native int ImageList_GetImageCount (int himl);
-public static final native boolean ImageList_Remove (int himl, int i);
-public static final native boolean ImageList_Replace (int himl, int i, int hbmImage, int hbmMask);
-public static final native int ImageList_ReplaceIcon (int himl, int i, int hicon);
-public static final native boolean ImageList_SetIconSize (int himl, int cx, int cy);
-public static final native int ImmAssociateContext (int hWnd, int hIMC);
-public static final native int ImmCreateContext ();
-public static final native boolean ImmDestroyContext (int hIMC);
-public static final native boolean ImmDisableTextFrameService (int idThread);
-public static final native boolean ImmGetCompositionFontW (int hIMC, LOGFONTW lplf);
-public static final native boolean ImmGetCompositionFontA (int hIMC, LOGFONTA lplf);
-public static final native int ImmGetCompositionStringW (int hIMC, int dwIndex, char [] lpBuf, int dwBufLen);
-public static final native int ImmGetCompositionStringA (int hIMC, int dwIndex, byte [] lpBuf, int dwBufLen);
-public static final native int ImmGetContext (int hWnd);
-public static final native boolean ImmGetConversionStatus (int hIMC, int [] lpfdwConversion, int [] lpfdwSentence);
-public static final native int ImmGetDefaultIMEWnd (int hWnd);
-public static final native boolean ImmGetOpenStatus (int hIMC);
-public static final native boolean ImmReleaseContext (int hWnd, int hIMC);
-public static final native boolean ImmSetCompositionFontW (int hIMC, LOGFONTW lplf);
-public static final native boolean ImmSetCompositionFontA (int hIMC, LOGFONTA lplf);
-public static final native boolean ImmSetCompositionWindow (int hIMC, COMPOSITIONFORM lpCompForm);
-public static final native boolean ImmSetConversionStatus (int hIMC, int fdwConversion, int dwSentence);
-public static final native boolean ImmSetOpenStatus (int hIMC, boolean fOpen);
-public static final native void InitCommonControls ();
-public static final native boolean InitCommonControlsEx (INITCOMMONCONTROLSEX lpInitCtrls);
-public static final native boolean InsertMenuW (int hMenu, int uPosition, int uFlags, int uIDNewItem, char [] lpNewItem);
-public static final native boolean InsertMenuA (int hMenu, int uPosition, int uFlags, int uIDNewItem, byte [] lpNewItem);
-public static final native boolean InsertMenuItemW (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native boolean InsertMenuItemA (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native boolean InternetSetOption (int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
-public static final native int IntersectClipRect (int hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
-public static final native boolean IntersectRect (RECT lprcDst, RECT lprcSrc1, RECT lprcSrc2);
-public static final native boolean InvalidateRect(int hWnd, RECT lpRect, boolean bErase);
-public static final native boolean InvalidateRgn (int hWnd, int hRgn, boolean bErase);
-public static final native boolean IsAppThemed();
-public static final native boolean IsDBCSLeadByte (byte TestChar);
-public static final native boolean IsHungAppWindow  (int hWnd);
-public static final native boolean IsIconic (int hWnd);
-public static final native boolean IsPPC();
-public static final native boolean IsSP();
-public static final native boolean IsWindowEnabled (int hWnd);
-public static final native boolean IsWindowVisible (int hWnd);
-public static final native boolean IsZoomed (int hWnd);
-public static final native boolean KillTimer (int hWnd, int uIDEvent);
-public static final native boolean LineTo (int hdc,int x1, int x2);
-public static final native int LoadBitmapW (int hInstance, int lpBitmapName);
-public static final native int LoadBitmapA (int hInstance, int lpBitmapName);
-public static final native int LoadCursorW (int hInstance, int lpCursorName);
-public static final native int LoadCursorA (int hInstance, int lpCursorName);
-public static final native int LoadIconW (int hInstance, int lpIconName);
-public static final native int LoadIconA (int hInstance, int lpIconName);
-public static final native int LoadImageW (int hinst, char [] lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
-public static final native int LoadImageA (int hinst, byte [] lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
-public static final native int LoadImageW (int hinst, int lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
-public static final native int LoadImageA (int hinst, int lpszName, int uType, int cxDesired, int cyDesired, int fuLoad);
-public static final native int LoadStringW (int hinst, int uID, char [] lpBuffer, int nBufferMax);
-public static final native int LoadStringA (int hinst, int uID, byte [] lpBuffer, int nBufferMax);
-public static final native int LoadLibraryW (char [] lpLibFileName);
-public static final native int LoadLibraryA (byte [] lpLibFileName);
-public static final native int LocalFree(int hMem);
-public static final native boolean LockWindowUpdate (int hWndLock);
-public static final native int MapVirtualKeyW (int uCode, int uMapType);
-public static final native int MapVirtualKeyA (int uCode, int uMapType);
-public static final native int MapWindowPoints (int hWndFrom, int hWndTo, POINT lpPoints, int cPoints);
-public static final native int MapWindowPoints (int hWndFrom, int hWndTo, RECT lpPoints, int cPoints);
-public static final native boolean MCIWndRegisterClass (int hInstance);
-public static final native boolean MessageBeep (int uType);
-public static final native int MessageBoxW (int hWnd, char [] lpText, char [] lpCaption, int uType);
-public static final native int MessageBoxA (int hWnd, byte [] lpText, byte [] lpCaption, int uType);
-public static final native int MonitorFromWindow (int hwnd, int dwFlags);
-public static final native void MoveMemory (char[] Destination, int SourcePtr, int Length);
-public static final native void MoveMemory (byte [] Destination, int Source, int Length);
-public static final native void MoveMemory (byte [] Destination, ACCEL Source, int Length);
-public static final native void MoveMemory (byte [] Destination, BITMAPINFOHEADER Source, int Length);
-public static final native void MoveMemory (int [] Destination, int Source, int Length);
-public static final native void MoveMemory (int Destination, byte [] Source, int Length);
-public static final native void MoveMemory (int Destination, char [] Source, int Length);
-public static final native void MoveMemory (int Destination, int [] Source, int Length);
-public static final native void MoveMemory (int Destination, GRADIENT_RECT Source, int Length);
-public static final native void MoveMemory (int Destination, LOGFONTW Source, int Length);
-public static final native void MoveMemory (int Destination, LOGFONTA Source, int Length);
-public static final native void MoveMemory (int Destination, MEASUREITEMSTRUCT Source, int Length);
-public static final native void MoveMemory (int Destination, MINMAXINFO Source, int Length);
-public static final native void MoveMemory (int Destination, MSG Source, int Length);
-public static final native void MoveMemory (int Destination, UDACCEL Source, int Length);
-public static final native void MoveMemory (int Destination, NMTTDISPINFOW Source, int Length);
-public static final native void MoveMemory (int Destination, NMTTDISPINFOA Source, int Length);
-public static final native void MoveMemory (int Destination, RECT Source, int Length);
-public static final native void MoveMemory (int Destination, TRIVERTEX Source, int Length);
-public static final native void MoveMemory (int Destination, WINDOWPOS Source, int Length);
-public static final native void MoveMemory (BITMAPINFOHEADER Destination, byte [] Source, int Length);
-public static final native void MoveMemory (DRAWITEMSTRUCT Destination, int Source, int Length);
-public static final native void MoveMemory (EXTLOGPEN Destination, int Source, int Length);
-public static final native void MoveMemory (HDITEM Destination, int Source, int Length);
-public static final native void MoveMemory (HELPINFO Destination, int Source, int Length);
-public static final native void MoveMemory (LOGFONTW Destination, int Source, int Length);
-public static final native void MoveMemory (LOGFONTA Destination, int Source, int Length);
-public static final native void MoveMemory (MEASUREITEMSTRUCT Destination, int Source, int Length);
-public static final native void MoveMemory (MINMAXINFO Destination, int Source, int Length);
-public static final native void MoveMemory (POINT Destination, int Source, int Length);
-public static final native void MoveMemory (NMHDR Destination, int Source, int Length);
-public static final native void MoveMemory (NMRGINFO Destination, int Source, int Length);
-public static final native void MoveMemory (NMCUSTOMDRAW Destination, int Source, int Length);
-public static final native void MoveMemory (NMLVCUSTOMDRAW Destination, int Source, int Length);
-public static final native void MoveMemory (NMTBHOTITEM Destination, int Source, int Length);
-public static final native void MoveMemory (NMTVCUSTOMDRAW Destination, int Source, int Length);
-public static final native void MoveMemory (NMTVITEMCHANGE Destination, int Source, int Length);
-public static final native void MoveMemory (NMUPDOWN Destination, int Source, int Length);
-public static final native void MoveMemory (int Destination, NMLVCUSTOMDRAW Source, int Length);
-public static final native void MoveMemory (int Destination, NMTVCUSTOMDRAW Source, int Length);
-public static final native void MoveMemory (int Destination, NMLVDISPINFO Source, int Length);
-public static final native void MoveMemory (int Destination, NMTVDISPINFO Source, int Length);
-public static final native void MoveMemory (NMLVDISPINFO Destination, int Source, int Length);
-public static final native void MoveMemory (NMTVDISPINFO Destination, int Source, int Length);
-public static final native void MoveMemory (NMLVFINDITEM Destination, int Source, int Length);
-public static final native void MoveMemory (NMHEADER Destination, int Source, int Length);
-public static final native void MoveMemory (NMLINK Destination, int Source, int Length);
-public static final native void MoveMemory (NMLISTVIEW Destination, int Source, int Length);
-public static final native void MoveMemory (NMREBARCHILDSIZE Destination, int Source, int Length);
-public static final native void MoveMemory (NMREBARCHEVRON Destination, int Source, int Length);
-public static final native void MoveMemory (NMTOOLBAR Destination, int Source, int Length);
-public static final native void MoveMemory (NMTTDISPINFOW Destination, int Source, int Length);
-public static final native void MoveMemory (NMTTDISPINFOA Destination, int Source, int Length);
-public static final native void MoveMemory (TEXTMETRICW Destination, int Source, int Length);
-public static final native void MoveMemory (TEXTMETRICA Destination, int Source, int Length);
-public static final native void MoveMemory (TVITEM Destination, int Source, int Length);
-public static final native void MoveMemory (WINDOWPOS Destination, int Source, int Length);
-public static final native void MoveMemory (MSG Destination, int Source, int Length);
-public static final native void MoveMemory (UDACCEL Destination, int Source, int Length);
-public static final native void MoveMemory(int Destination, DROPFILES Source, int Length);
-public static final native void MoveMemory(double[] Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(float[] Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(long[] Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(short[] Destination, int SourcePtr, int Length);
-public static final native void MoveMemory(int DestinationPtr, double[] Source, int Length);
-public static final native void MoveMemory(int DestinationPtr, float[] Source, int Length);
-public static final native void MoveMemory(int DestinationPtr, long[] Source, int Length);
-public static final native void MoveMemory(int DestinationPtr, short[] Source, int Length);
-public static final native void MoveMemory (SCRIPT_ITEM Destination, int SourcePtr, int Length);
-public static final native void MoveMemory (SCRIPT_LOGATTR Destination, int SourcePtr, int Length);
-public static final native void MoveMemory (SCRIPT_PROPERTIES Destination, int SourcePtr, int Length);
-public static final native void MoveMemory (int Destination, KEYBDINPUT Source, int Length);
-public static final native void MoveMemory (int Destination, MOUSEINPUT Source, int Length);
-public static final native boolean MoveToEx (int hdc,int x1, int x2, int lPoint);
-public static final native int MsgWaitForMultipleObjectsEx (int nCount, int pHandles, int dwMilliseconds, int dwWakeMask, int dwFlags);
-public static final native int MultiByteToWideChar (int CodePage, int dwFlags, byte [] lpMultiByteStr, int cchMultiByte, char [] lpWideCharStr, int cchWideChar);
-public static final native int MultiByteToWideChar (int CodePage, int dwFlags, int lpMultiByteStr, int cchMultiByte, char [] lpWideCharStr, int cchWideChar);
-public static final native void NotifyWinEvent (int event, int hwnd, int idObject, int idChild);
-public static final native boolean OffsetRect(RECT lprc, int dx, int dy);
-public static final native int OffsetRgn (int hrgn, int nXOffset, int nYOffset);
-public static final native int OleInitialize (int pvReserved);
-public static final native void OleUninitialize ();
-public static final native boolean OpenClipboard (int hWndNewOwner);
-public static final native int OpenThemeData (int hwnd, char[] pszClassList);
-public static final native boolean PatBlt (int hdc,int x1, int x2,int w, int h, int rop);
-public static final native boolean PeekMessageW (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg);
-public static final native boolean PeekMessageA (MSG lpMsg, int hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg);
-public static final native boolean Pie (int hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc);
-public static final native boolean Polygon (int hdc, int [] points, int nPoints);
-public static final native boolean Polyline (int hdc,int[] points, int nPoints);
-public static final native boolean PostMessageW (int hWnd, int Msg, int wParam, int lParam);
-public static final native boolean PostMessageA (int hWnd, int Msg, int wParam, int lParam);
-public static final native boolean PostThreadMessageW (int idThread, int Msg, int wParam, int lParam);
-public static final native boolean PostThreadMessageA (int idThread, int Msg, int wParam, int lParam);
-public static final native short PRIMARYLANGID (short lgid);
-public static final native boolean PrintDlgW (PRINTDLG lppd);
-public static final native boolean PrintDlgA (PRINTDLG lppd);
-public static final native boolean PtInRect (RECT rect, POINT pt);
-public static final native boolean PtInRegion (int hrgn, int X, int Y);
-public static final native int RealizePalette(int hDC);
-public static final native boolean Rectangle (int hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
-public static final native boolean RectInRegion (int hrgn, RECT lprc);
-public static final native boolean RedrawWindow (int hWnd, RECT lprcUpdate, int hrgnUpdate, int flags);
-public static final native int RegCloseKey (int hKey);
-public static final native int RegisterClassW (WNDCLASS lpWndClass);
-public static final native int RegisterClassA (WNDCLASS lpWndClass);
-public static final native int RegisterWindowMessageW (char [] lpString);
-public static final native int RegisterWindowMessageA (byte [] lpString);
-public static final native int RegEnumKeyExW (int hKey, int dwIndex, char [] lpName, int [] lpcName, int [] lpReserved, char [] lpClass, int [] lpcClass, FILETIME lpftLastWriteTime);
-public static final native int RegisterClipboardFormatA (byte[] lpszFormat); 
-public static final native int RegisterClipboardFormatW (char[] lpszFormat); 
-public static final native int RegOpenKeyExW (int hKey, char[] lpSubKey, int ulOptions, int samDesired, int[] phkResult);
-public static final native int RegQueryInfoKeyW (int hKey, int lpClass, int[] lpcbClass, int lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int lpftLastWriteTime);
-public static final native int RegQueryValueExW (int hKey, char[] lpValueName, int lpReserved, int[] lpType, char [] lpData, int[] lpcbData);
-public static final native int RegQueryValueExW (int hKey, char[] lpValueName, int lpReserved, int[] lpType, int [] lpData, int[] lpcbData);
-public static final native int RegEnumKeyExA (int hKey, int dwIndex, byte [] lpName, int [] lpcName, int [] lpReserved, byte [] lpClass, int [] lpcClass, FILETIME lpftLastWriteTime);
-public static final native int RegOpenKeyExA (int hKey, byte[] lpSubKey, int ulOptions, int samDesired, int[] phkResult);
-public static final native int RegQueryInfoKeyA (int hKey, int lpClass, int[] lpcbClass, int lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int lpftLastWriteTime);
-public static final native int RegQueryValueExA (int hKey, byte[] lpValueName, int lpReserved, int[] lpType, byte [] lpData, int[] lpcbData);
-public static final native int RegQueryValueExA (int hKey, byte[] lpValueName, int lpReserved, int[] lpType, int [] lpData, int[] lpcbData);
-public static final native boolean ReleaseCapture ();
-public static final native int ReleaseDC (int hWnd, int hDC);
-public static final native boolean RemoveMenu (int hMenu, int uPosition, int uFlags);
-public static final native int RemovePropA (int hWnd, int lpString);
-public static final native int RemovePropW (int hWnd, int lpString);
-public static final native boolean RestoreDC(int hdc, int nSavedDC);
-public static final native boolean RoundRect (int hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidth, int nHeight);
-public static final native int SaveDC(int hdc);
-public static final native boolean ScreenToClient (int hWnd, POINT lpPoint);
-public static final native int ScriptApplyDigitSubstitution(SCRIPT_DIGITSUBSTITUTE psds, SCRIPT_CONTROL psc, SCRIPT_STATE pss);
-public static final native int ScriptBreak(char[] pwcChars, int cChars, SCRIPT_ANALYSIS psa, int psla);
-public static final native int ScriptGetProperties(int[] ppSp, int[] piNumScripts);
-public static final native int ScriptCacheGetHeight(int hdc, int psc, int[] tmHeight);
-public static final native int ScriptCPtoX(int iCP, boolean fTrailing, int cChars, int cGlyphs, int pwLogClust, int psva, int piAdvance, SCRIPT_ANALYSIS psa, int[] piX);
-public static final native int ScriptFreeCache(int psc);
-public static final native int ScriptGetFontProperties(int hdc, int psc, SCRIPT_FONTPROPERTIES sfp);
-public static final native int ScriptGetLogicalWidths (SCRIPT_ANALYSIS psa, int cChars, int cGlyphs, int piGlyphWidth, int pwLogClust, int psva, int[] piDx);
-public static final native int ScriptItemize(char[] pwcInChars, int cInChars, int cMaxItems, SCRIPT_CONTROL psControl, SCRIPT_STATE psState, int pItems, int[] pcItems);
-public static final native int ScriptJustify(int psva, int piAdvance, int cGlyphs, int iDx, int iMinKashida, int piJustify);
-public static final native int ScriptLayout(int cRuns, byte[] pbLevel, int[] piVisualToLogical, int[] piLogicalToVisual);
-public static final native int ScriptPlace(int hdc, int psc, int pwGlyphs, int cGlyphs, int psva, SCRIPT_ANALYSIS psa, int piAdvance, int pGoffset, int[] pABC);
-public static final native int ScriptRecordDigitSubstitution(int Locale, SCRIPT_DIGITSUBSTITUTE psds);
-public static final native int ScriptShape(int hdc, int psc, char[] pwcChars, int cChars, int cMaxGlyphs, SCRIPT_ANALYSIS psa, int pwOutGlyphs, int pwLogClust, int psva, int[] pcGlyphs);
-public static final native int ScriptTextOut(int hdc, int psc, int x, int y, int fuOptions, RECT lprc, SCRIPT_ANALYSIS psa, int pwcReserved, int iReserved, int pwGlyphs, int cGlyphs, int piAdvance, int piJustify, int pGoffset);
-public static final native int ScriptXtoCP(int iX, int cChars, int cGlyphs, int pwLogClust, int psva, int piAdvance, SCRIPT_ANALYSIS psa, int[] piCP, int[] piTrailing);
-public static final native int ScrollWindowEx (int hWnd, int dx, int dy, RECT prcScroll, RECT prcClip, int hrgnUpdate, RECT prcUpdate, int flags);
-public static final native  int SelectClipRgn (int hdc, int hrgn);
-public static final native int SelectObject(int hDC, int HGDIObj);
-public static final native int SelectPalette(int hDC, int hpal, boolean bForceBackground);
-public static final native int SendInput (int nInputs, int pInputs, int cbSize);
-public static final native int SendMessageW (int hWnd, int Msg, int [] wParam, int [] lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int [] wParam, int lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, char [] lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, int [] lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, short [] lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, int lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, LVCOLUMN lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, LVHITTESTINFO lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, LITEM lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, LVITEM lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, MARGINS lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, POINT lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, REBARBANDINFO lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, RECT lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TBBUTTON lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TBBUTTONINFO lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TCITEM lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TOOLINFO lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVHITTESTINFO lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVINSERTSTRUCT lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVITEM lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, UDACCEL lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, HDITEM lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, HDLAYOUT lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, BUTTON_IMAGELIST lParam);
-public static final native int SendMessageW (int hWnd, int Msg, int wParam, SIZE lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int [] wParam, int [] lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int [] wParam, int lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, byte [] lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, int [] lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, short [] lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, int lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, LVCOLUMN lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, LVHITTESTINFO lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, LITEM lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, LVITEM lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, MARGINS lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, POINT lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, REBARBANDINFO lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, RECT lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TBBUTTON lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TBBUTTONINFO lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TCITEM lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TOOLINFO lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVHITTESTINFO lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVINSERTSTRUCT lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVITEM lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, UDACCEL lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, HDITEM lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, HDLAYOUT lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, BUTTON_IMAGELIST lParam);
-public static final native int SendMessageA (int hWnd, int Msg, int wParam, SIZE lParam);
-public static final native int SetActiveWindow (int hWnd);
-public static final native int SetBkColor (int hdc, int colorRef);
-public static final native int SetBkMode (int hdc, int mode);
-public static final native boolean SetBrushOrgEx (int hdc, int nXOrg, int nYOrg, POINT lppt);
-public static final native int SetCapture (int hWnd);
-public static final native boolean SetCaretPos (int X, int Y);
-public static final native int SetClipboardData (int uFormat, int hMem);
-public static final native int SetCursor (int hCursor);
-public static final native boolean SetCursorPos (int X, int Y);
-public static final native int SetDIBColorTable (int hdc, int uStartIndex, int cEntries, byte[] pColors);
-public static final native int SetErrorMode (int uMode);
-public static final native int SetFocus (int hWnd);
-public static final native boolean SetForegroundWindow (int hWnd);
-public static final native int SetGraphicsMode(int hdc, int iMode);
-public static final native int SetLayout (int hdc, int dwLayout);
-public static final native boolean SetMenu (int hWnd, int hMenu);
-public static final native boolean SetMenuDefaultItem (int hMenu, int uItem, int fByPos);
-public static final native boolean SetMenuInfo (int hmenu, MENUINFO lpcmi);
-public static final native boolean SetMenuItemInfoW (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native boolean SetMenuItemInfoA (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii);
-public static final native int SetMetaRgn (int hdc);
-public static final native int SetPaletteEntries (int hPal, int iStart, int cEntries, byte[] lppe);
-public static final native int SetParent (int hWndChild, int hWndNewParent);
-public static final native int SetPixel (int hdc, int X, int Y, int crColor);
-public static final native int SetPolyFillMode(int hdc, int iPolyFillMode);
-public static final native boolean SetRect(RECT lprc, int xLeft, int yTop, int xRight, int yBottom);
-public static final native boolean SetRectRgn (int hrgn, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
-public static final native int SetROP2 (int hdc, int fnDrawMode);
-public static final native boolean SetScrollInfo (int hwnd, int flags, SCROLLINFO info, boolean fRedraw);
-public static final native int SetStretchBltMode(int hdc, int iStretchMode);
-public static final native boolean SetPropW (int hWnd, int lpString, int hData);
-public static final native boolean SetPropA (int hWnd, int lpString, int hData);
-public static final native int SetTextAlign(int hdc, int fMode);
-public static final native int SetTextColor (int hdc, int colorRef);
-public static final native int SetTimer (int hWnd, int nIDEvent, int Elapse, int lpTimerFunc);
-public static final native int SetWindowLongW (int hWnd, int nIndex, int dwNewLong);
-public static final native int SetWindowLongA (int hWnd, int nIndex, int dwNewLong);
-public static final native boolean SetWindowOrgEx(int hdc, int X, int Y, POINT lpPoint);
-public static final native boolean SetWindowPlacement (int hWnd, WINDOWPLACEMENT lpwndpl);
-public static final native boolean SetWindowPos(int hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);
-public static final native int SetWindowRgn(int hWnd, int hRgn, boolean bRedraw);
-public static final native boolean SetWindowTextW (int hWnd, char [] lpString);
-public static final native boolean SetWindowTextA (int hWnd, byte [] lpString);
-public static final native int SetWindowsHookExW (int idHook, int lpfn,  int hMod,  int dwThreadId);
-public static final native int SetWindowsHookExA (int idHook, int lpfn,  int hMod,  int dwThreadId);
-public static final native boolean SetWorldTransform(int hdc, float[] lpXform);
-public static final native int SHBrowseForFolderW (BROWSEINFO lpbi);
-public static final native int SHBrowseForFolderA (BROWSEINFO lpbi);
-public static final native boolean SHCreateMenuBar(SHMENUBARINFO pmb);
-public static final native boolean SHHandleWMSettingChange (int hwnd, int wParam, int lParam, SHACTIVATEINFO psai);
-public static final native int SHRecognizeGesture(SHRGINFO shrg);
-public static final native void SHSendBackToFocusWindow (int uMsg, int wp, int lp);
-public static final native boolean SHSipPreference (int hwnd, int st);
-public static final native boolean ShellExecuteExW (SHELLEXECUTEINFO lpExecInfo);
-public static final native boolean ShellExecuteExA (SHELLEXECUTEINFO lpExecInfo);
-public static final native boolean Shell_NotifyIconA (int dwMessage, NOTIFYICONDATAA lpData);
-public static final native boolean Shell_NotifyIconW (int dwMessage, NOTIFYICONDATAW lpData);
-public static final native int SHGetMalloc (int [] ppMalloc);
-public static final native boolean SHGetPathFromIDListW (int pidl, char [] pszPath);
-public static final native boolean SHGetPathFromIDListA (int pidl, byte [] pszPath);
-public static final native boolean SHSetAppKeyWndAssoc(byte bVk, int hwnd);
-public static final native boolean ShowCaret (int hWnd);
-public static final native boolean ShowOwnedPopups (int hWnd, boolean fShow);
-public static final native boolean ShowScrollBar (int hWnd, int wBar, boolean bShow);
-public static final native boolean ShowWindow (int hWnd, int nCmdShow);
-public static final native boolean SipGetInfo (SIPINFO pSipInfo);
-public static final native int StartDocW (int hdc, DOCINFO lpdi);
-public static final native int StartDocA (int hdc, DOCINFO lpdi);
-public static final native int StartPage (int hdc);
-public static final native boolean StretchBlt (int hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, int hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, int dwRop);
-public static final native boolean StrokePath(int hdc);
-public static final native boolean SystemParametersInfoW (int uiAction, int uiParam, HIGHCONTRAST pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoA (int uiAction, int uiParam, HIGHCONTRAST pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoW (int uiAction, int uiParam, RECT pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoA (int uiAction, int uiParam, RECT pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoW (int uiAction, int uiParam, NONCLIENTMETRICSW pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoA (int uiAction, int uiParam, NONCLIENTMETRICSA pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoW (int uiAction, int uiParam, int[] pvParam, int fWinIni);
-public static final native boolean SystemParametersInfoA (int uiAction, int uiParam, int[] pvParam, int fWinIni);
-public static final native int ToAscii (int uVirtKey, int uScanCode, byte [] lpKeyState, short [] lpChar, int uFlags);
-public static final native int ToUnicode(int wVirtKey, int wScanCode, byte [] lpKeyState, char [] pwszBuff, int cchBuff, int wFlags);
-public static final native boolean TrackMouseEvent(TRACKMOUSEEVENT lpEventTrack);
-public static final native boolean TrackPopupMenu (int hMenu, int uFlags, int x, int y, int nReserved, int hWnd, RECT prcRect);
-public static final native int TranslateAcceleratorW (int hWnd, int hAccTable, MSG lpMsg);
-public static final native int TranslateAcceleratorA (int hWnd, int hAccTable, MSG lpMsg);
-public static final native boolean TranslateCharsetInfo(int lpSrc, int [] lpCs, int dwFlags);
-public static final native boolean TranslateMDISysAccel (int hWndClient, MSG lpMsg);
-public static final native boolean TranslateMessage (MSG lpmsg);
-public static final native boolean TransparentBlt(int hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, int hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, int crTransparent);
-public static final native boolean TransparentImage (int hdcDest, int DstX, int DstY, int DstCx, int DstCy,int hSrc, int SrcX, int SrcY, int SrcCx, int SrcCy, int TransparentColor);public static final native boolean UnhookWindowsHookEx(int hhk);
-public static final native boolean UnregisterClassW (char [] lpClassName, int hInstance);
-public static final native boolean UnregisterClassA (byte [] lpClassName, int hInstance);
-public static final native boolean UpdateWindow (int hWnd);
-public static final native boolean ValidateRect (int hWnd, RECT lpRect);
-public static final native short VkKeyScanW (short ch);
-public static final native short VkKeyScanA (short ch);
-public static final native int VtblCall (int fnNumber, int ppVtbl);
-public static final native int VtblCall (int fnNumber, int ppVtbl, int arg0);
-public static final native int VtblCall (int fnNumber, int ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
-public static final native int VtblCall (int fnNumber, int ppVtbl, char[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
-public static final native boolean WaitMessage ();
-public static final native int WideCharToMultiByte (int CodePage, int dwFlags, char [] lpWideCharStr, int cchWideChar, byte [] lpMultiByteStr, int cchMultiByte, byte [] lpDefaultChar, boolean [] lpUsedDefaultChar);
-public static final native int WideCharToMultiByte (int CodePage, int dwFlags, char [] lpWideCharStr, int cchWideChar, int lpMultiByteStr, int cchMultiByte, byte [] lpDefaultChar, boolean [] lpUsedDefaultChar);
-public static final native int WindowFromDC (int hDC);
-public static final native int WindowFromPoint (POINT lpPoint);
-public static final native int strlen (int s);
-public static final native int wcslen (int string);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java
deleted file mode 100644
index bddd9df..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public abstract class OSVERSIONINFO {
-	public int dwOSVersionInfoSize; 
-	public int dwMajorVersion;
-	public int dwMinorVersion;
-	public int dwBuildNumber;
-	public int dwPlatformId;
-	public static /*final*/ int sizeof = OS.IsUnicode ? 276 : 148;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java
deleted file mode 100644
index 94c9a65..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOA.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class OSVERSIONINFOA extends OSVERSIONINFO {
-	public byte[] szCSDVersion = new byte[128];
-	public static final int sizeof = 148;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java
deleted file mode 100644
index 6916883..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEX.java
+++ /dev/null
@@ -1,20 +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.internal.win32;
-
-public abstract class OSVERSIONINFOEX extends OSVERSIONINFO {
-	public short wServicePackMajor;
-	public short wServicePackMinor;
-	public short wSuiteMask;
-	public byte wProductType;
-	public byte wReserved;
-	public static /*final*/ int sizeof = OS.IsUnicode ? 284 : 156;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java
deleted file mode 100644
index ed07f56..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXA.java
+++ /dev/null
@@ -1,16 +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.internal.win32;
-
-public class OSVERSIONINFOEXA extends OSVERSIONINFOEX {
-	public byte[] szCSDVersion = new byte[128];
-	public static final int sizeof = 156;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java
deleted file mode 100644
index 707bfe4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOEXW.java
+++ /dev/null
@@ -1,16 +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.internal.win32;
-
-public class OSVERSIONINFOEXW extends OSVERSIONINFOEX {
-	public char[] szCSDVersion = new char[128];
-	public static final int sizeof = 284;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java
deleted file mode 100644
index c27c85a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OSVERSIONINFOW.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class OSVERSIONINFOW extends OSVERSIONINFO {
-	public char[] szCSDVersion = new char[128];
-	public static final int sizeof = 276;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java
deleted file mode 100644
index a50473a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PAINTSTRUCT.java
+++ /dev/null
@@ -1,22 +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.win32;
-
-public class PAINTSTRUCT {
-	public int hdc; 
-	public boolean fErase;
-//	public RECT rcPaint;
-	public int left, top, right, bottom;
-	public boolean fRestore; 
-	public boolean fIncUpdate; 
-	public byte[] rgbReserved = new byte[32];
-	public static final int sizeof = 64;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.java
deleted file mode 100644
index 8a3a1ae..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/POINT.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.internal.win32;
-
-public class POINT {
-	public int x;
-	public int y;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java
deleted file mode 100644
index 0ebfb5b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PRINTDLG.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class PRINTDLG {
-	public int lStructSize; // DWORD
-	public int hwndOwner; // HWND
-	public int hDevMode; // HGLOBAL
-	public int hDevNames; // HGLOBAL
-	public int hDC; // HDC
-	public int Flags; // DWORD
-	public short nFromPage; // WORD
-	public short nToPage; // WORD
-	public short nMinPage; // WORD
-	public short nMaxPage; // WORD
-	public short nCopies; // WORD
-	public int hInstance; // HINSTANCE
-	public int lCustData; // LPARAM
-	public int lpfnPrintHook; // LPPRINTHOOKPROC
-	public int lpfnSetupHook; // LPSETUPHOOKPROC
-	public int lpPrintTemplateName; // LPCTSTR
-	public int lpSetupTemplateName; // LPCTSTR
-	public int hPrintTemplate; // HGLOBAL
-	public int hSetupTemplate; // HGLOBAL
-	public static final int sizeof = 66;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java
deleted file mode 100644
index 57168ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/REBARBANDINFO.java
+++ /dev/null
@@ -1,36 +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.win32;
-
-public class REBARBANDINFO {
-	public int cbSize;
-	public int fMask;
-	public int fStyle;
-	public int clrFore;
-	public int clrBack;
-	public int lpText;
-	public int cch;
-	public int iImage;
-	public int hwndChild;
-	public int cxMinChild;
-	public int cyMinChild;
-	public int cx;
-	public int hbmBack;
-	public int wID;
-	public int cyChild;  
-	public int cyMaxChild;
-	public int cyIntegral;
-	public int cxIdeal;
-	public int lParam;
-	public int cxHeader;
-	/* Note in WinCE.  The field cxHeader is not defined. */ 
-	public static final int sizeof = OS.IsWinCE ? 76 : 80;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java
deleted file mode 100644
index 69b6f7c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/RECT.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class RECT {
-	public int left;
-	public int top;
-	public int right;
-	public int bottom;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java
deleted file mode 100644
index e174436..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ANALYSIS.java
+++ /dev/null
@@ -1,23 +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.internal.win32;
-
-public class SCRIPT_ANALYSIS {
-	public short eScript;
-	public boolean fRTL;
-	public boolean fLayoutRTL;
-	public boolean fLinkBefore; 
-	public boolean fLinkAfter;
-	public boolean fLogicalOrder; 
-	public boolean fNoGlyphIndex;
-	public SCRIPT_STATE s = new SCRIPT_STATE(); 
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java
deleted file mode 100644
index c169e27..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_CONTROL.java
+++ /dev/null
@@ -1,25 +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.internal.win32;
-
-public class SCRIPT_CONTROL {
-	public int	uDefaultLanguage; 
-	public boolean fContextDigits; 
-	public boolean fInvertPreBoundDir; 
-	public boolean fInvertPostBoundDir; 
-	public boolean fLinkStringBefore; 
-	public boolean fLinkStringAfter;
-	public boolean fNeutralOverride;
-	public boolean fNumericOverride;
-	public boolean fLegacyBidiClass;
-	public int fReserved;
-	public static final int sizeof = 4;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java
deleted file mode 100644
index 0a3dc0a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_DIGITSUBSTITUTE.java
+++ /dev/null
@@ -1,19 +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.internal.win32;
-
-public class SCRIPT_DIGITSUBSTITUTE {
-	public short NationalDigitLanguage;
-	public short TraditionalDigitLanguage;
-	public byte DigitSubstitute;
-	public int dwReserved;
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java
deleted file mode 100644
index 1306eff..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_FONTPROPERTIES.java
+++ /dev/null
@@ -1,21 +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.internal.win32;
-
-public class SCRIPT_FONTPROPERTIES {
-	public int cBytes;
-	public short wgBlank;
-	public short wgDefault;
-	public short wgInvalid;
-	public short wgKashida; 
-	public int iKashidaWidth;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java
deleted file mode 100644
index c2e3be1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_ITEM.java
+++ /dev/null
@@ -1,17 +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.internal.win32;
-
-public class SCRIPT_ITEM {
-	public int iCharPos;
-	public SCRIPT_ANALYSIS a = new SCRIPT_ANALYSIS(); 
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java
deleted file mode 100644
index a31d377..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_LOGATTR.java
+++ /dev/null
@@ -1,21 +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.internal.win32;
-
-public class SCRIPT_LOGATTR {	
-	public boolean fSoftBreak; 
-	public boolean fWhiteSpace; 
-	public boolean fCharStop; 
-	public boolean fWordStop; 
-	public boolean fInvalid; 
-	public byte fReserved;	
-	public static final int sizeof = 1;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.java
deleted file mode 100644
index af69849..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_PROPERTIES.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.internal.win32;
-
-public class SCRIPT_PROPERTIES {
-	public short langid;
-	public boolean fNumeric;
-	public boolean fComplex;
-	public boolean fNeedsWordBreaking;
-	public boolean fNeedsCaretInfo;
-	public byte bCharSet;
-	public boolean fControl;
-	public boolean fPrivateUseArea;
-	public boolean fNeedsCharacterJustify;
-	public boolean fInvalidGlyph;
-	public boolean fInvalidLogAttr;
-	public boolean fCDM;
-	public boolean fAmbiguousCharSet;
-	public boolean fClusterSizeVaries;
-	public boolean fRejectInvalid;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java
deleted file mode 100644
index 1ae948a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCRIPT_STATE.java
+++ /dev/null
@@ -1,26 +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.internal.win32;
-
-public class SCRIPT_STATE {
-	public short uBidiLevel; 
-	public boolean fOverrideDirection; 
-	public boolean fInhibitSymSwap; 
-	public boolean fCharShape; 
-	public boolean fDigitSubstitute; 
-	public boolean fInhibitLigate; 
-	public boolean fDisplayZWG; 
-	public boolean fArabicNumContext; 
-	public boolean fGcpClusters; 
-	public boolean fReserved; 
-	public short fEngineReserved;
-	public static final int sizeof = 2;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java
deleted file mode 100644
index e2762a7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SCROLLINFO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class SCROLLINFO {
-	public int cbSize;
-	public int fMask;
-	public int nMin;
-	public int nMax;
-	public int nPage;
-	public int nPos;
-	public int nTrackPos;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java
deleted file mode 100644
index 92323b3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHACTIVATEINFO.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class SHACTIVATEINFO {
-	public int cbSize;
-	public int hwndLastFocus;
-	public int fSipUp; // :1
-	public int fSipOnDeactivation; // :1
-	public int fActive; // :1
-	public int fReserved; // :29
-	public static final int sizeof = 12;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java
deleted file mode 100644
index 6371d12..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHELLEXECUTEINFO.java
+++ /dev/null
@@ -1,36 +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.win32;
-
-public class SHELLEXECUTEINFO {
-	public int cbSize;
-	public int fMask; 
-	public int hwnd;
-	public int lpVerb;
-	public int lpFile; 
-	public int lpParameters;
-	public int lpDirectory;
-	public int nShow; 
-	public int hInstApp;
-	// Optional members
-	public int lpIDList; 
-	public int lpClass;
-	public int hkeyClass;
-	public int dwHotKey;
-//	union {
-//		HANDLE hIcon;		
-//		HANDLE hMonitor;
-//	};
-	public int hIcon;
-	public int hProcess; 
-	public static final int sizeof = 60;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java
deleted file mode 100644
index 66e6d02..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHMENUBARINFO.java
+++ /dev/null
@@ -1,23 +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.win32;
-
-public class SHMENUBARINFO {
-	public int cbSize;
-	public int hwndParent;
-	public int dwFlags;
-	public int nToolBarId;
-	public int hInstRes;
-	public int nBmpId;
-	public int cBmpImages;
-	public int hwndMB;
-	public static final int sizeof = OS.IsSP ? 36 : 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java
deleted file mode 100644
index 3516a42..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SHRGINFO.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class SHRGINFO {
-	public int cbSize;
-	public int hwndClient;
-//	POINT ptDown
-	public int ptDown_x;
-	public int ptDown_y;
-	public int dwFlags;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java
deleted file mode 100644
index e8cc3d2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIPINFO.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class SIPINFO {
-	public int cbSize;
-	public int fdwFlags;
-//	RECT rcVisibleDesktop
-	public int rcVisibleDesktop_left;
-	public int rcVisibleDesktop_top;
-	public int rcVisibleDesktop_right;
-	public int rcVisibleDesktop_bottom;
-//	RECT rcSipRect
-	public int rcSipRect_left;
-	public int rcSipRect_top;
-	public int rcSipRect_right;
-	public int rcSipRect_bottom;
-	public int dwImDataSize;
-	public int pvImData;
-	public static final int sizeof = 48;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.java
deleted file mode 100644
index 3cef38b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/SIZE.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.internal.win32;
-
-public class SIZE {
-	public int cx;
-	public int cy;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java
deleted file mode 100644
index 8268073..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTON.java
+++ /dev/null
@@ -1,21 +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.win32;
-
-public class TBBUTTON {
-	public int iBitmap;
-	public int idCommand;
-	public byte fsState;
-	public byte fsStyle;
-	public int dwData;
-	public int iString;
-	public static final int sizeof = 20;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java
deleted file mode 100644
index 7656e23..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TBBUTTONINFO.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class TBBUTTONINFO {
-	public int cbSize;
-	public int dwMask;
-	public int idCommand;
-	public int iImage;
-	public byte fsState;
-	public byte fsStyle;
-	public short cx;
-	public int lParam;
-	public int pszText;
-	public int cchText;
-	public static final int sizeof = 32;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
deleted file mode 100644
index a1155ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.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.internal.win32;
-
-
-/**
- * This class implements the conversions between unicode characters
- * and the <em>platform supported</em> representation for characters.
- * <p>
- * Note that unicode characters which can not be found in the platform
- * encoding will be converted to an arbitrary platform specific character.
- * </p>
- */
-
-public class TCHAR {
-	int codePage;
-	public char [] chars;
-	public byte [] bytes;
-	int byteCount;
-
-public final static int sizeof = OS.IsUnicode ? 2 : 1;
-
-public TCHAR (int codePage, int length) {
-	this.codePage = codePage;
-	if (OS.IsUnicode) {
-		chars = new char [length];
-	} else {
-		bytes = new byte [byteCount = length];
-	}
-}
-
-public TCHAR (int codePage, char ch, boolean terminate) {
-	this (codePage, terminate ? new char [] {ch, '\0'} : new char [] {ch}, false);
-}
-
-public TCHAR (int codePage, char [] chars, boolean terminate) {
-	this.codePage = codePage;
-	int charCount = chars.length;
-	if (OS.IsUnicode) {
-		if (terminate) {
-			if (charCount == 0 || (charCount > 0 && chars [charCount - 1] != 0)) {
-				char [] newChars = new char [charCount + 1];
-				System.arraycopy (chars, 0, newChars, 0, charCount);
-				chars = newChars;
-			}
-		}
-		this.chars = chars;
-	} else {
-		int cp = codePage != 0 ? codePage : OS.CP_ACP;
-		bytes = new byte [byteCount = charCount * 2 + (terminate ? 1 : 0)];
-		byteCount = OS.WideCharToMultiByte (cp, 0, chars, charCount, bytes, byteCount, null, null);
-		if (terminate) byteCount++;
-	}
-}
-
-public TCHAR (int codePage, String string, boolean terminate) {
-	this (codePage, getChars (string, terminate), false);
-}
-
-static char [] getChars (String string, boolean terminate) {
-	int length = string.length ();
-	char [] chars = new char [length + (terminate ? 1 : 0)];
-	string.getChars (0, length, chars, 0);
-	return chars;
-}
-
-public int length () {
-	if (OS.IsUnicode) {
-		return chars.length;
-	} else {
-		return byteCount;
-	}
-}
-
-public int strlen () {
-	if (OS.IsUnicode) {
-		for (int i=0; i<chars.length; i++) {
-			if (chars [i] == '\0') return i;
-		}
-		return chars.length;
-	} else {
-		for (int i=0; i<byteCount; i++) {
-			if (bytes [i] == '\0') return i;
-		}
-		return byteCount;
-	}
-}
-
-public int tcharAt (int index) {
-	if (OS.IsUnicode) {
-		return chars [index];
-	} else {
-		int ch = bytes [index] & 0xFF;
-		if (OS.IsDBCSLeadByte ((byte) ch)) {
-			ch = ch << 8 | (bytes [index + 1] & 0xFF);
-		}
-		return ch;
-	}
-}
-
-public String toString () {
-	return toString (0, length ());
-}
-
-public String toString (int start, int length) {
-	if (OS.IsUnicode) {
-		return new String (chars, start, length);
-	} else {
-		byte [] bytes = this.bytes;
-		if (start != 0) {
-			bytes = new byte [length];
-			System.arraycopy (this.bytes, start, bytes, 0, length);
-		}
-		char [] chars = new char [length];
-		int cp = codePage != 0 ? codePage : OS.CP_ACP;
-		int charCount = OS.MultiByteToWideChar (cp, OS.MB_PRECOMPOSED, bytes, length, chars, length);
-		return new String (chars, 0, charCount);
-	}
-}
-
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java
deleted file mode 100644
index ada3369..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCITEM.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class TCITEM {
-	public int mask;
-	public int dwState;
-	public int dwStateMask;
-	public int pszText;
-	public int cchTextMax;
-	public int iImage;
-	public int lParam;
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java
deleted file mode 100644
index b0c5e6d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRIC.java
+++ /dev/null
@@ -1,31 +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.win32;
-
-public abstract class TEXTMETRIC {
-	public int tmHeight;
-	public int tmAscent; 
-	public int tmDescent;
-	public int tmInternalLeading;  
-	public int tmExternalLeading;
-	public int tmAveCharWidth;
-	public int tmMaxCharWidth;
-	public int tmWeight; 
-	public int tmOverhang;
-	public int tmDigitizedAspectX;
-	public int tmDigitizedAspectY;
-	public byte tmItalic;
-	public byte tmUnderlined; 
-	public byte tmStruckOut;
-	public byte tmPitchAndFamily;
-	public byte tmCharSet;
-	public static final int sizeof = OS.IsUnicode ? 60 : 56;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java
deleted file mode 100644
index d0ff185..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICA.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class TEXTMETRICA extends TEXTMETRIC {
-	public byte tmFirstChar;
-	public byte tmLastChar;
-	public byte tmDefaultChar; 
-	public byte tmBreakChar;
-	public static final int sizeof = 56;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java
deleted file mode 100644
index 2a5c800..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TEXTMETRICW.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class TEXTMETRICW extends TEXTMETRIC {
-	public char tmFirstChar;
-	public char tmLastChar;
-	public char tmDefaultChar; 
-	public char tmBreakChar;
-	public static final int sizeof = 60;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.java
deleted file mode 100644
index 593141f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOOLINFO.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.win32;
-
-public class TOOLINFO {
-	public int cbSize; 
-	public int uFlags;
-	public int hwnd; 
-	public int uId; 
-//	public RECT rect;
-	public int left, top, right, bottom;
-	public int hinst; 
-	public int lpszText;
-	public int lParam;
-	public static int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java
deleted file mode 100644
index d65f194..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRACKMOUSEEVENT.java
+++ /dev/null
@@ -1,19 +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.win32;
-
-public class TRACKMOUSEEVENT {
-	public int cbSize;
-	public int dwFlags;
-	public int hwndTrack;
-	public int dwHoverTime;
-	public static final int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java
deleted file mode 100644
index 44de9a9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TRIVERTEX.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class TRIVERTEX {
-	public int x;
-	public int y;
-	public short Red;
-	public short Green;
-	public short Blue;
-	public short Alpha;
-	public static final int sizeof = 16;
-}
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java
deleted file mode 100644
index c7cd0f8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVHITTESTINFO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class TVHITTESTINFO {
-//	POINT pt;
-	public int x;
-	public int y;
-	public int flags;
-	public int hItem;
-	public static int sizeof = 16;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java
deleted file mode 100644
index 4e5a97a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVINSERTSTRUCT.java
+++ /dev/null
@@ -1,29 +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.win32;
-
-public class TVINSERTSTRUCT {
-	public int hParent;
-	public int hInsertAfter;
-//	public TVITEMEX item;
-	public int mask;
-	public int hItem;
-	public int state;
-	public int stateMask;
-	public int pszText;
-  	public int cchTextMax;
-  	public int iImage;
-  	public int iSelectedImage;
-	public int cChildren;
-	public int lParam;
-	public int iIntegral;
-	public static final int sizeof = 48 + (OS.IsWinCE ? 0 : 4);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java
deleted file mode 100644
index 9236d27..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEM.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class TVITEM {
-	public int mask;
-	public int hItem;
-	public int state;
-	public int stateMask;
-	public int pszText;
-  	public int cchTextMax;
-  	public int iImage;
-  	public int iSelectedImage;
-	public int cChildren;
-	public int lParam;
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java
deleted file mode 100644
index 209e9ba..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TVITEMEX.java
+++ /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
- *******************************************************************************/
-package org.eclipse.swt.internal.win32;
-
-public class TVITEMEX extends TVITEM {
-	public int iIntegral;
-	public static final int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java
deleted file mode 100644
index 25a7deb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/UDACCEL.java
+++ /dev/null
@@ -1,17 +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.internal.win32;
-
-public class UDACCEL {
-	public int nSec;
-	public int nInc;
-	public static final int sizeof = 8;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java
deleted file mode 100644
index 2de717c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPLACEMENT.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class WINDOWPLACEMENT {
-	public int length;
-	public int flags; 
-	public int showCmd;
-//	POINT ptMinPosition;
-	public int ptMinPosition_x;
-	public int ptMinPosition_y;
-//	POINT ptMaxPosition;
-	public int ptMaxPosition_x;
-	public int ptMaxPosition_y;
-//	RECT  rcNormalPosition; 
-	public int left;
-	public int top;
-	public int right;
-	public int bottom;
-	public static final int sizeof = 44;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java
deleted file mode 100644
index 8cea3d9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WINDOWPOS.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.win32;
-
-public class WINDOWPOS {
-	public int hwnd;                     
-	public int hwndInsertAfter;
-	public int x;                        
-	public int y;
-	public int cx;                       
-	public int cy;
-	public int flags;  
-	public static final int sizeof = 28;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java
deleted file mode 100644
index 98c42a6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/WNDCLASS.java
+++ /dev/null
@@ -1,25 +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.win32;
-
-public class WNDCLASS {
-	public int style; 
-	public int lpfnWndProc; 
-	public int cbClsExtra; 
-	public int cbWndExtra; 
-	public int hInstance; 
-	public int hIcon; 
-	public int hCursor; 
-	public int hbrBackground; 
-	public int lpszMenuName; 
-	public int lpszClassName; 
-	public static final int sizeof = 40;
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html
deleted file mode 100644
index 1ee56b6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT internal Win32 implementation classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which represent the Microsoft 
-Win32 platform interface that the win32 variant of SWT is built
-from.
-<p>
-Referencing any of the classes in this package directly guarantees
-that the code is platform specific. Applications should not need to
-reference the classes in this package directly.
-</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/PrintDialog.java
deleted file mode 100644
index 83a2ebe..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/PrintDialog.java
+++ /dev/null
@@ -1,305 +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.printing;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.carbon.OS;
-
-/**
- * Instances of this class allow the user to select
- * a printer and various print-related parameters
- * prior to starting a print job.
- * <p>
- * IMPORTANT: This class is intended to be subclassed <em>only</em>
- * within the SWT implementation.
- * </p>
- */
-public class PrintDialog extends Dialog {
-	int scope = PrinterData.ALL_PAGES;
-	int startPage = 1, endPage = 1;
-	boolean printToFile = false;
-
-/**
- * Constructs a new instance of this class given only its parent.
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent) {
-	this (parent, SWT.PRIMARY_MODAL);
-}
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent, int style) {
-	super (parent, style);
-	checkSubclass ();
-}
-
-/**
- * Makes the receiver visible and brings it to the front
- * of the display.
- *
- * @return a printer data object describing the desired print job parameters
- *
- * @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 PrinterData open() {
-	int[] buffer = new int[1];
-	if (OS.PMCreateSession(buffer) == OS.noErr) {
-		int printSession = buffer[0];
-		if (OS.PMCreatePrintSettings(buffer) == OS.noErr) {
-			int printSettings = buffer[0];
-			OS.PMSessionDefaultPrintSettings(printSession, printSettings);
-			if (OS.PMCreatePageFormat(buffer) == OS.noErr) {
-				int pageFormat = buffer[0];
-				OS.PMSessionDefaultPageFormat(printSession, pageFormat);
-				OS.PMSessionSetDestination(printSession, printSettings, (short) (printToFile ? OS.kPMDestinationFile : OS.kPMDestinationPrinter), 0, 0);
-				if (scope == PrinterData.PAGE_RANGE) {
-					OS.PMSetFirstPage(printSettings, startPage, false);
-					OS.PMSetLastPage(printSettings, endPage, false);
-					OS.PMSetPageRange(printSettings, startPage, endPage);
-				} else {
-					OS.PMSetPageRange(printSettings, 1, OS.kPMPrintAllPages);
-				}
-				boolean[] accepted = new boolean [1];
-				OS.PMSessionPageSetupDialog(printSession, pageFormat, accepted);	
-				if (accepted[0]) {		
-					OS.PMSessionPrintDialog(printSession, printSettings, pageFormat, accepted);
-					if (accepted[0]) {
-						short[] destType = new short[1];
-						OS.PMSessionGetDestinationType(printSession, printSettings, destType);
-						String name = Printer.getCurrentPrinterName(printSession);
-						String driver = Printer.DRIVER;
-						switch (destType[0]) {
-							case OS.kPMDestinationFax: driver = Printer.FAX_DRIVER; break;
-							case OS.kPMDestinationFile: driver = Printer.FILE_DRIVER; break;
-							case OS.kPMDestinationPreview: driver = Printer.PREVIEW_DRIVER; break;
-							case OS.kPMDestinationPrinter: driver = Printer.PRINTER_DRIVER; break;
-						}
-						PrinterData data = new PrinterData(driver, name);
-						if (destType[0] == OS.kPMDestinationFile) {
-							data.printToFile = true;
-							OS.PMSessionCopyDestinationLocation(printSession, printSettings, buffer);
-							int fileName = OS.CFURLCopyFileSystemPath(buffer[0],OS.kCFURLPOSIXPathStyle);
-							OS.CFRelease(buffer[0]);
-							data.fileName = Printer.getString(fileName);
-							OS.CFRelease(fileName);
-						}
-						OS.PMGetCopies(printSettings, buffer);
-						data.copyCount = buffer[0];						
-						OS.PMGetFirstPage(printSettings, buffer);
-						data.startPage = buffer[0];
-						OS.PMGetLastPage(printSettings, buffer);
-						data.endPage = buffer[0];
-						OS.PMGetPageRange(printSettings, null, buffer);
-						if (data.startPage == 1 && data.endPage == OS.kPMPrintAllPages) {
-							data.scope = PrinterData.ALL_PAGES;
-						} else {
-							data.scope = PrinterData.PAGE_RANGE;
-						}
-						boolean[] collate = new boolean[1];
-						OS.PMGetCollate(printSettings, collate);
-						data.collate = collate[0];
-						
-						/* Serialize settings */
-						int[] flatSettings = new int[1];
-						OS.PMFlattenPrintSettings(printSettings, flatSettings);
-						int[] flatFormat = new int[1];
-						OS.PMFlattenPageFormat(pageFormat, flatFormat);
-						int settingsLength = OS.GetHandleSize (flatSettings[0]);
-						int formatLength = OS.GetHandleSize (flatFormat[0]);
-						byte[] otherData = data.otherData = new byte[settingsLength + formatLength + 8];
-						int offset = 0;
-						offset = Printer.packData(flatSettings[0], otherData, offset);
-						offset = Printer.packData(flatFormat[0], otherData, offset);
-						OS.DisposeHandle(flatSettings[0]);
-						OS.DisposeHandle(flatFormat[0]);
-						
-						scope = data.scope;
-						startPage = data.startPage;
-						endPage = data.endPage;
-						printToFile = data.printToFile;
-						return data;
-					}
-				}
-				OS.PMRelease(pageFormat);
-			}
-			OS.PMRelease(printSettings);
-		}
-		OS.PMRelease(printSession);
-	}
-	return null;
-}
-
-/**
- * Returns the print job scope that the user selected
- * before pressing OK in the dialog. This will be one
- * of the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @return the scope setting that the user selected
- */
-public int getScope() {
-	return scope;
-}
-
-/**
- * Sets the scope of the print job. The user will see this
- * setting when the dialog is opened. This can have one of
- * the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @param scope the scope setting when the dialog is opened
- */
-public void setScope(int scope) {
-	this.scope = scope;
-}
-
-/**
- * Returns the start page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the start page setting that the user selected
- */
-public int getStartPage() {
-	return startPage;
-}
-
-/**
- * Sets the start page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param startPage the startPage setting when the dialog is opened
- */
-public void setStartPage(int startPage) {
-	this.startPage = startPage;
-}
-
-/**
- * Returns the end page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the end page setting that the user selected
- */
-public int getEndPage() {
-	return endPage;
-}
-
-/**
- * Sets the end page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param endPage the end page setting when the dialog is opened
- */
-public void setEndPage(int endPage) {
-	this.endPage = endPage;
-}
-
-/**
- * Returns the 'Print to file' setting that the user selected
- * before pressing OK in the dialog.
- *
- * @return the 'Print to file' setting that the user selected
- */
-public boolean getPrintToFile() {
-	return printToFile;
-}
-
-/**
- * Sets the 'Print to file' setting that the user will see
- * when the dialog is opened.
- *
- * @param printToFile the 'Print to file' setting when the dialog is opened
- */
-public void setPrintToFile(boolean printToFile) {
-	this.printToFile = printToFile;
-}
-
-protected void checkSubclass() {
-	String name = getClass().getName();
-	String validName = PrintDialog.class.getName();
-	if (!validName.equals(name)) {
-		SWT.error(SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/Printer.java
deleted file mode 100644
index c762165..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/carbon/org/eclipse/swt/printing/Printer.java
+++ /dev/null
@@ -1,620 +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.printing;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.CFRange;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.PMRect;
-import org.eclipse.swt.internal.carbon.PMResolution;
-
-/**
- * Instances of this class are used to print to a printer.
- * Applications create a GC on a printer using <code>new GC(printer)</code>
- * and then draw on the printer GC using the usual graphics calls.
- * <p>
- * A <code>Printer</code> object may be constructed by providing
- * a <code>PrinterData</code> object which identifies the printer.
- * A <code>PrintDialog</code> presents a print dialog to the user
- * and returns an initialized instance of <code>PrinterData</code>.
- * Alternatively, calling <code>new Printer()</code> will construct a
- * printer object for the user's default printer.
- * </p><p>
- * Application code must explicitly invoke the <code>Printer.dispose()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required.
- * </p>
- *
- * @see PrinterData
- * @see PrintDialog
- */
-public final class Printer extends Device {
-	PrinterData data;
-	int printSession, printSettings, pageFormat;
-	boolean inPage, isGCCreated;
-	int context;
-	int colorspace;
-
-	static final String DRIVER = "Mac";
-	static final String PRINTER_DRIVER = "Printer";
-	static final String FILE_DRIVER = "File";
-	static final String PREVIEW_DRIVER = "Preview";
-	static final String FAX_DRIVER = "Fax";
-
-/**
- * Returns an array of <code>PrinterData</code> objects
- * representing all available printers.
- *
- * @return the list of available printers
- */
-public static PrinterData[] getPrinterList() {
-	PrinterData[] result = null;
-	int[] printSession = new int[1];
-	OS.PMCreateSession(printSession);
-	if (printSession[0] != 0) {
-		int[] printerList = new int[1], currentIndex = new int[1], currentPrinter = new int[1];
-		OS.PMSessionCreatePrinterList(printSession[0], printerList, currentIndex, currentPrinter);
-		if (printerList[0] != 0) {
-			int count = OS.CFArrayGetCount(printerList[0]);
-			result = new PrinterData[count];
-			for (int i=0; i<count; i++) {
-				String name = getString(OS.CFArrayGetValueAtIndex(printerList[0], i));
-				result[i] = new PrinterData(DRIVER, name);
-			}
-			OS.CFRelease(printerList[0]);
-		}
-		OS.PMRelease(printSession[0]);
-	}
-	return result == null ? new PrinterData[0] : result;
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing
- * the default printer or <code>null</code> if there is no 
- * printer available on the System.
- *
- * @return the default printer data or null
- * 
- * @since 2.1
- */
-public static PrinterData getDefaultPrinterData() {
-	PrinterData result = null;
-	int[] printSession = new int[1];
-	OS.PMCreateSession(printSession);
-	if (printSession[0] != 0) {
-		String name = getCurrentPrinterName(printSession[0]);
-		if (name != null) result = new PrinterData(DRIVER, name);
-		OS.PMRelease(printSession[0]);
-	}
-	return result;
-}
-static String getCurrentPrinterName(int printSession) {
-	String result = null;
-	int[] printerList = new int[1], currentIndex = new int[1], currentPrinter = new int[1];
-	OS.PMSessionCreatePrinterList(printSession, printerList, currentIndex, currentPrinter);
-	if (printerList[0] != 0) {
-		int count = OS.CFArrayGetCount(printerList[0]);
-		if (currentIndex[0] >= 0 && currentIndex[0] < count) {
-			result = getString(OS.CFArrayGetValueAtIndex(printerList[0], currentIndex[0]));
-		}
-		OS.CFRelease(printerList[0]);
-	}
-	return result;
-}
-static String getString(int ptr) {
-	int length = OS.CFStringGetLength(ptr);
-	char [] buffer = new char[length];
-	CFRange range = new CFRange();
-	range.length = length;
-	OS.CFStringGetCharacters(ptr, range, buffer);
-	return new String(buffer);
-}
-static int packData(int handle, byte[] buffer, int offset) {
-	int length = OS.GetHandleSize (handle);
-	buffer[offset++] = (byte)((length & 0xFF) >> 0);
-	buffer[offset++] = (byte)((length & 0xFF00) >> 8);
-	buffer[offset++] = (byte)((length & 0xFF0000) >> 16);
-	buffer[offset++] = (byte)((length & 0xFF000000) >> 24);
-	int [] ptr = new int [1];
-	OS.HLock(handle);
-	OS.memcpy(ptr, handle, 4);
-	byte[] buffer1 = new byte[length];
-	OS.memcpy(buffer1, ptr [0], length);
-	OS.HUnlock(handle);
-	System.arraycopy(buffer1, 0, buffer, offset, length);
-	return offset + length;
-}
-static int unpackData(int[] handle, byte[] buffer, int offset) {
-	int length = 
-		((buffer[offset++] & 0xFF) << 0) |
-		((buffer[offset++] & 0xFF) << 8) |
-		((buffer[offset++] & 0xFF) << 16) |
-		((buffer[offset++] & 0xFF) << 24);
-	handle[0] = OS.NewHandle(length);
-	if (handle[0] == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-	int[] ptr = new int[1];
-	OS.HLock(handle[0]);
-	OS.memcpy(ptr, handle[0], 4);
-	byte[] buffer1 = new byte[length];
-	System.arraycopy(buffer, offset, buffer1, 0, length);
-	OS.memcpy(ptr[0], buffer1, length);
-	OS.HUnlock(handle[0]);
-	return offset + length;
-}
-
-/**
- * Constructs a new printer representing the default printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer() {
-	this(null);
-}
-
-/**
- * Constructs a new printer given a <code>PrinterData</code>
- * object representing the desired printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @param data the printer data for the specified printer
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the specified printer data does not represent a valid printer
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer(PrinterData data) {
-	super (checkNull(data));
-}
-
-/**
- * Given a desired <em>client area</em> for the receiver
- * (as described by the arguments), returns the bounding
- * rectangle which would be required to produce that client
- * area.
- * <p>
- * In other words, it returns a rectangle such that, if the
- * receiver's bounds were set to that rectangle, the area
- * of the receiver which is capable of displaying data
- * (that is, not covered by the "trimmings") would be the
- * rectangle described by the arguments (relative to the
- * receiver's parent).
- * </p>
- * Note that there is no setBounds for a printer. This method
- * is usually used by passing in the client area (the 'printable
- * area') of the printer. It can also be useful to pass in 0, 0, 0, 0.
- * 
- * @param x the desired x coordinate of the client area
- * @param y the desired y coordinate of the client area
- * @param width the desired width of the client area
- * @param height the desired height of the client area
- * @return the required bounds to produce the given client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #getClientArea
- */
-public Rectangle computeTrim(int x, int y, int width, int height) {
-	checkDevice();
-	PMRect pageRect = new PMRect();
-	PMRect paperRect = new PMRect();
-	OS.PMGetAdjustedPageRect(pageFormat, pageRect);
-	OS.PMGetAdjustedPaperRect(pageFormat, paperRect);
-	return new Rectangle(x+(int)paperRect.left, y+(int)paperRect.top, width+(int)(paperRect.right-pageRect.right), height+(int)(paperRect.bottom-pageRect.bottom));
-}
-
-/**	 
- * Creates the printer handle.
- * This method is called internally by the instance creation
- * mechanism of the <code>Device</code> class.
- * @param deviceData the device data
- */
-protected void create(DeviceData deviceData) {
-	data = (PrinterData)deviceData;
-	
-	int[] buffer = new int[1];
-	if (OS.PMCreateSession(buffer) != OS.noErr) SWT.error(SWT.ERROR_NO_HANDLES);
-	printSession = buffer[0];
-	if (printSession == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-		
-	if (data.otherData != null) {
-		/* Deserialize settings */
-		int offset = 0;
-		byte[] otherData = data.otherData;
-		offset = unpackData(buffer, otherData, offset);
-		int flatSettings = buffer[0];
-		offset = unpackData(buffer, otherData, offset);
-		int flatFormat = buffer[0];
-		if (OS.PMUnflattenPrintSettings(flatSettings, buffer) != OS.noErr) SWT.error(SWT.ERROR_NO_HANDLES);
-		printSettings = buffer[0];
-		if (printSettings == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-		if (OS.PMUnflattenPageFormat(flatFormat, buffer) != OS.noErr) SWT.error(SWT.ERROR_NO_HANDLES);
-		pageFormat = buffer[0];
-		if (pageFormat == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-		OS.DisposeHandle(flatSettings);
-		OS.DisposeHandle(flatFormat);
-	} else {
-		/* Create default settings */
-		if (OS.PMCreatePrintSettings(buffer) != OS.noErr) SWT.error(SWT.ERROR_NO_HANDLES);
-		printSettings = buffer[0];
-		if (printSettings == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-		OS.PMSessionDefaultPrintSettings(printSession, printSettings);
-		if (OS.PMCreatePageFormat(buffer) != OS.noErr) SWT.error(SWT.ERROR_NO_HANDLES);
-		pageFormat = buffer[0];
-		if (pageFormat == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-		OS.PMSessionDefaultPageFormat(printSession, pageFormat);
-	}
-	
-	if (PREVIEW_DRIVER.equals(data.driver)) {
-		OS.PMSessionSetDestination(printSession, printSettings, (short) OS.kPMDestinationPreview, 0, 0);
-	}
-	String name = data.name;
-	char[] buffer1 = new char[name.length ()];
-	name.getChars(0, buffer1.length, buffer1, 0);
-	int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, buffer1, buffer1.length);
-	if (ptr != 0) {
-		OS.PMSessionSetCurrentPrinter(printSession, ptr); 
-		OS.CFRelease(ptr);
-	}
-	
-	OS.PMSessionValidatePrintSettings(printSession, printSettings, null);
-	OS.PMSessionValidatePageFormat(printSession, pageFormat, null);	
-	
-	int graphicsContextsArray = OS.CFArrayCreateMutable(OS.kCFAllocatorDefault, 1, 0);
-	if (graphicsContextsArray != 0) {
-		OS.CFArrayAppendValue(graphicsContextsArray, OS.kPMGraphicsContextCoreGraphics());
-		OS.PMSessionSetDocumentFormatGeneration(printSession, OS.kPMDocumentFormatPDF(), graphicsContextsArray, 0);
-		OS.CFRelease(graphicsContextsArray);
-	}
-}
-
-/**	 
- * Destroys the printer handle.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void destroy() {
-	if (pageFormat != 0) OS.PMRelease(pageFormat);
-	pageFormat = 0;
-	if (printSettings != 0) OS.PMRelease(printSettings);
-	printSettings = 0;
-	if (printSession != 0) OS.PMRelease(printSession);
-	printSession = 0;
-}
-
-/**	 
- * Invokes platform specific functionality to allocate a new GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param data the platform specific GC data 
- * @return the platform specific GC handle
- */
-public int internal_new_GC(GCData data) {
-	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-	setupNewPage();
-	if (data != null) {
-		if (isGCCreated) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		data.device = this;
-		data.background = getSystemColor(SWT.COLOR_WHITE).handle;
-		data.foreground = getSystemColor(SWT.COLOR_BLACK).handle;
-		data.font = getSystemFont ();
-		isGCCreated = true;
-	}
-	return context;
-}
-
-protected void init () {
-	super.init();
-	colorspace = OS.CGColorSpaceCreateDeviceRGB();
-	if (colorspace == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-}
-
-/**	 
- * Invokes platform specific functionality to dispose a GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data 
- */
-public void internal_dispose_GC(int context, GCData data) {
-	if (data != null) isGCCreated = false;
-}
-
-/**	 
- * Releases any internal state prior to destroying this printer.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void release () {
-	if (colorspace != 0) OS.CGColorSpaceRelease(colorspace);
-	colorspace = 0;
-	super.release();
-}
-
-/**
- * Starts a print job and returns true if the job started successfully
- * and false otherwise.
- * <p>
- * This must be the first method called to initiate a print job,
- * followed by any number of startPage/endPage calls, followed by
- * endJob. Calling startPage, endPage, or endJob before startJob
- * will result in undefined behavior.
- * </p>
- * 
- * @param jobName the name of the print job to start
- * @return true if the job started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #endPage
- * @see #endJob
- */
-public boolean startJob(String jobName) {
-	checkDevice();
-	if (jobName != null && jobName.length() != 0) {
-		char[] buffer = new char[jobName.length ()];
-		jobName.getChars(0, buffer.length, buffer, 0);
-		int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, buffer, buffer.length);
-		if (ptr != 0) {
-			OS.PMSetJobNameCFString(printSettings, ptr); 
-			OS.CFRelease (ptr);
-		}
-	}
-	return OS.PMSessionBeginDocumentNoDialog(printSession, printSettings, pageFormat) == OS.noErr;
-}
-
-/**
- * Ends the current print job.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startJob
- * @see #startPage
- * @see #endPage
- */
-public void endJob() {
-	checkDevice();
-	if (inPage) {
-		OS.PMSessionEndPageNoDialog(printSession);
-		inPage = false;
-	}
-	OS.PMSessionEndDocumentNoDialog(printSession);
-}
-
-/**
- * Cancels a print job in progress. 
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public void cancelJob() {
-	checkDevice();
-	OS.PMSessionSetError(printSession, OS.kPMCancel);
-}
-
-static DeviceData checkNull (PrinterData data) {
-	if (data == null) data = new PrinterData();
-	if (data.driver == null || data.name == null) {
-		PrinterData defaultPrinter = getDefaultPrinterData();
-		if (defaultPrinter == null) SWT.error(SWT.ERROR_NO_HANDLES);
-		data.driver = defaultPrinter.driver;
-		data.name = defaultPrinter.name;		
-	}
-	return data;
-}
-
-/**
- * Starts a page and returns true if the page started successfully
- * and false otherwise.
- * <p>
- * After calling startJob, this method may be called any number of times
- * along with a matching endPage.
- * </p>
- * 
- * @return true if the page started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #endPage
- * @see #startJob
- * @see #endJob
- */
-public boolean startPage() {
-	checkDevice();
-	if (OS.PMSessionError(printSession) != OS.noErr) return false;
-	setupNewPage();
-	return context != 0;
-}
-
-/**
- * Ends the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #startJob
- * @see #endJob
- */
-public void endPage() {
-	checkDevice();
-	if (inPage) {
-		OS.PMSessionEndPageNoDialog(printSession);
-		inPage = false;
-	}
-}
-
-/**
- * Returns a point whose x coordinate is the horizontal
- * dots per inch of the printer, and whose y coordinate
- * is the vertical dots per inch of the printer.
- *
- * @return the horizontal and vertical DPI
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public Point getDPI() {
-	checkDevice();
-	PMResolution resolution = new PMResolution();
-	OS.PMGetResolution(pageFormat, resolution);
-	return new Point((int)resolution.hRes, (int)resolution.vRes);
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location.
- * For a printer, this is the size of a page, in pixels.
- *
- * @return the bounding rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getClientArea
- * @see #computeTrim
- */
-public Rectangle getBounds() {
-	checkDevice();
-	PMRect paperRect = new PMRect();
-	OS.PMGetAdjustedPaperRect(pageFormat, paperRect);
-	return new Rectangle(0, 0, (int)(paperRect.right-paperRect.left), (int)(paperRect.bottom-paperRect.top));
-}
-
-/**
- * Returns a rectangle which describes the area of the
- * receiver which is capable of displaying data.
- * For a printer, this is the size of the printable area
- * of a page, in pixels.
- * 
- * @return the client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #computeTrim
- */
-public Rectangle getClientArea() {
-	checkDevice();
-	PMRect pageRect = new PMRect();
-	OS.PMGetAdjustedPageRect(pageFormat, pageRect);
-	return new Rectangle(0, 0, (int)(pageRect.right-pageRect.left), (int)(pageRect.bottom-pageRect.top));
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing the
- * target printer for this print job.
- * 
- * @return a PrinterData object describing the receiver
- */
-public PrinterData getPrinterData() {
-	checkDevice();
-	return data;
-}
-
-/**
- * On the Mac the core graphics context for printing is only valid between PMSessionBeginPage and PMSessionEndPage,
- * so printing code has to retrieve and initializes a graphic context for every page like this:
- * 
- * <pre>
- * PMSessionBeginDocument
- *    PMSessionBeginPage
- * 	     PMSessionGetGraphicsContext
- * 		 // ... use context
- *    PMSessionEndPage
- * PMSessionEndDocument
- * </pre>
- * 
- * In SWT it is OK to create a GC once between startJob / endJob and use it for all pages in between:
- * 
- * <pre>
- * startJob(...);
- * 	  GC gc= new GC(printer);
- *    startPage();
- * 		 // ... use gc
- *    endPage();
- *    gc.dispose();
- * endJob();
- * </pre>
- * 
- * The solution to resolve this difference is to rely on the fact that Mac OS X returns the same but
- * reinitialized graphics context for every page. So we only have to account for the fact that SWT assumes
- * that the graphics context keeps it settings across a page break when it actually does not.
- * So we have to copy some settings that exist in the CGC before a PMSessionEndPage to the CGC after a PMSessionBeginPage.
- * <p>
- * In addition to this we have to cope with the situation that in SWT we can create a GC before a call to
- * PMSessionBeginPage. For this we decouple the call to PMSessionBeginPage from
- * SWT's method startPage as follows: if a new GC is created before a call to startPage, internal_new_GC
- * does the PMSessionBeginPage and the next following startPage does nothing.
- * </p>
- */
-void setupNewPage() {
-	if (!inPage) {
-		inPage= true;
-		OS.PMSessionBeginPageNoDialog(printSession, pageFormat, null);
-		int[] buffer = new int[1];
-		OS.PMSessionGetGraphicsContext(printSession, 0, buffer);
-		if (context == 0) {
-			context = buffer[0];
-		} else {
-			if (context != buffer[0]) SWT.error(SWT.ERROR_UNSPECIFIED);
-		}
-		PMRect paperRect= new PMRect();
-		OS.PMGetAdjustedPaperRect(pageFormat, paperRect);
-		OS.CGContextScaleCTM(context, 1, -1);
-		OS.CGContextTranslateCTM(context, 0, -(float)(paperRect.bottom-paperRect.top));
-		OS.CGContextSetStrokeColorSpace(context, colorspace);
-		OS.CGContextSetFillColorSpace(context, colorspace);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/PrinterData.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/PrinterData.java
deleted file mode 100755
index a6675f3..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/PrinterData.java
+++ /dev/null
@@ -1,160 +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.printing;
-
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * Instances of this class are descriptions of a print job
- * in terms of the printer, and the scope and type of printing
- * that is desired. For example, the number of pages and copies
- * can be specified, as well as whether or not the print job
- * should go to a file.
- * <p>
- * Application code does <em>not</em> need to explicitly release the
- * resources managed by each instance when those instances are no longer
- * required, and thus no <code>dispose()</code> method is provided.
- * </p>
- *
- * @see Printer
- * @see Printer#getPrinterList
- * @see PrintDialog#open
- */
-
-public final class PrinterData extends DeviceData {
-	
-	/**
-	 * the printer driver
-	 * On Windows systems, this is the name of the driver (often "winspool").
-	 * On X/Window systems, this is the name of a display connection to the
-	 * Xprt server (the default is ":1").
-	 */
-	public String driver;
-	
-	/**
-	 * the name of the printer
-	 * On Windows systems, this is the name of the 'device'.
-	 * On X/Window systems, this is the printer's 'name'.
-	 */
-	public String name;
-	
-	/**
-	 * the scope of the print job, expressed as one of the following values:
-	 * <dl>
-	 * <dt><code>ALL_PAGES</code></dt>
-	 * <dd>Print all pages in the current document</dd>
-	 * <dt><code>PAGE_RANGE</code></dt>
-	 * <dd>Print the range of pages specified by startPage and endPage</dd>
-	 * <dt><code>SELECTION</code></dt>
-	 * <dd>Print the current selection</dd>
-	 * </dl>
-	 */
-	public int scope = ALL_PAGES;
-	
-	/**
-	 * the start page of a page range, used when scope is PAGE_RANGE
-	 */
-	public int startPage = 0;
-
-	/**
-	 * the end page of a page range, used when scope is PAGE_RANGE
-	 */
-	public int endPage = 0;
-	
-	/**
-	 * whether or not the print job should go to a file
-	 */
-	public boolean printToFile = false;
-	
-	/**
-	 * the name of the file to print to if printToFile is true.
-	 * Note that this field is ignored if printToFile is false.
-	 */
-	public String fileName;
-	
-	/**
-	 * the number of copies to print.
-	 * Note that this field may be controlled by the printer driver
-	 * In other words, the printer itself may be capable of printing
-	 * multiple copies, and if so, the value of this field will always be 1.
-	 */
-	public int copyCount = 1;
-	
-	/**
-	 * whether or not the printer should collate the printed paper
-	 * Note that this field may be controlled by the printer driver.
-	 * In other words, the printer itself may be capable of doing the
-	 * collation, and if so, the value of this field will always be false.
-	 */
-	public boolean collate = false;
-	
-	/**
-	 * <code>scope</code> field value indicating that
-	 * all pages should be printed
-	 */	
-	public static final int ALL_PAGES = 0;
-	
-	/**
-	 * <code>scope</code> field value indicating that
-	 * the range of pages specified by startPage and endPage
-	 * should be printed
-	 */	
-	public static final int PAGE_RANGE = 1;
-	
-	/**
-	 * <code>scope</code> field value indicating that
-	 * the current selection should be printed
-	 */	
-	public static final int SELECTION = 2;
-	
-	/**
-	 * private, platform-specific data
-	 * On Windows, this contains a copy of the DEVMODE struct
-	 * returned from the <code>PrintDialog</code>.
-	 * This field is not currently used on the X/Window System.
-	 */	
-	byte [] otherData;
-
-	/**
-	 * Constructs an instance of this class that can be
-	 * used to print to the default printer.
-	 * 
-	 * @see Printer#getDefaultPrinterData
-	 */
-	public PrinterData() {
-	}
-
-	/**
-	 * Constructs an instance of this class with the given
-	 * printer driver and printer name.
-	 *
-	 * @param driver the printer driver for the printer
-	 * @param name the name of the printer
-	 *
-	 * @see #driver
-	 * @see #name
-	 */
-	public PrinterData(String driver, String name) {
-		this.driver = driver;
-		this.name = name;
-	}
-
-	/**
-	 * Returns a string containing a concise, human-readable
-	 * description of the receiver.
-	 *
-	 * @return a string representation of the receiver
-	 */
-	public String toString() {
-		return "PrinterData {" + "driver = " + driver + ", name = " + name + "}";  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/package.html b/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/package.html
deleted file mode 100755
index 4de0891..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/common/org/eclipse/swt/printing/package.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT Printing support classes.
-<h2>
-Package Specification</h2>
-This package contains the classes which provide printing support for SWT.
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
deleted file mode 100644
index 9aaa6eb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/PrintDialog.java
+++ /dev/null
@@ -1,208 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Instances of this class allow the user to select
- * a printer and various print-related parameters
- * prior to starting a print job.
- * <p>
- * IMPORTANT: This class is intended to be subclassed <em>only</em>
- * within the SWT implementation.
- * </p>
- */
-public class PrintDialog extends Dialog {
-	int scope = PrinterData.ALL_PAGES;
-	int startPage = -1, endPage = -1;
-	boolean printToFile = false;
-
-/**
- * Constructs a new instance of this class given only its parent.
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent) {
-	this (parent, SWT.PRIMARY_MODAL);
-}
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent, int style) {
-	super (parent, style);
-	checkSubclass ();
-}
-/**
- * Makes the receiver visible and brings it to the front
- * of the display.
- *
- * @return a printer data object describing the desired print job parameters
- *
- * @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 PrinterData open() {
-	/* Return the first printer in the list */
-	PrinterData[] printers = Printer.getPrinterList();
-	if (printers.length > 0) return printers[0];
-	return null;
-}
-/**
- * Returns the print job scope that the user selected
- * before pressing OK in the dialog. This will be one
- * of the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @return the scope setting that the user selected
- */
-public int getScope() {
-	return scope;
-}
-/**
- * Sets the scope of the print job. The user will see this
- * setting when the dialog is opened. This can have one of
- * the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @param scope the scope setting when the dialog is opened
- */
-public void setScope(int scope) {
-	this.scope = scope;
-}
-/**
- * Returns the start page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the start page setting that the user selected
- */
-public int getStartPage() {
-	return startPage;
-}
-/**
- * Sets the start page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param startPage the startPage setting when the dialog is opened
- */
-public void setStartPage(int startPage) {
-	this.startPage = startPage;
-}
-/**
- * Returns the end page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the end page setting that the user selected
- */
-public int getEndPage() {
-	return endPage;
-}
-/**
- * Sets the end page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param endPage the end page setting when the dialog is opened
- */
-public void setEndPage(int endPage) {
-	this.endPage = endPage;
-}
-/**
- * Returns the 'Print to file' setting that the user selected
- * before pressing OK in the dialog.
- *
- * @return the 'Print to file' setting that the user selected
- */
-public boolean getPrintToFile() {
-	return printToFile;
-}
-/**
- * Sets the 'Print to file' setting that the user will see
- * when the dialog is opened.
- *
- * @param printToFile the 'Print to file' setting when the dialog is opened
- */
-public void setPrintToFile(boolean printToFile) {
-	this.printToFile = printToFile;
-}
-protected void checkSubclass() {
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
deleted file mode 100644
index b67e900..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
+++ /dev/null
@@ -1,317 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Instances of this class are used to print to a printer.
- * Applications create a GC on a printer using <code>new GC(printer)</code>
- * and then draw on the printer GC using the usual graphics calls.
- * <p>
- * A <code>Printer</code> object may be constructed by providing
- * a <code>PrinterData</code> object which identifies the printer.
- * A <code>PrintDialog</code> presents a print dialog to the user
- * and returns an initialized instance of <code>PrinterData</code>.
- * Alternatively, calling <code>new Printer()</code> will construct a
- * printer object for the user's default printer.
- * </p><p>
- * Application code must explicitly invoke the <code>Printer.dispose()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required.
- * </p>
- *
- * @see PrinterData
- * @see PrintDialog
- */
-public final class Printer extends Device {
-	PrinterData data;
-
-/**
- * Returns an array of <code>PrinterData</code> objects
- * representing all available printers.
- *
- * @return the list of available printers
- */
-public static PrinterData[] getPrinterList() {
-	PrinterData printerList[] = new PrinterData[0];
-	return printerList;
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing
- * the default printer or <code>null</code> if there is no 
- * printer available on the System.
- *
- * @return the default printer data or null
- * 
- * @since 2.1
- */
-public static PrinterData getDefaultPrinterData() {
-	return null;
-}
-
-/**
- * Constructs a new printer representing the default printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer() {
-	this(getDefaultPrinterData());
-}
-
-/**
- * Constructs a new printer given a <code>PrinterData</code>
- * object representing the desired printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @param data the printer data for the specified printer
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the specified printer data does not represent a valid printer
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer(PrinterData data) {
-	super (data);
-	SWT.error(SWT.ERROR_NO_HANDLES);
-}
-
-
-/**	 
- * Invokes platform specific functionality to allocate a new GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param data the platform specific GC data 
- * @return the platform specific GC handle
- */
-public int /*long*/ internal_new_GC(GCData data) {
-	return 0;
-}
-
-/**	 
- * Invokes platform specific functionality to dispose a GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data 
- */
-public void internal_dispose_GC(int /*long*/ xGC, GCData data) {
-}
-
-/**
- * Starts a print job and returns true if the job started successfully
- * and false otherwise.
- * <p>
- * This must be the first method called to initiate a print job,
- * followed by any number of startPage/endPage calls, followed by
- * endJob. Calling startPage, endPage, or endJob before startJob
- * will result in undefined behavior.
- * </p>
- * 
- * @param jobName the name of the print job to start
- * @return true if the job started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #endPage
- * @see #endJob
- */
-public boolean startJob(String jobName) {
-	return true;
-}
-
-/**
- * Ends the current print job.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startJob
- * @see #startPage
- * @see #endPage
- */
-public void endJob() {
-}
-
-/**
- * Cancels a print job in progress. 
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public void cancelJob() {
-}
-
-/**
- * Starts a page and returns true if the page started successfully
- * and false otherwise.
- * <p>
- * After calling startJob, this method may be called any number of times
- * along with a matching endPage.
- * </p>
- * 
- * @return true if the page started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #endPage
- * @see #startJob
- * @see #endJob
- */
-public boolean startPage() {
-	return true;
-}
-
-/**
- * Ends the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #startJob
- * @see #endJob
- */
-public void endPage() {
-}
-
-/**
- * Returns a point whose x coordinate is the horizontal
- * dots per inch of the printer, and whose y coordinate
- * is the vertical dots per inch of the printer.
- *
- * @return the horizontal and vertical DPI
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public Point getDPI() {
-	return new Point(0, 0);
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location.
- * For a printer, this is the size of a page, in pixels.
- *
- * @return the bounding rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getClientArea
- * @see #computeTrim
- */
-public Rectangle getBounds() {
-	return null;
-}
-
-/**
- * Returns a rectangle which describes the area of the
- * receiver which is capable of displaying data.
- * For a printer, this is the size of the printable area
- * of a page, in pixels.
- * 
- * @return the client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #computeTrim
- */
-public Rectangle getClientArea() {
-	return null;
-}
-
-/**
- * Given a desired <em>client area</em> for the receiver
- * (as described by the arguments), returns the bounding
- * rectangle which would be required to produce that client
- * area.
- * <p>
- * In other words, it returns a rectangle such that, if the
- * receiver's bounds were set to that rectangle, the area
- * of the receiver which is capable of displaying data
- * (that is, not covered by the "trimmings") would be the
- * rectangle described by the arguments (relative to the
- * receiver's parent).
- * </p>
- * Note that there is no setBounds for a printer. This method
- * is usually used by passing in the client area (the 'printable
- * area') of the printer. It can also be useful to pass in 0, 0, 0, 0.
- * 
- * @param x the desired x coordinate of the client area
- * @param y the desired y coordinate of the client area
- * @param width the desired width of the client area
- * @param height the desired height of the client area
- * @return the required bounds to produce the given client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #getClientArea
- */
-public Rectangle computeTrim(int x, int y, int width, int height) {
-	return new Rectangle(0,0,0,0);
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing the
- * target printer for this print job.
- * 
- * @return a PrinterData object describing the receiver
- */
-public PrinterData getPrinterData() {
-	return data;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/PrintDialog.java
deleted file mode 100755
index 9aaa6eb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/PrintDialog.java
+++ /dev/null
@@ -1,208 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Instances of this class allow the user to select
- * a printer and various print-related parameters
- * prior to starting a print job.
- * <p>
- * IMPORTANT: This class is intended to be subclassed <em>only</em>
- * within the SWT implementation.
- * </p>
- */
-public class PrintDialog extends Dialog {
-	int scope = PrinterData.ALL_PAGES;
-	int startPage = -1, endPage = -1;
-	boolean printToFile = false;
-
-/**
- * Constructs a new instance of this class given only its parent.
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent) {
-	this (parent, SWT.PRIMARY_MODAL);
-}
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent, int style) {
-	super (parent, style);
-	checkSubclass ();
-}
-/**
- * Makes the receiver visible and brings it to the front
- * of the display.
- *
- * @return a printer data object describing the desired print job parameters
- *
- * @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 PrinterData open() {
-	/* Return the first printer in the list */
-	PrinterData[] printers = Printer.getPrinterList();
-	if (printers.length > 0) return printers[0];
-	return null;
-}
-/**
- * Returns the print job scope that the user selected
- * before pressing OK in the dialog. This will be one
- * of the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @return the scope setting that the user selected
- */
-public int getScope() {
-	return scope;
-}
-/**
- * Sets the scope of the print job. The user will see this
- * setting when the dialog is opened. This can have one of
- * the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @param scope the scope setting when the dialog is opened
- */
-public void setScope(int scope) {
-	this.scope = scope;
-}
-/**
- * Returns the start page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the start page setting that the user selected
- */
-public int getStartPage() {
-	return startPage;
-}
-/**
- * Sets the start page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param startPage the startPage setting when the dialog is opened
- */
-public void setStartPage(int startPage) {
-	this.startPage = startPage;
-}
-/**
- * Returns the end page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the end page setting that the user selected
- */
-public int getEndPage() {
-	return endPage;
-}
-/**
- * Sets the end page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param endPage the end page setting when the dialog is opened
- */
-public void setEndPage(int endPage) {
-	this.endPage = endPage;
-}
-/**
- * Returns the 'Print to file' setting that the user selected
- * before pressing OK in the dialog.
- *
- * @return the 'Print to file' setting that the user selected
- */
-public boolean getPrintToFile() {
-	return printToFile;
-}
-/**
- * Sets the 'Print to file' setting that the user will see
- * when the dialog is opened.
- *
- * @param printToFile the 'Print to file' setting when the dialog is opened
- */
-public void setPrintToFile(boolean printToFile) {
-	this.printToFile = printToFile;
-}
-protected void checkSubclass() {
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/Printer.java
deleted file mode 100755
index f4a08ef..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/motif/org/eclipse/swt/printing/Printer.java
+++ /dev/null
@@ -1,709 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.motif.*; 
-
-/**
- * Instances of this class are used to print to a printer.
- * Applications create a GC on a printer using <code>new GC(printer)</code>
- * and then draw on the printer GC using the usual graphics calls.
- * <p>
- * A <code>Printer</code> object may be constructed by providing
- * a <code>PrinterData</code> object which identifies the printer.
- * A <code>PrintDialog</code> presents a print dialog to the user
- * and returns an initialized instance of <code>PrinterData</code>.
- * Alternatively, calling <code>new Printer()</code> will construct a
- * printer object for the user's default printer.
- * </p><p>
- * Application code must explicitly invoke the <code>Printer.dispose()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required.
- * </p>
- *
- * @see PrinterData
- * @see PrintDialog
- */
-public final class Printer extends Device {
-	PrinterData data;
-	int printContext, xScreen, xDrawable, xtContext;
-	Font defaultFont;
-	boolean isGCCreated;
-
-	static String APP_NAME = "SWT_Printer";
-	
-static DeviceData checkNull (PrinterData data) {
-	if (data == null) data = new PrinterData();
-	if (data.application_name == null) {
-		data.application_name = APP_NAME;
-	}
-	if (data.application_class == null) {
-		data.application_class = APP_NAME;
-	}
-	if (data.name == null || data.driver == null) {
-		PrinterData defaultData = getDefaultPrinterData();
-		if (defaultData == null) SWT.error(SWT.ERROR_NO_HANDLES);
-		data.name = defaultData.name;
-		data.driver = defaultData.driver;
-	}
-	return data;
-}	
-
-/**
- * Returns a <code>PrinterData</code> object representing
- * the default printer or <code>null</code> if there is no 
- * printer available on the System.
- *
- * @return the default printer data or null
- * 
- * @since 2.1
- */
-public static PrinterData getDefaultPrinterData() {
-	PrinterData[] list = getEnvPrinterList();
-	PrinterData defaultPrinter = getEnvDefaultPrinter(list);
-	if (defaultPrinter != null) return defaultPrinter;
-	if (list.length != 0) return list[0];	
-	return null;
-}
-
-/**
- * Returns the default printer <code>PrinterData</code> specified
- * by XPRINTER.
- *
- * @return the default printer data or <code>null</code>
- */
-static PrinterData getEnvDefaultPrinter(PrinterData[] serverList) {
-	String[] printerNames = new String[]{"XPRINTER", "PDPRINTER", "LPDEST", "PRINTER"};
-	for (int i = 0; i < printerNames.length; i++) {
-		int ptr = OS.getenv(Converter.wcsToMbcs(null, printerNames[i], true));
-		if (ptr != 0) {
-			int length = OS.strlen(ptr);
-			byte[] buffer = new byte[length];
-			OS.memmove(buffer, ptr, length);
-			String defaultPrinter = new String(Converter.mbcsToWcs(null, buffer));
-			int index = defaultPrinter.indexOf("@");
-			if (index != -1) {
-				String name = defaultPrinter.substring(0, index);
-				String driver = defaultPrinter.substring(index + 1);
-				return new PrinterData(driver, name);
-			} else {
-				for (int j = 0; j < serverList.length; j++) {
-					PrinterData printerData = serverList[j];
-					if (defaultPrinter.equals(printerData.name)) {
-						return new PrinterData(printerData.driver, defaultPrinter);
-					}
-				}
-			}					
-		}	
-	}
-	return null;
-}
-
-/**
- * Returns an array of <code>PrinterData</code> objects
- * representing all available printers.
- *
- * @return the list of available printers
- */
-public static PrinterData[] getPrinterList() {
-	PrinterData[] list = getEnvPrinterList();
-	/* Ensure that default printer data occurs in the printer list */	 
-	PrinterData data = getEnvDefaultPrinter(list);	 
-	if (data == null) return list;
-	for (int i = 0; i < list.length; i++) {
-		PrinterData printerData = list[i];
-		if (printerData.name.equals(data.name) && printerData.driver.equals(data.driver)) {
-			return list;
-		}
-	}
-	PrinterData[] newList = new PrinterData[list.length + 1];
-	System.arraycopy(list, 0, newList, 1, list.length);
-	newList[0] = data;
-	return newList;
-}
-
-/**
- * Returns a array of <code> PrinterData</code> objects
- * representing all available printers for all Xprint
- * servers specified in XPSERVERLIST.
- * 
- * Note: The default printer define by XPRINTER may not be
- * included in the list.
- * 
- * @return the list of printer for all servers
- */
-static PrinterData[] getEnvPrinterList() {
-	String[] serverList = getXPServerList();
-	PrinterData[] printerList = new PrinterData[0];
-	for (int i = 0; i < serverList.length; i++) {
-		PrinterData[] printers = getEnvPrinterList(serverList[i]);
-		if (printers.length != 0) {
-			PrinterData[] newPrinterList = new PrinterData [printerList.length + printers.length];
-			System.arraycopy(printerList, 0, newPrinterList, 0, printerList.length);
-			System.arraycopy(printers, 0, newPrinterList, printerList.length, printers.length);
-			printerList = newPrinterList;
-		}	
-	} 
-	return printerList;
-}
-
-/**
- * Returns a array of <code> PrinterData</code> objects
- * representing all available printers for a specific 
- * XPrint server
- * 
- * @param server the XPrint server name
- * @return the list of printers for a given XPrint server
- */
-static PrinterData[] getEnvPrinterList(String server) {
-	byte[] buffer = Converter.wcsToMbcs(null, server, true);
-	int pdpy = OS.XOpenDisplay (buffer);
-	if (pdpy == 0) return new PrinterData[0];
-
-	/* Get the list of printers */
-	int[] count = new int[1];
-	int plist = OS.XpGetPrinterList(pdpy, null, count);
-	int printerCount = count[0];
-	if (plist == 0 || printerCount == 0) {
-		OS.XCloseDisplay(pdpy);
-		if (plist != 0) OS.XpFreePrinterList(plist);
-		return new PrinterData[0];		
-	}
-    
-	/* Copy the printer names into PrinterData objects */
-	int[] stringPointers = new int[printerCount * 2];
-	OS.memmove(stringPointers, plist, printerCount * 2 * 4);
-	PrinterData printerList[] = new PrinterData[printerCount];
-	for (int i = 0; i < printerCount; i++) {
-		String name = "";
-		int address = stringPointers[i * 2];
-		if (address != 0) {
-			int length = OS.strlen(address);
-			buffer = new byte [length];
-			OS.memmove(buffer, address, length);
-			name = new String(Converter.mbcsToWcs(null, buffer));
-		}
-		printerList[i] = new PrinterData(server, name);
-	}
-	OS.XCloseDisplay(pdpy);	
-	OS.XpFreePrinterList(plist);	
-	return printerList;
-}
-
-/**
- * Returns the value of XPSERVERLIST.
- * 
- *  @return the value of the XPSERVERLIST variable from the environment
- */
-static String[] getXPServerList() {
-	byte[] name = Converter.wcsToMbcs(null, "XPSERVERLIST", true);
-	int ptr = OS.getenv(name);
-	String[] serversList = new String[0];
-	if (ptr != 0) {
-		int length = OS.strlen(ptr);
-		byte[] buffer1 = new byte[length];
-		OS.memmove(buffer1, ptr, length);
-		char[] buffer2 = Converter.mbcsToWcs(null, buffer1);
-		int i = 0;
-		while (i < buffer2.length) {
-			if (buffer2[i] != ' ') {
-				int start = i;
-				while (++i < buffer2.length && buffer2[i] != ' ') {/*empty*/}
-				String server = new String(buffer2, start, i - start);
-				String[] newServerList = new String[serversList.length + 1];
-				System.arraycopy(serversList, 0, newServerList, 0, serversList.length);
-				newServerList[serversList.length] = server;
-				serversList = newServerList;
-			}
-			i++;
-		}		
-	}	
-	return serversList;
-}
-
-/**
- * Constructs a new printer representing the default printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer() {
-	this(null);
-}
-
-/**
- * Constructs a new printer given a <code>PrinterData</code>
- * object representing the desired printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @param data the printer data for the specified printer
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the specified printer data does not represent a valid printer
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer(PrinterData data) {
-	super(checkNull(data));
-}
-
-/**	 
- * Creates the printer handle.
- * This method is called internally by the instance creation
- * mechanism of the <code>Device</code> class.
- * @param deviceData the device data
- */
-protected void create(DeviceData deviceData) {
-	data = (PrinterData)deviceData;
-	/* Use the character encoding for the default locale */
-	byte [] displayName = null, appName = null, appClass = null;
-	displayName = Converter.wcsToMbcs(null, data.driver, true);
-	appName = Converter.wcsToMbcs(null, data.application_name, true);
-	appClass = Converter.wcsToMbcs(null, data.application_class, true);
-
-	/* Open the display for the X print server */		
-	xtContext = OS.XtCreateApplicationContext();
-	if (xtContext == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-	xDisplay =  OS.XtOpenDisplay(xtContext, displayName, appName, appClass, 0, 0, new int[]{0}, 0);
-	if (xDisplay == 0) {
-		OS.XtDestroyApplicationContext(xtContext);
-		SWT.error(SWT.ERROR_NO_HANDLES);
-	}
-	setDPI = true;
-}
-
-protected void init() {
-	super.init();
-	
-	/* Use the character encoding for the default locale */
-	byte[] buffer = Converter.wcsToMbcs(null, data.name, true);
-
-	/*
-	 * Bug in Xp. If the printer name is not valid, Xp will
-	 * cause a segmentation fault. The fix is to check if the
-	 * printer name is valid before calling XpCreateContext().
-	 */
-	int[] count = new int[1];
-	int plist = OS.XpGetPrinterList(xDisplay, buffer, count);
-	if (plist != 0) OS.XpFreePrinterList(plist);
-	if (count[0] == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-
-	/* Create the printContext for the printer */
-	printContext = OS.XpCreateContext(xDisplay, buffer);
-
-	/* Set the printContext into the display */
-	OS.XpSetContext(xDisplay, printContext);
-
-	/* Get the printer's screen */
-	xScreen = OS.XpGetScreenOfContext(xDisplay, printContext);
-	if (xScreen == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-
-	/* Initialize the xDrawable */
-	XRectangle rect = new XRectangle();
-	short[] width = new short[1];
-	short[] height = new short[1];
-	OS.XpGetPageDimensions(xDisplay, printContext, width, height, rect);
-	xDrawable = OS.XCreateWindow(xDisplay, OS.XRootWindowOfScreen(xScreen), 
-		0, 0, rect.width, rect.height, 0,
-		OS.CopyFromParent, OS.CopyFromParent, OS.CopyFromParent, 0, null);
-	if (xDrawable == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-
-	/* Initialize the default font */
-	/* Use the character encoding for the default locale */
-	Point dpi = getDPI();
-	buffer = Converter.wcsToMbcs(null, "-*-courier-medium-r-*-*-*-120-"+dpi.x+"-"+dpi.y+"-*-*-iso8859-1", true);
-	int fontListEntry = OS.XmFontListEntryLoad(xDisplay, buffer, OS.XmFONT_IS_FONTSET, OS.XmFONTLIST_DEFAULT_TAG);
-	if (fontListEntry == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-	int defaultFontList = OS.XmFontListAppendEntry(0, fontListEntry);
-	OS.XmFontListEntryFree(new int[]{fontListEntry});
-	defaultFont = Font.motif_new(this, defaultFontList);
-}
-
-/**	 
- * Destroys the printer handle.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void destroy() {
-	if (xtContext != 0) OS.XtDestroyApplicationContext (xtContext);
-}
-
-/**	 
- * Invokes platform specific functionality to allocate a new GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param data the platform specific GC data 
- * @return the platform specific GC handle
- */
-public int internal_new_GC(GCData data) {
-	if (data != null) {
-		if (isGCCreated) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-		if ((data.style & mask) == 0) {
-			data.style |= SWT.LEFT_TO_RIGHT;
-		}
-		data.device = this;
-		data.display = xDisplay;
-		data.drawable = xDrawable;
-		data.font = defaultFont;
-		data.colormap = OS.XDefaultColormapOfScreen(xScreen);
-		int defaultGC = OS.XDefaultGCOfScreen(xScreen);
-		if (defaultGC != 0) {
-			XGCValues values = new XGCValues();
-			OS.XGetGCValues(xDisplay, defaultGC, OS.GCBackground | OS.GCForeground, values);
-			data.foreground = values.foreground;
-			data.background = values.background;
-		}
-		isGCCreated = true;
-	}
-	int xGC = OS.XCreateGC(xDisplay, xDrawable, 0, null);
-	if (xGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-	return xGC;
-}
-
-/**	 
- * Invokes platform specific functionality to dispose a GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data 
- */
-public void internal_dispose_GC(int xGC, GCData data) {
-	OS.XFreeGC(xDisplay, xGC);
-	if (data != null) isGCCreated = false;
-}
-
-/**
- * Starts a print job and returns true if the job started successfully
- * and false otherwise.
- * <p>
- * This must be the first method called to initiate a print job,
- * followed by any number of startPage/endPage calls, followed by
- * endJob. Calling startPage, endPage, or endJob before startJob
- * will result in undefined behavior.
- * </p>
- * 
- * @param jobName the name of the print job to start
- * @return true if the job started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #endPage
- * @see #endJob
- */
-public boolean startJob(String jobName) {
-	checkDevice();
-	/* Use the character encoding for the default locale */
-	byte [] buffer = Converter.wcsToMbcs(null, "*job-name: " + jobName, true);
-	OS.XpSetAttributes(xDisplay, printContext, OS.XPJobAttr, buffer, OS.XPAttrMerge);
-	OS.XpStartJob(xDisplay, OS.XPSpool);
-	return true;
-}
-
-/**
- * Ends the current print job.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startJob
- * @see #startPage
- * @see #endPage
- */
-public void endJob() {
-	checkDevice();
-	OS.XpEndJob(xDisplay);
-	OS.XFlush(xDisplay);
-}
-
-/**
- * Cancels a print job in progress. 
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public void cancelJob() {
-	checkDevice();
-	OS.XpCancelJob(xDisplay, true);
-}
-
-/**
- * Starts a page and returns true if the page started successfully
- * and false otherwise.
- * <p>
- * After calling startJob, this method may be called any number of times
- * along with a matching endPage.
- * </p>
- * 
- * @return true if the page started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #endPage
- * @see #startJob
- * @see #endJob
- */
-public boolean startPage() {
-	checkDevice();
-	OS.XpStartPage(xDisplay, xDrawable);
-	return true;
-}
-
-/**
- * Ends the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #startJob
- * @see #endJob
- */
-public void endPage() {
-	checkDevice();
-	OS.XpEndPage(xDisplay);
-}
-
-/**
- * Returns a point whose x coordinate is the horizontal
- * dots per inch of the printer, and whose y coordinate
- * is the vertical dots per inch of the printer.
- *
- * @return the horizontal and vertical DPI
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public Point getDPI() {
-	checkDevice();
-	/* Use the character encoding for the default locale */
-	byte [] buffer = Converter.wcsToMbcs(null, "default-printer-resolution", true);
-	int pool = OS.XpGetOneAttribute(xDisplay, printContext, OS.XPDocAttr, buffer);
-    int length = OS.strlen(pool);
-	buffer = new byte[length];
-	OS.memmove(buffer, pool, length);
-	OS.XtFree(pool);
-	String resolution = new String(buffer, 0, buffer.length);
-	int res = 300; // default
-	if (resolution.length() == 0) {
-		/* If we can't get the info from the DocAttrs, ask the printer. */
-		/* Use the character encoding for the default locale */
-		buffer = Converter.wcsToMbcs(null, "printer-resolutions-supported", true);
-		pool = OS.XpGetOneAttribute(xDisplay, printContext, OS.XPPrinterAttr, buffer);
-    		length = OS.strlen(pool);
-		buffer = new byte[length];
-		OS.memmove(buffer, pool, length);
-		OS.XtFree(pool);
-		int n = 0;
-		while (!Compatibility.isWhitespace((char)buffer[n]) && n < buffer.length) n++;
-		resolution = new String(buffer, 0, n);
-	}
-	if (resolution.length() != 0) {
-		try {
-			res = Integer.parseInt(resolution);
-		} catch (NumberFormatException ex) {}
-	}
-	return new Point(res, res);
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location.
- * For a printer, this is the size of a page, in pixels.
- *
- * @return the bounding rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getClientArea
- * @see #computeTrim
- */
-public Rectangle getBounds() {
-	checkDevice();
-	XRectangle rect = new XRectangle();
-	short [] width = new short [1];
-	short [] height = new short [1];
-	OS.XpGetPageDimensions(xDisplay, printContext, width, height, rect);
-	return new Rectangle(0, 0, width[0], height[0]);
-}
-
-/**
- * Returns a rectangle which describes the area of the
- * receiver which is capable of displaying data.
- * For a printer, this is the size of the printable area
- * of a page, in pixels.
- * 
- * @return the client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #computeTrim
- */
-public Rectangle getClientArea() {
-	checkDevice();
-	XRectangle rect = new XRectangle();
-	OS.XpGetPageDimensions(xDisplay, printContext, new short [1], new short [1], rect);
-	return new Rectangle(rect.x, rect.y, rect.width, rect.height);
-}
-
-/**
- * Given a desired <em>client area</em> for the receiver
- * (as described by the arguments), returns the bounding
- * rectangle which would be required to produce that client
- * area.
- * <p>
- * In other words, it returns a rectangle such that, if the
- * receiver's bounds were set to that rectangle, the area
- * of the receiver which is capable of displaying data
- * (that is, not covered by the "trimmings") would be the
- * rectangle described by the arguments (relative to the
- * receiver's parent).
- * </p>
- * Note that there is no setBounds for a printer. This method
- * is usually used by passing in the client area (the 'printable
- * area') of the printer. It can also be useful to pass in 0, 0, 0, 0.
- * 
- * @param x the desired x coordinate of the client area
- * @param y the desired y coordinate of the client area
- * @param width the desired width of the client area
- * @param height the desired height of the client area
- * @return the required bounds to produce the given client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #getClientArea
- */
-public Rectangle computeTrim(int x, int y, int width, int height) {
-	checkDevice();
-	XRectangle rect = new XRectangle();
-	short [] paperWidth = new short [1];
-	short [] paperHeight = new short [1];
-	OS.XpGetPageDimensions(xDisplay, printContext, paperWidth, paperHeight, rect);
-	int hTrim = paperWidth[0] - rect.width;
-	int vTrim = paperHeight[0] - rect.height;
-	return new Rectangle(x - rect.x, y - rect.y, width + hTrim, height + vTrim);
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing the
- * target printer for this print job.
- * 
- * @return a PrinterData object describing the receiver
- */
-public PrinterData getPrinterData() {
-	return data;
-}
-
-/**
- * Returns a reasonable font for applications to use.
- * On some platforms, this will match the "default font"
- * or "system font" if such can be found.  This font
- * should not be free'd because it was allocated by the
- * system, not the application.
- * <p>
- * Typically, applications which want the default look
- * should simply not set the font on the widgets they
- * create. Widgets are always created with the correct
- * default font for the class of user-interface component
- * they represent.
- * </p>
- *
- * @return a font
- *
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-public Font getSystemFont () {
-	checkDevice ();
-	return defaultFont;
-}
-
-/**
- * Checks the validity of this device.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-protected void checkDevice() {
-	if (xDisplay == 0) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
-}
-
-/**	 
- * Releases any internal state prior to destroying this printer.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void release() {
-	super.release();
-	if (defaultFont != null) {
-		OS.XmFontListFree(defaultFont.handle);
-		defaultFont.handle = 0;
-		defaultFont = null;
-	}
-	if (printContext != 0) {
-		OS.XpDestroyContext(xDisplay, printContext);
-		printContext = 0;
-	}
-	if (xDrawable != 0) {
-		OS.XDestroyWindow(xDisplay, xDrawable);
-		xDrawable = 0;
-	}
-	xScreen = 0;
-	data = null;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/PrintDialog.java
deleted file mode 100755
index 9aaa6eb..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/PrintDialog.java
+++ /dev/null
@@ -1,208 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Instances of this class allow the user to select
- * a printer and various print-related parameters
- * prior to starting a print job.
- * <p>
- * IMPORTANT: This class is intended to be subclassed <em>only</em>
- * within the SWT implementation.
- * </p>
- */
-public class PrintDialog extends Dialog {
-	int scope = PrinterData.ALL_PAGES;
-	int startPage = -1, endPage = -1;
-	boolean printToFile = false;
-
-/**
- * Constructs a new instance of this class given only its parent.
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent) {
-	this (parent, SWT.PRIMARY_MODAL);
-}
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent, int style) {
-	super (parent, style);
-	checkSubclass ();
-}
-/**
- * Makes the receiver visible and brings it to the front
- * of the display.
- *
- * @return a printer data object describing the desired print job parameters
- *
- * @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 PrinterData open() {
-	/* Return the first printer in the list */
-	PrinterData[] printers = Printer.getPrinterList();
-	if (printers.length > 0) return printers[0];
-	return null;
-}
-/**
- * Returns the print job scope that the user selected
- * before pressing OK in the dialog. This will be one
- * of the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @return the scope setting that the user selected
- */
-public int getScope() {
-	return scope;
-}
-/**
- * Sets the scope of the print job. The user will see this
- * setting when the dialog is opened. This can have one of
- * the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @param scope the scope setting when the dialog is opened
- */
-public void setScope(int scope) {
-	this.scope = scope;
-}
-/**
- * Returns the start page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the start page setting that the user selected
- */
-public int getStartPage() {
-	return startPage;
-}
-/**
- * Sets the start page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param startPage the startPage setting when the dialog is opened
- */
-public void setStartPage(int startPage) {
-	this.startPage = startPage;
-}
-/**
- * Returns the end page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the end page setting that the user selected
- */
-public int getEndPage() {
-	return endPage;
-}
-/**
- * Sets the end page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param endPage the end page setting when the dialog is opened
- */
-public void setEndPage(int endPage) {
-	this.endPage = endPage;
-}
-/**
- * Returns the 'Print to file' setting that the user selected
- * before pressing OK in the dialog.
- *
- * @return the 'Print to file' setting that the user selected
- */
-public boolean getPrintToFile() {
-	return printToFile;
-}
-/**
- * Sets the 'Print to file' setting that the user will see
- * when the dialog is opened.
- *
- * @param printToFile the 'Print to file' setting when the dialog is opened
- */
-public void setPrintToFile(boolean printToFile) {
-	this.printToFile = printToFile;
-}
-protected void checkSubclass() {
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/Printer.java
deleted file mode 100755
index 91e3b6d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/photon/org/eclipse/swt/printing/Printer.java
+++ /dev/null
@@ -1,317 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Instances of this class are used to print to a printer.
- * Applications create a GC on a printer using <code>new GC(printer)</code>
- * and then draw on the printer GC using the usual graphics calls.
- * <p>
- * A <code>Printer</code> object may be constructed by providing
- * a <code>PrinterData</code> object which identifies the printer.
- * A <code>PrintDialog</code> presents a print dialog to the user
- * and returns an initialized instance of <code>PrinterData</code>.
- * Alternatively, calling <code>new Printer()</code> will construct a
- * printer object for the user's default printer.
- * </p><p>
- * Application code must explicitly invoke the <code>Printer.dispose()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required.
- * </p>
- *
- * @see PrinterData
- * @see PrintDialog
- */
-public final class Printer extends Device {
-	PrinterData data;
-
-/**
- * Returns an array of <code>PrinterData</code> objects
- * representing all available printers.
- *
- * @return the list of available printers
- */
-public static PrinterData[] getPrinterList() {
-	PrinterData printerList[] = new PrinterData[0];
-	return printerList;
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing
- * the default printer or <code>null</code> if there is no 
- * printer available on the System.
- *
- * @return the default printer data or null
- * 
- * @since 2.1
- */
-public static PrinterData getDefaultPrinterData() {
-	return null;
-}
-
-/**
- * Constructs a new printer representing the default printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer() {
-	this(getDefaultPrinterData());
-}
-
-/**
- * Constructs a new printer given a <code>PrinterData</code>
- * object representing the desired printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @param data the printer data for the specified printer
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the specified printer data does not represent a valid printer
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer(PrinterData data) {
-	super (data);
-	SWT.error(SWT.ERROR_NO_HANDLES);
-}
-
-
-/**	 
- * Invokes platform specific functionality to allocate a new GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param data the platform specific GC data 
- * @return the platform specific GC handle
- */
-public int internal_new_GC(GCData data) {
-	return 0;
-}
-
-/**	 
- * Invokes platform specific functionality to dispose a GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data 
- */
-public void internal_dispose_GC(int xGC, GCData data) {
-}
-
-/**
- * Starts a print job and returns true if the job started successfully
- * and false otherwise.
- * <p>
- * This must be the first method called to initiate a print job,
- * followed by any number of startPage/endPage calls, followed by
- * endJob. Calling startPage, endPage, or endJob before startJob
- * will result in undefined behavior.
- * </p>
- * 
- * @param jobName the name of the print job to start
- * @return true if the job started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #endPage
- * @see #endJob
- */
-public boolean startJob(String jobName) {
-	return true;
-}
-
-/**
- * Ends the current print job.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startJob
- * @see #startPage
- * @see #endPage
- */
-public void endJob() {
-}
-
-/**
- * Cancels a print job in progress. 
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public void cancelJob() {
-}
-
-/**
- * Starts a page and returns true if the page started successfully
- * and false otherwise.
- * <p>
- * After calling startJob, this method may be called any number of times
- * along with a matching endPage.
- * </p>
- * 
- * @return true if the page started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #endPage
- * @see #startJob
- * @see #endJob
- */
-public boolean startPage() {
-	return true;
-}
-
-/**
- * Ends the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #startJob
- * @see #endJob
- */
-public void endPage() {
-}
-
-/**
- * Returns a point whose x coordinate is the horizontal
- * dots per inch of the printer, and whose y coordinate
- * is the vertical dots per inch of the printer.
- *
- * @return the horizontal and vertical DPI
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public Point getDPI() {
-	return new Point(0, 0);
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location.
- * For a printer, this is the size of a page, in pixels.
- *
- * @return the bounding rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getClientArea
- * @see #computeTrim
- */
-public Rectangle getBounds() {
-	return null;
-}
-
-/**
- * Returns a rectangle which describes the area of the
- * receiver which is capable of displaying data.
- * For a printer, this is the size of the printable area
- * of a page, in pixels.
- * 
- * @return the client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #computeTrim
- */
-public Rectangle getClientArea() {
-	return null;
-}
-
-/**
- * Given a desired <em>client area</em> for the receiver
- * (as described by the arguments), returns the bounding
- * rectangle which would be required to produce that client
- * area.
- * <p>
- * In other words, it returns a rectangle such that, if the
- * receiver's bounds were set to that rectangle, the area
- * of the receiver which is capable of displaying data
- * (that is, not covered by the "trimmings") would be the
- * rectangle described by the arguments (relative to the
- * receiver's parent).
- * </p>
- * Note that there is no setBounds for a printer. This method
- * is usually used by passing in the client area (the 'printable
- * area') of the printer. It can also be useful to pass in 0, 0, 0, 0.
- * 
- * @param x the desired x coordinate of the client area
- * @param y the desired y coordinate of the client area
- * @param width the desired width of the client area
- * @param height the desired height of the client area
- * @return the required bounds to produce the given client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #getClientArea
- */
-public Rectangle computeTrim(int x, int y, int width, int height) {
-	return new Rectangle(0,0,0,0);
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing the
- * target printer for this print job.
- * 
- * @return a PrinterData object describing the receiver
- */
-public PrinterData getPrinterData() {
-	return data;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/PrintDialog.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/PrintDialog.java
deleted file mode 100755
index 337edc6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/PrintDialog.java
+++ /dev/null
@@ -1,327 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * Instances of this class allow the user to select
- * a printer and various print-related parameters
- * prior to starting a print job.
- * <p>
- * IMPORTANT: This class is intended to be subclassed <em>only</em>
- * within the SWT implementation.
- * </p>
- */
-
-public class PrintDialog extends Dialog {
-	int scope = PrinterData.ALL_PAGES;
-	int startPage = 1, endPage = 1;
-	boolean printToFile = false;
-	
-/**
- * Constructs a new instance of this class given only its parent.
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent) {
-	this (parent, SWT.PRIMARY_MODAL);
-}
-
-/**
- * Constructs a new instance of this class given its parent
- * and a style value describing its behavior and appearance.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>SWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @param parent a composite control which will be the parent of the new instance (cannot be null)
- * @param style the style of control to construct
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception SWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see SWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public PrintDialog (Shell parent, int style) {
-	super (parent, style);
-	checkSubclass ();
-}
-
-/**
- * Returns the print job scope that the user selected
- * before pressing OK in the dialog. This will be one
- * of the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @return the scope setting that the user selected
- */
-public int getScope() {
-	return scope;
-}
-
-/**
- * Sets the scope of the print job. The user will see this
- * setting when the dialog is opened. This can have one of
- * the following values:
- * <dl>
- * <dt><code>ALL_PAGES</code></dt>
- * <dd>Print all pages in the current document</dd>
- * <dt><code>PAGE_RANGE</code></dt>
- * <dd>Print the range of pages specified by startPage and endPage</dd>
- * <dt><code>SELECTION</code></dt>
- * <dd>Print the current selection</dd>
- * </dl>
- *
- * @param scope the scope setting when the dialog is opened
- */
-public void setScope(int scope) {
-	this.scope = scope;
-}
-
-/**
- * Returns the start page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the start page setting that the user selected
- */
-public int getStartPage() {
-	return startPage;
-}
-
-/**
- * Sets the start page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param startPage the startPage setting when the dialog is opened
- */
-public void setStartPage(int startPage) {
-	this.startPage = startPage;
-}
-
-/**
- * Returns the end page setting that the user selected
- * before pressing OK in the dialog.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- *
- * @return the end page setting that the user selected
- */
-public int getEndPage() {
-	return endPage;
-}
-
-/**
- * Sets the end page that the user will see when the dialog
- * is opened.
- * <p>
- * Note that this value is one based and only valid if the scope is
- * <code>PAGE_RANGE</code>.
- * </p>
- * 
- * @param endPage the end page setting when the dialog is opened
- */
-public void setEndPage(int endPage) {
-	this.endPage = endPage;
-}
-
-/**
- * Returns the 'Print to file' setting that the user selected
- * before pressing OK in the dialog.
- *
- * @return the 'Print to file' setting that the user selected
- */
-public boolean getPrintToFile() {
-	return printToFile;
-}
-
-/**
- * Sets the 'Print to file' setting that the user will see
- * when the dialog is opened.
- *
- * @param printToFile the 'Print to file' setting when the dialog is opened
- */
-public void setPrintToFile(boolean printToFile) {
-	this.printToFile = printToFile;
-}
-
-protected void checkSubclass() {
-	String name = getClass().getName();
-	String validName = PrintDialog.class.getName();
-	if (!validName.equals(name)) {
-		SWT.error(SWT.ERROR_INVALID_SUBCLASS);
-	}
-}
-
-/**
- * Makes the receiver visible and brings it to the front
- * of the display.
- *
- * @return a printer data object describing the desired print job parameters
- *
- * @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 PrinterData open() {
-	PRINTDLG pd = new PRINTDLG();
-	pd.lStructSize = PRINTDLG.sizeof;
-	Control parent = getParent();
-	if (parent != null) pd.hwndOwner = parent.handle;
-	pd.Flags = OS.PD_USEDEVMODECOPIESANDCOLLATE;
-	if (printToFile) pd.Flags |= OS.PD_PRINTTOFILE;
-	switch (scope) {
-		case PrinterData.PAGE_RANGE: pd.Flags |= OS.PD_PAGENUMS; break;
-		case PrinterData.SELECTION: pd.Flags |= OS.PD_SELECTION; break;
-		default: pd.Flags |= OS.PD_ALLPAGES;
-	}
-	pd.nMinPage = 1;
-	pd.nMaxPage = -1;
-	pd.nFromPage = (short) Math.min (0xFFFF, Math.max (1, startPage));
-	pd.nToPage = (short) Math.min (0xFFFF, Math.max (1, endPage));
-	
-	Display display = parent.getDisplay();
-	Shell [] shells = display.getShells();
-	if ((getStyle() & (SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL)) != 0) {
-		for (int i=0; i<shells.length; i++) {
-			if (shells[i].isEnabled() && shells[i] != parent) {
-				shells[i].setEnabled(false);
-			} else {
-				shells[i] = null;
-			}
-		}
-	}
-	PrinterData data = null;
-	String key = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$
-	Object oldValue = display.getData(key);
-	display.setData(key, new Boolean(true));
-	boolean success = OS.PrintDlg(pd);
-	display.setData(key, oldValue);
-	if ((getStyle() & (SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL)) != 0) {
-		for (int i=0; i<shells.length; i++) {
-			if (shells[i] != null && !shells[i].isDisposed ()) {
-				shells[i].setEnabled(true);
-			}
-		}
-	}
-	
-	if (success) {
-		/* Get driver and device from the DEVNAMES struct */
-		int hMem = pd.hDevNames;
-		/* Ensure size is a multiple of 2 bytes on UNICODE platforms */
-		int size = OS.GlobalSize(hMem) / TCHAR.sizeof * TCHAR.sizeof;
-		int ptr = OS.GlobalLock(hMem);
-		short[] offsets = new short[4];
-		OS.MoveMemory(offsets, ptr, 2 * offsets.length);
-		TCHAR buffer = new TCHAR(0, size);
-		OS.MoveMemory(buffer, ptr, size);	
-		OS.GlobalUnlock(hMem);
-
-		int driverOffset = offsets[0];
-		int i = 0;
-		while (driverOffset + i < size) {
-			if (buffer.tcharAt(driverOffset + i) == 0) break;
-			i++;
-		}
-		String driver = buffer.toString(driverOffset, i);
-
-		int deviceOffset = offsets[1];
-		i = 0;
-		while (deviceOffset + i < size) {
-			if (buffer.tcharAt(deviceOffset + i) == 0) break;
-			i++;
-		}
-		String device = buffer.toString(deviceOffset, i);	
-
-		int outputOffset = offsets[2];
-		i = 0;
-		while (outputOffset + i < size) {
-			if (buffer.tcharAt(outputOffset + i) == 0) break;
-			i++;
-		}
-		String output = buffer.toString(outputOffset, i);
-		
-		/* Create PrinterData object and set fields from PRINTDLG */
-		data = new PrinterData(driver, device);
-		if ((pd.Flags & OS.PD_PAGENUMS) != 0) {
-			data.scope = PrinterData.PAGE_RANGE;
-			data.startPage = pd.nFromPage & 0xFFFF;
-			data.endPage = pd.nToPage & 0xFFFF;
-		} else if ((pd.Flags & OS.PD_SELECTION) != 0) {
-			data.scope = PrinterData.SELECTION;
-		}
-		data.printToFile = (pd.Flags & OS.PD_PRINTTOFILE) != 0;
-		if (data.printToFile) data.fileName = output;
-		data.copyCount = pd.nCopies;
-		data.collate = (pd.Flags & OS.PD_COLLATE) != 0;
-
-		/* Bulk-save the printer-specific settings in the DEVMODE struct */
-		hMem = pd.hDevMode;
-		size = OS.GlobalSize(hMem);
-		ptr = OS.GlobalLock(hMem);
-		data.otherData = new byte[size];
-		OS.MoveMemory(data.otherData, ptr, size);
-		OS.GlobalUnlock(hMem);
-
-		endPage = data.endPage;
-		printToFile = data.printToFile;
-		scope = data.scope;
-		startPage = data.startPage;
-	}
-	return data;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/Printer.java b/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/Printer.java
deleted file mode 100755
index 39ae644..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Printing/win32/org/eclipse/swt/printing/Printer.java
+++ /dev/null
@@ -1,532 +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.printing;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-/**
- * Instances of this class are used to print to a printer.
- * Applications create a GC on a printer using <code>new GC(printer)</code>
- * and then draw on the printer GC using the usual graphics calls.
- * <p>
- * A <code>Printer</code> object may be constructed by providing
- * a <code>PrinterData</code> object which identifies the printer.
- * A <code>PrintDialog</code> presents a print dialog to the user
- * and returns an initialized instance of <code>PrinterData</code>.
- * Alternatively, calling <code>new Printer()</code> will construct a
- * printer object for the user's default printer.
- * </p><p>
- * Application code must explicitly invoke the <code>Printer.dispose()</code> 
- * method to release the operating system resources managed by each instance
- * when those instances are no longer required.
- * </p>
- *
- * @see PrinterData
- * @see PrintDialog
- */
-public final class Printer extends Device {
-	/**
-	 * the handle to the printer DC
-	 * (Warning: This field is platform dependent)
-	 * <p>
-	 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
-	 * public API. It is marked public only so that it can be shared
-	 * within the packages provided by SWT. It is not available on all
-	 * platforms and should never be accessed from application code.
-	 * </p>
-	 */
-	public int handle;
-
-	/**
-	 * the printer data describing this printer
-	 */
-	PrinterData data;
-
-	/**
-	 * whether or not a GC was created for this printer
-	 */
-	boolean isGCCreated = false;
-
-	/**
-	 * strings used to access the Windows registry
-	 */
-	static TCHAR profile;
-	static TCHAR appName;
-	static TCHAR keyName;
-	static {
-		profile = new TCHAR(0, "PrinterPorts", true); //$NON-NLS-1$
-		appName = new TCHAR(0, "windows", true); //$NON-NLS-1$
-		keyName = new TCHAR(0, "device", true); //$NON-NLS-1$
-	}
-	
-/**
- * Returns an array of <code>PrinterData</code> objects
- * representing all available printers.
- *
- * @return the list of available printers
- */
-public static PrinterData[] getPrinterList() {
-	int length = 1024;
-	/* Use the character encoding for the default locale */
-	TCHAR buf = new TCHAR(0, length);
-	TCHAR nullBuf = new TCHAR(0, 1);
-	int n = OS.GetProfileString(profile, null, nullBuf, buf, length);
-	if (n == 0) return new PrinterData[0];
-	String[] deviceNames = new String[5];
-	int nameCount = 0;
-	int index = 0;
-	for (int i = 0; i < n; i++) {
-		if (buf.tcharAt(i) == 0) {
-			if (nameCount == deviceNames.length) {
-				String[] newNames = new String[deviceNames.length + 5];
-				System.arraycopy(deviceNames, 0, newNames, 0, deviceNames.length);
-				deviceNames = newNames;
-			}
-			deviceNames[nameCount] = buf.toString(index, i - index);
-			nameCount++;
-			index = i + 1;
-		}
-	}
-	PrinterData printerList[] = new PrinterData[nameCount];
-	for (int p = 0; p < nameCount; p++) {
-		String device = deviceNames[p];
-		String driver = ""; //$NON-NLS-1$
-		if (OS.GetProfileString(profile, new TCHAR(0, device, true), nullBuf, buf, length) > 0) {
-			int commaIndex = 0;
-			while (buf.tcharAt(commaIndex) != ',' && commaIndex < length) commaIndex++;
-			if (commaIndex < length) {
-				driver = buf.toString(0, commaIndex);
-			}
-		}
-		printerList[p] = new PrinterData(driver, device);
-	}
-	return printerList;
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing
- * the default printer or <code>null</code> if there is no 
- * printer available on the System.
- *
- * @return the default printer data or null
- * 
- * @since 2.1
- */
-public static PrinterData getDefaultPrinterData() {
-	String deviceName = null;
-	int length = 1024;
-	/* Use the character encoding for the default locale */
-	TCHAR buf = new TCHAR(0, length);
-	TCHAR nullBuf = new TCHAR(0, 1);
-	int n = OS.GetProfileString(appName, keyName, nullBuf, buf, length);
-	if (n == 0) return null;
-	int commaIndex = 0;
-	while(buf.tcharAt(commaIndex) != ',' && commaIndex < length) commaIndex++;
-	if (commaIndex < length) {
-		deviceName = buf.toString(0, commaIndex);		
-	}
-	String driver = ""; //$NON-NLS-1$
-	if (OS.GetProfileString(profile, new TCHAR(0, deviceName, true), nullBuf, buf, length) > 0) {
-		commaIndex = 0;
-		while (buf.tcharAt(commaIndex) != ',' && commaIndex < length) commaIndex++;
-		if (commaIndex < length) {
-			driver = buf.toString(0, commaIndex);	
-		}
-	}
-	return new PrinterData(driver, deviceName);
-}
-
-static DeviceData checkNull (PrinterData data) {
-	if (data == null) data = new PrinterData();
-	if (data.driver == null || data.name == null) {
-		PrinterData defaultPrinter = getDefaultPrinterData();
-		if (defaultPrinter == null) SWT.error(SWT.ERROR_NO_HANDLES);
-		data.driver = defaultPrinter.driver;
-		data.name = defaultPrinter.name;		
-	}
-	return data;
-}
-
-/**
- * Constructs a new printer representing the default printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer() {
-	this(null);
-}
-
-/**
- * Constructs a new printer given a <code>PrinterData</code>
- * object representing the desired printer.
- * <p>
- * You must dispose the printer when it is no longer required. 
- * </p>
- *
- * @param data the printer data for the specified printer
- *
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the specified printer data does not represent a valid printer
- * </ul>
- * @exception SWTError <ul>
- *    <li>ERROR_NO_HANDLES - if there are no valid printers
- * </ul>
- *
- * @see Device#dispose
- */
-public Printer(PrinterData data) {
-	super(checkNull(data));
-}
-
-/**	 
- * Creates the printer handle.
- * This method is called internally by the instance creation
- * mechanism of the <code>Device</code> class.
- * @param deviceData the device data
- */
-protected void create(DeviceData deviceData) {
-	data = (PrinterData)deviceData;
-	/* Use the character encoding for the default locale */
-	TCHAR driver = new TCHAR(0, data.driver, true);
-	TCHAR device = new TCHAR(0, data.name, true);
-	int lpInitData = 0;
-	byte buffer [] = data.otherData;
-	int hHeap = OS.GetProcessHeap();
-	if (buffer != null && buffer.length != 0) {
-		lpInitData = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, buffer.length);
-		OS.MoveMemory(lpInitData, buffer, buffer.length);
-	}
-	handle = OS.CreateDC(driver, device, 0, lpInitData);
-	if (lpInitData != 0) OS.HeapFree(hHeap, 0, lpInitData);
-	if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-}
-
-/**	 
- * Invokes platform specific functionality to allocate a new GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param data the platform specific GC data 
- * @return the platform specific GC handle
- */
-public int internal_new_GC(GCData data) {
-	if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-	if (data != null) {
-		if (isGCCreated) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-		if ((data.style & mask) != 0) {
-			data.layout = (data.style & SWT.RIGHT_TO_LEFT) != 0 ? OS.LAYOUT_RTL : 0;
-		} else {
-			data.style |= SWT.LEFT_TO_RIGHT;
-		}
-		data.device = this;
-		data.hFont = OS.GetCurrentObject(handle, OS.OBJ_FONT);
-		isGCCreated = true;
-	}
-	return handle;
-}
-
-/**	 
- * Invokes platform specific functionality to dispose a GC handle.
- * <p>
- * <b>IMPORTANT:</b> This method is <em>not</em> part of the public
- * API for <code>Printer</code>. It is marked public only so that it
- * can be shared within the packages provided by SWT. It is not
- * available on all platforms, and should never be called from
- * application code.
- * </p>
- *
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data 
- */
-public void internal_dispose_GC(int hDC, GCData data) {
-	if (data != null) isGCCreated = false;
-}
-
-/**
- * Starts a print job and returns true if the job started successfully
- * and false otherwise.
- * <p>
- * This must be the first method called to initiate a print job,
- * followed by any number of startPage/endPage calls, followed by
- * endJob. Calling startPage, endPage, or endJob before startJob
- * will result in undefined behavior.
- * </p>
- * 
- * @param jobName the name of the print job to start
- * @return true if the job started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #endPage
- * @see #endJob
- */
-public boolean startJob(String jobName) {
-	checkDevice();
-	DOCINFO di = new DOCINFO();
-	di.cbSize = DOCINFO.sizeof;
-	int hHeap = OS.GetProcessHeap();
-	int lpszDocName = 0;
-	if (jobName != null && jobName.length() != 0) {
-		/* Use the character encoding for the default locale */
-		TCHAR buffer = new TCHAR(0, jobName, true);
-		int byteCount = buffer.length() * TCHAR.sizeof;
-		lpszDocName = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-		OS.MoveMemory(lpszDocName, buffer, byteCount);
-		di.lpszDocName = lpszDocName;
-	}
-	int lpszOutput = 0;
-	if (data.printToFile && data.fileName != null) {
-		/* Use the character encoding for the default locale */
-		TCHAR buffer = new TCHAR(0, data.fileName, true);
-		int byteCount = buffer.length() * TCHAR.sizeof;
-		lpszOutput = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-		OS.MoveMemory(lpszOutput, buffer, byteCount);
-		di.lpszOutput = lpszOutput;
-	}
-	int rc = OS.StartDoc(handle, di);
-	if (lpszDocName != 0) OS.HeapFree(hHeap, 0, lpszDocName);
-	if (lpszOutput != 0) OS.HeapFree(hHeap, 0, lpszOutput);
-	return rc > 0;
-}
-
-/**
- * Ends the current print job.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startJob
- * @see #startPage
- * @see #endPage
- */
-public void endJob() {
-	checkDevice();
-	OS.EndDoc(handle);
-}
-
-/**
- * Cancels a print job in progress. 
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public void cancelJob() {
-	checkDevice();
-	OS.AbortDoc(handle);
-}
-
-/**
- * Starts a page and returns true if the page started successfully
- * and false otherwise.
- * <p>
- * After calling startJob, this method may be called any number of times
- * along with a matching endPage.
- * </p>
- * 
- * @return true if the page started successfully and false otherwise.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #endPage
- * @see #startJob
- * @see #endJob
- */
-public boolean startPage() {
-	checkDevice();
-	int rc = OS.StartPage(handle);
-	if (rc <= 0) OS.AbortDoc(handle);
-	return rc > 0;
-}
-
-/**
- * Ends the current page.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #startPage
- * @see #startJob
- * @see #endJob
- */
-public void endPage() {
-	checkDevice();
-	OS.EndPage(handle);
-}
-
-/**
- * Returns a point whose x coordinate is the horizontal
- * dots per inch of the printer, and whose y coordinate
- * is the vertical dots per inch of the printer.
- *
- * @return the horizontal and vertical DPI
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-public Point getDPI() {
-	checkDevice();
-	int dpiX = OS.GetDeviceCaps(handle, OS.LOGPIXELSX);
-	int dpiY = OS.GetDeviceCaps(handle, OS.LOGPIXELSY);
-	return new Point(dpiX, dpiY);
-}
-
-/**
- * Returns a rectangle describing the receiver's size and location.
- * For a printer, this is the size of a page, in pixels.
- *
- * @return the bounding rectangle
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getClientArea
- * @see #computeTrim
- */
-public Rectangle getBounds() {
-	checkDevice();
-	int width = OS.GetDeviceCaps(handle, OS.PHYSICALWIDTH);
-	int height = OS.GetDeviceCaps(handle, OS.PHYSICALHEIGHT);
-	return new Rectangle(0, 0, width, height);
-}
-
-/**
- * Returns a rectangle which describes the area of the
- * receiver which is capable of displaying data.
- * For a printer, this is the size of the printable area
- * of a page, in pixels.
- * 
- * @return the client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #computeTrim
- */
-public Rectangle getClientArea() {
-	checkDevice();
-	int width = OS.GetDeviceCaps(handle, OS.HORZRES);
-	int height = OS.GetDeviceCaps(handle, OS.VERTRES);
-	return new Rectangle(0, 0, width, height);
-}
-
-/**
- * Given a desired <em>client area</em> for the receiver
- * (as described by the arguments), returns the bounding
- * rectangle which would be required to produce that client
- * area.
- * <p>
- * In other words, it returns a rectangle such that, if the
- * receiver's bounds were set to that rectangle, the area
- * of the receiver which is capable of displaying data
- * (that is, not covered by the "trimmings") would be the
- * rectangle described by the arguments (relative to the
- * receiver's parent).
- * </p>
- * Note that there is no setBounds for a printer. This method
- * is usually used by passing in the client area (the 'printable
- * area') of the printer. It can also be useful to pass in 0, 0, 0, 0.
- * 
- * @param x the desired x coordinate of the client area
- * @param y the desired y coordinate of the client area
- * @param width the desired width of the client area
- * @param height the desired height of the client area
- * @return the required bounds to produce the given client area
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- *
- * @see #getBounds
- * @see #getClientArea
- */
-public Rectangle computeTrim(int x, int y, int width, int height) {
-	checkDevice();
-	int printX = -OS.GetDeviceCaps(handle, OS.PHYSICALOFFSETX);
-	int printY = -OS.GetDeviceCaps(handle, OS.PHYSICALOFFSETY);
-	int printWidth = OS.GetDeviceCaps(handle, OS.HORZRES);
-	int printHeight = OS.GetDeviceCaps(handle, OS.VERTRES);
-	int paperWidth = OS.GetDeviceCaps(handle, OS.PHYSICALWIDTH);
-	int paperHeight = OS.GetDeviceCaps(handle, OS.PHYSICALHEIGHT);
-	int hTrim = paperWidth - printWidth;
-	int vTrim = paperHeight - printHeight;
-	return new Rectangle(x + printX, y + printY, width + hTrim, height + vTrim);
-}
-
-/**
- * Returns a <code>PrinterData</code> object representing the
- * target printer for this print job.
- * 
- * @return a PrinterData object describing the receiver
- */
-public PrinterData getPrinterData() {
-	return data;
-}
-
-/**
- * Checks the validity of this device.
- *
- * @exception SWTException <ul>
- *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
- */
-protected void checkDevice() {
-	if (handle == 0) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
-}
-
-/**	 
- * Releases any internal state prior to destroying this printer.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void release() {
-	super.release();
-	data = null;
-}
-
-/**	 
- * Destroys the printer handle.
- * This method is called internally by the dispose
- * mechanism of the <code>Device</code> class.
- */
-protected void destroy() {
-	if (handle != 0) OS.DeleteDC(handle);
-	handle = 0;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/carbon/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/carbon/org/eclipse/swt/program/Program.java
deleted file mode 100644
index 76f02bf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/carbon/org/eclipse/swt/program/Program.java
+++ /dev/null
@@ -1,333 +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.program;
-
- 
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-import java.io.IOException;
-import java.util.Vector;
-
-/**
- * Instances of this class represent programs and
- * their associated file extensions in the operating
- * system.
- */
-public final class Program {
-	String name;
-	String command;
-	String iconName;
-
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-Program () {
-}
-
-/**
- * Finds the program that is associated with an extension.
- * The extension may or may not begin with a '.'.  Note that
- * a <code>Display</code> must already exist to guarantee that
- * this method returns an appropriate result.
- *
- * @param extension the program extension
- * @return the program or <code>null</code>
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static Program findProgram (String extension) {
-	if (extension == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length () == 0) return null;
-	if (extension.charAt (0) != '.') extension = '.' + extension;
-	return getProgram(extension);
-}
-
-/**
- * Answer all program extensions in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of extensions
- */
-public static String [] getExtensions () {
-	return new String [] {
-		".xml",
-		".html",
-		".java",
-		".properties",
-		".jar",
-		".zip",
-		".txt",
-		".jpeg",
-		".jpg",
-		".tiff",
-		".gif",
-		".png",
-	};
-}
-
-static Program getProgram (String key) {
-	String[] extentions = getExtensions();
-	int i = 0;
-	while (i < extentions.length) {
-		String ext = extentions[i];
-		if (ext.equals(key)) break;
-		i++;
-	}
-	if (i == extentions.length) return null;
-
-	/* Name */
-	String name = key;
-	if (name == null || name.length () == 0) return null;
-
-	/* Command */
-	String command = "/usr/bin/open %f";
-
-	/* Icon */
-	String iconName = "icon";
-
-	Program program = new Program ();
-	program.name = name;
-	program.command = command;
-	program.iconName = iconName;
-	return program;
-}
-
-/**
- * Answers all available programs in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of programs
- */
-public static Program [] getPrograms () {
-	return new Program [] {
-		getProgram(".html"),
-	};
-}
-
-/**
- * Launches the executable associated with the file in
- * the operating system.  If the file is an executable,
- * then the executable is launched.  Note that a <code>Display</code>
- * must already exist to guarantee that this method returns
- * an appropriate result.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public static boolean launch (String fileName) {
-	if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	String[] args= new String[] {"/usr/bin/open", fileName};
-	try {
-		Compatibility.exec(args);
-		return true;
-	} catch(IOException ex) {}	
-	return false;
-}
-
-static String[] parseCommand(String cmd) {
-	Vector args = new Vector();
-	int sIndex = 0;
-	int eIndex;
-	while (sIndex < cmd.length()) {
-		/* Trim initial white space of argument. */
-		while (sIndex < cmd.length() && Compatibility.isWhitespace(cmd.charAt(sIndex))) {
-			sIndex++;
-		}
-		if (sIndex < cmd.length()) {
-			/* If the command is a quoted string */
-			if (cmd.charAt(sIndex) == '"' || cmd.charAt(sIndex) == '\'') {
-				/* Find the terminating quote (or end of line).
-				 * This code currently does not handle escaped characters (e.g., " a\"b").
-				 */
-				eIndex = sIndex + 1;
-				while (eIndex < cmd.length() && cmd.charAt(eIndex) != cmd.charAt(sIndex)) eIndex++;
-				if (eIndex >= cmd.length()) { 
-					/* The terminating quote was not found
-					 * Add the argument as is with only one initial quote.
-					 */
-					args.addElement(cmd.substring(sIndex, eIndex));
-				}
-				else {
-					/* Add the argument, trimming off the quotes. */
-					args.addElement(cmd.substring(sIndex+1, eIndex));
-				}
-				sIndex = eIndex + 1;
-			}			
-			else {
-				/* Use white space for the delimiters. */
-				eIndex = sIndex;
-				while (eIndex < cmd.length() && !Compatibility.isWhitespace(cmd.charAt(eIndex))) eIndex++;
-				args.addElement(cmd.substring(sIndex, eIndex));
-				sIndex = eIndex + 1;
-			}
-		}
-	}	
-	String[] result = new String[args.size()];
-	args.copyInto(result);
-	return result;
-}
-
-/**
- * Executes the program with the file as the single argument
- * in the operating system.  It is the responsibility of the
- * programmer to ensure that the file contains valid data for 
- * this program.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public boolean execute (String fileName) {
-	if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	
-	/* Parse the command into its individual arguments. */
-	String[] args = parseCommand(command);
-	int fileArg = -1;
-	int index;
-	for (index = 0; index < args.length; index++) {
-		int j = args[index].indexOf("%f");
-		if (j != -1) {
-			String value = args[index];
-			fileArg = index;
-			args[index] = value.substring(0, j) + fileName + value.substring(j + 2);
-		}
-	}
-
-	/* If a file name was given but the command did not have "%f" */
-	if ((fileName.length() > 0) && (fileArg < 0)) {
-		String[] newArgs = new String[args.length + 1];
-		for (index = 0; index < args.length; index++) newArgs[index] = args[index];
-		newArgs[args.length] = fileName;
-		args = newArgs;
-	}
-
-	/* Execute the command. */
-	try {
-		Compatibility.exec(args);
-	} catch (IOException e) {
-		return false;
-	}
-	return true;
-}
-
-/**
- * Returns the receiver's image data.  This is the icon
- * that is associated with the receiver in the operating
- * system.
- *
- * @return the image data for the program, may be null
- */
-public ImageData getImageData () {
-	RGB[] rgbs = new RGB[] {
-		new RGB(0xff, 0xff, 0xff), 
-		new RGB(0x5f, 0x5f, 0x5f),
-		new RGB(0x80, 0x80, 0x80),
-		new RGB(0xC0, 0xC0, 0xC0),
-		new RGB(0xDF, 0xDF, 0xBF),
-		new RGB(0xFF, 0xDF, 0x9F),
-		new RGB(0x00, 0x00, 0x00),
-	};  
-	ImageData data = new ImageData(16, 16, 4, new PaletteData(rgbs)	);
-	data.transparentPixel = 6; // use black for transparency
-	String[] p= {
-		"CCCCCCCCGGG",
-		"CFAAAAACBGG",
-		"CAAAAAACFBG",
-		"CAAAAAACBBB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CAAAAAAAAEB",
-		"CDDDDDDDDDB",
-		"CBBBBBBBBBB",
-	};
-	for (int y= 0; y < p.length; y++) {
-		for (int x= 0; x < 11; x++) {
-			data.setPixel(x+3, y+1, p[y].charAt(x)-'A');
-		}
-	}		
-	return data;
-}
-
-/**
- * Returns the receiver's name.  This is as short and
- * descriptive a name as possible for the program.  If
- * the program has no descriptive name, this string may
- * be the executable name, path or empty.
- *
- * @return the name of the program
- */
-public String getName () {
-	return name;
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param other the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object other) {
-	if (this == other) return true;
-	if (other instanceof Program) {
-		final Program program = (Program) other;
-		return name.equals(program.name) && command.equals(program.command)
-			&& iconName.equals(program.iconName);
-	}
-	return false;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return name.hashCode() ^ command.hashCode() ^ iconName.hashCode();
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the program
- */
-public String toString () {
-	return "Program {" + name + "}";
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.c b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.c
deleted file mode 100644
index fe159bf..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.c
+++ /dev/null
@@ -1,288 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "cde_structs.h"
-#include "cde_stats.h"
-
-#define CDE_NATIVE(func) Java_org_eclipse_swt_internal_cde_CDE_##func
-
-#ifndef NO_DtActionArg_1sizeof
-JNIEXPORT jint JNICALL CDE_NATIVE(DtActionArg_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, DtActionArg_1sizeof_FUNC);
-	rc = (jint)DtActionArg_sizeof();
-	CDE_NATIVE_EXIT(env, that, DtActionArg_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtActionInvoke
-JNIEXPORT jlong JNICALL CDE_NATIVE(_1DtActionInvoke)
-	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2, jint arg3, jbyteArray arg4, jbyteArray arg5, jbyteArray arg6, jint arg7, jint arg8, jint arg9)
-{
-	jbyte *lparg1=NULL;
-	DtActionArg _arg2, *lparg2=NULL;
-	jbyte *lparg4=NULL;
-	jbyte *lparg5=NULL;
-	jbyte *lparg6=NULL;
-	jlong rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtActionInvoke_FUNC);
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = getDtActionArgFields(env, arg2, &_arg2)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetByteArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	rc = (jlong)DtActionInvoke((Widget)arg0, (char *)lparg1, lparg2, arg3, (char *)lparg4, (char *)lparg5, (char *)lparg6, arg7, (DtActionCallbackProc)arg8, (XtPointer)arg9);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseByteArrayElements(env, arg6, lparg6, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg2 && lparg2) setDtActionArgFields(env, arg2, lparg2);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	CDE_NATIVE_EXIT(env, that, _1DtActionInvoke_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtAppInitialize
-JNIEXPORT jboolean JNICALL CDE_NATIVE(_1DtAppInitialize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jbyteArray arg4)
-{
-	jbyte *lparg3=NULL;
-	jbyte *lparg4=NULL;
-	jboolean rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtAppInitialize_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jboolean)DtAppInitialize((XtAppContext)arg0, (Display *)arg1, (Widget)arg2, (char *)lparg3, (char *)lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	CDE_NATIVE_EXIT(env, that, _1DtAppInitialize_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtDbLoad
-JNIEXPORT void JNICALL CDE_NATIVE(_1DtDbLoad)
-	(JNIEnv *env, jclass that)
-{
-	CDE_NATIVE_ENTER(env, that, _1DtDbLoad_FUNC);
-	DtDbLoad();
-	CDE_NATIVE_EXIT(env, that, _1DtDbLoad_FUNC);
-}
-#endif
-
-#ifndef NO__1DtDtsDataTypeIsAction
-JNIEXPORT jboolean JNICALL CDE_NATIVE(_1DtDtsDataTypeIsAction)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jboolean rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtDtsDataTypeIsAction_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jboolean)DtDtsDataTypeIsAction((char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsDataTypeIsAction_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtDtsDataTypeNames
-JNIEXPORT jint JNICALL CDE_NATIVE(_1DtDtsDataTypeNames)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtDtsDataTypeNames_FUNC);
-	rc = (jint)DtDtsDataTypeNames();
-	CDE_NATIVE_EXIT(env, that, _1DtDtsDataTypeNames_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtDtsDataTypeToAttributeValue
-JNIEXPORT jint JNICALL CDE_NATIVE(_1DtDtsDataTypeToAttributeValue)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jbyteArray arg2)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jbyte *lparg2=NULL;
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtDtsDataTypeToAttributeValue_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	rc = (jint)DtDtsDataTypeToAttributeValue((char *)lparg0, (char *)lparg1, (char *)lparg2);
-fail:
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsDataTypeToAttributeValue_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtDtsFileToDataType
-JNIEXPORT jint JNICALL CDE_NATIVE(_1DtDtsFileToDataType)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1DtDtsFileToDataType_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)DtDtsFileToDataType((char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsFileToDataType_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1DtDtsFreeAttributeValue
-JNIEXPORT void JNICALL CDE_NATIVE(_1DtDtsFreeAttributeValue)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	CDE_NATIVE_ENTER(env, that, _1DtDtsFreeAttributeValue_FUNC);
-	DtDtsFreeAttributeValue((char *)arg0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsFreeAttributeValue_FUNC);
-}
-#endif
-
-#ifndef NO__1DtDtsFreeDataType
-JNIEXPORT void JNICALL CDE_NATIVE(_1DtDtsFreeDataType)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	CDE_NATIVE_ENTER(env, that, _1DtDtsFreeDataType_FUNC);
-	DtDtsFreeDataType((char *)arg0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsFreeDataType_FUNC);
-}
-#endif
-
-#ifndef NO__1DtDtsFreeDataTypeNames
-JNIEXPORT void JNICALL CDE_NATIVE(_1DtDtsFreeDataTypeNames)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	CDE_NATIVE_ENTER(env, that, _1DtDtsFreeDataTypeNames_FUNC);
-	DtDtsFreeDataTypeNames((char **)arg0);
-	CDE_NATIVE_EXIT(env, that, _1DtDtsFreeDataTypeNames_FUNC);
-}
-#endif
-
-#ifndef NO__1XtAppCreateShell
-JNIEXPORT jint JNICALL CDE_NATIVE(_1XtAppCreateShell)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jint arg2, jint arg3, jintArray arg4, jint arg5)
-{
-	jbyte *lparg0=NULL;
-	jbyte *lparg1=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1XtAppCreateShell_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)XtAppCreateShell((String)lparg0, (String)lparg1, (WidgetClass)arg2, (Display *)arg3, (ArgList)lparg4, arg5);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	CDE_NATIVE_EXIT(env, that, _1XtAppCreateShell_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtCreateApplicationContext
-JNIEXPORT jint JNICALL CDE_NATIVE(_1XtCreateApplicationContext)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1XtCreateApplicationContext_FUNC);
-	rc = (jint)XtCreateApplicationContext();
-	CDE_NATIVE_EXIT(env, that, _1XtCreateApplicationContext_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1XtDisplayInitialize
-JNIEXPORT void JNICALL CDE_NATIVE(_1XtDisplayInitialize)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jint arg5, jintArray arg6, jint arg7)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jint *lparg6=NULL;
-	CDE_NATIVE_ENTER(env, that, _1XtDisplayInitialize_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
-	XtDisplayInitialize((XtAppContext)arg0, (Display *)arg1, (String)lparg2, (String)lparg3, (XrmOptionDescRec *)arg4, (Cardinal)arg5, (int *)lparg6, (String *)arg7);
-fail:
-	if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	CDE_NATIVE_EXIT(env, that, _1XtDisplayInitialize_FUNC);
-}
-#endif
-
-#ifndef NO__1XtRealizeWidget
-JNIEXPORT void JNICALL CDE_NATIVE(_1XtRealizeWidget)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	CDE_NATIVE_ENTER(env, that, _1XtRealizeWidget_FUNC);
-	XtRealizeWidget((Widget)arg0);
-	CDE_NATIVE_EXIT(env, that, _1XtRealizeWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtResizeWidget
-JNIEXPORT void JNICALL CDE_NATIVE(_1XtResizeWidget)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
-{
-	CDE_NATIVE_ENTER(env, that, _1XtResizeWidget_FUNC);
-	XtResizeWidget((Widget)arg0, arg1, arg2, arg3);
-	CDE_NATIVE_EXIT(env, that, _1XtResizeWidget_FUNC);
-}
-#endif
-
-#ifndef NO__1XtSetMappedWhenManaged
-JNIEXPORT void JNICALL CDE_NATIVE(_1XtSetMappedWhenManaged)
-	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
-{
-	CDE_NATIVE_ENTER(env, that, _1XtSetMappedWhenManaged_FUNC);
-	XtSetMappedWhenManaged((Widget)arg0, arg1);
-	CDE_NATIVE_EXIT(env, that, _1XtSetMappedWhenManaged_FUNC);
-}
-#endif
-
-#ifndef NO__1XtToolkitInitialize
-JNIEXPORT void JNICALL CDE_NATIVE(_1XtToolkitInitialize)
-	(JNIEnv *env, jclass that)
-{
-	CDE_NATIVE_ENTER(env, that, _1XtToolkitInitialize_FUNC);
-	XtToolkitInitialize();
-	CDE_NATIVE_EXIT(env, that, _1XtToolkitInitialize_FUNC);
-}
-#endif
-
-#ifndef NO__1topLevelShellWidgetClass
-JNIEXPORT jint JNICALL CDE_NATIVE(_1topLevelShellWidgetClass)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	CDE_NATIVE_ENTER(env, that, _1topLevelShellWidgetClass_FUNC);
-	rc = (jint)topLevelShellWidgetClass;
-	CDE_NATIVE_EXIT(env, that, _1topLevelShellWidgetClass_FUNC);
-	return rc;
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.h b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.h
deleted file mode 100644
index f42e66b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde.h
+++ /dev/null
@@ -1,27 +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_cde_H
-#define INC_cde_H
-
-#define NDEBUG 
-
-#include <stdio.h>
-#include <assert.h>
-
-#include <Dt/Dt.h>
-#include <Dt/Dts.h>
-#include <Dt/Action.h>
-
-#include <X11/IntrinsicP.h>
-#include <X11/Shell.h>
-
-#endif /* INC_cde_H */
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.c b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.c
deleted file mode 100644
index 9a7737e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.c
+++ /dev/null
@@ -1,61 +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
- *******************************************************************************/
-
-#include "swt.h"
-#include "cde_stats.h"
-
-#ifdef NATIVE_STATS
-
-int CDE_nativeFunctionCount = 19;
-int CDE_nativeFunctionCallCount[19];
-char * CDE_nativeFunctionNames[] = {
-	"DtActionArg_1sizeof",
-	"_1DtActionInvoke",
-	"_1DtAppInitialize",
-	"_1DtDbLoad",
-	"_1DtDtsDataTypeIsAction",
-	"_1DtDtsDataTypeNames",
-	"_1DtDtsDataTypeToAttributeValue",
-	"_1DtDtsFileToDataType",
-	"_1DtDtsFreeAttributeValue",
-	"_1DtDtsFreeDataType",
-	"_1DtDtsFreeDataTypeNames",
-	"_1XtAppCreateShell",
-	"_1XtCreateApplicationContext",
-	"_1XtDisplayInitialize",
-	"_1XtRealizeWidget",
-	"_1XtResizeWidget",
-	"_1XtSetMappedWhenManaged",
-	"_1XtToolkitInitialize",
-	"_1topLevelShellWidgetClass",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(CDE_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return CDE_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(CDE_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, CDE_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(CDE_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return CDE_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.h b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.h
deleted file mode 100644
index c8d244b..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_stats.h
+++ /dev/null
@@ -1,43 +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
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int CDE_nativeFunctionCount;
-extern int CDE_nativeFunctionCallCount[];
-extern char* CDE_nativeFunctionNames[];
-#define CDE_NATIVE_ENTER(env, that, func) CDE_nativeFunctionCallCount[func]++;
-#define CDE_NATIVE_EXIT(env, that, func) 
-#else
-#define CDE_NATIVE_ENTER(env, that, func) 
-#define CDE_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	DtActionArg_1sizeof_FUNC,
-	_1DtActionInvoke_FUNC,
-	_1DtAppInitialize_FUNC,
-	_1DtDbLoad_FUNC,
-	_1DtDtsDataTypeIsAction_FUNC,
-	_1DtDtsDataTypeNames_FUNC,
-	_1DtDtsDataTypeToAttributeValue_FUNC,
-	_1DtDtsFileToDataType_FUNC,
-	_1DtDtsFreeAttributeValue_FUNC,
-	_1DtDtsFreeDataType_FUNC,
-	_1DtDtsFreeDataTypeNames_FUNC,
-	_1XtAppCreateShell_FUNC,
-	_1XtCreateApplicationContext_FUNC,
-	_1XtDisplayInitialize_FUNC,
-	_1XtRealizeWidget_FUNC,
-	_1XtResizeWidget_FUNC,
-	_1XtSetMappedWhenManaged_FUNC,
-	_1XtToolkitInitialize_FUNC,
-	_1topLevelShellWidgetClass_FUNC,
-} CDE_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.c b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.c
deleted file mode 100644
index 9b01293..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.c
+++ /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
- *******************************************************************************/
-
-#include "swt.h"
-#include "cde_structs.h"
-
-#ifndef NO_DtActionArg
-typedef struct DtActionArg_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID argClass, name;
-} DtActionArg_FID_CACHE;
-
-DtActionArg_FID_CACHE DtActionArgFc;
-
-void cacheDtActionArgFields(JNIEnv *env, jobject lpObject)
-{
-	if (DtActionArgFc.cached) return;
-	DtActionArgFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	DtActionArgFc.argClass = (*env)->GetFieldID(env, DtActionArgFc.clazz, "argClass", "I");
-	DtActionArgFc.name = (*env)->GetFieldID(env, DtActionArgFc.clazz, "name", "I");
-	DtActionArgFc.cached = 1;
-}
-
-DtActionArg *getDtActionArgFields(JNIEnv *env, jobject lpObject, DtActionArg *lpStruct)
-{
-	if (!DtActionArgFc.cached) cacheDtActionArgFields(env, lpObject);
-	lpStruct->argClass = (*env)->GetIntField(env, lpObject, DtActionArgFc.argClass);
-	lpStruct->u.file.name = (char *)(*env)->GetIntField(env, lpObject, DtActionArgFc.name);
-	return lpStruct;
-}
-
-void setDtActionArgFields(JNIEnv *env, jobject lpObject, DtActionArg *lpStruct)
-{
-	if (!DtActionArgFc.cached) cacheDtActionArgFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, DtActionArgFc.argClass, (jint)lpStruct->argClass);
-	(*env)->SetIntField(env, lpObject, DtActionArgFc.name, (jint)lpStruct->u.file.name);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.h b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.h
deleted file mode 100644
index 6c1d4ab..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/library/cde_structs.h
+++ /dev/null
@@ -1,25 +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
- *******************************************************************************/
-
-#include "cde.h"
-
-#ifndef NO_DtActionArg
-void cacheDtActionArgFields(JNIEnv *env, jobject lpObject);
-DtActionArg *getDtActionArgFields(JNIEnv *env, jobject lpObject, DtActionArg *lpStruct);
-void setDtActionArgFields(JNIEnv *env, jobject lpObject, DtActionArg *lpStruct);
-#define DtActionArg_sizeof() sizeof(DtActionArg)
-#else
-#define cacheDtActionArgFields(a,b)
-#define getDtActionArgFields(a,b,c) NULL
-#define setDtActionArgFields(a,b,c)
-#define DtActionArg_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/CDE.java b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/CDE.java
deleted file mode 100644
index 365d252..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/CDE.java
+++ /dev/null
@@ -1,190 +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.internal.cde;
-
-import org.eclipse.swt.internal.*;
-
-public class CDE extends Platform {
-
-	/** Constants */
-	public static final int DtACTION_FILE = 1;
-	public static final String DtDTS_DA_ACTION_LIST = "ACTIONS";
-	public static final String DtDTS_DA_ICON = "ICON";
-	public static final String DtDTS_DA_MIME_TYPE = "MIME_TYPE";
-	public static final String DtDTS_DA_NAME_TEMPLATE = "NAME_TEMPLATE";
-	
-	/** 64 bit */
-	public static final native int DtActionArg_sizeof();
-
-/** Natives */
-public static final native boolean _DtAppInitialize(int /*long*/ appContext, int /*long*/ display, int /*long*/ topWiget, byte[] appName, byte[] appClass);
-public static final boolean DtAppInitialize(int /*long*/ appContext, int /*long*/ display, int /*long*/ topWiget, byte[] appName, byte[] appClass) {
-	lock.lock();
-	try {
-		return _DtAppInitialize(appContext, display, topWiget, appName, appClass);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _DtDbLoad();
-public static final void DtDbLoad() {
-	lock.lock();
-	try {
-		_DtDbLoad();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _DtDtsDataTypeNames();
-public static final int /*long*/ DtDtsDataTypeNames() {
-	lock.lock();
-	try {
-		return _DtDtsDataTypeNames();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _DtDtsFileToDataType(byte[] fileName);
-public static final int /*long*/ DtDtsFileToDataType(byte[] fileName) {
-	lock.lock();
-	try {
-		return _DtDtsFileToDataType(fileName);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _DtDtsDataTypeIsAction(byte[] dataType);
-public static final boolean DtDtsDataTypeIsAction(byte[] dataType) {
-	lock.lock();
-	try {
-		return _DtDtsDataTypeIsAction(dataType);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _DtDtsDataTypeToAttributeValue(byte[] dataType, byte[] attrName, byte[] optName);
-public static final int /*long*/ DtDtsDataTypeToAttributeValue(byte[] dataType, byte[] attrName, byte[] optName) {
-	lock.lock();
-	try {
-		return _DtDtsDataTypeToAttributeValue(dataType, attrName, optName);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _DtDtsFreeDataType(int /*long*/ dataType);
-public static final void DtDtsFreeDataType(int /*long*/ dataType) {
-	lock.lock();
-	try {
-		_DtDtsFreeDataType(dataType);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _DtDtsFreeDataTypeNames(int /*long*/ dataTypeList);
-public static final void DtDtsFreeDataTypeNames(int /*long*/ dataTypeList) {
-	lock.lock();
-	try {
-		_DtDtsFreeDataTypeNames(dataTypeList);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _DtDtsFreeAttributeValue(int /*long*/ attrValue);
-public static final void DtDtsFreeAttributeValue(int /*long*/ attrValue) {
-	lock.lock();
-	try {
-		_DtDtsFreeAttributeValue(attrValue);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native long _DtActionInvoke(int /*long*/ topWidget, byte[] action, DtActionArg args, int argCount, byte[] termOpts, byte[] execHost, byte[] contextDir, int useIndicator, int /*long*/ callback, int /*long*/ clientData);
-public static final long DtActionInvoke(int /*long*/ topWidget, byte[] action, DtActionArg args, int argCount, byte[] termOpts, byte[] execHost, byte[] contextDir, int useIndicator, int /*long*/ callback, int /*long*/ clientData) {
-	lock.lock();
-	try {
-		return _DtActionInvoke(topWidget, action, args, argCount, termOpts, execHost, contextDir, useIndicator, callback, clientData);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _topLevelShellWidgetClass();
-public static final int /*long*/ topLevelShellWidgetClass() {
-	lock.lock();
-	try {
-		return _topLevelShellWidgetClass();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XtAppCreateShell(byte[] appName, byte[] appClass, int /*long*/ widgetClass, int /*long*/ display, int /*long*/ [] argList, int argCount);
-public static final int /*long*/ XtAppCreateShell(byte[] appName, byte[] appClass, int /*long*/ widgetClass, int /*long*/ display, int /*long*/ [] argList, int argCount) {
-	lock.lock();
-	try {
-		return _XtAppCreateShell(appName, appClass, widgetClass, display, argList, argCount);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _XtCreateApplicationContext();
-public static final int /*long*/ XtCreateApplicationContext() {
-	lock.lock();
-	try {
-		return _XtCreateApplicationContext();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtDisplayInitialize(int /*long*/ app_context, int /*long*/ display, byte[] appName, byte[] appClass, int /*long*/ options, int num_options, int /*long*/ [] argc, int argv);
-public static final void XtDisplayInitialize(int /*long*/ appContext, int /*long*/ display, byte[] appName, byte[] appClass, int /*long*/ options, int num_options, int /*long*/ [] argc, int argv) {
-	lock.lock();
-	try {
-		_XtDisplayInitialize(appContext, display, appName, appClass, options, num_options, argc, argv);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtRealizeWidget(int /*long*/ widget);
-public static final void XtRealizeWidget(int /*long*/ widget) {
-	lock.lock();
-	try {
-		_XtRealizeWidget(widget);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtResizeWidget(int /*long*/ widget, int width, int height, int borderWidth);
-public static final void XtResizeWidget(int /*long*/ widget, int width, int height, int borderWidth) {
-	lock.lock();
-	try {
-		_XtResizeWidget(widget, width, height, borderWidth);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtSetMappedWhenManaged(int /*long*/ widget, boolean flag);
-public static final void XtSetMappedWhenManaged(int /*long*/ widget, boolean flag) {
-	lock.lock();
-	try {
-		_XtSetMappedWhenManaged(widget, flag);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _XtToolkitInitialize();
-public static final void XtToolkitInitialize() {
-	lock.lock();
-	try {
-		_XtToolkitInitialize();
-	} finally {
-		lock.unlock();
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/DtActionArg.java b/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/DtActionArg.java
deleted file mode 100644
index ff3d88a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/cde/org/eclipse/swt/internal/cde/DtActionArg.java
+++ /dev/null
@@ -1,18 +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.internal.cde;
-
-
-public class DtActionArg {
-	public int argClass;
-	public int /*long*/ name;
-	public static final int sizeof = CDE.DtActionArg_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/common/org/eclipse/swt/program/package.html b/bundles/org.eclipse.swt/Eclipse SWT Program/common/org/eclipse/swt/program/package.html
deleted file mode 100755
index 99d6556..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/common/org/eclipse/swt/program/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-SWT Program support class.
-<h2>
-Package Specification</h2>
-This package contains class <code>Program</code> which provides access to facilities for
-discovering operating system specific aspects of external program launching.
-</body>
-</html>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.c b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.c
deleted file mode 100644
index fcbbb82..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "gnome_structs.h"
-#include "gnome_stats.h"
-
-#define GNOME_NATIVE(func) Java_org_eclipse_swt_internal_gnome_GNOME_##func
-
-#ifndef NO_GnomeVFSMimeApplication_1sizeof
-JNIEXPORT jint JNICALL GNOME_NATIVE(GnomeVFSMimeApplication_1sizeof)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, GnomeVFSMimeApplication_1sizeof_FUNC);
-	rc = (jint)GnomeVFSMimeApplication_sizeof();
-	GNOME_NATIVE_EXIT(env, that, GnomeVFSMimeApplication_1sizeof_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1free
-JNIEXPORT void JNICALL GNOME_NATIVE(_1g_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1g_1free_FUNC);
-	g_free((gpointer)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1g_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1append
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1g_1list_1append)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1g_1list_1append_FUNC);
-	rc = (jint)g_list_append((GList *)arg0, (gpointer)arg1);
-	GNOME_NATIVE_EXIT(env, that, _1g_1list_1append_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1list_1free
-JNIEXPORT void JNICALL GNOME_NATIVE(_1g_1list_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1g_1list_1free_FUNC);
-	g_list_free((GList *)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1g_1list_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1g_1list_1next
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1g_1list_1next)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1g_1list_1next_FUNC);
-	rc = (jint)g_list_next(arg0);
-	GNOME_NATIVE_EXIT(env, that, _1g_1list_1next_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1g_1object_1unref
-JNIEXPORT void JNICALL GNOME_NATIVE(_1g_1object_1unref)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1g_1object_1unref_FUNC);
-	g_object_unref((gpointer)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1g_1object_1unref_FUNC);
-}
-#endif
-
-#ifndef NO__1gnome_1icon_1lookup
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1icon_1lookup)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jint arg4, jbyteArray arg5, jint arg6, jintArray arg7)
-{
-	jbyte *lparg2=NULL;
-	jbyte *lparg3=NULL;
-	jbyte *lparg5=NULL;
-	jint *lparg7=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1icon_1lookup_FUNC);
-	if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
-	if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg5) if ((lparg5 = (*env)->GetByteArrayElements(env, arg5, NULL)) == NULL) goto fail;
-	if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
-	rc = (jint)gnome_icon_lookup((GnomeIconTheme *)arg0, (GnomeThumbnailFactory *)arg1, (const char *)lparg2, (const char *)lparg3, (GnomeVFSFileInfo *)arg4, (const char *)lparg5, (GnomeIconLookupFlags)arg6, (GnomeIconLookupResultFlags *)lparg7);
-fail:
-	if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
-	if (arg5 && lparg5) (*env)->ReleaseByteArrayElements(env, arg5, lparg5, 0);
-	if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
-	if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1icon_1lookup_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1icon_1theme_1lookup_1icon
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1icon_1theme_1lookup_1icon)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
-{
-	jint *lparg3=NULL;
-	jint *lparg4=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1icon_1theme_1lookup_1icon_FUNC);
-	if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
-	if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
-	rc = (jint)gnome_icon_theme_lookup_icon((GnomeIconTheme *)arg0, (const char *)arg1, arg2, (const GnomeIconData **)lparg3, lparg4);
-fail:
-	if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
-	if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1icon_1theme_1lookup_1icon_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1icon_1theme_1new
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1icon_1theme_1new)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1icon_1theme_1new_FUNC);
-	rc = (jint)gnome_icon_theme_new();
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1icon_1theme_1new_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1get_1registered_1mime_1types
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1get_1registered_1mime_1types)
-	(JNIEnv *env, jclass that)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1get_1registered_1mime_1types_FUNC);
-	rc = (jint)gnome_vfs_get_registered_mime_types();
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1get_1registered_1mime_1types_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1init
-JNIEXPORT jboolean JNICALL GNOME_NATIVE(_1gnome_1vfs_1init)
-	(JNIEnv *env, jclass that)
-{
-	jboolean rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1init_FUNC);
-	rc = (jboolean)gnome_vfs_init();
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1init_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1make_1uri_1from_1input
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1make_1uri_1from_1input)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1make_1uri_1from_1input_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gnome_vfs_make_uri_from_input((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1make_1uri_1from_1input_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs)
-	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-/*
-	rc = (jint)gnome_vfs_make_uri_from_input_with_dirs((const char *)lparg0, arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(const char *, jint);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gnome_vfs_make_uri_from_input_with_dirs_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gnome_vfs_make_uri_from_input_with_dirs");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((const char *)lparg0, arg1);
-		}
-	}
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1application_1free
-JNIEXPORT void JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1application_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1application_1free_FUNC);
-	gnome_vfs_mime_application_free((GnomeVFSMimeApplication *)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1application_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1application_1launch
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1application_1launch)
-	(JNIEnv *env, jclass that, jint arg0, jint arg1)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1application_1launch_FUNC);
-/*
-	rc = (jint)gnome_vfs_mime_application_launch((GnomeVFSMimeApplication *)arg0, (GList *)arg1);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(GnomeVFSMimeApplication *, GList *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gnome_vfs_mime_application_launch_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gnome_vfs_mime_application_launch");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((GnomeVFSMimeApplication *)arg0, (GList *)arg1);
-		}
-	}
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1application_1launch_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1extensions_1list_1free
-JNIEXPORT void JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1extensions_1list_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1extensions_1list_1free_FUNC);
-	gnome_vfs_mime_extensions_list_free((GList *)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1extensions_1list_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1get_1default_1application
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1get_1default_1application)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1get_1default_1application_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gnome_vfs_mime_get_default_application((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1get_1default_1application_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1get_1extensions_1list
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1get_1extensions_1list)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1get_1extensions_1list_FUNC);
-	rc = (jint)gnome_vfs_mime_get_extensions_list((const char *)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1get_1extensions_1list_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free
-JNIEXPORT void JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free_FUNC);
-	gnome_vfs_mime_registered_mime_type_list_free((GList *)arg0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free_FUNC);
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1mime_1type_1from_1name
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1type_1from_1name)
-	(JNIEnv *env, jclass that, jbyteArray arg0)
-{
-	jbyte *lparg0=NULL;
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1type_1from_1name_FUNC);
-	if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
-	rc = (jint)gnome_vfs_mime_type_from_name((const char *)lparg0);
-fail:
-	if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1type_1from_1name_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO__1gnome_1vfs_1url_1show
-JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1url_1show)
-	(JNIEnv *env, jclass that, jint arg0)
-{
-	jint rc = 0;
-	GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1url_1show_FUNC);
-/*
-	rc = (jint)gnome_vfs_url_show((const char *)arg0);
-*/
-	{
-		static int initialized = 0;
-		static void *handle = NULL;
-		typedef jint (*FPTR)(const char *);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gnome_vfs_url_show_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gnome_vfs_url_show");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jint)(*fptr)((const char *)arg0);
-		}
-	}
-	GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1url_1show_FUNC);
-	return rc;
-}
-#endif
-
-#ifndef NO_memmove
-JNIEXPORT void JNICALL GNOME_NATIVE(memmove)
-	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
-{
-	GnomeVFSMimeApplication _arg0, *lparg0=NULL;
-	GNOME_NATIVE_ENTER(env, that, memmove_FUNC);
-	if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
-	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
-	if (arg0 && lparg0) setGnomeVFSMimeApplicationFields(env, arg0, lparg0);
-	GNOME_NATIVE_EXIT(env, that, memmove_FUNC);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
deleted file mode 100644
index 6caca74..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.
-* The contents of this file are made available under the terms
-* of the GNU Lesser General Public License (LGPL) Version 2.1 that
-* accompanies this distribution (lgpl-v21.txt).  The LGPL is also
-* available at http://www.gnu.org/licenses/lgpl.html.  If the version
-* of the LGPL at http://www.gnu.org is different to the version of
-* the LGPL accompanying this distribution and there is any conflict
-* between the two license versions, the terms of the LGPL accompanying
-* this distribution shall govern.
-* 
-* Contributors:
-*     IBM Corporation - initial API and implementation
-*******************************************************************************/
-
-#ifndef INC_gnome_H
-#define INC_gnome_H
-
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include <dlfcn.h>
-#include <libgnome/libgnome.h>
-#include <libgnome/gnome-program.h>
-#include <libgnomeui/libgnomeui.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libgnomevfs/gnome-vfs-mime.h>
-#include <libgnomevfs/gnome-vfs-mime-handlers.h>
-#include <libgnomevfs/gnome-vfs-mime-info.h>
-
-#define gnome_vfs_url_show_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_make_uri_from_input_with_dirs_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_mime_application_launch_LIB "libgnomevfs-2.so.0"
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.c b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.c
deleted file mode 100644
index d26d11d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "gnome_stats.h"
-
-#ifdef NATIVE_STATS
-
-int GNOME_nativeFunctionCount = 22;
-int GNOME_nativeFunctionCallCount[22];
-char * GNOME_nativeFunctionNames[] = {
-	"GnomeVFSMimeApplication_1sizeof",
-	"_1g_1free",
-	"_1g_1list_1append",
-	"_1g_1list_1free",
-	"_1g_1list_1next",
-	"_1g_1object_1unref",
-	"_1gnome_1icon_1lookup",
-	"_1gnome_1icon_1theme_1lookup_1icon",
-	"_1gnome_1icon_1theme_1new",
-	"_1gnome_1vfs_1get_1registered_1mime_1types",
-	"_1gnome_1vfs_1init",
-	"_1gnome_1vfs_1make_1uri_1from_1input",
-	"_1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs",
-	"_1gnome_1vfs_1mime_1application_1free",
-	"_1gnome_1vfs_1mime_1application_1launch",
-	"_1gnome_1vfs_1mime_1extensions_1list_1free",
-	"_1gnome_1vfs_1mime_1get_1default_1application",
-	"_1gnome_1vfs_1mime_1get_1extensions_1list",
-	"_1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free",
-	"_1gnome_1vfs_1mime_1type_1from_1name",
-	"_1gnome_1vfs_1url_1show",
-	"memmove",
-};
-
-#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GNOME_1GetFunctionCount)
-	(JNIEnv *env, jclass that)
-{
-	return GNOME_nativeFunctionCount;
-}
-
-JNIEXPORT jstring JNICALL STATS_NATIVE(GNOME_1GetFunctionName)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return (*env)->NewStringUTF(env, GNOME_nativeFunctionNames[index]);
-}
-
-JNIEXPORT jint JNICALL STATS_NATIVE(GNOME_1GetFunctionCallCount)
-	(JNIEnv *env, jclass that, jint index)
-{
-	return GNOME_nativeFunctionCallCount[index];
-}
-
-#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.h b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.h
deleted file mode 100644
index 69ef29a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_stats.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#ifdef NATIVE_STATS
-extern int GNOME_nativeFunctionCount;
-extern int GNOME_nativeFunctionCallCount[];
-extern char* GNOME_nativeFunctionNames[];
-#define GNOME_NATIVE_ENTER(env, that, func) GNOME_nativeFunctionCallCount[func]++;
-#define GNOME_NATIVE_EXIT(env, that, func) 
-#else
-#define GNOME_NATIVE_ENTER(env, that, func) 
-#define GNOME_NATIVE_EXIT(env, that, func) 
-#endif
-
-typedef enum {
-	GnomeVFSMimeApplication_1sizeof_FUNC,
-	_1g_1free_FUNC,
-	_1g_1list_1append_FUNC,
-	_1g_1list_1free_FUNC,
-	_1g_1list_1next_FUNC,
-	_1g_1object_1unref_FUNC,
-	_1gnome_1icon_1lookup_FUNC,
-	_1gnome_1icon_1theme_1lookup_1icon_FUNC,
-	_1gnome_1icon_1theme_1new_FUNC,
-	_1gnome_1vfs_1get_1registered_1mime_1types_FUNC,
-	_1gnome_1vfs_1init_FUNC,
-	_1gnome_1vfs_1make_1uri_1from_1input_FUNC,
-	_1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs_FUNC,
-	_1gnome_1vfs_1mime_1application_1free_FUNC,
-	_1gnome_1vfs_1mime_1application_1launch_FUNC,
-	_1gnome_1vfs_1mime_1extensions_1list_1free_FUNC,
-	_1gnome_1vfs_1mime_1get_1default_1application_FUNC,
-	_1gnome_1vfs_1mime_1get_1extensions_1list_FUNC,
-	_1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free_FUNC,
-	_1gnome_1vfs_1mime_1type_1from_1name_FUNC,
-	_1gnome_1vfs_1url_1show_FUNC,
-	memmove_FUNC,
-} GNOME_FUNCS;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.c b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.c
deleted file mode 100644
index fe3f3c9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "swt.h"
-#include "gnome_structs.h"
-
-#ifndef NO_GnomeVFSMimeApplication
-typedef struct GnomeVFSMimeApplication_FID_CACHE {
-	int cached;
-	jclass clazz;
-	jfieldID id, name, command, can_open_multiple_files, expects_uris, supported_uri_schemes, requires_terminal;
-} GnomeVFSMimeApplication_FID_CACHE;
-
-GnomeVFSMimeApplication_FID_CACHE GnomeVFSMimeApplicationFc;
-
-void cacheGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject)
-{
-	if (GnomeVFSMimeApplicationFc.cached) return;
-	GnomeVFSMimeApplicationFc.clazz = (*env)->GetObjectClass(env, lpObject);
-	GnomeVFSMimeApplicationFc.id = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "id", "I");
-	GnomeVFSMimeApplicationFc.name = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "name", "I");
-	GnomeVFSMimeApplicationFc.command = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "command", "I");
-	GnomeVFSMimeApplicationFc.can_open_multiple_files = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "can_open_multiple_files", "Z");
-	GnomeVFSMimeApplicationFc.expects_uris = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "expects_uris", "I");
-	GnomeVFSMimeApplicationFc.supported_uri_schemes = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "supported_uri_schemes", "I");
-	GnomeVFSMimeApplicationFc.requires_terminal = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "requires_terminal", "Z");
-	GnomeVFSMimeApplicationFc.cached = 1;
-}
-
-GnomeVFSMimeApplication *getGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject, GnomeVFSMimeApplication *lpStruct)
-{
-	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFields(env, lpObject);
-	lpStruct->id = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.id);
-	lpStruct->name = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.name);
-	lpStruct->command = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.command);
-	lpStruct->can_open_multiple_files = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files);
-	lpStruct->expects_uris = (GnomeVFSMimeApplicationArgumentType)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris);
-	lpStruct->supported_uri_schemes = (GList *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes);
-	lpStruct->requires_terminal = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal);
-	return lpStruct;
-}
-
-void setGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject, GnomeVFSMimeApplication *lpStruct)
-{
-	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFields(env, lpObject);
-	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.id, (jint)lpStruct->id);
-	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.name, (jint)lpStruct->name);
-	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.command, (jint)lpStruct->command);
-	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files, (jboolean)lpStruct->can_open_multiple_files);
-	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris, (jint)lpStruct->expects_uris);
-	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes, (jint)lpStruct->supported_uri_schemes);
-	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal, (jboolean)lpStruct->requires_terminal);
-}
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.h b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.h
deleted file mode 100644
index eb6d95a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome_structs.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include "gnome.h"
-
-#ifndef NO_GnomeVFSMimeApplication
-void cacheGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject);
-GnomeVFSMimeApplication *getGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject, GnomeVFSMimeApplication *lpStruct);
-void setGnomeVFSMimeApplicationFields(JNIEnv *env, jobject lpObject, GnomeVFSMimeApplication *lpStruct);
-#define GnomeVFSMimeApplication_sizeof() sizeof(GnomeVFSMimeApplication)
-#else
-#define cacheGnomeVFSMimeApplicationFields(a,b)
-#define getGnomeVFSMimeApplicationFields(a,b,c) NULL
-#define setGnomeVFSMimeApplicationFields(a,b,c)
-#define GnomeVFSMimeApplication_sizeof() 0
-#endif
-
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GNOME.java b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GNOME.java
deleted file mode 100644
index e17677f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GNOME.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gnome;
-
-import org.eclipse.swt.internal.*;
-
-public class GNOME extends Platform {
-	static {
-		Library.loadLibrary("swt-gnome");
-	}
-
-public static final int GNOME_FILE_DOMAIN_PIXMAP = 4;
-public static final int GNOME_ICON_LOOKUP_FLAGS_NONE = 0;
-public static final int GNOME_PARAM_NONE = 0;
-public static final int GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS = 0;
-public static final int GNOME_VFS_OK = 0;
-public static final int GNOME_VFS_MAKE_URI_DIR_NONE = 0;
-public static final int GNOME_VFS_MAKE_URI_DIR_HOMEDIR = 1<<0;
-public static final int GNOME_VFS_MAKE_URI_DIR_CURRENT = 1<<1;
-
-/** 64 bit */
-public static final native int GnomeVFSMimeApplication_sizeof();
-
-/** Natives */
-public static final native void _g_free(int /*long*/ mem);
-public static final void g_free(int /*long*/ mem) {
-	lock.lock();
-	try {
-		_g_free(mem);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_append(int /*long*/ list, int /*long*/ data);
-public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ data) {
-	lock.lock();
-	try {
-		return _g_list_append(list, data);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_list_free(int /*long*/ list);
-public static final void g_list_free(int /*long*/ list) {
-	lock.lock();
-	try {
-		_g_list_free(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _g_list_next(int /*long*/ list);
-public static final int /*long*/ g_list_next(int /*long*/ list) {
-	lock.lock();
-	try {
-		return _g_list_next(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _g_object_unref(int /*long*/ object);
-public static final void g_object_unref(int /*long*/ object) {
-	lock.lock();
-	try {
-		_g_object_unref(object);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_icon_lookup(int /*long*/ icon_theme, int /*long*/ thumbnail_factory, byte[] file_uri, byte[] custom_icon, int /*long*/ file_info, byte[] mime_type, int flags, int[] result);
-public static final int /*long*/ gnome_icon_lookup(int /*long*/ icon_theme, int /*long*/ thumbnail_factory, byte[] file_uri, byte[] custom_icon, int /*long*/ file_info, byte[] mime_type, int flags, int[] result) {
-	lock.lock();
-	try {
-		return _gnome_icon_lookup(icon_theme, thumbnail_factory, file_uri, custom_icon, file_info, mime_type, flags, result);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_icon_theme_lookup_icon(int /*long*/ theme, int /*long*/ icon_name, int size, int /*long*/[] icon_data, int[] base_size);
-public static final int /*long*/ gnome_icon_theme_lookup_icon(int /*long*/ theme, int /*long*/ icon_name, int size, int /*long*/[] icon_data, int[] base_size) {
-	lock.lock();
-	try {
-		return _gnome_icon_theme_lookup_icon(theme, icon_name, size, icon_data, base_size);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_icon_theme_new();
-public static final int /*long*/ gnome_icon_theme_new() {
-	lock.lock();
-	try {
-		return _gnome_icon_theme_new();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_get_registered_mime_types();
-public static final int /*long*/ gnome_vfs_get_registered_mime_types() {
-	lock.lock();
-	try {
-		return _gnome_vfs_get_registered_mime_types();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native boolean _gnome_vfs_init();
-public static final boolean gnome_vfs_init() {
-	lock.lock();
-	try {
-		return _gnome_vfs_init();
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_make_uri_from_input(byte[] uri);
-public static final int /*long*/ gnome_vfs_make_uri_from_input(byte[] uri) {
-	lock.lock();
-	try {
-		return _gnome_vfs_make_uri_from_input(uri);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_make_uri_from_input_with_dirs(byte[] uri, int dirs);
-public static final int /*long*/ gnome_vfs_make_uri_from_input_with_dirs(byte[] uri, int dirs) {
-	lock.lock();
-	try {
-		return _gnome_vfs_make_uri_from_input_with_dirs(uri, dirs);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gnome_vfs_mime_application_free(int /*long*/ application);
-public static final void gnome_vfs_mime_application_free(int /*long*/ application) {
-	lock.lock();
-	try {
-		_gnome_vfs_mime_application_free(application);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gnome_vfs_mime_application_launch(int /*long*/ application, int /*long*/ uris);
-public static final int gnome_vfs_mime_application_launch(int /*long*/ application, int /*long*/ uris) {	
-	lock.lock();
-	try {
-		return _gnome_vfs_mime_application_launch(application, uris);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gnome_vfs_mime_extensions_list_free(int /*long*/ list);
-public static final void gnome_vfs_mime_extensions_list_free(int /*long*/ list) {
-	lock.lock();
-	try {
-		_gnome_vfs_mime_extensions_list_free(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_mime_get_default_application(byte[] mimeType);
-public static final int /*long*/ gnome_vfs_mime_get_default_application(byte[] mimeType) {
-	lock.lock();
-	try {
-		return _gnome_vfs_mime_get_default_application(mimeType);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_mime_get_extensions_list(int /*long*/ mime_type);
-public static final int /*long*/ gnome_vfs_mime_get_extensions_list(int /*long*/ mime_type) {
-	lock.lock();
-	try {
-		return _gnome_vfs_mime_get_extensions_list(mime_type);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void _gnome_vfs_mime_registered_mime_type_list_free(int /*long*/ list);
-public static final void gnome_vfs_mime_registered_mime_type_list_free(int /*long*/ list) {
-	lock.lock();
-	try {
-		_gnome_vfs_mime_registered_mime_type_list_free(list);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int /*long*/ _gnome_vfs_mime_type_from_name(byte[] file);
-public static final int /*long*/ gnome_vfs_mime_type_from_name(byte[] file) {
-	lock.lock();
-	try {
-		return _gnome_vfs_mime_type_from_name(file);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native int _gnome_vfs_url_show(int /*long*/ url);
-public static final int gnome_vfs_url_show(int /*long*/ url) {
-	lock.lock();
-	try {
-		return _gnome_vfs_url_show(url);
-	} finally {
-		lock.unlock();
-	}
-}
-public static final native void memmove (GnomeVFSMimeApplication dest, int /*long*/ src, int /*long*/ count);
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
deleted file mode 100644
index 76e9309..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html.  If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gnome;
-
- 
-public class GnomeVFSMimeApplication {
-	public int /*long*/ id;
-	public int /*long*/ name;
-	public int /*long*/ command;
-	public boolean can_open_multiple_files;
-	public int expects_uris;
-	public int /*long*/ supported_uri_schemes;
-	public boolean requires_terminal;
-	public static final int sizeof = GNOME.GnomeVFSMimeApplication_sizeof();
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
deleted file mode 100644
index 0988ffd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
+++ /dev/null
@@ -1,805 +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.program;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gnome.*;
-import org.eclipse.swt.internal.cde.*;
-import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Instances of this class represent programs and
- * their associated file extensions in the operating
- * system.
- */
-public final class Program {
-	String name;
-	String command;
-	String iconPath;
-	Display display;
-
-	/* Gnome specific
-	 * true if command expects a URI
-	 * false if expects a path
-	 */
-	boolean gnomeExpectUri;
-	
-	static int /*long*/ cdeShell;
-
-	static final String[] CDE_ICON_EXT = { ".m.pm",   ".l.pm",   ".s.pm",   ".t.pm" };
-	static final String[] CDE_MASK_EXT = { ".m_m.bm", ".l_m.bm", ".s_m.bm", ".t_m.bm" };
-	static final String DESKTOP_DATA = "Program_DESKTOP";
-	static final String ICON_THEME_DATA = "Program_GNOME_ICON_THEME";
-	static final int DESKTOP_UNKNOWN = 0;
-	static final int DESKTOP_GNOME = 1;
-	static final int DESKTOP_GNOME_24 = 2;
-	static final int DESKTOP_CDE = 3;
-	static final int PREFERRED_ICON_SIZE = 16;
-	
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-Program() {
-}
-
-/* Determine the desktop for the given display. */
-static int getDesktop(final Display display) {
-	if (display == null) return DESKTOP_UNKNOWN;	
-	Integer desktopValue = (Integer)display.getData(DESKTOP_DATA);
-	if (desktopValue != null) return desktopValue.intValue();
-	int desktop = DESKTOP_UNKNOWN;
-
-	/* Get the list of properties on the root window. */
-	int /*long*/ xDisplay = OS.GDK_DISPLAY();
-	int /*long*/ rootWindow = OS.XDefaultRootWindow(xDisplay);
-	int[] numProp = new int[1];
-	int /*long*/ propList = OS.XListProperties(xDisplay, rootWindow, numProp);
-	int /*long*/ [] property = new int /*long*/ [numProp[0]];
-	if (propList != 0) {
-		OS.memmove(property, propList, (property.length * OS.PTR_SIZEOF));
-		OS.XFree(propList);
-	}
-
-	/*
-	 * Feature in Linux Desktop. There is currently no official way to
-	 * determine whether the Gnome window manager or gnome-vfs is
-	 * available. Earlier versions including Red Hat 9 and Suse 9 provide
-	 * a documented Gnome specific property on the root window 
-	 * WIN_SUPPORTING_WM_CHECK. This property is no longer supported in newer
-	 * versions such as Fedora Core 2.
-	 * The workaround is to simply check that the window manager is a 
-	 * compliant one (property _NET_SUPPORTING_WM_CHECK) and to attempt to load 
-	 * our native library that depends on gnome-vfs.
-	 */
-	if (desktop == DESKTOP_UNKNOWN) {
-		byte[] gnomeName = Converter.wcsToMbcs(null, "_NET_SUPPORTING_WM_CHECK", true);
-		int /*long*/ gnome = OS.XInternAtom(xDisplay, gnomeName, true);
-		if (gnome != OS.None && gnome_init()) {
-			desktop = DESKTOP_GNOME;
-			int /*long*/ icon_theme = GNOME.gnome_icon_theme_new();
-			display.setData(ICON_THEME_DATA, new LONG(icon_theme));
-			display.addListener(SWT.Dispose, new Listener() {
-				public void handleEvent(Event event) {
-					LONG gnomeIconTheme = (LONG)display.getData(ICON_THEME_DATA);
-					if (gnomeIconTheme == null) return;
-					display.setData(ICON_THEME_DATA, null);
-					/* 
-					 * Note.  gnome_icon_theme_new uses g_object_new to allocate the
-					 * data it returns. Use g_object_unref to free the pointer it returns.
-					 */
-					if (gnomeIconTheme.value != 0) GNOME.g_object_unref(gnomeIconTheme.value);
-				}
-			});
-			/* Check for libgnomevfs-2 version 2.4 */
-			byte[] buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
-			int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
-			if (libgnomevfs != 0) {
-				buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
-				int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
-				if (gnome_vfs_url_show != 0) {
-					desktop = DESKTOP_GNOME_24;
-				}
-				OS.dlclose(libgnomevfs);
-			}
-		}
-	}
-
-	/*
-	* On CDE, the atom below may exist without DTWM running. If the atom 
-	* below is defined, the CDE database exists and the available
-	* applications can be queried.
-	*/
-	if (desktop == DESKTOP_UNKNOWN) {
-		byte[] cdeName = Converter.wcsToMbcs(null, "_DT_SM_PREFERENCES", true);
-		int /*long*/ cde = OS.XInternAtom(xDisplay, cdeName, true);
-		for (int index = 0; desktop == DESKTOP_UNKNOWN && index < property.length; index++) {
-			if (property[index] == OS.None) continue; /* do not match atoms that do not exist */
-			if (property[index] == cde && cde_init(display)) desktop = DESKTOP_CDE;
-		}
-	}
-
-	display.setData(DESKTOP_DATA, new Integer(desktop));
-	return desktop;
-}
-
-boolean cde_execute(String fileName) {
-	/* Use the character encoding for the default locale */
-	byte[] action = Converter.wcsToMbcs(null, command, true);
-	byte[] fileArg = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ ptr = OS.g_malloc(fileArg.length);
-	OS.memmove(ptr, fileArg, fileArg.length);
-	DtActionArg args = new DtActionArg();
-	args.argClass = CDE.DtACTION_FILE;
-	args.name = ptr;
-	long actionID = CDE.DtActionInvoke(cdeShell, action, args, 1, null, null, null, 1, 0, 0);
-	OS.g_free(ptr);
-	return actionID != 0;
-}
-
-static String cde_getAction(String dataType) {
-	String action  = null;
-	String actions = cde_getAttribute(dataType, CDE.DtDTS_DA_ACTION_LIST);
-	if (actions != null) {
-		int index = actions.indexOf("Open");
-		if (index != -1) {
-			action = actions.substring(index, index + 4);
-		} else {
-			index = actions.indexOf(",");
-			action = index != -1 ? actions.substring(0, index) : actions;
-		}
-	}
-	return action;
-}
-
-static String cde_getAttribute(String dataType, String attrName) {
-	/* Use the character encoding for the default locale */
-	byte[] dataTypeBuf = Converter.wcsToMbcs(null, dataType, true);
-	byte[] attrNameBuf = Converter.wcsToMbcs(null, attrName, true);
-	byte[] optNameBuf = null;
-	int /*long*/ attrValue = CDE.DtDtsDataTypeToAttributeValue(dataTypeBuf, attrNameBuf, optNameBuf);
-	if (attrValue == 0) return null;
-	int length = OS.strlen(attrValue);
-	byte[] attrValueBuf = new byte[length];
-	OS.memmove(attrValueBuf, attrValue, length);
-	CDE.DtDtsFreeAttributeValue(attrValue);
-	/* Use the character encoding for the default locale */
-	return new String(Converter.mbcsToWcs(null, attrValueBuf));
-}
-
-static Hashtable cde_getDataTypeInfo() {
-	Hashtable dataTypeInfo = new Hashtable();
-	int index;
-	int /*long*/ dataTypeList = CDE.DtDtsDataTypeNames();
-	if (dataTypeList != 0) {
-		/* For each data type name in the list */
-		index = 0; 
-		int /*long*/ [] dataType = new int /*long*/ [1];
-		OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
-		while (dataType[0] != 0) {
-			int length = OS.strlen(dataType[0]);
-			byte[] dataTypeBuf = new byte[length];
-			OS.memmove(dataTypeBuf, dataType[0], length);
-			/* Use the character encoding for the default locale */
-			String dataTypeName = new String(Converter.mbcsToWcs(null, dataTypeBuf));
-     		
-			/* The data type is valid if it is not an action, and it has an extension and an action. */
-			String extension = cde_getExtension(dataTypeName);
-			if (!CDE.DtDtsDataTypeIsAction(dataTypeBuf) &&
-				extension != null && cde_getAction(dataTypeName) != null) {
-				Vector exts = new Vector();
-				exts.addElement(extension);
-				dataTypeInfo.put(dataTypeName, exts);
-			}
-			OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
-		}
-		CDE.DtDtsFreeDataTypeNames(dataTypeList);
-	}
-	
-	return dataTypeInfo;
-}
-
-static String cde_getExtension(String dataType) {
-	String fileExt = cde_getAttribute(dataType, CDE.DtDTS_DA_NAME_TEMPLATE);
-	if (fileExt == null || fileExt.indexOf("%s.") == -1) return null;
-	int dot = fileExt.indexOf(".");
-	return fileExt.substring(dot);
-}
-
-/**
- * CDE - Get Image Data
- * 
- * This method returns the image data of the icon associated with
- * the data type. Since CDE supports multiple sizes of icons, several
- * attempts are made to locate an icon of the desired size and format.
- * CDE supports the sizes: tiny, small, medium and large. The best
- * search order is medium, large, small and then tiny. Althoug CDE supports
- * colour and monochrome bitmaps, only colour icons are tried. (The order is
- * defined by the  cdeIconExt and cdeMaskExt arrays above.)
- */
-ImageData cde_getImageData() {
-	// TODO
-	return null;	
-}
-
-static String cde_getMimeType(String extension) {
-	String mimeType = null;
-	Hashtable mimeInfo = cde_getDataTypeInfo();
-	if (mimeInfo == null) return null;
-	Enumeration keys = mimeInfo.keys();
-	while (mimeType == null && keys.hasMoreElements()) {
-		String type = (String)keys.nextElement();
-		Vector mimeExts = (Vector)mimeInfo.get(type);
-		for (int index = 0; index < mimeExts.size(); index++){
-			if (extension.equals(mimeExts.elementAt(index))) {
-				mimeType = type;
-				break;
-			}
-		}
-	}
-	return mimeType;
-}
-
-static Program cde_getProgram(Display display, String mimeType) {
-	Program program = new Program();
-	program.display = display;
-	program.name = mimeType;
-	program.command = cde_getAction(mimeType);
-	program.iconPath = cde_getAttribute(program.name, CDE.DtDTS_DA_ICON);
-	return program;
-}
-
-static boolean cde_init(Display display) {
-	try {
-		Library.loadLibrary("swt-cde");
-	} catch (Throwable e) {
-		return false;
-	}
-
-	/* Use the character encoding for the default locale */
-	CDE.XtToolkitInitialize();
-	int /*long*/ xtContext = CDE.XtCreateApplicationContext ();
-	int /*long*/ xDisplay = OS.GDK_DISPLAY();
-	byte[] appName = Converter.wcsToMbcs(null, "CDE", true);
-	byte[] appClass = Converter.wcsToMbcs(null, "CDE", true);
-	int /*long*/ [] argc = new int /*long*/ [] {0};
-	CDE.XtDisplayInitialize(xtContext, xDisplay, appName, appClass, 0, 0, argc, 0);
-	int /*long*/ widgetClass = CDE.topLevelShellWidgetClass ();
-	cdeShell = CDE.XtAppCreateShell (appName, appClass, widgetClass, xDisplay, null, 0);
-	CDE.XtSetMappedWhenManaged (cdeShell, false);
-	CDE.XtResizeWidget (cdeShell, 10, 10, 0);
-	CDE.XtRealizeWidget (cdeShell);
-	boolean initOK = CDE.DtAppInitialize(xtContext, xDisplay, cdeShell, appName, appName);
-	if (initOK) CDE.DtDbLoad();
-	return initOK;
-}
-
-static String[] parseCommand(String cmd) {
-	Vector args = new Vector();
-	int sIndex = 0;
-	int eIndex;
-	while (sIndex < cmd.length()) {
-		/* Trim initial white space of argument. */
-		while (sIndex < cmd.length() && Compatibility.isWhitespace(cmd.charAt(sIndex))) {
-			sIndex++;
-		}
-		if (sIndex < cmd.length()) {
-			/* If the command is a quoted string */
-			if (cmd.charAt(sIndex) == '"' || cmd.charAt(sIndex) == '\'') {
-				/* Find the terminating quote (or end of line).
-				 * This code currently does not handle escaped characters (e.g., " a\"b").
-				 */
-				eIndex = sIndex + 1;
-				while (eIndex < cmd.length() && cmd.charAt(eIndex) != cmd.charAt(sIndex)) eIndex++;
-				if (eIndex >= cmd.length()) { 
-					/* The terminating quote was not found
-					 * Add the argument as is with only one initial quote.
-					 */
-					args.addElement(cmd.substring(sIndex, eIndex));
-				} else {
-					/* Add the argument, trimming off the quotes. */
-					args.addElement(cmd.substring(sIndex + 1, eIndex));
-				}
-				sIndex = eIndex + 1;
-			}
-			else {
-				/* Use white space for the delimiters. */
-				eIndex = sIndex;
-				while (eIndex < cmd.length() && !Compatibility.isWhitespace(cmd.charAt(eIndex))) eIndex++;
-				args.addElement(cmd.substring(sIndex, eIndex));
-				sIndex = eIndex + 1;
-			}
-		}
-	}
-	
-	String[] strings = new String[args.size()];
-	for (int index =0; index < args.size(); index++) {
-		strings[index] = (String)args.elementAt(index);
-	}
-	return strings;
-}
-
-/**
- * GNOME 2.4 - Execute the program for the given file. 
- */
-boolean gnome_24_execute(String fileName) {
-	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, name, true);
-	int /*long*/ ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
-	byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input_with_dirs(fileNameBuffer, GNOME.GNOME_VFS_MAKE_URI_DIR_CURRENT);
-	int /*long*/ list = GNOME.g_list_append(0, uri);
-	int result = GNOME.gnome_vfs_mime_application_launch(ptr, list);
-	GNOME.gnome_vfs_mime_application_free(ptr);
-	GNOME.g_free(uri);
-	GNOME.g_list_free(list);
-	return result == GNOME.GNOME_VFS_OK;
-}
-
-/**
- * GNOME 2.4 - Launch the default program for the given file. 
- */
-static boolean gnome_24_launch(String fileName) {
-	byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input_with_dirs(fileNameBuffer, GNOME.GNOME_VFS_MAKE_URI_DIR_CURRENT);
-	int result = GNOME.gnome_vfs_url_show(uri);
-	GNOME.g_free(uri);
-	return (result == GNOME.GNOME_VFS_OK);
-}
-
-/**
- * GNOME 2.2 - Execute the program for the given file. 
- */
-boolean gnome_execute(String fileName) {
-	if (gnomeExpectUri) {
-		/* Convert the given path into a URL */
-		byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-		int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input(fileNameBuffer);
-		if (uri != 0) {
-			int length = OS.strlen(uri);
-			if (length > 0) {
-				byte[] buffer = new byte[length];
-				OS.memmove(buffer, uri, length);
-				fileName = new String(Converter.mbcsToWcs(null, buffer));
-			}
-			GNOME.g_free(uri);
-		}
-	}
-
-	/* Parse the command into its individual arguments. */
-	String[] args = parseCommand(command);
-	int fileArg = -1;
-	int index;
-	for (index = 0; index < args.length; index++) {
-		int j = args[index].indexOf("%f");
-		if (j != -1) {
-			String value = args[index];
-			fileArg = index;
-			args[index] = value.substring(0, j) + fileName + value.substring(j + 2);
-		}
-	}
-
-	/* If a file name was given but the command did not have "%f" */
-	if ((fileName.length() > 0) && (fileArg < 0)) {
-		String[] newArgs = new String[args.length + 1];
-		for (index = 0; index < args.length; index++) newArgs[index] = args[index];
-		newArgs[args.length] = fileName;
-		args = newArgs;
-	}
-
-	/* Execute the command. */
-	try {
-		Compatibility.exec(args);
-	} catch (IOException e) {
-		return false;
-	}
-	return true;
-}
-
-/**
- * GNOME - Get Image Data
- * 
- */ 
-ImageData gnome_getImageData() {
-	if (iconPath == null) return null;
-	try {
-		return new ImageData(iconPath);
-	} catch (Exception e) {}
-	return null;
-}
-
-/**
- * GNOME - Get mime types
- * 
- * Obtain the registered mime type information and
- * return it in a map. The key of each entry
- * in the map is the mime type name. The value is
- * a vector of the associated file extensions.
- */
-static Hashtable gnome_getMimeInfo() {
-	Hashtable mimeInfo = new Hashtable();
-	int /*long*/[] mimeData = new int /*long*/[1];
-	int /*long*/[] extensionData = new int /*long*/[1];
-	int /*long*/ mimeList = GNOME.gnome_vfs_get_registered_mime_types();
-	int /*long*/ mimeElement = mimeList;
-	while (mimeElement != 0) {
-		OS.memmove (mimeData, mimeElement, OS.PTR_SIZEOF);
-		int /*long*/ mimePtr = mimeData[0];
-		int mimeLength = OS.strlen(mimePtr);
-		byte[] mimeTypeBuffer = new byte[mimeLength];
-		OS.memmove(mimeTypeBuffer, mimePtr, mimeLength);
-		String mimeType = new String(Converter.mbcsToWcs(null, mimeTypeBuffer));
-		int /*long*/ extensionList = GNOME.gnome_vfs_mime_get_extensions_list(mimePtr);
-		if (extensionList != 0) {
-			Vector extensions = new Vector();
-			int /*long*/ extensionElement = extensionList;
-			while (extensionElement != 0) {
-				OS.memmove(extensionData, extensionElement, OS.PTR_SIZEOF);
-				int /*long*/ extensionPtr = extensionData[0];
-				int extensionLength = OS.strlen(extensionPtr);
-				byte[] extensionBuffer = new byte[extensionLength];
-				OS.memmove(extensionBuffer, extensionPtr, extensionLength);
-				String extension = new String(Converter.mbcsToWcs(null, extensionBuffer));
-				extension = '.' + extension;
-				extensions.addElement(extension);
-				extensionElement = GNOME.g_list_next(extensionElement); 
-			}
-			GNOME.gnome_vfs_mime_extensions_list_free(extensionList);
-			if (extensions.size() > 0) mimeInfo.put(mimeType, extensions);
-		}
-		mimeElement = GNOME.g_list_next(mimeElement);
-	}
-	if (mimeList != 0) GNOME.gnome_vfs_mime_registered_mime_type_list_free(mimeList);
-	return mimeInfo;
-}
-
-static String gnome_getMimeType(String extension) {
-	String mimeType = null;
-	String fileName = "swt" + extension;
-	byte[] extensionBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ typeName = GNOME.gnome_vfs_mime_type_from_name(extensionBuffer);
-	if (typeName != 0) {
-		int length = OS.strlen(typeName);
-		if (length > 0) {
-			byte [] buffer = new byte[length];
-			OS.memmove(buffer, typeName, length);
-			mimeType = new String(Converter.mbcsToWcs(null, buffer));
-		}
-	}
-	return mimeType;
-}
-
-static Program gnome_getProgram(Display display, String mimeType) {
-	Program program = null;
-	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
-	int /*long*/ ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
-	if (ptr != 0) {
-		program = new Program();
-		program.display = display;
-		program.name = mimeType;
-		GnomeVFSMimeApplication application = new GnomeVFSMimeApplication();
-		GNOME.memmove(application, ptr, GnomeVFSMimeApplication.sizeof);
-		int length = OS.strlen(application.command);
-		byte[] buffer = new byte[length];
-		OS.memmove(buffer, application.command, length);		
-		program.command = new String(Converter.mbcsToWcs(null, buffer));
-		program.gnomeExpectUri = application.expects_uris == GNOME.GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS;
-		
-		length = OS.strlen(application.id);
-		buffer = new byte[length + 1];
-		OS.memmove(buffer, application.id, length);
-		LONG gnomeIconTheme = (LONG)display.getData(ICON_THEME_DATA);
-		int /*long*/ icon_name = GNOME.gnome_icon_lookup(gnomeIconTheme.value, 0, null, buffer, 0, mimeTypeBuffer, 
-				GNOME.GNOME_ICON_LOOKUP_FLAGS_NONE, null);
-		int /*long*/ path = 0;
-		if (icon_name != 0) path = GNOME.gnome_icon_theme_lookup_icon(gnomeIconTheme.value, icon_name, PREFERRED_ICON_SIZE, null, null);
-		if (path != 0) {
-			length = OS.strlen(path);
-			if (length > 0) {
-				buffer = new byte[length];
-				OS.memmove(buffer, path, length);
-				program.iconPath = new String(Converter.mbcsToWcs(null, buffer));
-			}
-			GNOME.g_free(path);
-		}
-		if (icon_name != 0) GNOME.g_free(icon_name);
-		GNOME.gnome_vfs_mime_application_free(ptr);
-	}
-	return program;
-}
-
-static boolean gnome_init() {
-	try {
-		return GNOME.gnome_vfs_init();
-	} catch (Throwable e) {
-		return false;
-	}
-}
-
-/**
- * Finds the program that is associated with an extension.
- * The extension may or may not begin with a '.'.  Note that
- * a <code>Display</code> must already exist to guarantee that
- * this method returns an appropriate result.
- *
- * @param extension the program extension
- * @return the program or <code>null</code>
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static Program findProgram(String extension) {
-	return findProgram(Display.getCurrent(), extension);
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static Program findProgram(Display display, String extension) {
-	if (extension == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length() == 0) return null;
-	if (extension.charAt(0) != '.') extension = "." + extension;
-	int desktop = getDesktop(display);
-	String mimeType = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: mimeType = gnome_getMimeType(extension); break;
-		case DESKTOP_CDE: mimeType = cde_getMimeType(extension); break;
-	}
-	if (mimeType == null) return null;
-	Program program = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: program = gnome_getProgram(display, mimeType); break;
-		case DESKTOP_CDE: program = cde_getProgram(display, mimeType); break;
-	}
-	return program;
-}
-
-/**
- * Answer all program extensions in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of extensions
- */
-public static String[] getExtensions() {
-	return getExtensions(Display.getCurrent());
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static String[] getExtensions(Display display) {
-	int desktop = getDesktop(display);
-	Hashtable mimeInfo = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24: break;
-		case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
-		case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
-	}
-	if (mimeInfo == null) return new String[0];
-
-	/* Create a unique set of the file extensions. */
-	Vector extensions = new Vector();
-	Enumeration keys = mimeInfo.keys();
-	while (keys.hasMoreElements()) {
-		String mimeType = (String)keys.nextElement();
-		Vector mimeExts = (Vector)mimeInfo.get(mimeType);
-		for (int index = 0; index < mimeExts.size(); index++){
-			if (!extensions.contains(mimeExts.elementAt(index))) {
-				extensions.addElement(mimeExts.elementAt(index));
-			}
-		}
-	}
-			
-	/* Return the list of extensions. */
-	String[] extStrings = new String[extensions.size()];
-	for (int index = 0; index < extensions.size(); index++) {
-		extStrings[index] = (String)extensions.elementAt(index);
-	}			
-	return extStrings;
-}
-
-/**
- * Answers all available programs in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of programs
- */
-public static Program[] getPrograms() {
-	return getPrograms(Display.getCurrent());
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static Program[] getPrograms(Display display) {
-	int desktop = getDesktop(display);
-	Hashtable mimeInfo = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24: break;
-		case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
-		case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
-	}
-	if (mimeInfo == null) return new Program[0];
-	Vector programs = new Vector();
-	Enumeration keys = mimeInfo.keys();
-	while (keys.hasMoreElements()) {
-		String mimeType = (String)keys.nextElement();
-		Program program = null;
-		switch (desktop) {
-			case DESKTOP_GNOME: program = gnome_getProgram(display, mimeType); break;
-			case DESKTOP_CDE: program = cde_getProgram(display, mimeType); break;
-		}
-		if (program != null) programs.addElement(program);
-	}
-	Program[] programList = new Program[programs.size()];
-	for (int index = 0; index < programList.length; index++) {
-		programList[index] = (Program)programs.elementAt(index);
-	}
-	return programList;
-}
-
-/**
- * Launches the executable associated with the file in
- * the operating system.  If the file is an executable,
- * then the executable is launched.  Note that a <code>Display</code>
- * must already exist to guarantee that this method returns
- * an appropriate result.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public static boolean launch(String fileName) {
-	return launch(Display.getCurrent(), fileName);
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static boolean launch(Display display, String fileName) {
-	if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	
-	/* If the argument appears to be a data file (it has an extension) */
-	int index = fileName.lastIndexOf('.');
-	if (index > 0) {
-		switch(getDesktop(display)) {
-			case DESKTOP_GNOME_24:
-				if (gnome_24_launch(fileName)) return true;
-			default:
-				/* Find the associated program, if one is defined. */
-				String extension = fileName.substring(index);
-				Program program = Program.findProgram(display, extension); 
-				
-				/* If the associated program is defined and can be executed, return. */
-				if (program != null && program.execute(fileName)) return true;
-				break;
-		}
-	}
-	
-	/* Otherwise, the argument was the program itself. */
-	try {
-		Compatibility.exec(fileName);
-		return true;
-	} catch (IOException e) {
-		return false;
-	}
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param other the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object other) {
-	if (this == other) return true;
-	if (!(other instanceof Program)) return false;
-	Program program = (Program)other;
-	return display == program.display && name.equals(program.name) && command.equals(program.command);
-}
-
-/**
- * Executes the program with the file as the single argument
- * in the operating system.  It is the responsibility of the
- * programmer to ensure that the file contains valid data for 
- * this program.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public boolean execute(String fileName) {
-	if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	int desktop = getDesktop(display);
-	switch (desktop) {
-		case DESKTOP_GNOME_24: return gnome_24_execute(fileName);
-		case DESKTOP_GNOME: return gnome_execute(fileName);
-		case DESKTOP_CDE: return cde_execute(fileName);
-	}
-	return false;
-}
-
-/**
- * Returns the receiver's image data.  This is the icon
- * that is associated with the receiver in the operating
- * system.
- *
- * @return the image data for the program, may be null
- */
-public ImageData getImageData() {
-	switch (getDesktop(display)) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: return gnome_getImageData();
-		case DESKTOP_CDE: return cde_getImageData();
-	}
-	return null;
-}
-
-/**
- * Returns the receiver's name.  This is as short and
- * descriptive a name as possible for the program.  If
- * the program has no descriptive name, this string may
- * be the executable name, path or empty.
- *
- * @return the name of the program
- */
-public String getName() {
-	return name;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return name.hashCode() ^ command.hashCode() ^ display.hashCode();
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the program
- */
-public String toString() {
-	return "Program {" + name + "}";
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/motif/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/motif/org/eclipse/swt/program/Program.java
deleted file mode 100755
index c3a948e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/motif/org/eclipse/swt/program/Program.java
+++ /dev/null
@@ -1,840 +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.program;
-
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gnome.*;
-import org.eclipse.swt.internal.cde.*;
-import org.eclipse.swt.internal.motif.*;
-import org.eclipse.swt.widgets.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Instances of this class represent programs and
- * their associated file extensions in the operating
- * system.
- */
-public final class Program {
-	String name;
-	String command;
-	String iconPath;
-	Display display;
-
-	/* Gnome specific
-	 * true if command expects a URI
-	 * false if expects a path
-	 */
-	boolean gnomeExpectUri;
-
-	static final String SHELL_HANDLE_KEY = "org.eclipse.swt.internal.motif.shellHandle";
-	static final String[] CDE_ICON_EXT = { ".m.pm",   ".l.pm",   ".s.pm",   ".t.pm" };
-	static final String[] CDE_MASK_EXT = { ".m_m.bm", ".l_m.bm", ".s_m.bm", ".t_m.bm" };
-	static final String DESKTOP_DATA = "Program_DESKTOP";
-	static final String ICON_THEME_DATA = "Program_GNOME_ICON_THEME";
-	static final int DESKTOP_UNKNOWN = 0;
-	static final int DESKTOP_GNOME = 1;
-	static final int DESKTOP_GNOME_24 = 2;
-	static final int DESKTOP_CDE = 3;
-	static final int PREFERRED_ICON_SIZE = 16;
-	
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-Program() {
-}
-
-/* Determine the desktop for the given display. */
-static int getDesktop(final Display display) {
-	if (display == null) return DESKTOP_UNKNOWN;	
-	Integer desktopValue = (Integer)display.getData(DESKTOP_DATA);
-	if (desktopValue != null) return desktopValue.intValue();
-	int desktop = DESKTOP_UNKNOWN;
-
-	/* Get the list of properties on the root window. */
-	int /*long*/ xDisplay = display.xDisplay;
-	int /*long*/ rootWindow = OS.XDefaultRootWindow(xDisplay);
-	int[] numProp = new int[1];
-	int /*long*/ propList = OS.XListProperties(xDisplay, rootWindow, numProp);
-	int /*long*/ [] property = new int /*long*/ [numProp[0]];
-	if (propList != 0) {
-		OS.memmove(property, propList, (property.length * OS.PTR_SIZEOF));
-		OS.XFree(propList);
-	}
-
-	/*
-	 * Feature in Linux Desktop. There is currently no official way to
-	 * determine whether the Gnome window manager or gnome-vfs is
-	 * available. Earlier versions including Red Hat 9 and Suse 9 provide
-	 * a documented Gnome specific property on the root window 
-	 * WIN_SUPPORTING_WM_CHECK. This property is no longer supported in newer
-	 * versions such as Fedora Core 2.
-	 * The workaround is to simply check that the window manager is a 
-	 * compliant one (property _NET_SUPPORTING_WM_CHECK) and to attempt to load 
-	 * our native library that depends on gnome-vfs.
-	 */
-	if (desktop == DESKTOP_UNKNOWN) {
-		byte[] gnomeName = Converter.wcsToMbcs(null, "_NET_SUPPORTING_WM_CHECK", true);
-		int /*long*/ gnome = OS.XInternAtom(xDisplay, gnomeName, true);
-		if (gnome != OS.None && gnome_init()) {
-			desktop = DESKTOP_GNOME;
-			int /*long*/ icon_theme = GNOME.gnome_icon_theme_new();
-			display.setData(ICON_THEME_DATA, new Integer(icon_theme));
-			display.addListener(SWT.Dispose, new Listener() {
-				public void handleEvent(Event event) {
-					Integer gnomeIconTheme = (Integer)display.getData(ICON_THEME_DATA);
-					if (gnomeIconTheme == null) return;
-					display.setData(ICON_THEME_DATA, null);
-					int iconThemeValue = gnomeIconTheme.intValue();
-					/* 
-					 * Note.  gnome_icon_theme_new uses g_object_new to allocate the
-					 * data it returns. Use g_object_unref to free the pointer it returns.
-					 */
-					if (iconThemeValue != 0) GNOME.g_object_unref(iconThemeValue);
-				}
-			});
-			/* Check for libgnomevfs-2 version 2.4 */
-			byte[] buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
-			int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
-			if (libgnomevfs != 0) {
-				buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
-				int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
-				if (gnome_vfs_url_show != 0) {
-					desktop = DESKTOP_GNOME_24;
-				}
-				OS.dlclose(libgnomevfs);
-			}
-		}
-	}
-
-	/*
-	* On CDE, the atom below may exist without DTWM running. If the atom 
-	* below is defined, the CDE database exists and the available
-	* applications can be queried.
-	*/
-	if (desktop == DESKTOP_UNKNOWN) {
-		byte[] cdeName = Converter.wcsToMbcs(null, "_DT_SM_PREFERENCES", true);
-		int /*long*/ cde = OS.XInternAtom(xDisplay, cdeName, true);
-		for (int index = 0; desktop == DESKTOP_UNKNOWN && index < property.length; index++) {
-			if (property[index] == OS.None) continue; /* do not match atoms that do not exist */
-			if (property[index] == cde && cde_init(display)) desktop = DESKTOP_CDE;
-		}
-	}
-
-	display.setData(DESKTOP_DATA, new Integer(desktop));
-	return desktop;
-}
-
-boolean cde_execute(String fileName) {
-	/* Use the character encoding for the default locale */
-	byte[] action = Converter.wcsToMbcs(null, command, true);
-	byte[] fileArg = Converter.wcsToMbcs(null, fileName, true);
-	Integer shell = (Integer)display.getData(SHELL_HANDLE_KEY);
-	long actionID = 0;
-	if (shell != null) {
-		int ptr = OS.XtMalloc(fileArg.length);
-		OS.memmove(ptr, fileArg, fileArg.length);
-		DtActionArg args = new DtActionArg();
-		args.argClass = CDE.DtACTION_FILE;
-		args.name = ptr;
-		actionID = CDE.DtActionInvoke(shell.intValue(), action, args, 1, null, null, null, 1, 0, 0);
-		OS.XtFree(ptr);
-	}
-	return actionID != 0;
-}
-
-static String cde_getAction(String dataType) {
-	String action  = null;
-	String actions = cde_getAttribute(dataType, CDE.DtDTS_DA_ACTION_LIST);
-	if (actions != null) {
-		int index = actions.indexOf("Open");
-		if (index != -1) {
-			action = actions.substring(index, index + 4);
-		} else {
-			index = actions.indexOf(",");
-			action = index != -1 ? actions.substring(0, index) : actions;
-		}
-	}
-	return action;
-}
-
-static String cde_getAttribute(String dataType, String attrName) {
-	/* Use the character encoding for the default locale */
-	byte[] dataTypeBuf = Converter.wcsToMbcs(null, dataType, true);
-	byte[] attrNameBuf = Converter.wcsToMbcs(null, attrName, true);
-	byte[] optNameBuf = null;
-	int /*long*/ attrValue = CDE.DtDtsDataTypeToAttributeValue(dataTypeBuf, attrNameBuf, optNameBuf);
-	if (attrValue == 0) return null;
-	int length = OS.strlen(attrValue);
-	byte[] attrValueBuf = new byte[length];
-	OS.memmove(attrValueBuf, attrValue, length);
-	CDE.DtDtsFreeAttributeValue(attrValue);
-	/* Use the character encoding for the default locale */
-	return new String(Converter.mbcsToWcs(null, attrValueBuf));
-}
-
-static Hashtable cde_getDataTypeInfo() {
-	Hashtable dataTypeInfo = new Hashtable();
-	int index;
-	int /*long*/ dataTypeList = CDE.DtDtsDataTypeNames();
-	if (dataTypeList != 0) {
-		/* For each data type name in the list */
-		index = 0; 
-		int /*long*/ [] dataType = new int /*long*/ [1];
-		OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
-		while (dataType[0] != 0) {
-			int length = OS.strlen(dataType[0]);
-			byte[] dataTypeBuf = new byte[length];
-			OS.memmove(dataTypeBuf, dataType[0], length);
-			/* Use the character encoding for the default locale */
-			String dataTypeName = new String(Converter.mbcsToWcs(null, dataTypeBuf));
-     		
-			/* The data type is valid if it is not an action, and it has an extension and an action. */
-			String extension = cde_getExtension(dataTypeName);
-			if (!CDE.DtDtsDataTypeIsAction(dataTypeBuf) &&
-				extension != null && cde_getAction(dataTypeName) != null) {
-				Vector exts = new Vector();
-				exts.addElement(extension);
-				dataTypeInfo.put(dataTypeName, exts);
-			}
-			OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
-		}
-		CDE.DtDtsFreeDataTypeNames(dataTypeList);
-	}
-	
-	return dataTypeInfo;
-}
-
-static String cde_getExtension(String dataType) {
-	String fileExt = cde_getAttribute(dataType, CDE.DtDTS_DA_NAME_TEMPLATE);
-	if (fileExt == null || fileExt.indexOf("%s.") == -1) return null;
-	int dot = fileExt.indexOf(".");
-	return fileExt.substring(dot);
-}
-
-/**
- * CDE - Get Image Data
- * 
- * This method returns the image data of the icon associated with
- * the data type. Since CDE supports multiple sizes of icons, several
- * attempts are made to locate an icon of the desired size and format.
- * CDE supports the sizes: tiny, small, medium and large. The best
- * search order is medium, large, small and then tiny. Althoug CDE supports
- * colour and monochrome bitmaps, only colour icons are tried. (The order is
- * defined by the  cdeIconExt and cdeMaskExt arrays above.)
- */
-ImageData cde_getImageData() {
-	if (iconPath == null) return null;
-	int xDisplay = display.xDisplay;
-	int screen  = OS.XDefaultScreenOfDisplay(xDisplay);
-	int fgPixel = OS.XWhitePixel(display.xDisplay, OS.XDefaultScreen(xDisplay));
-	int bgPixel = OS.XBlackPixel(display.xDisplay, OS.XDefaultScreen(xDisplay));	
-	byte[] iconName;
-	byte[] maskName = null;
-	int pixmap = 0;
-	for (int index = 0; index < CDE_ICON_EXT.length && pixmap == 0; index++) {
-		/* Use the character encoding for the default locale */
-		iconName = Converter.wcsToMbcs(null, iconPath + CDE_ICON_EXT[index], true);
-		maskName = Converter.wcsToMbcs(null, iconPath + CDE_MASK_EXT[index], true);
-		pixmap = OS.XmGetPixmap(screen, iconName, fgPixel, bgPixel);
-		if (pixmap == OS.XmUNSPECIFIED_PIXMAP) pixmap = 0;
-	}
-	if (pixmap != 0) {
-		int type = SWT.ICON;
-		/* When creating the mask pixmap, do not use the screen's white and black
-		 * pixel for the foreground and background respectively, because on some
-		 * X servers (e.g., Solaris) pixel 0 is white and pixel 1 is black. Passing
-		 * (screen, name, whitePixel, blackPixel, 1) to get the mask pixmap will
-		 * result in an inverted mask. Instead explicitly use 1 (FG) and 0 (BG).
-		 */
-		int mask = OS.XmGetPixmapByDepth(screen, maskName, 1, 0, 1);
-		if (mask == OS.XmUNSPECIFIED_PIXMAP) {
-			type = SWT.BITMAP;
-			mask = 0;
-		}
-		Image image = Image.motif_new(display, type, pixmap, mask);
-		ImageData imageData = image.getImageData();
-		
-		/* The pixmaps returned from XmGetPixmap... are cached by Motif
-		 * and must be deleted by XmDestroyPixmap. Because they cannot
-		 * be deleted directly by XFreePixmap, image.dispose() must not
-		 * be called. The following code should do an equivalent image.dispose().
-		 */
-		OS.XmDestroyPixmap(screen, pixmap);
-		if (mask != 0) OS.XmDestroyPixmap(screen, mask); 
-		return imageData;		
-	}
-	return null;	
-}
-
-static String cde_getMimeType(String extension) {
-	String mimeType = null;
-	Hashtable mimeInfo = cde_getDataTypeInfo();
-	if (mimeInfo == null) return null;
-	Enumeration keys = mimeInfo.keys();
-	while (mimeType == null && keys.hasMoreElements()) {
-		String type = (String)keys.nextElement();
-		Vector mimeExts = (Vector)mimeInfo.get(type);
-		for (int index = 0; index < mimeExts.size(); index++){
-			if (extension.equals(mimeExts.elementAt(index))) {
-				mimeType = type;
-				break;
-			}
-		}
-	}
-	return mimeType;
-}
-
-static Program cde_getProgram(Display display, String mimeType) {
-	Program program = new Program();
-	program.display = display;
-	program.name = mimeType;
-	program.command = cde_getAction(mimeType);
-	program.iconPath = cde_getAttribute(program.name, CDE.DtDTS_DA_ICON);
-	return program;
-}
-
-static boolean cde_init(Display display) {
-	try {
-		Library.loadLibrary("swt-cde");
-	} catch (Throwable e) {
-		return false;
-	}
-
-	/* Use the character encoding for the default locale */
-	byte[] appName = Converter.wcsToMbcs(null, "SWT", true);
-	int xtContext = OS.XtDisplayToApplicationContext(display.xDisplay);
-	Integer shell = (Integer)display.getData(SHELL_HANDLE_KEY);
-	boolean initOK = CDE.DtAppInitialize(xtContext, display.xDisplay, shell.intValue(), appName, appName);
-	if (initOK) CDE.DtDbLoad();
-	return initOK;
-}
-
-static String[] parseCommand(String cmd) {
-	Vector args = new Vector();
-	int sIndex = 0;
-	int eIndex;
-	while (sIndex < cmd.length()) {
-		/* Trim initial white space of argument. */
-		while (sIndex < cmd.length() && Compatibility.isWhitespace(cmd.charAt(sIndex))) {
-			sIndex++;
-		}
-		if (sIndex < cmd.length()) {
-			/* If the command is a quoted string */
-			if (cmd.charAt(sIndex) == '"' || cmd.charAt(sIndex) == '\'') {
-				/* Find the terminating quote (or end of line).
-				 * This code currently does not handle escaped characters (e.g., " a\"b").
-				 */
-				eIndex = sIndex + 1;
-				while (eIndex < cmd.length() && cmd.charAt(eIndex) != cmd.charAt(sIndex)) eIndex++;
-				if (eIndex >= cmd.length()) { 
-					/* The terminating quote was not found
-					 * Add the argument as is with only one initial quote.
-					 */
-					args.addElement(cmd.substring(sIndex, eIndex));
-				} else {
-					/* Add the argument, trimming off the quotes. */
-					args.addElement(cmd.substring(sIndex + 1, eIndex));
-				}
-				sIndex = eIndex + 1;
-			}
-			else {
-				/* Use white space for the delimiters. */
-				eIndex = sIndex;
-				while (eIndex < cmd.length() && !Compatibility.isWhitespace(cmd.charAt(eIndex))) eIndex++;
-				args.addElement(cmd.substring(sIndex, eIndex));
-				sIndex = eIndex + 1;
-			}
-		}
-	}
-	
-	String[] strings = new String[args.size()];
-	for (int index =0; index < args.size(); index++) {
-		strings[index] = (String)args.elementAt(index);
-	}
-	return strings;
-}
-
-/**
- * GNOME 2.4 - Execute the program for the given file. 
- */
-boolean gnome_24_execute(String fileName) {
-	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, name, true);
-	int /*long*/ ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
-	byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input_with_dirs(fileNameBuffer, GNOME.GNOME_VFS_MAKE_URI_DIR_CURRENT);
-	int /*long*/ list = GNOME.g_list_append(0, uri);
-	int result = GNOME.gnome_vfs_mime_application_launch(ptr, list);
-	GNOME.gnome_vfs_mime_application_free(ptr);
-	GNOME.g_free(uri);
-	GNOME.g_list_free(list);
-	return result == GNOME.GNOME_VFS_OK;
-}
-
-/**
- * GNOME 2.4 - Launch the default program for the given file. 
- */
-static boolean gnome_24_launch(String fileName) {
-	byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input_with_dirs(fileNameBuffer, GNOME.GNOME_VFS_MAKE_URI_DIR_CURRENT);
-	int result = GNOME.gnome_vfs_url_show(uri);
-	GNOME.g_free(uri);
-	return (result == GNOME.GNOME_VFS_OK);
-}
-
-/**
- * GNOME 2.2 - Execute the program for the given file. 
- */
-boolean gnome_execute(String fileName) {
-	if (gnomeExpectUri) {
-		/* Convert the given path into a URL */
-		byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
-		int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input(fileNameBuffer);
-		if (uri != 0) {
-			int length = OS.strlen(uri);
-			if (length > 0) {
-				byte[] buffer = new byte[length];
-				OS.memmove(buffer, uri, length);
-				fileName = new String(Converter.mbcsToWcs(null, buffer));
-			}
-			GNOME.g_free(uri);
-		}
-	}
-
-	/* Parse the command into its individual arguments. */
-	String[] args = parseCommand(command);
-	int fileArg = -1;
-	int index;
-	for (index = 0; index < args.length; index++) {
-		int j = args[index].indexOf("%f");
-		if (j != -1) {
-			String value = args[index];
-			fileArg = index;
-			args[index] = value.substring(0, j) + fileName + value.substring(j + 2);
-		}
-	}
-
-	/* If a file name was given but the command did not have "%f" */
-	if ((fileName.length() > 0) && (fileArg < 0)) {
-		String[] newArgs = new String[args.length + 1];
-		for (index = 0; index < args.length; index++) newArgs[index] = args[index];
-		newArgs[args.length] = fileName;
-		args = newArgs;
-	}
-
-	/* Execute the command. */
-	try {
-		Compatibility.exec(args);
-	} catch (IOException e) {
-		return false;
-	}
-	return true;
-}
-
-/**
- * GNOME - Get Image Data
- * 
- */ 
-ImageData gnome_getImageData() {
-	if (iconPath == null) return null;
-	try {
-		return new ImageData(iconPath);
-	} catch (Exception e) {}
-	return null;
-}
-
-/**
- * GNOME - Get mime types
- * 
- * Obtain the registered mime type information and
- * return it in a map. The key of each entry
- * in the map is the mime type name. The value is
- * a vector of the associated file extensions.
- */
-static Hashtable gnome_getMimeInfo() {
-	Hashtable mimeInfo = new Hashtable();
-	int /*long*/[] mimeData = new int /*long*/[1];
-	int /*long*/[] extensionData = new int /*long*/[1];
-	int /*long*/ mimeList = GNOME.gnome_vfs_get_registered_mime_types();
-	int /*long*/ mimeElement = mimeList;
-	while (mimeElement != 0) {
-		OS.memmove (mimeData, mimeElement, OS.PTR_SIZEOF);
-		int /*long*/ mimePtr = mimeData[0];
-		int mimeLength = OS.strlen(mimePtr);
-		byte[] mimeTypeBuffer = new byte[mimeLength];
-		OS.memmove(mimeTypeBuffer, mimePtr, mimeLength);
-		String mimeType = new String(Converter.mbcsToWcs(null, mimeTypeBuffer));
-		int /*long*/ extensionList = GNOME.gnome_vfs_mime_get_extensions_list(mimePtr);
-		if (extensionList != 0) {
-			Vector extensions = new Vector();
-			int /*long*/ extensionElement = extensionList;
-			while (extensionElement != 0) {
-				OS.memmove(extensionData, extensionElement, OS.PTR_SIZEOF);
-				int /*long*/ extensionPtr = extensionData[0];
-				int extensionLength = OS.strlen(extensionPtr);
-				byte[] extensionBuffer = new byte[extensionLength];
-				OS.memmove(extensionBuffer, extensionPtr, extensionLength);
-				String extension = new String(Converter.mbcsToWcs(null, extensionBuffer));
-				extension = '.' + extension;
-				extensions.addElement(extension);
-				extensionElement = GNOME.g_list_next(extensionElement); 
-			}
-			GNOME.gnome_vfs_mime_extensions_list_free(extensionList);
-			if (extensions.size() > 0) mimeInfo.put(mimeType, extensions);
-		}
-		mimeElement = GNOME.g_list_next(mimeElement);
-	}
-	if (mimeList != 0) GNOME.gnome_vfs_mime_registered_mime_type_list_free(mimeList);
-	return mimeInfo;
-}
-
-static String gnome_getMimeType(String extension) {
-	String mimeType = null;
-	String fileName = "swt" + extension;
-	byte[] extensionBuffer = Converter.wcsToMbcs(null, fileName, true);
-	int /*long*/ typeName = GNOME.gnome_vfs_mime_type_from_name(extensionBuffer);
-	if (typeName != 0) {
-		int length = OS.strlen(typeName);
-		if (length > 0) {
-			byte [] buffer = new byte[length];
-			OS.memmove(buffer, typeName, length);
-			mimeType = new String(Converter.mbcsToWcs(null, buffer));
-		}
-	}
-	return mimeType;
-}
-
-static Program gnome_getProgram(Display display, String mimeType) {
-	Program program = null;
-	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
-	int /*long*/ ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
-	if (ptr != 0) {
-		program = new Program();
-		program.display = display;
-		program.name = mimeType;
-		GnomeVFSMimeApplication application = new GnomeVFSMimeApplication();
-		GNOME.memmove(application, ptr, GnomeVFSMimeApplication.sizeof);
-		int length = OS.strlen(application.command);
-		byte[] buffer = new byte[length];
-		OS.memmove(buffer, application.command, length);		
-		program.command = new String(Converter.mbcsToWcs(null, buffer));
-		program.gnomeExpectUri = application.expects_uris == GNOME.GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS;
-		
-		length = OS.strlen(application.id);
-		buffer = new byte[length + 1];
-		OS.memmove(buffer, application.id, length);
-		Integer gnomeIconTheme = (Integer)display.getData(ICON_THEME_DATA);
-		int iconThemeValue = gnomeIconTheme.intValue();
-		int /*long*/ icon_name = GNOME.gnome_icon_lookup(iconThemeValue, 0, null, buffer, 0, mimeTypeBuffer, 
-				GNOME.GNOME_ICON_LOOKUP_FLAGS_NONE, null);
-		int /*long*/ path = 0;
-		if (icon_name != 0) path = GNOME.gnome_icon_theme_lookup_icon(iconThemeValue, icon_name, PREFERRED_ICON_SIZE, null, null);
-		if (path != 0) {
-			length = OS.strlen(path);
-			if (length > 0) {
-				buffer = new byte[length];
-				OS.memmove(buffer, path, length);
-				program.iconPath = new String(Converter.mbcsToWcs(null, buffer));
-			}
-			GNOME.g_free(path);
-		}
-		if (icon_name != 0) GNOME.g_free(icon_name);
-		GNOME.gnome_vfs_mime_application_free(ptr);
-	}
-	return program;
-}
-
-static boolean gnome_init() {
-	try {
-		return GNOME.gnome_vfs_init();
-	} catch (Throwable e) {
-		return false;
-	}
-}
-
-/**
- * Finds the program that is associated with an extension.
- * The extension may or may not begin with a '.'.  Note that
- * a <code>Display</code> must already exist to guarantee that
- * this method returns an appropriate result.
- *
- * @param extension the program extension
- * @return the program or <code>null</code>
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static Program findProgram(String extension) {
-	return findProgram(Display.getCurrent(), extension);
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static Program findProgram(Display display, String extension) {
-	if (extension == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length() == 0) return null;
-	if (extension.charAt(0) != '.') extension = "." + extension;
-	int desktop = getDesktop(display);
-	String mimeType = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: mimeType = gnome_getMimeType(extension); break;
-		case DESKTOP_CDE: mimeType = cde_getMimeType(extension); break;
-	}
-	if (mimeType == null) return null;
-	Program program = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: program = gnome_getProgram(display, mimeType); break;
-		case DESKTOP_CDE: program = cde_getProgram(display, mimeType); break;
-	}
-	return program;
-}
-
-/**
- * Answer all program extensions in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of extensions
- */
-public static String[] getExtensions() {
-	return getExtensions(Display.getCurrent());
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static String[] getExtensions(Display display) {
-	int desktop = getDesktop(display);
-	Hashtable mimeInfo = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24: break;
-		case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
-		case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
-	}
-	if (mimeInfo == null) return new String[0];
-
-	/* Create a unique set of the file extensions. */
-	Vector extensions = new Vector();
-	Enumeration keys = mimeInfo.keys();
-	while (keys.hasMoreElements()) {
-		String mimeType = (String)keys.nextElement();
-		Vector mimeExts = (Vector)mimeInfo.get(mimeType);
-		for (int index = 0; index < mimeExts.size(); index++){
-			if (!extensions.contains(mimeExts.elementAt(index))) {
-				extensions.addElement(mimeExts.elementAt(index));
-			}
-		}
-	}
-			
-	/* Return the list of extensions. */
-	String[] extStrings = new String[extensions.size()];
-	for (int index = 0; index < extensions.size(); index++) {
-		extStrings[index] = (String)extensions.elementAt(index);
-	}			
-	return extStrings;
-}
-
-/**
- * Answers all available programs in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of programs
- */
-public static Program[] getPrograms() {
-	return getPrograms(Display.getCurrent());
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static Program[] getPrograms(Display display) {
-	int desktop = getDesktop(display);
-	Hashtable mimeInfo = null;
-	switch (desktop) {
-		case DESKTOP_GNOME_24: break;
-		case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
-		case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
-	}
-	if (mimeInfo == null) return new Program[0];
-	Vector programs = new Vector();
-	Enumeration keys = mimeInfo.keys();
-	while (keys.hasMoreElements()) {
-		String mimeType = (String)keys.nextElement();
-		Program program = null;
-		switch (desktop) {
-			case DESKTOP_GNOME: program = gnome_getProgram(display, mimeType); break;
-			case DESKTOP_CDE: program = cde_getProgram(display, mimeType); break;
-		}
-		if (program != null) programs.addElement(program);
-	}
-	Program[] programList = new Program[programs.size()];
-	for (int index = 0; index < programList.length; index++) {
-		programList[index] = (Program)programs.elementAt(index);
-	}
-	return programList;
-}
-
-/**
- * Launches the executable associated with the file in
- * the operating system.  If the file is an executable,
- * then the executable is launched.  Note that a <code>Display</code>
- * must already exist to guarantee that this method returns
- * an appropriate result.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public static boolean launch(String fileName) {
-	return launch(Display.getCurrent(), fileName);
-}
-
-/*
- *  API: When support for multiple displays is added, this method will
- *       become public and the original method above can be deprecated.
- */
-static boolean launch(Display display, String fileName) {
-	if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	
-	/* If the argument appears to be a data file (it has an extension) */
-	int index = fileName.lastIndexOf('.');
-	if (index > 0) {
-		switch(getDesktop(display)) {
-			case DESKTOP_GNOME_24:
-				if (gnome_24_launch(fileName)) return true;
-			default:
-				/* Find the associated program, if one is defined. */
-				String extension = fileName.substring(index);
-				Program program = Program.findProgram(display, extension); 
-				
-				/* If the associated program is defined and can be executed, return. */
-				if (program != null && program.execute(fileName)) return true;
-				break;
-		}
-	}
-	
-	/* Otherwise, the argument was the program itself. */
-	try {
-		Compatibility.exec(fileName);
-		return true;
-	} catch (IOException e) {
-		return false;
-	}
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param other the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object other) {
-	if (this == other) return true;
-	if (!(other instanceof Program)) return false;
-	Program program = (Program)other;
-	return display == program.display && name.equals(program.name) && command.equals(program.command);
-}
-
-/**
- * Executes the program with the file as the single argument
- * in the operating system.  It is the responsibility of the
- * programmer to ensure that the file contains valid data for 
- * this program.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public boolean execute(String fileName) {
-	if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	int desktop = getDesktop(display);
-	switch (desktop) {
-		case DESKTOP_GNOME_24: return gnome_24_execute(fileName);
-		case DESKTOP_GNOME: return gnome_execute(fileName);
-		case DESKTOP_CDE: return cde_execute(fileName);
-	}
-	return false;
-}
-
-/**
- * Returns the receiver's image data.  This is the icon
- * that is associated with the receiver in the operating
- * system.
- *
- * @return the image data for the program, may be null
- */
-public ImageData getImageData() {
-	switch (getDesktop(display)) {
-		case DESKTOP_GNOME_24:
-		case DESKTOP_GNOME: return gnome_getImageData();
-		case DESKTOP_CDE: return cde_getImageData();
-	}
-	return null;
-}
-
-/**
- * Returns the receiver's name.  This is as short and
- * descriptive a name as possible for the program.  If
- * the program has no descriptive name, this string may
- * be the executable name, path or empty.
- *
- * @return the name of the program
- */
-public String getName() {
-	return name;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return name.hashCode() ^ command.hashCode() ^ display.hashCode();
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the program
- */
-public String toString() {
-	return "Program {" + name + "}";
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/photon/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/photon/org/eclipse/swt/program/Program.java
deleted file mode 100755
index b80e3c9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/photon/org/eclipse/swt/program/Program.java
+++ /dev/null
@@ -1,372 +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.program;
-
- 
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.photon.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-import java.io.*;
-
-/**
- * Instances of this class represent programs and
- * their associated file extensions in the operating
- * system.
- */
-public final class Program {	
-	String name;
-	String extension;
-	String command;
-
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-Program () {
-}
-
-/**
- * Finds the program that is associated with an extension.
- * The extension may or may not begin with a '.'.  Note that
- * a <code>Display</code> must already exist to guarantee that
- * this method returns an appropriate result.
- *
- * @param extension the program extension
- * @return the program or <code>null</code>
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static Program findProgram (String extension) {
-	if (extension == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length () == 0) return null;
-	String[][] table = loadAssociationTable ();
-	if (table == null) return null;
-	for (int i = 0; i < table.length; i++) {
-		String[] entry = table [i];
-		if (entry == null) break;
-		String [] exts = expandExtensions (entry [0]);
-		for (int j = 0; j < exts.length; j++) {
-			String ext = exts[j];
-			if (ext == null) break;
-			if (ext.endsWith (extension)) {
-				Program program = new Program ();
-				program.extension = ext;
-				program.command = entry [1];
-				int index;
-				String name = entry [1];
-				if ((index = name.indexOf(' ')) != -1) {
-					name = name.substring (0, index);
-				}
-				program.name = name;
-				return program;
-			}
-		}
-	}
-	return null;
-}
-
-/**
- * Answer all program extensions in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of extensions
- */
-public static String [] getExtensions () {
-	String[][] table = loadAssociationTable ();
-	if (table == null) return new String [0];
-	int count = 0;
-	String[] extensions = new String [50];
-	for (int i = 0; i < table.length; i++) {
-		String[] entry = table [i];
-		if (entry == null) break;
-		String [] exts = expandExtensions (entry [0]);
-		for (int j = 0; j < exts.length; j++) {
-			String ext = exts[j];
-			if (ext == null) break;
-			if (count == extensions.length) {
-				String [] newExtensions = new String [count + 50];
-				System.arraycopy (extensions, 0, newExtensions, 0, count);
-				extensions = newExtensions;
-			}
-			extensions[count++] = ext;
-		}
-	}
-	if (count != extensions.length) {
-		String [] newExtensions = new String [count];
-		System.arraycopy (extensions, 0, newExtensions, 0, count);
-		extensions = newExtensions;
-	}
-	return extensions;
-}
-
-/**
- * Answers all available programs in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of programs
- */
-public static Program [] getPrograms () {
-	String[][] table = loadAssociationTable ();
-	if (table == null) return new Program [0];
-	int count = 0;
-	Program [] programs = new Program [50];
-	for (int i = 0; i < table.length; i++) {
-		String [] entry = table [i];
-		if (entry == null) break;
-		String [] extensions = expandExtensions (entry [0]);
-		for (int j = 0; j < extensions.length; j++) {
-			String extension = extensions[j];
-			if (extension == null) break;
-			Program program = new Program ();
-			program.extension = extension;
-			program.command = entry [1];
-			int index;
-			String name = entry [1];
-			if ((index = name.indexOf(' ')) != -1) {
-				name = name.substring (0, index);
-			}
-			program.name = name;
-			if (count 	== programs.length) {
-				Program [] newPrograms = new Program [count + 50];
-				System.arraycopy (programs, 0, newPrograms, 0, count);
-				programs = newPrograms;
-			}
-			programs [count++] = program;
-		}
-	}
-	if (count != programs.length) {
-		Program [] newPrograms = new Program [count];
-		System.arraycopy (programs, 0, newPrograms, 0, count);
-		programs = newPrograms;
-	}
-	return programs;
-}
-
-/**
- * Launches the executable associated with the file in
- * the operating system.  If the file is an executable,
- * then the executable is launched.  Note that a <code>Display</code>
- * must already exist to guarantee that this method returns
- * an appropriate result.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public static boolean launch (String fileName) {
-	if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int index = fileName.lastIndexOf ('.');
-	if (index == -1) return false;
-	String extension = fileName.substring (index, fileName.length ());
-	Program program = Program.findProgram (extension);
-	if (program != null && program.execute (fileName)) return true;
-	try {
-		Compatibility.exec(fileName);
-		return true;
-	} catch (IOException e) {
-		return false;
-	}
-}
-
-static String []  expandExtensions (String ext) {
-	int start = 0, index = 0, count = 0, length = ext.length ();
-	String[] extensions = new String [5];
-	while (index < length) {
-			index = ext.indexOf ('|', start);
-			if (index == -1) index = length;
-			String extension = ext.substring (start, index).trim();
-			start = index + 1;
-			int bracketStart = extension.indexOf('[');
-			if (bracketStart != -1) {
-				int bracketEnd = extension.indexOf(']', bracketStart);
-				if (bracketEnd != -1) {
-					String prefix = extension.substring (0, bracketStart);
-					String suffix = extension.substring (bracketEnd + 1, extension.length ());
-					String chars = extension.substring (bracketStart + 1, bracketEnd);
-					for (int i=0; i<chars.length (); i++) {
-						if (count == extensions.length) {
-							String [] newExtensions = new String [count + 5];
-							System.arraycopy (extensions, 0, newExtensions, 0, count);
-							extensions = newExtensions;
-						}
-						extensions [count++] = prefix + chars.charAt (i) + suffix;
-					}
-				}
-			} else {
-				if (count == extensions.length) {
-					String [] newExtensions = new String [count + 5];
-					System.arraycopy (extensions, 0, newExtensions, 0, count);
-					extensions = newExtensions;
-				}
-				extensions [count++] = extension;
-			}
-	}
-	return extensions;
-}
-
-static String [][] loadAssociationTable () {
-	FileInputStream is = null;
-	try {
-		byte[] buffer = Converter.wcsToMbcs (null, "HOME", true);
-		int ptr = OS.getenv (buffer);
-		if (ptr == 0) return null;
-		int length = OS.strlen (ptr);
-		if (length == 0) return null;
-		buffer = new byte [length];
-		OS.memmove (buffer, ptr, length);
-		String home = new String (Converter.mbcsToWcs (null, buffer));
-		is = new FileInputStream (home + "/.ph/pfm/associate.003");
-		BufferedReader reader = new BufferedReader (new InputStreamReader (is));
-		String line;
-		int count = 0;
-		String [][] table = new String [50][];
-		while ((line = reader.readLine ()) != null) {
-			if (line.trim().startsWith ("#")) continue;
-			int start = 0, tabIndex = line.indexOf ('\t', start);
-			if (tabIndex == -1) continue;
-			String extension = line.substring (start, tabIndex);
-			start = tabIndex + 1;
-			tabIndex = line.indexOf ('\t', start);
-			if (tabIndex == -1) continue;
-			String command = line.substring (start, tabIndex);
-			if (count == table.length) {
-				String [][] newTable = new String [table.length + 50][];
-				System.arraycopy (table, 0, newTable, 0, table.length);
-				table = newTable;
-			}
-			String[] entry = new String [] {extension, command};
-			table [count++] = entry;
-		}
-		return table;
-	} catch (IOException e) {
-	} finally {
-		try {
-			if (is != null) is.close();
-		} catch (IOException e) {}
-	}
-	return null;
-}
-
-/**
- * Executes the program with the file as the single argument
- * in the operating system.  It is the responsibility of the
- * programmer to ensure that the file contains valid data for 
- * this program.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public boolean execute (String fileName) {
-	if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	int index = -1;
-	String prefix = command, suffix = "", location = "";
-	String[] locations = {"file://$PWD/@", "$PWD/@", "@"};
-	for (int i = 0; i < locations.length; i++) {
-		location = locations[i];
-		index = command.indexOf (location);
-		if (index != -1) break;
-	}
-	if (index != -1) {
-		int start = 0;
-		prefix = command.substring (start, index);
-		start = index + location.length() + 1;
-		if (start < command.length ()) {
-			suffix = command.substring (start, command.length ());
-		}
-	}
-	try {
-		Compatibility.exec(prefix + " "  + fileName + " " +  suffix);
-	} catch (IOException e) {
-		return false;
-	}
-	return true;
-}
-
-/**
- * Returns the receiver's image data.  This is the icon
- * that is associated with the receiver in the operating
- * system.
- *
- * @return the image data for the program, may be null
- */
-public ImageData getImageData () {
-	return null;
-}
-
-/**
- * Returns the receiver's name.  This is as short and
- * descriptive a name as possible for the program.  If
- * the program has no descriptive name, this string may
- * be the executable name, path or empty.
- *
- * @return the name of the program
- */
-public String getName () {
-	return name;
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param other the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object other) {
-	if (this == other) return true;
-	if (other instanceof Program) {
-		final Program program = (Program) other;
-		return extension.equals(program.extension) && name.equals(program.name) &&
-			command.equals(program.command);
-	}
-	return false;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return extension.hashCode() ^ name.hashCode() ^ command.hashCode();
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the program
- */
-public String toString () {
-	return "Program {" + name + "}";
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/win32/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/win32/org/eclipse/swt/program/Program.java
deleted file mode 100755
index 8544fd6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/win32/org/eclipse/swt/program/Program.java
+++ /dev/null
@@ -1,356 +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.program;
-
- 
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.win32.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-import java.io.IOException;
-
-/**
- * Instances of this class represent programs and
- * their associated file extensions in the operating
- * system.
- */
-public final class Program {
-	String name;
-	String command;
-	String iconName;
-
-/**
- * Prevents uninitialized instances from being created outside the package.
- */
-Program () {
-}
-
-/**
- * Finds the program that is associated with an extension.
- * The extension may or may not begin with a '.'.  Note that
- * a <code>Display</code> must already exist to guarantee that
- * this method returns an appropriate result.
- *
- * @param extension the program extension
- * @return the program or <code>null</code>
- *
- * @exception IllegalArgumentException <ul>
- *		<li>ERROR_NULL_ARGUMENT when extension is null</li>
- *	</ul>
- */
-public static Program findProgram (String extension) {
-	if (extension == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	if (extension.length () == 0) return null;
-	if (extension.charAt (0) != '.') extension = "." + extension; //$NON-NLS-1$
-	/* Use the character encoding for the default locale */
-	TCHAR key = new TCHAR (0, extension, true);
-	int [] phkResult = new int [1];
-	if (OS.RegOpenKeyEx (OS.HKEY_CLASSES_ROOT, key, 0, OS.KEY_READ, phkResult) != 0) {
-		return null;
-	}	
-	int [] lpcbData = new int [] {256};
-	TCHAR lpData = new TCHAR (0, lpcbData [0]);
-	int result = OS.RegQueryValueEx (phkResult [0], null, 0, null, lpData, lpcbData);
-	OS.RegCloseKey (phkResult [0]);
-	if (result != 0) return null;
-	return getProgram (lpData.toString (0, lpData.strlen ()));
-}
-
-/**
- * Answer all program extensions in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of extensions
- */
-public static String [] getExtensions () {
-	String [] extensions = new String [1024];
-	/* Use the character encoding for the default locale */
-	TCHAR lpName = new TCHAR (0, 1024);
-	int [] lpcName = new int [] {lpName.length ()};
-	FILETIME ft = new FILETIME ();
-	int dwIndex = 0, count = 0;
-	while (OS.RegEnumKeyEx (OS.HKEY_CLASSES_ROOT, dwIndex, lpName, lpcName, null, null, null, ft) != OS.ERROR_NO_MORE_ITEMS) {
-		String extension = lpName.toString (0, lpcName [0]);
-		lpcName [0] = lpName.length ();
-		if (extension.length () > 0 && extension.charAt (0) == '.') {
-			if (count == extensions.length) {
-				String [] newExtensions = new String [extensions.length + 1024];
-				System.arraycopy (extensions, 0, newExtensions, 0, extensions.length);
-				extensions = newExtensions;
-			}
-			extensions [count++] = extension;
-		}
-		dwIndex++;
-	}
-	if (count != extensions.length) {
-		String [] newExtension = new String [count];
-		System.arraycopy (extensions, 0, newExtension, 0, count);
-		extensions = newExtension;
-	}
-	return extensions;
-}
-
-static String getKeyValue (String string, boolean expand) {
-	/* Use the character encoding for the default locale */
-	TCHAR key = new TCHAR (0, string, true);
-	int [] phkResult = new int [1];
-	if (OS.RegOpenKeyEx (OS.HKEY_CLASSES_ROOT, key, 0, OS.KEY_READ, phkResult) != 0) {
-		return null;
-	}
-	String result = null;
-	int [] lpcbData = new int [1];
-	if (OS.RegQueryValueEx (phkResult [0], (TCHAR) null, 0, null, (TCHAR) null, lpcbData) == 0) {
-		result = "";
-		int length = lpcbData [0] / TCHAR.sizeof;
-		if (length != 0) {
-			/* Use the character encoding for the default locale */
-			TCHAR lpData = new TCHAR (0, length);
-			if (OS.RegQueryValueEx (phkResult [0], null, 0, null, lpData, lpcbData) == 0) {
-				if (!OS.IsWinCE && expand) {
-					length = OS.ExpandEnvironmentStrings (lpData, null, 0);
-					if (length != 0) {
-						TCHAR lpDst = new TCHAR (0, length);
-						OS.ExpandEnvironmentStrings (lpData, lpDst, length);
-						result = lpDst.toString (0, Math.max (0, length - 1));
-					}
-				} else {
-					length = Math.max (0, lpData.length () - 1);
-					result = lpData.toString (0, length);
-				}
-			}
-		}
-	}
-	if (phkResult [0] != 0) OS.RegCloseKey (phkResult [0]);
-	return result;
-}
-
-static Program getProgram (String key) {
-
-	/* Name */
-	String name = getKeyValue (key, false);
-	if (name == null || name.length () == 0) {
-		name = key;
-	}
-
-	/* Command */
-	String DEFAULT_COMMAND = "\\shell"; //$NON-NLS-1$
-	String defaultCommand = getKeyValue (key + DEFAULT_COMMAND, true);
-	if (defaultCommand == null || defaultCommand.length() == 0) defaultCommand = "open"; //$NON-NLS-1$
-	String COMMAND = "\\shell\\" + defaultCommand + "\\command"; //$NON-NLS-1$
-	String command = getKeyValue (key + COMMAND, true);
-	if (command == null || command.length () == 0) return null;
-
-	/* Icon */
-	String DEFAULT_ICON = "\\DefaultIcon"; //$NON-NLS-1$
-	String iconName = getKeyValue (key + DEFAULT_ICON, true);
-	if (iconName == null || iconName.length () == 0) return null;
-
-	Program program = new Program ();
-	program.name = name;
-	program.command = command;
-	program.iconName = iconName;
-	return program;
-}
-
-/**
- * Answers all available programs in the operating system.  Note
- * that a <code>Display</code> must already exist to guarantee
- * that this method returns an appropriate result.
- *
- * @return an array of programs
- */
-public static Program [] getPrograms () {
-	Program [] programs = new Program [1024];
-	/* Use the character encoding for the default locale */
-	TCHAR lpName = new TCHAR (0, 1024);
-	int [] lpcName = new int [] {lpName.length ()};
-	FILETIME ft = new FILETIME ();
-	int dwIndex = 0, count = 0;
-	while (OS.RegEnumKeyEx (OS.HKEY_CLASSES_ROOT, dwIndex, lpName, lpcName, null, null, null, ft) != OS.ERROR_NO_MORE_ITEMS) {	
-		String path = lpName.toString (0, lpcName [0]);
-		lpcName [0] = lpName.length ();
-		Program program = getProgram (path);
-		if (program != null) {
-			if (count == programs.length) {
-				Program [] newPrograms = new Program [programs.length + 1024];
-				System.arraycopy (programs, 0, newPrograms, 0, programs.length);
-				programs = newPrograms;
-			}
-			programs [count++] = program;
-		}
-		dwIndex++;
-	}
-	if (count != programs.length) {
-		Program [] newPrograms = new Program [count];
-		System.arraycopy (programs, 0, newPrograms, 0, count);
-		programs = newPrograms;
-	}
-	return programs;
-}
-
-/**
- * Launches the executable associated with the file in
- * the operating system.  If the file is an executable,
- * then the executable is launched.  Note that a <code>Display</code>
- * must already exist to guarantee that this method returns
- * an appropriate result.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public static boolean launch (String fileName) {
-	if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	
-	/* Use the character encoding for the default locale */
-	int hHeap = OS.GetProcessHeap ();
-	TCHAR buffer = new TCHAR (0, fileName, true);
-	int byteCount = buffer.length () * TCHAR.sizeof;
-	int lpFile = OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-	OS.MoveMemory (lpFile, buffer, byteCount);
-	SHELLEXECUTEINFO info = new SHELLEXECUTEINFO ();
-	info.cbSize = SHELLEXECUTEINFO.sizeof;
-	info.lpFile = lpFile;
-	info.nShow = OS.SW_SHOW;
-	boolean result = OS.ShellExecuteEx (info);
-	if (lpFile != 0) OS.HeapFree (hHeap, 0, lpFile);
-	return result;
-}
-
-/**
- * Executes the program with the file as the single argument
- * in the operating system.  It is the responsibility of the
- * programmer to ensure that the file contains valid data for 
- * this program.
- *
- * @param fileName the file or program name
- * @return <code>true</code> if the file is launched, otherwise <code>false</code>
- * 
- * @exception IllegalArgumentException <ul>
- *    <li>ERROR_NULL_ARGUMENT when fileName is null</li>
- * </ul>
- */
-public boolean execute (String fileName) {
-	if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	boolean quote = true;
-	String prefix = command, suffix = ""; //$NON-NLS-1$
-	int index = command.indexOf ("%1"); //$NON-NLS-1$
-	if (index != -1) {
-		int count=0;
-		int i=index + 2, length = command.length ();
-		while (i < length) {
-			if (command.charAt (i) == '"') count++;
-			i++;
-		}
-		quote = count % 2 == 0;
-		prefix = command.substring (0, index);
-		suffix = command.substring (index + 2, length);
-	}
-	if (quote) fileName = " \"" + fileName + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-	try {
-		Compatibility.exec(prefix + fileName + suffix);
-	} catch (IOException e) {
-		return false;
-	}
-	return true;
-}
-
-/**
- * Returns the receiver's image data.  This is the icon
- * that is associated with the receiver in the operating
- * system.
- *
- * @return the image data for the program, may be null
- */
-public ImageData getImageData () {
-	int nIconIndex = 0;
-	String fileName = iconName;
-	int index = iconName.indexOf (',');
-	if (index != -1) {
-		fileName = iconName.substring (0, index);
-		String iconIndex = iconName.substring (index + 1, iconName.length ()).trim ();
-		try {
-			nIconIndex = Integer.parseInt (iconIndex);
-		} catch (NumberFormatException e) {}
-	}
-	/* Use the character encoding for the default locale */
-	TCHAR lpszFile = new TCHAR (0, fileName, true);
-	int [] phiconSmall = new int[1], phiconLarge = null;
-	OS.ExtractIconEx (lpszFile, nIconIndex, phiconLarge, phiconSmall, 1);
-	if (phiconSmall [0] == 0) return null;
-	Image image = Image.win32_new (null, SWT.ICON, phiconSmall[0]);
-	ImageData imageData = image.getImageData ();
-	image.dispose ();
-	return imageData;
-}
-
-/**
- * Returns the receiver's name.  This is as short and
- * descriptive a name as possible for the program.  If
- * the program has no descriptive name, this string may
- * be the executable name, path or empty.
- *
- * @return the name of the program
- */
-public String getName () {
-	return name;
-}
-
-/**
- * Compares the argument to the receiver, and returns true
- * if they represent the <em>same</em> object using a class
- * specific comparison.
- *
- * @param other the object to compare with this object
- * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise
- *
- * @see #hashCode()
- */
-public boolean equals(Object other) {
-	if (this == other) return true;
-	if (other instanceof Program) {
-		final Program program = (Program) other;
-		return name.equals(program.name) && command.equals(program.command)
-			&& iconName.equals(program.iconName);
-	}
-	return false;
-}
-
-/**
- * Returns an integer hash code for the receiver. Any two 
- * objects that return <code>true</code> when passed to 
- * <code>equals</code> must return the same value for this
- * method.
- *
- * @return the receiver's hash
- *
- * @see #equals(Object)
- */
-public int hashCode() {
-	return name.hashCode() ^ command.hashCode() ^ iconName.hashCode();
-}
-
-/**
- * Returns a string containing a concise, human-readable
- * description of the receiver.
- *
- * @return a string representation of the program
- */
-public String toString () {
-	return "Program {" + name + "}"; //$NON-NLS-1$ //$NON-NLS-2$
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java
deleted file mode 100644
index f53ad79..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java
+++ /dev/null
@@ -1,90 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class ButtonDrawData extends DrawData {
-	
-public ButtonDrawData() {
-	state = new int[1];
-}
-
-HIThemeButtonDrawInfo getInfo () {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
-	info.version = 0;
-	if ((style & SWT.PUSH) != 0) info.kind = OS.kThemePushButton;
-	if ((style & SWT.CHECK) != 0) info.kind = OS.kThemeCheckBox;
-	if ((style & SWT.RADIO) != 0) info.kind = OS.kThemeRadioButton;
-	if ((state & DrawData.SELECTED) != 0) {
-		info.value = OS.kThemeButtonOn;				
-	} else {
-		info.value = OS.kThemeButtonOff;				
-	}
-	if ((state & DrawData.PRESSED) != 0) {
-		info.state = OS.kThemeStatePressed;
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-		} else {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-		}
-	}
-	if ((state & DrawData.DEFAULTED) != 0) info.adornment |= OS.kThemeAdornmentDefault;
-	if ((state & DrawData.FOCUSED) != 0)	info.adornment |= OS.kThemeAdornmentFocus;
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeButtonDrawInfo info = getInfo();
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	CGRect backRect = new CGRect();
-	OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
-	rect.x += (rect.x - backRect.x);
-	rect.y += (rect.y - backRect.y);
-	rect.width -= (backRect.width - rect.width);
-	rect.height -= (backRect.height - rect.height);	
-	CGRect labelRect = clientArea != null ? new CGRect() : null;
-	OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
-	if (clientArea != null) {
-		clientArea.x = (int)labelRect.x;
-		clientArea.y = (int)labelRect.y;
-		clientArea.width = (int)labelRect.width;
-		clientArea.height = (int)labelRect.height;
-	}
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	HIThemeButtonDrawInfo info = getInfo();
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	CGRect backRect = new CGRect();
-	OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
-	rect.x += (rect.x - backRect.x);
-	rect.y += (rect.y - backRect.y);
-	rect.width -= (backRect.width - rect.width);
-	rect.height -= (backRect.height - rect.height);
-	return new Rectangle((int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height).contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java
deleted file mode 100644
index 51a00a0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java
+++ /dev/null
@@ -1,101 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-
-public class ComboDrawData extends DrawData {
-	
-public ComboDrawData() {
-	state = new int[2];
-}
-
-HIThemeButtonDrawInfo getInfo() {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
-	info.version = 0;
-	info.kind = OS.kThemeComboBox;
-	if ((style & SWT.READ_ONLY) != 0) info.kind = OS.kThemePopupButton;
-	if ((state & DrawData.DISABLED) != 0) {
-		info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateUnavailable : OS.kThemeStateUnavailableInactive;
-	} else {
-		if (((style & SWT.READ_ONLY) != 0 && (state & DrawData.PRESSED) != 0) || ((style & SWT.READ_ONLY) == 0 && (this.state[DrawData.COMBO_ARROW] & DrawData.PRESSED) != 0)) {
-			info.state = OS.kThemeStatePressed;
-		} else {
-			info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateActive : OS.kThemeStateInactive;
-		}
-	}
-	if ((state & DrawData.FOCUSED) != 0)	info.adornment |= OS.kThemeAdornmentFocus;
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeButtonDrawInfo info = getInfo();
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	int inset = 0, arrowWidth = 0;
-	if ((style & SWT.READ_ONLY) == 0) {
-		int[] metric = new int[1];
-		OS.GetThemeMetric(OS.kThemeMetricFocusRectOutset, metric);
-		inset = metric[0];
-		OS.GetThemeMetric(OS.kThemeMetricComboBoxLargeDisclosureWidth, metric);
-		arrowWidth = metric[0];
-		rect.x += inset;
-		rect.y += inset;
-		rect.width -= 2 * inset;
-		rect.height -= 2 * inset;
-	} else {		
-		CGRect backRect = new CGRect();
-		OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
-		rect.x += (rect.x - backRect.x);
-		rect.y += (rect.y - backRect.y);
-		rect.width -= (backRect.width - rect.width);
-		rect.height -= (backRect.height - rect.height);
-	}
-	CGRect labelRect = clientArea != null && (style & SWT.READ_ONLY) != 0 ? new CGRect() : null;
-	OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
-	if (clientArea != null) {
-		if ((style & SWT.READ_ONLY) != 0) {
-			clientArea.x = (int)labelRect.x;
-			clientArea.y = (int)labelRect.y;
-			clientArea.width = (int)labelRect.width;
-			clientArea.height = (int)labelRect.height;
-		} else {
-			clientArea.x = (int)bounds.x + inset;
-			clientArea.y = (int)bounds.y + inset;
-			clientArea.width = (int)bounds.width - (2 * inset) - arrowWidth;
-			clientArea.height = (int)bounds.height - (2 * inset);
-		}
-	}
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	if ((style & SWT.READ_ONLY) == 0) {
-		int[] metric = new int[1];
-		OS.GetThemeMetric(OS.kThemeMetricFocusRectOutset, metric);
-		int inset = metric[0];
-		OS.GetThemeMetric(OS.kThemeMetricComboBoxLargeDisclosureWidth, metric);
-		int arrowWidth = metric[0];
-		Rectangle arrowRect = new Rectangle(bounds.x + bounds.width - inset - arrowWidth, bounds.y - inset, arrowWidth, bounds.height - inset * 2);
-		if (arrowRect.contains(position)) return DrawData.COMBO_ARROW;
-	}
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java
deleted file mode 100644
index 7e6680f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java
+++ /dev/null
@@ -1,190 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeTextInfo;
-
-public class DrawData {
-	public int style;
-	public int[] state;
-	public Rectangle clientArea;
-
-	/** Part states */
-	public static final int SELECTED = 1 << 1;
-	public static final int FOCUSED = 1 << 2;
-	public static final int PRESSED = 1 << 3;
-	public static final int ACTIVE = 1 << 4;
-	public static final int DISABLED = 1 << 5;
-	public static final int HOT = 1 << 6;
-	public static final int DEFAULTED = 1 << 7;
-	public static final int GRAYED = 1 << 8;
-	
-	/** Text and Image drawing flags */
-	public static final int DRAW_LEFT = 1 << 4;
-	public static final int DRAW_TOP = 1 << 5;
-	public static final int DRAW_RIGHT = 1 << 6;
-	public static final int DRAW_BOTTOM = 1 << 7;
-	public static final int DRAW_HCENTER = 1 << 8;
-	public static final int DRAW_VCENTER = 1 << 9;
-
-	/** Widget parts */
-	public static final int WIDGET_NOWHERE = -1;
-	public static final int WIDGET_WHOLE = 0;
-
-	/** Scrollbar parts */
-	public static final int SCROLLBAR_UP_ARROW = 1;
-	public static final int SCROLLBAR_DOWN_ARROW = 2;
-	public static final int SCROLLBAR_LEFT_ARROW = SCROLLBAR_UP_ARROW;
-	public static final int SCROLLBAR_RIGHT_ARROW = SCROLLBAR_DOWN_ARROW;
-	public static final int SCROLLBAR_UP_TRACK = 3;
-	public static final int SCROLLBAR_DOWN_TRACK = 4;
-	public static final int SCROLLBAR_LEFT_TRACK = SCROLLBAR_UP_TRACK;
-	public static final int SCROLLBAR_RIGHT_TRACK = SCROLLBAR_DOWN_TRACK;
-	public static final int SCROLLBAR_THUMB = 5;
-	
-	/** Scale parts */
-	public static final int SCALE_UP_TRACK = 1;
-	public static final int SCALE_LEFT_TRACK = SCALE_UP_TRACK;
-	public static final int SCALE_DOWN_TRACK = 2;
-	public static final int SCALE_RIGHT_TRACK = SCALE_DOWN_TRACK;
-	public static final int SCALE_THUMB = 3;
-	
-	/** ToolItem parts */
-	public static final int TOOLITEM_ARROW = 1;
-	
-	/** Combo parts */
-	public static final int COMBO_ARROW = 1;
-	
-public DrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	return new Rectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
-	Image drawImage = image;
-	Rectangle rect = drawImage.getBounds();
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	if (OS.VERSION >= 0x1040) {
-		if ((state & (DrawData.PRESSED | DrawData.DISABLED)) != 0) {
-			int transform = OS.kHITransformNone;
-			if ((state & DrawData.DISABLED) != 0) {
-				transform = OS.kHITransformDisabled;
-			} else {
-				if ((state & DrawData.PRESSED) != 0) {
-					transform = OS.kHITransformSelected;
-				}
-			}
-			if (transform != OS.kHITransformNone) {
-				int[] buffer = new int[1];
-				OS.HICreateTransformedCGImage(drawImage.handle, transform, buffer);
-				if (buffer[0] != 0) {
-					//TODO - get device
-					//TODO - is data needed
-					drawImage = Image.carbon_new(null, drawImage.type, buffer[0], 0);
-				}
-			}
-		}
-	}		
-	gc.drawImage(drawImage, 0, 0, rect.width, rect.height, bounds.x, bounds.y, bounds.width, bounds.height);
-	if (drawImage != image) {
-		drawImage.dispose();
-	}
-}
-
-void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	char[] chars = new char[text.length()];
-	text.getChars(0, chars.length, chars, 0);
-	int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, chars.length);	
-	OS.CGContextSaveGState(gc.handle);
-	if ((state & DrawData.DISABLED) != 0) {
-		//TODO - find out disable color
-		OS.CGContextSetFillColor(gc.handle, new float[]{0.5f, 0.5f, 0.5f, 1});
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			OS.CGContextSetFillColor(gc.handle, new float[]{0, 0, 0, 1});
-		} else {
-			//TODO - find out inative color
-			OS.CGContextSetFillColor(gc.handle, new float[]{0.6f, 0.6f, 0.6f, 1});					
-		}
-	}
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	HIThemeTextInfo info = getTextInfo(flags);
-	OS.HIThemeDrawTextBox(ptr, rect, info, gc.handle, OS.kHIThemeOrientationNormal);
-	OS.CGContextRestoreGState(gc.handle);
-	OS.CFRelease(ptr);
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	return new Rectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-int getFontId() {
-	return OS.kThemeSmallSystemFont;
-}
-
-HIThemeTextInfo getTextInfo(int flags) {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeTextInfo info = new HIThemeTextInfo();
-	if ((state & DrawData.PRESSED) != 0) {
-		info.state = OS.kThemeStatePressed;
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-		} else {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-		}
-	}
-	info.state = info.state;
-	info.fontID = (short)getFontId();
-	if ((flags & DrawData.DRAW_LEFT) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushLeft;
-	if ((flags & DrawData.DRAW_HCENTER) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushCenter;
-	if ((flags & DrawData.DRAW_RIGHT) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushRight;
-	if ((flags & DrawData.DRAW_TOP) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushTop;
-	if ((flags & DrawData.DRAW_VCENTER) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushCenter;
-	if ((flags & DrawData.DRAW_BOTTOM) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushBottom;
-	info.truncationMaxLines = 0;
-	info.truncationPosition = 0;
-	info.options = 0;
-	return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return -1;
-}
-
-Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	//TODO - decide if should take only width and return only width/height
-	char[] chars = new char[text.length()];
-	text.getChars(0, chars.length, chars, 0);
-	int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, chars.length);
-	int width = bounds != null ? bounds.width : 0;
-	float[] outWidth = new float[1], outHeight = new float[1];
-	HIThemeTextInfo info = getTextInfo(flags);
-	OS.HIThemeGetTextDimensions(ptr, width, info, outWidth, outHeight, null);
-	OS.CFRelease(ptr);
-	return new Rectangle(0, 0, (int)outWidth[0], (int)outHeight[0]);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java
deleted file mode 100644
index 9c04a0c..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-
-public class ExpanderDrawData extends DrawData {
-	
-public ExpanderDrawData() {
-	state = new int[1];
-}
-
-HIThemeButtonDrawInfo getInfo() {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
-	info.version = 0;
-	info.kind = OS.kThemeDisclosureTriangle;
-	if ((style & SWT.DOWN) != 0) {
-		info.value = OS.kThemeButtonOn;
-	} else {
-		info.value = OS.kThemeButtonOff;
-	}
-	if ((state & DrawData.PRESSED) != 0) {
-		info.state = OS.kThemeStatePressed;
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-		} else {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-		}
-	}
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeButtonDrawInfo info = getInfo();
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	CGRect backRect = new CGRect();
-	OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
-	rect.x += (rect.x - backRect.x);
-	rect.y += (rect.y - backRect.y);
-	int[] metric = new int[1];
-	OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleWidth, metric);
-	rect.width = metric[0];
-	OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleHeight, metric);
-	rect.height = metric[0];		 
-	OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, null);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int[] metric = new int[1];
-	OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleWidth, metric);
-	int width = metric[0];
-	OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleHeight, metric);
-	int height = metric[0];
-	if (new Rectangle(bounds.x, bounds.y, width, height).contains(position)) return DrawData.WIDGET_WHOLE;
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java
deleted file mode 100644
index 085be5a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeGroupBoxDrawInfo;
-
-public class GroupDrawData extends DrawData {
-	public int headerWidth;
-	public int headerHeight;
-	public Rectangle headerArea;
-	
-public GroupDrawData() {
-	state = new int[1];
-}
-
-HIThemeGroupBoxDrawInfo getInfo () {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeGroupBoxDrawInfo info = new HIThemeGroupBoxDrawInfo();
-	info.version = 0;
-	info.kind = OS.kHIThemeGroupBoxKindPrimary;
-	if ((style & SWT.READ_ONLY) != 0) info.kind = OS.kThemePopupButton;
-	if ((state & DrawData.DISABLED) != 0) {
-		info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateUnavailable : OS.kThemeStateUnavailableInactive;
-	} else {
-		if ((state & DrawData.PRESSED) != 0) {
-			info.state = OS.kThemeStatePressed;
-		} else {
-			info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateActive : OS.kThemeStateInactive;
-		}
-	}
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeGroupBoxDrawInfo info = getInfo();
-	int headerHeight = this.headerHeight + 1;
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y + headerHeight;
-	rect.width = bounds.width;
-	rect.height = bounds.height - headerHeight;
-	OS.HIThemeDrawGroupBox(rect, info, gc.handle, OS.kHIThemeOrientationNormal);
-	int[] metric = new int[1];
-	if (headerArea != null) {
-		OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
-		int capsWidth = metric[0];
-		headerArea.x = bounds.x + capsWidth;
-		headerArea.y = bounds.y;
-		headerArea.width = bounds.width - capsWidth * 2;
-		headerArea.height = this.headerHeight;
-	}
-	if (clientArea != null) {
-		OS.GetThemeMetric(OS.kThemeMetricPrimaryGroupBoxContentInset, metric);
-		int inset = metric[0];
-		clientArea.x = bounds.x + inset;
-		clientArea.y = bounds.y + inset + headerHeight;
-		clientArea.width = bounds.width - (2 * inset);
-		clientArea.height = bounds.height - (2 * inset) - headerHeight;
-	}
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-   	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
deleted file mode 100644
index 5e0bf39..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.ProgressTrackInfo;
-
-public class ProgressBarDrawData extends RangeDrawData {
-
-public ProgressBarDrawData() {
-	state = new int[1];
-}
-
-HIThemeTrackDrawInfo getInfo() {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
-	info.min = minimum;
-	info.max = maximum;
-	info.value = selection;	
-	info.kind = OS.kThemeProgressBarMedium;
-	info.attributes = OS.kThemeTrackShowThumb;
-	if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
-	info.enableState = OS.kThemeTrackInactive;
-	if ((state & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
-	if ((state & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
-	info.progress = new ProgressTrackInfo();
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	info.progress = new ProgressTrackInfo();
-	OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java
deleted file mode 100644
index 51f7bca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java
+++ /dev/null
@@ -1,23 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class RangeDrawData extends DrawData {
-	public int selection;
-	public int minimum;
-	public int maximum;
-
-int getSelection(Point position, Rectangle bounds) {
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java
deleted file mode 100644
index 96b25c7..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGPoint;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.SliderTrackInfo;
-
-public class ScaleDrawData extends RangeDrawData {
-	public int increment;
-	public int pageIncrement;
-	
-public ScaleDrawData() {
-	state = new int[4];
-}
-
-HIThemeTrackDrawInfo getInfo() {
-	int upTrackState = this.state[DrawData.SCALE_UP_TRACK];
-	int downTrackState = this.state[DrawData.SCALE_DOWN_TRACK];
-	int thumbState = this.state[DrawData.SCALE_THUMB];
-	HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
-	info.min = minimum;
-	info.max = Math.max(minimum, maximum);
-	info.value = selection;	
-	info.kind = OS.kThemeSliderMedium;
-	info.attributes = OS.kThemeTrackShowThumb;
-	if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
-	info.enableState = OS.kThemeTrackInactive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
-	info.slider = new SliderTrackInfo();
-	int state = 0;
-	if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
-	if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
-	if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
-	info.slider.pressState = (byte)state;
-	return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	CGPoint pt = new CGPoint();
-	pt.x = position.x;
-	pt.y = position.y;
-	short[] part = new short[1];
-	HIThemeTrackDrawInfo info = getInfo();
-	if (OS.HIThemeHitTestTrack(info, pt, part)) {
-		switch (part[0]) {
-			case 22: return DrawData.SCALE_UP_TRACK;
-			case 23: return DrawData.SCALE_DOWN_TRACK;
-			case 129: return DrawData.SCALE_THUMB;
-		}
-	}
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
deleted file mode 100644
index 67448dd..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
+++ /dev/null
@@ -1,157 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGPoint;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.ScrollBarTrackInfo;
-import org.eclipse.swt.internal.carbon.HIScrollBarTrackInfo;
-
-public class ScrollBarDrawData extends RangeDrawData {
-	public int thumb;
-	public int increment;
-	public int pageIncrement;
-	
-public ScrollBarDrawData() {
-	state = new int[6];
-}
-
-HIScrollBarTrackInfo getArrowsInfo() {
-	int upArrowState = this.state[DrawData.SCROLLBAR_UP_ARROW];
-	int downArrowState = this.state[DrawData.SCROLLBAR_DOWN_ARROW];
-	int upTrackState = this.state[DrawData.SCROLLBAR_UP_TRACK];
-	int downTrackState = this.state[DrawData.SCROLLBAR_DOWN_TRACK];
-	int thumbState = this.state[DrawData.SCROLLBAR_THUMB];
-	int state = 0;
-	if ((upArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftOutsideArrowPressed;
-	if ((downArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeRightOutsideArrowPressed;
-	if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
-	if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
-	if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
-	int enableState = OS.kThemeTrackInactive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) enableState = OS.kThemeTrackActive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) enableState = OS.kThemeTrackDisabled;
-	HIScrollBarTrackInfo scrollInfo = new HIScrollBarTrackInfo();
-	scrollInfo.pressState = (byte)state;
-	scrollInfo.enableState = (byte)enableState;
-	scrollInfo.viewsize = thumb;
-	return scrollInfo;
-}
-
-HIThemeTrackDrawInfo getInfo() {
-	int upArrowState = this.state[DrawData.SCROLLBAR_UP_ARROW];
-	int downArrowState = this.state[DrawData.SCROLLBAR_DOWN_ARROW];
-	int upTrackState = this.state[DrawData.SCROLLBAR_UP_TRACK];
-	int downTrackState = this.state[DrawData.SCROLLBAR_DOWN_TRACK];
-	int thumbState = this.state[DrawData.SCROLLBAR_THUMB];
-	HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
-	info.min = minimum;
-	info.max = Math.max(minimum, maximum - thumb);
-	info.value = selection;	
-	info.kind = OS.kThemeScrollBarMedium;
-	info.attributes = OS.kThemeTrackShowThumb;
-	if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
-	info.enableState = OS.kThemeTrackInactive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
-	if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
-	info.scrollbar = new ScrollBarTrackInfo();
-	int state = 0;
-	if ((upArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftOutsideArrowPressed;
-	if ((downArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeRightOutsideArrowPressed;
-	if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
-	if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
-	if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
-	info.scrollbar.pressState = (byte)state;
-	info.scrollbar.viewsize = thumb;
-	return info;
-}
-
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	CGRect rect = new CGRect();
-	short partCode = 0;
-	switch (part) {
-		case DrawData.SCROLLBAR_UP_ARROW: partCode = 20; break;
-		case DrawData.SCROLLBAR_DOWN_ARROW: partCode = 21; break;
-		case DrawData.SCROLLBAR_UP_TRACK: partCode = 22; break;
-		case DrawData.SCROLLBAR_THUMB: partCode = 129; break;
-		case DrawData.SCROLLBAR_DOWN_TRACK: partCode = 23; break;
-	}
-	OS.HIThemeGetTrackPartBounds(info, partCode, rect);
-	return new Rectangle((int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
-}
-
-int getSelection (Point position, Rectangle bounds) {
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	CGPoint pt = new CGPoint();
-	pt.x = position.x;
-	pt.y = position.y;
-	float[] relativePosition = new float[1];
-	OS.HIThemeGetTrackThumbPositionFromOffset(info, pt, relativePosition);
-	int[] selection = new int[1];
-	OS.HIThemeGetTrackLiveValue(info, relativePosition[0], selection);
-	return (int)selection[0];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	CGPoint pt = new CGPoint();
-	pt.x = position.x;
-	pt.y = position.y;
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	short[] part = new short[1];
-	HIScrollBarTrackInfo scrollInfo = getArrowsInfo();
-	OS.HIThemeHitTestScrollBarArrows(rect, scrollInfo, (style & SWT.HORIZONTAL) != 0, pt, null, part);
-	switch (part[0]) {
-		case 20: return DrawData.SCROLLBAR_UP_ARROW;
-		case 21: return DrawData.SCROLLBAR_DOWN_ARROW;
-	}
-	HIThemeTrackDrawInfo info = getInfo();
-	info.bounds_x = bounds.x;
-	info.bounds_y = bounds.y;
-	info.bounds_width = bounds.width;
-	info.bounds_height = bounds.height;
-	if (OS.HIThemeHitTestTrack(info, pt, part)) {
-		switch (part[0]) {
-		case 22: return DrawData.SCROLLBAR_UP_TRACK;
-		case 23: return DrawData.SCROLLBAR_DOWN_TRACK;
-		case 129: return DrawData.SCROLLBAR_THUMB;
-		}
-	}
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java
deleted file mode 100644
index 6bf5ea0..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.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.internal.theme;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTabPaneDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class TabFolderDrawData extends DrawData {
-	public int tabsWidth;
-	public int tabsHeight;
-	public Rectangle tabsArea;
-	public int selectedX;
-	public int selectedWidth;
-	public int spacing;
-	
-public TabFolderDrawData() {
-	state = new int[1];
-	if (SWT.getPlatform().equals("gtk")) {
-		spacing = -2;
-	}
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {	
-	int[] metric = new int[1];
-	OS.GetThemeMetric(OS.kThemeMetricLargeTabHeight, metric);
-	int tabHeight = metric[0];
-	OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
-	int capsWidth = metric[0];
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	if ((style & SWT.BOTTOM) != 0) {
-		rect.height -= tabHeight / 2;
-	} else {		
-		rect.y += (capsWidth + tabHeight) / 2;
-		rect.height  -= (capsWidth + tabHeight) / 2;
-	}
-	HIThemeTabPaneDrawInfo info = getInfo();
-	OS.HIThemeDrawTabPane(rect, info, gc.handle, OS.kHIThemeOrientationNormal);
-	if (tabsArea != null) {
-		tabsArea.x = bounds.x + capsWidth + ((bounds.width - capsWidth * 2) - tabsWidth) / 2;
-		tabsArea.y = bounds.y;
-		tabsArea.width = bounds.width - capsWidth * 2;
-		tabsArea.height = tabHeight;
-		if ((style & SWT.BOTTOM) != 0) {
-			tabsArea.y += bounds.height - tabHeight;
-		} else {
-			tabsArea.y += capsWidth / 2;
-		}
-	}
-}
-
-HIThemeTabPaneDrawInfo getInfo() {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeTabPaneDrawInfo info = new HIThemeTabPaneDrawInfo();
-	info.version = 1;
-	info.direction = OS.kThemeTabNorth;
-	if ((style & SWT.BOTTOM) != 0) info.direction = OS.kThemeTabSouth;
-	if ((style & SWT.TOP) != 0) info.direction = OS.kThemeTabNorth;
-	if ((state & DrawData.PRESSED) != 0) {
-		info.state = OS.kThemeStatePressed;
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-		} else {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-		}
-	}
-	return info;
-}
-
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java
deleted file mode 100644
index 9cf2109..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java
+++ /dev/null
@@ -1,107 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTabDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class TabItemDrawData extends DrawData {
-
-	public TabFolderDrawData parent;
-	public int position;
-	
-public TabItemDrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	int[] metric = new int[1];
-	OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
-	int x = clientArea.x - metric[0];
-	int y = clientArea.y - metric[0];
-	int width = clientArea.width + metric[0] * 2;
-	int height = clientArea.height + metric[0] * 2;
-	return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	CGRect labelRect = clientArea != null ? new CGRect() : null;
-	HIThemeTabDrawInfo info = getInfo();
-	OS.HIThemeDrawTab(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
-	if (clientArea != null) {
-		clientArea.x = (int)labelRect.x;
-		clientArea.y = (int)labelRect.y;
-		clientArea.width = (int)labelRect.width;
-		clientArea.height = (int)labelRect.height;
-	}
-}
-
-HIThemeTabDrawInfo getInfo() {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	HIThemeTabDrawInfo info = new HIThemeTabDrawInfo();
-	info.version = 1;
-	if ((state & DrawData.DISABLED) == 0) {
-		if ((state & DrawData.ACTIVE) != 0) {
-			if ((state & DrawData.SELECTED) != 0) {
-				info.style = OS.kThemeTabFront;
-			} else {
-				if ((state & DrawData.PRESSED) != 0) {
-					info.style = OS.kThemeTabNonFrontPressed;
-				} else {
-					info.style = OS.kThemeTabNonFront;					
-				}
-			}
-		} else {
-			if ((state & DrawData.SELECTED) != 0) {
-				info.style = OS.kThemeTabFrontInactive;				
-			} else {
-				info.style = OS.kThemeTabNonFrontInactive;	
-			}
-		}
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.style = OS.kThemeTabFrontUnavailable;
-		} else {
-			info.style = OS.kThemeTabNonFrontUnavailable;				
-		}
-	}
-	info.direction = OS.kThemeTabNorth;
-	if ((parent.style & SWT.BOTTOM) != 0) info.direction = OS.kThemeTabSouth;
-	if ((parent.style & SWT.TOP) != 0) info.direction = OS.kThemeTabNorth;
-	info.size = 0;
-	if ((state & DrawData.FOCUSED) != 0) info.adornment = OS.kHIThemeTabAdornmentFocus;
-	info.adornment |= OS.kHIThemeTabAdornmentTrailingSeparator;
-	info.position = OS.kHIThemeTabPositionMiddle;	
-	if ((position & SWT.RIGHT) != 0 && (position & SWT.LEFT) != 0) {
-		info.position = OS.kHIThemeTabPositionOnly;
-	} else if ((position & SWT.LEFT) != 0) {
-		info.position = OS.kHIThemeTabPositionFirst;
-		info.adornment |= OS.kHIThemeTabAdornmentTrailingSeparator;
-	} else if ((position & SWT.RIGHT) != 0) {
-		info.position = OS.kHIThemeTabPositionLast;
-	}
-	return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java
deleted file mode 100644
index c1de3c6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java
+++ /dev/null
@@ -1,114 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class Theme {
-	
-	Device device;
-	
-public Theme(Device device) {
-	if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	this.device = device;
-}
-
-void checkTheme() {
-	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-}
-
-public Rectangle computeTrim(GC gc, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.computeTrim(this, gc);
-}
-
-public void dispose () {
-	device = null;
-}
-
-public void drawBackground(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.draw(this, gc, bounds);
-}
-
-public void drawFocus(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-public void drawImage(GC gc, Rectangle bounds, DrawData data, Image image, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawImage(this, image, gc, bounds);
-}
-
-public void drawText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawText(this, text, flags, gc, bounds);
-}
-
-public Rectangle getBounds(int part, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getBounds(part, bounds);
-}
-
-public int getSelection(Point offset, Rectangle bounds, RangeDrawData data) {
-	checkTheme();
-	if (offset == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getSelection(offset, bounds);
-}
-
-public int hitBackground(Point position, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (position == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.hit(this, position, bounds);
-}
-
-public boolean isDisposed() {
-	return device == null;
-}
-
-public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.measureText(this, text, flags, gc, bounds);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java
deleted file mode 100644
index c0e123e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+++ /dev/null
@@ -1,29 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class ToolBarDrawData extends DrawData {
-	
-public ToolBarDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java
deleted file mode 100644
index 1bd99d8..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeSeparatorDrawInfo;
-import org.eclipse.swt.internal.carbon.HIThemePopupArrowDrawInfo;
-
-public class ToolItemDrawData extends DrawData {
-
-	public ToolBarDrawData parent;
-	
-	static final int ARROW_WIDTH = 9;
-	static final int INSET = 3;
-
-public ToolItemDrawData() {
-	state = new int[2];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	int x = clientArea.x - INSET;
-	int y = clientArea.y - INSET;
-	int width = clientArea.width + INSET * 2;
-	int height = clientArea.height + INSET * 2;
-	if ((style & SWT.DROP_DOWN) != 0) {
-		width += ARROW_WIDTH;
-	}
-	return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	CGRect rect = new CGRect();
-	rect.x = bounds.x;
-	rect.y = bounds.y;
-	rect.width = bounds.width;
-	rect.height = bounds.height;
-	if ((style & SWT.SEPARATOR) != 0) {
-		HIThemeSeparatorDrawInfo info = getSeparatorInfo();
-		OS.HIThemeDrawSeparator (rect, info, gc.handle, OS.kHIThemeOrientationNormal);
-	} else {
-		if ((state[DrawData.WIDGET_WHOLE] & DrawData.SELECTED) != 0) {
-			OS.CGContextSaveGState (gc.handle);
-			OS.CGContextSetFillColor (gc.handle, new float[]{0.025f, 0.025f, 0.025f, 0.025f});
-			OS.CGContextFillRect (gc.handle, rect);
-			OS.CGContextSetStrokeColor (gc.handle, new float[]{0.2f, 0.2f, 0.2f, 0.2f});
-			rect.x += 0.5f;
-			rect.y += 0.5f;
-			rect.width -= 1;
-			rect.height -= 1;
-			OS.CGContextStrokeRect (gc.handle, rect);
-			OS.CGContextRestoreGState (gc.handle);
-		}
-	}
-	if (clientArea != null) {
-		clientArea.x = bounds.x;
-		clientArea.y = bounds.y;
-		clientArea.width = bounds.width;
-		clientArea.height = bounds.height;
-	}
-	if ((style & SWT.DROP_DOWN) != 0) {
-		rect.y = bounds.y + rect.height / 2 - 1;
-		rect.x = bounds.x + rect.width - ARROW_WIDTH;
-		HIThemePopupArrowDrawInfo info = getArrowInfo();
-		OS.HIThemeDrawPopupArrow (rect, info, gc.handle, OS.kHIThemeOrientationNormal);
-		if (clientArea != null) {
-			clientArea.width -= ARROW_WIDTH;
-		}
-	}
-}
-
-HIThemePopupArrowDrawInfo getArrowInfo() {
-	HIThemePopupArrowDrawInfo info = new HIThemePopupArrowDrawInfo();
-	int state = this.state[DrawData.TOOLITEM_ARROW];
-	if ((state & DrawData.PRESSED) != 0) {
-		info.state = OS.kThemeStatePressed;
-	} else {
-		if ((state & DrawData.ACTIVE) != 0) {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-		} else {
-			info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-		}
-	}
-	info.orientation = (short) OS.kThemeArrowDown;
-	info.size = (short) OS.kThemeArrow5pt;
-	return info;
-}
-
-HIThemeSeparatorDrawInfo getSeparatorInfo() {
-	HIThemeSeparatorDrawInfo info = new HIThemeSeparatorDrawInfo();
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	if ((state & DrawData.ACTIVE) != 0) {
-		info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
-	} else {
-		info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
-	}
-	return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	if ((style & SWT.DROP_DOWN) != 0) {
-		if (bounds.x + bounds.width - ARROW_WIDTH <= position.x) {
-			return DrawData.TOOLITEM_ARROW; 
-		}
-	}
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ButtonDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ButtonDrawData.java
deleted file mode 100644
index 968f510..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ButtonDrawData.java
+++ /dev/null
@@ -1,19 +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.internal.theme;
-
-public class ButtonDrawData extends DrawData {
-	
-public ButtonDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ComboDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ComboDrawData.java
deleted file mode 100644
index f3f9a76..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ComboDrawData.java
+++ /dev/null
@@ -1,19 +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.internal.theme;
-
-public class ComboDrawData extends DrawData {
-
-public ComboDrawData() {
-	state = new int[2];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/DrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/DrawData.java
deleted file mode 100644
index 883d821..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/DrawData.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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class DrawData {
-	public int style;
-	public int[] state;
-	public Rectangle clientArea;
-
-	/** Part states */
-	public static final int SELECTED = 1 << 1;
-	public static final int FOCUSED = 1 << 2;
-	public static final int PRESSED = 1 << 3;
-	public static final int ACTIVE = 1 << 4;
-	public static final int DISABLED = 1 << 5;
-	public static final int HOT = 1 << 6;
-	public static final int DEFAULTED = 1 << 7;
-	public static final int GRAYED = 1 << 8;
-	
-	/** Text and Image drawing flags */
-	public static final int DRAW_LEFT = 1 << 4;
-	public static final int DRAW_TOP = 1 << 5;
-	public static final int DRAW_RIGHT = 1 << 6;
-	public static final int DRAW_BOTTOM = 1 << 7;
-	public static final int DRAW_HCENTER = 1 << 8;
-	public static final int DRAW_VCENTER = 1 << 9;
-
-	/** Widget parts */
-	public static final int WIDGET_NOWHERE = -1;
-	public static final int WIDGET_WHOLE = 0;
-
-	/** Scrollbar parts */
-	public static final int SCROLLBAR_UP_ARROW = 1;
-	public static final int SCROLLBAR_DOWN_ARROW = 2;
-	public static final int SCROLLBAR_LEFT_ARROW = SCROLLBAR_UP_ARROW;
-	public static final int SCROLLBAR_RIGHT_ARROW = SCROLLBAR_DOWN_ARROW;
-	public static final int SCROLLBAR_UP_TRACK = 3;
-	public static final int SCROLLBAR_DOWN_TRACK = 4;
-	public static final int SCROLLBAR_LEFT_TRACK = SCROLLBAR_UP_TRACK;
-	public static final int SCROLLBAR_RIGHT_TRACK = SCROLLBAR_DOWN_TRACK;
-	public static final int SCROLLBAR_THUMB = 5;
-	
-	/** Scale parts */
-	public static final int SCALE_UP_TRACK = 1;
-	public static final int SCALE_LEFT_TRACK = SCALE_UP_TRACK;
-	public static final int SCALE_DOWN_TRACK = 2;
-	public static final int SCALE_RIGHT_TRACK = SCALE_DOWN_TRACK;
-	public static final int SCALE_THUMB = 3;
-	
-	/** ToolItem parts */
-	public static final int TOOLITEM_ARROW = 1;
-	
-	/** Combo parts */
-	public static final int COMBO_ARROW = 1;
-	
-
-public DrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	return new Rectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {	
-}
-
-void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
-}
-
-void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	return new Rectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	return new Rectangle(0, 0, 0, 0);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ExpanderDrawData.java
deleted file mode 100644
index c006b4e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+++ /dev/null
@@ -1,19 +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.internal.theme;
-
-public class ExpanderDrawData extends DrawData {
-	
-public ExpanderDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/GroupDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/GroupDrawData.java
deleted file mode 100644
index 8c57057..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/GroupDrawData.java
+++ /dev/null
@@ -1,24 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class GroupDrawData extends DrawData {
-	public int headerWidth;
-	public int headerHeight;
-	public Rectangle headerArea;
-	
-public GroupDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
deleted file mode 100644
index c12ca60..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+++ /dev/null
@@ -1,19 +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.internal.theme;
-
-public class ProgressBarDrawData extends RangeDrawData {
-
-public ProgressBarDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/RangeDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/RangeDrawData.java
deleted file mode 100644
index 501611e..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/RangeDrawData.java
+++ /dev/null
@@ -1,24 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class RangeDrawData extends DrawData {
-	public int selection;
-	public int minimum;
-	public int maximum;
-
-int getSelection(Point position, Rectangle bounds) {
-	return 0;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScaleDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScaleDrawData.java
deleted file mode 100644
index 9ead055..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScaleDrawData.java
+++ /dev/null
@@ -1,21 +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.internal.theme;
-
-public class ScaleDrawData extends RangeDrawData {
-	public int increment;
-	public int pageIncrement;
-	
-public ScaleDrawData() {
-	state = new int[4];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScrollBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
deleted file mode 100644
index 1f18960..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
+++ /dev/null
@@ -1,22 +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.internal.theme;
-
-public class ScrollBarDrawData extends RangeDrawData {
-	public int thumb;
-	public int increment;
-	public int pageIncrement;
-	
-public ScrollBarDrawData() {
-	state = new int[6];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabFolderDrawData.java
deleted file mode 100644
index e992e51..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+++ /dev/null
@@ -1,31 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class TabFolderDrawData extends DrawData {
-	public int tabsWidth;
-	public int tabsHeight;
-	public Rectangle tabsArea;
-	public int selectedX;
-	public int selectedWidth;
-	public int spacing;
-	
-public TabFolderDrawData() {
-	state = new int[1];
-	if (SWT.getPlatform().equals("gtk")) {
-		spacing = -2;
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabItemDrawData.java
deleted file mode 100644
index af1549a..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/TabItemDrawData.java
+++ /dev/null
@@ -1,23 +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.internal.theme;
-
-
-public class TabItemDrawData extends DrawData {
-	
-	public TabFolderDrawData parent;
-	public int position;
-
-public TabItemDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/Theme.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/Theme.java
deleted file mode 100644
index 143c2b2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/Theme.java
+++ /dev/null
@@ -1,111 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class Theme {
-	Device device;
-	
-public Theme(Device device) {
-	this.device = device;
-}
-
-void checkTheme() {
-	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-}
-
-public Rectangle computeTrim(GC gc, DrawData data) {
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.computeTrim(this, gc);
-}
-
-public void dispose () {
-	device = null;
-}
-	
-public void drawBackground(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.draw(this, gc, bounds);
-}
-
-public void drawFocus(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-public void drawImage(GC gc, Rectangle bounds, DrawData data, Image image, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawImage(this, image, gc, bounds);
-}
-
-public void drawText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawText(this, text, flags, gc, bounds);
-}
-
-public Rectangle getBounds(int part, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getBounds(part, bounds);
-}
-
-public int getSelection(Point offset, Rectangle bounds, RangeDrawData data) {
-	checkTheme();
-	if (offset == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getSelection(offset, bounds);
-}
-
-public int hitBackground(Point position, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (position == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.hit(this, position, bounds);
-}
-
-public boolean isDisposed() {
-	return device == null;
-}
-
-public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.measureText(this, text, flags, gc, bounds);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolBarDrawData.java
deleted file mode 100644
index 527fa9f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+++ /dev/null
@@ -1,19 +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.internal.theme;
-
-public class ToolBarDrawData extends DrawData {
-	
-public ToolBarDrawData() {
-	state = new int[1];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolItemDrawData.java
deleted file mode 100644
index 305dfb9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/emulated/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+++ /dev/null
@@ -1,21 +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.internal.theme;
-
-public class ToolItemDrawData extends DrawData {
-
-	public ToolBarDrawData parent;
-
-public ToolItemDrawData() {
-	state = new int[2];
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ButtonDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ButtonDrawData.java
deleted file mode 100644
index a170c1f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ButtonDrawData.java
+++ /dev/null
@@ -1,220 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ButtonDrawData extends DrawData {
-	
-public ButtonDrawData() {
-	state = new int[1];
-}
-
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-
-	int /*long*/ drawable = gc.getGCData().drawable;
-	if ((style & SWT.RADIO) != 0) {
-		int /*long*/ radioButtonHandle = theme.radioButtonHandle;
-		int /*long*/ gtkStyle = OS.gtk_widget_get_style (radioButtonHandle);
-		theme.transferClipping (gc, gtkStyle);
-		int indicator_size = theme.getWidgetProperty(radioButtonHandle, "indicator-size");
-		int indicator_spacing = theme.getWidgetProperty(radioButtonHandle, "indicator-spacing");
-		int interior_focus = theme.getWidgetProperty(radioButtonHandle, "interior-focus");
-		int focus_line_width = theme.getWidgetProperty(radioButtonHandle, "focus-line-width");
-		int focus_padding = theme.getWidgetProperty(radioButtonHandle, "focus-padding");
-		int border_width = OS.gtk_container_get_border_width(radioButtonHandle);
-		
-		int x = bounds.x + indicator_spacing + border_width;
-		int y = bounds.y + (bounds.height - indicator_size) / 2;
-		
-		if (interior_focus == 0) {
-			x += focus_line_width + focus_padding;
-		}
-		
-		int shadow_type;
-		if ((state & DrawData.GRAYED) != 0) {
-			shadow_type = OS.GTK_SHADOW_ETCHED_IN;
-		} else if ((state & DrawData.SELECTED) != 0) {
-			shadow_type = OS.GTK_SHADOW_IN;
-		} else {
-			shadow_type = OS.GTK_SHADOW_OUT;
-		}
-		
-		byte[] detail = Converter.wcsToMbcs(null, "radiobutton", true);
-		if ((state & DrawData.HOT) != 0) {
-			int prelight_x, prelight_y, prelight_width, prelight_height;
-			prelight_x = bounds.x + border_width;
-			prelight_y = bounds.y + border_width;
-			prelight_width = bounds.width - (2 * border_width);
-			prelight_height = bounds.height - (2 * border_width);
-			OS.gtk_paint_flat_box(gtkStyle, drawable, OS.GTK_STATE_PRELIGHT, OS.GTK_SHADOW_ETCHED_OUT, null, radioButtonHandle, detail, prelight_x, prelight_y, prelight_width, prelight_height);
-		}
-		int state_type = getStateType(DrawData.WIDGET_WHOLE);
-		OS.gtk_paint_option(gtkStyle, drawable, state_type, shadow_type, null, radioButtonHandle, detail, x, y, indicator_size, indicator_size);
-		if (clientArea != null) {
-			clientArea.x = bounds.x + 2 * indicator_spacing + border_width + indicator_size;
-			clientArea.y = bounds.y + border_width;
-			clientArea.width = bounds.width - (2 * indicator_spacing + 2 * border_width + indicator_size);
-			clientArea.height = bounds.height - 2 * border_width;
-		}
-		return;
-	}
-	
-	if ((style & SWT.CHECK) != 0) {
-		int /*long*/ checkButtonHandle = theme.checkButtonHandle;
-		int /*long*/ gtkStyle = OS.gtk_widget_get_style (checkButtonHandle);
-		theme.transferClipping (gc, gtkStyle);
-		int indicator_size = theme.getWidgetProperty(checkButtonHandle, "indicator-size");
-		int indicator_spacing = theme.getWidgetProperty(checkButtonHandle, "indicator-spacing");
-		int interior_focus = theme.getWidgetProperty(checkButtonHandle, "interior-focus");
-		int focus_line_width = theme.getWidgetProperty(checkButtonHandle, "focus-line-width");
-		int focus_padding = theme.getWidgetProperty(checkButtonHandle, "focus-padding");
-		int border_width = OS.gtk_container_get_border_width(checkButtonHandle);
-		
-		int x = bounds.x + indicator_spacing + border_width;
-		int y = bounds.y + (bounds.height - indicator_size) / 2;
-		
-		if (interior_focus == 0) {
-			x += focus_line_width + focus_padding;
-		}
-		
-		int shadow_type;
-		if ((state & DrawData.GRAYED) != 0) {
-			shadow_type = OS.GTK_SHADOW_ETCHED_IN;
-		} else if ((state & DrawData.SELECTED) != 0) {
-			shadow_type = OS.GTK_SHADOW_IN;
-		} else {
-			shadow_type = OS.GTK_SHADOW_OUT;
-		}
-		
-		byte[] detail = Converter.wcsToMbcs(null, "checkbutton", true);
-		if ((state & DrawData.HOT) != 0) {
-			int prelight_x, prelight_y, prelight_width, prelight_height;
-			prelight_x = bounds.x + border_width;
-			prelight_y = bounds.y + border_width;
-			prelight_width = bounds.width - (2 * border_width);
-			prelight_height = bounds.height - (2 * border_width);
-			OS.gtk_paint_flat_box(gtkStyle, drawable, OS.GTK_STATE_PRELIGHT, OS.GTK_SHADOW_ETCHED_OUT, null, checkButtonHandle, detail, prelight_x, prelight_y, prelight_width, prelight_height);
-		}
-		int state_type = getStateType(DrawData.WIDGET_WHOLE);
-		OS.gtk_paint_check(gtkStyle, drawable, state_type, shadow_type, null, checkButtonHandle, detail, x, y, indicator_size, indicator_size);
-		if (clientArea != null) {
-			clientArea.x = bounds.x + 2 * indicator_spacing + border_width + indicator_size;
-			clientArea.y = bounds.y + border_width;
-			clientArea.width = bounds.width - (2 * indicator_spacing + 2 * border_width + indicator_size);
-			clientArea.height = bounds.height - 2 * border_width;
-		}
-		return;
-	}
-	
-
-	if ((style & SWT.PUSH) != 0) {
-		int /*long*/ buttonHandle = theme.buttonHandle;
-		int /*long*/ gtkStyle = OS.gtk_widget_get_style (buttonHandle);
-		theme.transferClipping (gc, gtkStyle);		
-		int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-		int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-		int border_width = OS.gtk_container_get_border_width(buttonHandle);
-		
-		GtkBorder default_border = new GtkBorder();
-		int default_border_ptr = theme.getWidgetProperty(buttonHandle, "default-border");
-		if (default_border_ptr != 0) {
-			OS.memmove(default_border, default_border_ptr, GdkRectangle.sizeof);
-		} else {
-			default_border.left = default_border.right = default_border.top = default_border.bottom = 1;
-		}
-
-		GtkBorder default_outside_border = new GtkBorder();
-		int default_outside_border_ptr = theme.getWidgetProperty(buttonHandle, "default-outside-border");
-		if (default_outside_border_ptr != 0) {
-			OS.memmove(default_outside_border, default_outside_border_ptr, GdkRectangle.sizeof);
-		} else {
-			default_outside_border.left = default_outside_border.right = default_outside_border.top = default_outside_border.bottom = 0;
-		}
-		
-		int x = bounds.x + border_width;
-		int y = bounds.y + border_width;
-		int width = bounds.width - border_width * 2;
-		int height = bounds.height - border_width * 2;
-
-		int relief = OS.gtk_button_get_relief(buttonHandle);
-		byte[] detail = Converter.wcsToMbcs(null, (state & DrawData.DEFAULTED) != 0 ? "buttondefault" : "button", true);
-		if ((state & DrawData.DEFAULTED) != 0 && relief == OS.GTK_RELIEF_NORMAL) {
-            OS.gtk_paint_box(gtkStyle, drawable, OS.GTK_STATE_NORMAL, OS.GTK_SHADOW_IN, null, buttonHandle, detail, x, y, width, height);
-            x += default_border.left;
-            y += default_border.top;
-            width -= default_border.left + default_border.right;
-            height -= default_border.top + default_border.bottom;
-		} else if ((state & DrawData.DEFAULTED) != 0) {
-			x += default_outside_border.left;
-			y += default_outside_border.top;
-			width -= default_outside_border.left + default_outside_border.right;
-			height -= default_outside_border.top + default_outside_border.bottom;
-        }
-
-		int shadow_type = OS.GTK_SHADOW_OUT;
-		if ((state & (DrawData.SELECTED | DrawData.PRESSED)) != 0) shadow_type = OS.GTK_SHADOW_IN;
-		int state_type = getStateType(DrawData.WIDGET_WHOLE);
-
-		if (relief != OS.GTK_RELIEF_NONE || ((state & (DrawData.PRESSED | DrawData.HOT)) != 0)) {
-			OS.gtk_paint_box(gtkStyle, drawable, state_type, shadow_type, null, buttonHandle, detail, x, y, width, height);
-		}
-		
-	    if ((state & DrawData.FOCUSED) != 0) {
-	    	int child_displacement_y = theme.getWidgetProperty(buttonHandle, "child-displacement-y");
-	    	int child_displacement_x = theme.getWidgetProperty(buttonHandle, "child-displacement-x");
-	    	int displace_focus = 0;
-	    	if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) {
-	    		displace_focus = theme.getWidgetProperty(buttonHandle, "displace-focus");		    	
-	    	}
-	    	int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
-	    	
-	    	if (interior_focus != 0) {
-	    		int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	    		int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-	    		x += xthickness + focus_padding;
-	            y += ythickness + focus_padding;
-	            width -= 2 * (xthickness + focus_padding);
-	            height -=  2 * (ythickness + focus_padding);
-	    	} else {
-	    		x -= focus_line_width + focus_padding;
-	    		y -= focus_line_width + focus_padding;
-	    		width += 2 * (focus_line_width + focus_padding);
-	    		height += 2 * (focus_line_width + focus_padding);
-	    	}
-	    	
-	    	if ((state & DrawData.PRESSED) != 0 && displace_focus != 0) {
-	              x += child_displacement_x;
-	              y += child_displacement_y;
-	    	}
-	    	
-	        OS.gtk_paint_focus(gtkStyle, drawable, state_type, null, buttonHandle, detail, x, y, width, height);
-	    }
-		if (clientArea != null) {
-			clientArea.x = bounds.x + border_width;
-			clientArea.y = bounds.y + border_width;
-			clientArea.width = bounds.width - 2 * border_width;
-			clientArea.height = bounds.height - 2 * border_width;
-		}
-	    return;
-	}
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ComboDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ComboDrawData.java
deleted file mode 100644
index 3bab8a1..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ComboDrawData.java
+++ /dev/null
@@ -1,124 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ComboDrawData extends DrawData {
-
-	static final int ARROW_HEIGHT = 6;
-	static final int MIN_ARROW_SIZE = 15;
-
-public ComboDrawData() {
-	state = new int[2];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ buttonHandle = theme.buttonHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style(buttonHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	
-	int x = bounds.x;
-	int y = bounds.y ;
-	int width = bounds.width;
-	int height = bounds.height;
-
-	int shadow_type = OS.GTK_SHADOW_OUT;
-	if ((state[DrawData.COMBO_ARROW] & DrawData.PRESSED) != 0) shadow_type = OS.GTK_SHADOW_IN;
-	int state_type = getStateType(DrawData.COMBO_ARROW);
-	
-	int relief = OS.gtk_button_get_relief(buttonHandle);
-	int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
-	int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int arrow_width = MIN_ARROW_SIZE;
-	int arrow_height = ARROW_HEIGHT;
-	int x_border = xthickness + focus_padding;
-	int y_border = ythickness + focus_padding;
-	if (interior_focus == 0) {
-		x_border += focus_line_width;
-		y_border += focus_line_width;
-	}
-	int arrow_button_width = arrow_width + x_border * 2;		
-	int arrow_button_x = x + width - arrow_button_width;
-	int arrow_x = arrow_button_x + (arrow_button_width - arrow_width) / 2;
-	int arrow_y = y + (height - arrow_height) / 2 + 1;
-	if (relief != OS.GTK_RELIEF_NONE || ((state[DrawData.COMBO_ARROW] & (DrawData.PRESSED | DrawData.HOT)) != 0)) {
-		byte[] detail = Converter.wcsToMbcs(null, "button", true);
-		OS.gtk_paint_box(gtkStyle, drawable, state_type, shadow_type, null, buttonHandle, detail, arrow_button_x, y, arrow_button_width, height);
-	}		
-	byte[] arrow_detail = Converter.wcsToMbcs(null, "arrow", true);
-	int /*long*/ arrowHandle = theme.arrowHandle;
-	OS.gtk_paint_arrow(gtkStyle, drawable, state_type, OS.GTK_SHADOW_OUT, null, arrowHandle, arrow_detail, OS.GTK_ARROW_DOWN, true, arrow_x, arrow_y, arrow_width, arrow_height);
-	
-	int /*long*/ entryHandle = theme.entryHandle;
-	gtkStyle = OS.gtk_widget_get_style(entryHandle);
-	theme.transferClipping(gc, gtkStyle);
-	state_type = getStateType(DrawData.WIDGET_WHOLE);
-	byte[] detail = Converter.wcsToMbcs(null, "entry", true);
-	OS.gtk_paint_shadow(gtkStyle, drawable, OS.GTK_STATE_NORMAL, OS.GTK_SHADOW_IN, null, entryHandle, detail, x, y, width - arrow_button_width, height);
-	xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	ythickness = OS.gtk_style_get_xthickness(gtkStyle);
-	x += xthickness;
-	y += ythickness;
-	width -= 2 * xthickness;
-	height -= 2 * ythickness;
-	detail = Converter.wcsToMbcs(null, "entry_bg", true);
-	OS.gtk_paint_flat_box(gtkStyle, drawable, state_type, OS.GTK_SHADOW_NONE, null, entryHandle, detail, x, y, width - arrow_button_width, height);
-		
-	if (clientArea != null) {
-		clientArea.x = x;
-		clientArea.y = y;
-		clientArea.width = width - arrow_button_width;
-		clientArea.height = height;
-	}	
-}
-
-int getStateType(int part) {
-	if (part == DrawData.WIDGET_WHOLE) {
-		int state_type = OS.GTK_STATE_NORMAL;
-		if ((state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) {
-			state_type = OS.GTK_STATE_INSENSITIVE;
-		}
-		return state_type;
-	}
-	return super.getStateType(part);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int /*long*/ buttonHandle = theme.buttonHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style(buttonHandle);
-	int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
-	int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int arrow_width = MIN_ARROW_SIZE;
-	int x_border = xthickness + focus_padding;
-	int y_border = ythickness + focus_padding;
-	if (interior_focus == 0) {
-		x_border += focus_line_width;
-		y_border += focus_line_width;
-	}
-	int arrow_button_width = arrow_width + x_border * 2;		
-	int arrow_button_x = bounds.x + bounds.width - arrow_button_width;
-	Rectangle arrowRect = new Rectangle(arrow_button_x, bounds.y, arrow_button_width, bounds.height);
-	if (arrowRect.contains(position)) return DrawData.COMBO_ARROW;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/DrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/DrawData.java
deleted file mode 100644
index f4492b5..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/DrawData.java
+++ /dev/null
@@ -1,191 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class DrawData {
-	public int style;
-	public int[] state;
-	public Rectangle clientArea;
-
-	/** Part states */
-	public static final int SELECTED = 1 << 1;
-	public static final int FOCUSED = 1 << 2;
-	public static final int PRESSED = 1 << 3;
-	public static final int ACTIVE = 1 << 4;
-	public static final int DISABLED = 1 << 5;
-	public static final int HOT = 1 << 6;
-	public static final int DEFAULTED = 1 << 7;
-	public static final int GRAYED = 1 << 8;
-	
-	/** Text and Image drawing flags */
-	public static final int DRAW_LEFT = 1 << 4;
-	public static final int DRAW_TOP = 1 << 5;
-	public static final int DRAW_RIGHT = 1 << 6;
-	public static final int DRAW_BOTTOM = 1 << 7;
-	public static final int DRAW_HCENTER = 1 << 8;
-	public static final int DRAW_VCENTER = 1 << 9;
-
-	/** Widget parts */
-	public static final int WIDGET_NOWHERE = -1;
-	public static final int WIDGET_WHOLE = 0;
-
-	/** Scrollbar parts */
-	public static final int SCROLLBAR_UP_ARROW = 1;
-	public static final int SCROLLBAR_DOWN_ARROW = 2;
-	public static final int SCROLLBAR_LEFT_ARROW = SCROLLBAR_UP_ARROW;
-	public static final int SCROLLBAR_RIGHT_ARROW = SCROLLBAR_DOWN_ARROW;
-	public static final int SCROLLBAR_UP_TRACK = 3;
-	public static final int SCROLLBAR_DOWN_TRACK = 4;
-	public static final int SCROLLBAR_LEFT_TRACK = SCROLLBAR_UP_TRACK;
-	public static final int SCROLLBAR_RIGHT_TRACK = SCROLLBAR_DOWN_TRACK;
-	public static final int SCROLLBAR_THUMB = 5;
-	
-	/** Scale parts */
-	public static final int SCALE_UP_TRACK = 1;
-	public static final int SCALE_LEFT_TRACK = SCALE_UP_TRACK;
-	public static final int SCALE_DOWN_TRACK = 2;
-	public static final int SCALE_RIGHT_TRACK = SCALE_DOWN_TRACK;
-	public static final int SCALE_THUMB = 3;
-	
-	/** ToolItem parts */
-	public static final int TOOLITEM_ARROW = 1;
-	
-	/** Combo parts */
-	public static final int COMBO_ARROW = 1;
-	
-
-public DrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	return new Rectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	
-}
-
-void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
-	int /*long*/ drawable = gc.getGCData().drawable;
-	Rectangle rect = image.getBounds();
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-	if (state_type == OS.GTK_STATE_NORMAL) {
-		gc.drawImage(image, 0, 0, rect.width, rect.height, bounds.x, bounds.y, bounds.width, bounds.height);
-	} else {
-		int /*long*/ pixbuf = Theme.createPixbuf(image);
-		int /*long*/ source = OS.gtk_icon_source_new();
-		if (source != 0) {
-			OS.gtk_icon_source_set_pixbuf(source, pixbuf);
-			//TODO - always uses buttonHandle
-			int /*long*/ buttonHandle = theme.buttonHandle;
-			int /*long*/ gtkStyle = OS.gtk_widget_get_style (buttonHandle);
-			theme.transferClipping(gc, gtkStyle);
-			int /*long*/ rendered = OS.gtk_style_render_icon(gtkStyle, source, OS.GTK_TEXT_DIR_NONE, state_type, -1, buttonHandle, null);
-			OS.g_object_unref(pixbuf);
-			//TODO - stretching
-			if (rendered != 0) {
-				OS.gdk_draw_pixbuf(drawable, gc.handle, rendered, 0, 0, bounds.x, bounds.y, bounds.width, bounds.height, OS.GDK_RGB_DITHER_NORMAL, 0, 0);
-				OS.g_object_unref(rendered);
-			}
-			OS.gtk_icon_source_free(source);
-		}
-	}
-}
-
-void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	int /*long*/ widget = getTextHandle(theme);
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style(widget);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping (gc, gtkStyle);
-	byte[] buffer = Converter.wcsToMbcs(null, text, true);
-	int /*long*/ layout = OS.gtk_widget_create_pango_layout(widget, buffer);
-	int[] width = new int[1], height = new int[1];
-	OS.pango_layout_get_size(layout, width, height);
-	OS.pango_layout_set_width(layout, bounds.width * OS.PANGO_SCALE);
-	int x = bounds.x;
-	int y = bounds.y;
-	if ((flags & DrawData.DRAW_LEFT) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_LEFT);
-	}
-	if ((flags & DrawData.DRAW_HCENTER) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_CENTER);
-	}
-	if ((flags & DrawData.DRAW_RIGHT) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_RIGHT);
-	}
-	if ((flags & DrawData.DRAW_VCENTER) != 0) {
-		y += (bounds.height - OS.PANGO_PIXELS(height[0])) / 2;
-	}
-	if ((flags & DrawData.DRAW_BOTTOM) != 0) {
-		y += bounds.height - OS.PANGO_PIXELS(height[0]);
-	}
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-	byte[] detail = Converter.wcsToMbcs(null, "label", true);
-	OS.gtk_paint_layout(gtkStyle, drawable, state_type, false, null, widget, detail, x, y, layout);
-	OS.g_object_unref(layout);
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	return new Rectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-int getStateType(int part) {
-	int state = this.state[part];
-	int state_type = OS.GTK_STATE_NORMAL;
-	if ((state & DrawData.DISABLED) != 0) {
-		state_type = OS.GTK_STATE_INSENSITIVE;
-	} else {
-		if ((state & DrawData.SELECTED) != 0) state_type = OS.GTK_STATE_ACTIVE;
-		if ((state & DrawData.HOT) != 0) {
-			if ((state & DrawData.PRESSED) != 0) { 
-				state_type = OS.GTK_STATE_ACTIVE;
-			} else {
-				state_type = OS.GTK_STATE_PRELIGHT;
-			}
-		}
-	}
-	return state_type;
-}
-
-int /*long*/ getTextHandle(Theme theme) {
-	return theme.labelHandle;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return -1;
-}
-
-Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	int /*long*/ widget = getTextHandle(theme);
-	byte[] buffer = Converter.wcsToMbcs(null, text, true);
-	int /*long*/ layout = OS.gtk_widget_create_pango_layout(widget, buffer);
-	if (bounds != null) OS.pango_layout_set_width(layout, bounds.width);
-	if ((flags & DrawData.DRAW_LEFT) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_LEFT);
-	}
-	if ((flags & DrawData.DRAW_HCENTER) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_CENTER);
-	}
-	if ((flags & DrawData.DRAW_RIGHT) != 0) {
-		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_RIGHT);
-	}
-	int[] width = new int[1], height = new int[1];
-	OS.pango_layout_get_size(layout, width, height);
-	OS.g_object_unref(layout);
-	return new Rectangle(0, 0, OS.PANGO_PIXELS(width[0]), OS.PANGO_PIXELS(height[0]));
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ExpanderDrawData.java
deleted file mode 100644
index 7553116..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ExpanderDrawData.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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ExpanderDrawData extends DrawData {
-	
-public ExpanderDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ treeHandle = theme.treeHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (treeHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-	int expander_style = OS.GTK_EXPANDER_COLAPSED;
-	if ((this.style & SWT.DOWN) != 0) expander_style = OS.GTK_EXPANDER_EXPANDED;
-	byte[] detail = Converter.wcsToMbcs(null, "treeview", true);
-	int expander_size = theme.getWidgetProperty(treeHandle, "expander-size");
-	int x = bounds.x + expander_size / 2;
-	int y = bounds.y + expander_size / 2;
-	OS.gtk_paint_expander(gtkStyle, drawable, state_type, null, treeHandle, detail, x, y, expander_style);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int /*long*/ treeHandle = theme.treeHandle;
-	int expander_size = theme.getWidgetProperty(treeHandle, "expander-size");
-	if (new Rectangle(bounds.x, bounds.y, expander_size, expander_size).contains(position)) {
-		return DrawData.WIDGET_WHOLE;
-	}
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/GroupDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/GroupDrawData.java
deleted file mode 100644
index bd18278..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/GroupDrawData.java
+++ /dev/null
@@ -1,68 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class GroupDrawData extends DrawData {
-	public int headerWidth;
-	public int headerHeight;
-	public Rectangle headerArea;
-	
-	static final int GROUP_X = 2;
-	static final int GROUP_PAD = 1;
-	
-public GroupDrawData() {
-	state = new int[1];
-}
-
-static final int GROUP_HEADER_X = 9;
-static final int GROUP_HEADER_PAD = 2;
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ frameHandle = theme.frameHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (frameHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-	int x = bounds.x, y = bounds.y + headerHeight / 2, width = bounds.width, height = bounds.height - headerHeight / 2;
-	byte[] detail = Converter.wcsToMbcs(null, "frame", true);
-	int gap_x = xthickness + GROUP_X, gap_width = headerWidth + GROUP_PAD * 2, gap_side = OS.GTK_POS_TOP;
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-	OS.gtk_paint_shadow_gap(gtkStyle, drawable, state_type, OS.GTK_SHADOW_ETCHED_IN, null, frameHandle, detail, x, y, width, height, gap_side, gap_x, gap_width);
-	if (headerArea != null) {
-		headerArea.x = bounds.x + gap_x + GROUP_PAD;
-		headerArea.y = bounds.y;
-		headerArea.width = headerWidth;
-		headerArea.height = headerHeight;
-	}
-	if (clientArea != null) {
-		clientArea.x = bounds.x + xthickness;
-		clientArea.y = bounds.y + ythickness + headerHeight;
-		clientArea.width = bounds.width - 2 * xthickness;
-		clientArea.height = bounds.height - 2 * ythickness - headerHeight;
-	}
-}
-
-int getStateType(int part) {
-	int state = this.state[part];
-	int state_type = OS.GTK_STATE_NORMAL;
-	if ((state & DrawData.DISABLED) != 0) state_type = OS.GTK_STATE_INSENSITIVE;
-	return state_type;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-   	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
deleted file mode 100644
index 04d3ea9..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+++ /dev/null
@@ -1,61 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ProgressBarDrawData extends RangeDrawData {
-
-public ProgressBarDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ progressHandle = theme.progressHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (progressHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	byte[] detail = Converter.wcsToMbcs(null, "trough", true);
-	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-	OS.gtk_paint_box(gtkStyle, drawable, getStateType(DrawData.WIDGET_WHOLE), OS.GTK_SHADOW_IN, null, progressHandle, detail, x, y, width, height);
-	int xthichness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythichness = OS.gtk_style_get_ythickness(gtkStyle);
-	if ((style & SWT.VERTICAL) != 0) {
-		OS.gtk_progress_bar_set_orientation(progressHandle, OS.GTK_PROGRESS_BOTTOM_TO_TOP);
-		x += xthichness;
-		width -= xthichness * 2;
-		height -= ythichness * 2;
-		height *= selection / (float)Math.max(1, (maximum - minimum));
-		y += bounds.height - ythichness - height;
-	} else {
-		OS.gtk_progress_bar_set_orientation(progressHandle, OS.GTK_PROGRESS_LEFT_TO_RIGHT);
-		x += xthichness;
-		y += ythichness;
-		width -= xthichness * 2;
-		height -= ythichness * 2;
-		width *= selection / (float)Math.max(1, maximum - minimum);
-	}
-	detail = Converter.wcsToMbcs(null, "bar", true);
-	OS.gtk_paint_box(gtkStyle, drawable, OS.GTK_STATE_PRELIGHT, OS.GTK_SHADOW_OUT, null, progressHandle, detail, x, y, width, height);
-}
-
-int getStateType(int part) {
-	return OS.GTK_STATE_NORMAL;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/RangeDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/RangeDrawData.java
deleted file mode 100644
index 51f7bca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/RangeDrawData.java
+++ /dev/null
@@ -1,23 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class RangeDrawData extends DrawData {
-	public int selection;
-	public int minimum;
-	public int maximum;
-
-int getSelection(Point position, Rectangle bounds) {
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScaleDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScaleDrawData.java
deleted file mode 100644
index 9840c92..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScaleDrawData.java
+++ /dev/null
@@ -1,31 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class ScaleDrawData extends RangeDrawData {
-	public int increment;
-	public int pageIncrement;
-	
-public ScaleDrawData() {
-	state = new int[4];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScrollBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
deleted file mode 100644
index dc2d173..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
+++ /dev/null
@@ -1,31 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class ScrollBarDrawData extends RangeDrawData {
-	public int thumb;
-	public int increment;
-	public int pageIncrement;
-	
-public ScrollBarDrawData() {
-	state = new int[6];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabFolderDrawData.java
deleted file mode 100644
index a261ec4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+++ /dev/null
@@ -1,67 +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.internal.theme;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class TabFolderDrawData extends DrawData {
-	public int tabsWidth;
-	public int tabsHeight;
-	public Rectangle tabsArea;
-	public int selectedX;
-	public int selectedWidth;
-	public int spacing;
-	
-public TabFolderDrawData() {
-	state = new int[1];
-	if (SWT.getPlatform().equals("gtk")) {
-		spacing = -2;
-	}
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ notebookHandle = theme.notebookHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (notebookHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-	height -= tabsHeight;
-	int gap_x = selectedX, gap_width = selectedWidth, gap_side = OS.GTK_POS_TOP;
-	if ((style & SWT.BOTTOM) != 0) {
-		gap_side = OS.GTK_POS_BOTTOM;
-	} else {
-		y += tabsHeight;
-	}
-	byte[] detail = Converter.wcsToMbcs(null, "notebook", true);
-	OS.gtk_paint_box_gap(gtkStyle, drawable, getStateType(DrawData.WIDGET_WHOLE), OS.GTK_SHADOW_OUT, null, notebookHandle, detail, x, y, width, height, gap_side, gap_x, gap_width);
-	if (tabsArea != null) {
-		tabsArea.x = bounds.x;
-		tabsArea.y = bounds.y;
-		tabsArea.width = bounds.width;
-		tabsArea.height = tabsHeight;
-		if ((style & SWT.BOTTOM) != 0) {
-			tabsArea.y += bounds.height - tabsHeight;
-		}
-	}
-}
-
-int getStateType(int part) {
-	return OS.GTK_STATE_NORMAL;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabItemDrawData.java
deleted file mode 100644
index 00b05e2..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/TabItemDrawData.java
+++ /dev/null
@@ -1,103 +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.internal.theme;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class TabItemDrawData extends DrawData {
-	
-	public TabFolderDrawData parent;
-	public int position;
-
-	static final int TAB_CURVATURE = 1;
-
-public TabItemDrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	int /*long*/ notebookHandle = theme.notebookHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style(notebookHandle);
-	int hborder, vborder;
-	if (OS.GTK_VERSION >= OS.VERSION(2, 4, 0)) {
-		hborder = theme.getWidgetProperty(notebookHandle, "tab-hborder");
-		vborder = theme.getWidgetProperty(notebookHandle, "tab-vborder");
-	} else {
-		hborder = 2;
-		vborder = 2;
-	}
-	int focus_width = theme.getWidgetProperty(notebookHandle, "focus-line-width");
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-	int borderX = xthickness + TAB_CURVATURE + focus_width + hborder;
-	int borderY = ythickness + TAB_CURVATURE + focus_width + vborder;
-	int x = clientArea.x - borderX;
-	int y = clientArea.y - borderY;
-	int width = clientArea.width + 2 * borderX;
-	int height = clientArea.height + 2 * borderY;
-	return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ notebookHandle = theme.notebookHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (notebookHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-	if ((state[DrawData.WIDGET_WHOLE] & DrawData.SELECTED) == 0) {
-		if ((parent.style & SWT.BOTTOM) == 0) {
-			y += TAB_CURVATURE;
-		}
-		height -= TAB_CURVATURE;
-	}
-	int gap_side = OS.GTK_POS_BOTTOM;
-	if ((parent.style & SWT.BOTTOM) != 0) {
-		gap_side = OS.GTK_POS_TOP;
-	}
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-	byte[] detail = Converter.wcsToMbcs(null, "tab", true);
-	OS.gtk_paint_extension(gtkStyle, drawable, state_type, OS.GTK_SHADOW_OUT, null, notebookHandle, detail, x, y, width, height, gap_side);
-	if (clientArea != null) {
-		int hborder, vborder;
-		if (OS.GTK_VERSION >= OS.VERSION(2, 4, 0)) {
-			hborder = theme.getWidgetProperty(notebookHandle, "tab-hborder");
-			vborder = theme.getWidgetProperty(notebookHandle, "tab-vborder");
-		} else {
-			hborder = 2;
-			vborder = 2;
-		}
-		int focus_line_width = theme.getWidgetProperty(notebookHandle, "focus-line-width");
-		int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-		int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-		int borderX = xthickness + TAB_CURVATURE + focus_line_width + hborder;
-		int borderY = ythickness + TAB_CURVATURE + focus_line_width + vborder;
-		clientArea.x = bounds.x + borderX;
-		clientArea.y = bounds.y + borderY;
-		clientArea.width = bounds.width - 2 * borderX;
-		clientArea.height = bounds.height - 2 * borderY;
-	}
-}
-
-int getStateType(int part) {
-	int state = this.state[part];
-	int state_type = OS.GTK_STATE_ACTIVE;
-	if ((state & DrawData.SELECTED) != 0) state_type = OS.GTK_STATE_NORMAL;
-	return state_type;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/Theme.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/Theme.java
deleted file mode 100644
index a174a93..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/Theme.java
+++ /dev/null
@@ -1,267 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class Theme {
-	Device device;
-	
-	int /*long*/ shellHandle, fixedHandle, buttonHandle, arrowHandle,
-		frameHandle, entryHandle, checkButtonHandle, radioButtonHandle, 
-		notebookHandle, treeHandle, progressHandle, toolbarHandle,
-		labelHandle, separatorHandle;
-	
-public Theme(Device device) {
-	this.device = device;
-	shellHandle = OS.gtk_window_new (OS.GTK_WINDOW_TOPLEVEL);
-	fixedHandle = OS.gtk_fixed_new();
-	buttonHandle = OS.gtk_button_new();
-	arrowHandle = OS.gtk_arrow_new(OS.GTK_ARROW_DOWN, OS.GTK_SHADOW_NONE);
-	checkButtonHandle = OS.gtk_check_button_new();
-	frameHandle = OS.gtk_check_button_new();
-	entryHandle = OS.gtk_entry_new();
-	radioButtonHandle = OS.gtk_radio_button_new(0);
-	notebookHandle = OS.gtk_notebook_new();
-	progressHandle = OS.gtk_progress_bar_new();
-	toolbarHandle = OS.gtk_toolbar_new();
-	treeHandle = OS.gtk_tree_view_new_with_model(0);
-	separatorHandle = OS.gtk_vseparator_new();
-	labelHandle = OS.gtk_label_new(null);
-	OS.gtk_container_add (fixedHandle, labelHandle);
-	OS.gtk_container_add (fixedHandle, frameHandle);
-	OS.gtk_container_add (fixedHandle, entryHandle);
-	OS.gtk_container_add (fixedHandle, separatorHandle);
-	OS.gtk_container_add (fixedHandle, arrowHandle);
-	OS.gtk_container_add (fixedHandle, toolbarHandle);
-	OS.gtk_container_add (fixedHandle, progressHandle);
-	OS.gtk_container_add (fixedHandle, checkButtonHandle);
-	OS.gtk_container_add (fixedHandle, radioButtonHandle);
-	OS.gtk_container_add (fixedHandle, buttonHandle);
-	OS.gtk_container_add (fixedHandle, treeHandle);
-	OS.gtk_container_add (fixedHandle, notebookHandle);
-	OS.gtk_container_add (shellHandle, fixedHandle);
-	OS.gtk_widget_realize (separatorHandle);
-	OS.gtk_widget_realize (labelHandle);
-	OS.gtk_widget_realize (frameHandle);
-	OS.gtk_widget_realize (entryHandle);
-	OS.gtk_widget_realize (arrowHandle);
-	OS.gtk_widget_realize (buttonHandle);
-	OS.gtk_widget_realize (treeHandle);
-	OS.gtk_widget_realize (notebookHandle);
-	OS.gtk_widget_realize (checkButtonHandle);
-	OS.gtk_widget_realize (radioButtonHandle);
-	OS.gtk_widget_realize (progressHandle);
-	OS.gtk_widget_realize (toolbarHandle);
-	OS.gtk_widget_realize (shellHandle);
-}
-
-//TODO - share this code 
-static int /*long*/ createPixbuf(Image image) {
-	int [] w = new int [1], h = new int [1];
- 	OS.gdk_drawable_get_size (image.pixmap, w, h);
-	int /*long*/ colormap = OS.gdk_colormap_get_system ();
-	int /*long*/ pixbuf;
-	boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
-	if (hasMask) {
-		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
-		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
-		int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
-		if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
-		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
-		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-		byte[] line = new byte[stride];
-		int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
-		int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
-		byte[] maskLine = new byte[maskStride];
-		for (int y=0; y<h[0]; y++) {
-			int /*long*/ offset = pixels + (y * stride);
-			OS.memmove(line, offset, stride);
-			int /*long*/ maskOffset = maskPixels + (y * maskStride);
-			OS.memmove(maskLine, maskOffset, maskStride);
-			for (int x=0; x<w[0]; x++) {
-				if (maskLine[x * 3] == 0) {
-					line[x * 4 + 3] = 0;
-				}
-			}
-			OS.memmove(offset, line, stride);
-		}
-		OS.g_object_unref(maskPixbuf);
-	} else {
-		ImageData data = image.getImageData ();
-		boolean hasAlpha = data.getTransparencyType () == SWT.TRANSPARENCY_ALPHA;
-		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, hasAlpha, 8, w [0], h [0]);
-		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
-		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
-		if (hasAlpha) {
-			byte [] alpha = data.alphaData;
-			int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
-			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
-			byte [] line = new byte [stride];
-			for (int y = 0; y < h [0]; y++) {
-				int /*long*/ offset = pixels + (y * stride);
-				OS.memmove (line, offset, stride);
-				for (int x = 0; x < w [0]; x++) {
-					line [x*4+3] = alpha [y*w [0]+x];
-				}
-				OS.memmove (offset, line, stride);
-			}
-		}
-	}
-	return pixbuf;
-}
-
-void checkTheme() {
-	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-}
-
-public Rectangle computeTrim(GC gc, DrawData data) {
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.computeTrim(this, gc);
-}
-
-public void dispose () {
-	if (shellHandle == 0) return;
-	OS.gtk_widget_destroy(shellHandle);
-	shellHandle = fixedHandle = buttonHandle = arrowHandle =
-	frameHandle = entryHandle = checkButtonHandle = radioButtonHandle = 
-	notebookHandle = treeHandle = progressHandle = toolbarHandle = 
-	labelHandle = separatorHandle = 0;
-}
-	
-public void drawBackground(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.draw(this, gc, bounds);
-}
-
-public void drawFocus(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-public void drawImage(GC gc, Rectangle bounds, DrawData data, Image image, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawImage(this, image, gc, bounds);
-}
-
-public void drawText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawText(this, text, flags, gc, bounds);
-}
-
-public Rectangle getBounds(int part, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getBounds(part, bounds);
-}
-
-public int getSelection(Point offset, Rectangle bounds, RangeDrawData data) {
-	checkTheme();
-	if (offset == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getSelection(offset, bounds);
-}
-
-public int hitBackground(Point position, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (position == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.hit(this, position, bounds);
-}
-
-public boolean isDisposed() {
-	return device == null;
-}
-
-public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.measureText(this, text, flags, gc, bounds);
-}
-
-int getWidgetProperty(int /*long*/ handle, String name) {
-	byte[] propertyName = Converter.wcsToMbcs(null, name, true);
-	int[] result = new int[1];
-	OS.gtk_widget_style_get(handle, propertyName, result, 0);
-	return result[0];
-}
-
-void transferClipping(GC gc, int /*long*/ style) {
-	GCData data = gc.getGCData();
-	int /*long*/ clipRgn = data.clipRgn;
-	int /*long*/ damageRgn = data.damageRgn;
-	int /*long*/ clipping = clipRgn;
-	if (damageRgn != 0) {
-		if (clipping != 0) {
-			clipping = OS.gdk_region_new();
-			OS.gdk_region_union(clipping, clipRgn);
-			OS.gdk_region_intersect(clipping, damageRgn);
-		} else {
-			clipping = damageRgn;
-		}
-	}
-	int /*long*/ [] curGC = new int /*long*/ [1];
-	for (int i = 0; i < 5; i++) {
-		OS.gtk_style_get_fg_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_bg_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_light_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_dark_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_mid_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_text_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-		OS.gtk_style_get_text_aa_gc (style, i, curGC);
-		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-	}
-	OS.gtk_style_get_black_gc (style, curGC);
-	if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-	OS.gtk_style_get_white_gc (style, curGC);
-	if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-	if (clipping != clipRgn && clipping != damageRgn) {
-		OS.gdk_region_destroy(clipping);
-	}
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolBarDrawData.java
deleted file mode 100644
index 4c99b12..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolBarDrawData.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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ToolBarDrawData extends DrawData {
-	
-public ToolBarDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int /*long*/ toolbarHandle = theme.toolbarHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (toolbarHandle);
-	int /*long*/ drawable = gc.getGCData().drawable;
-	theme.transferClipping(gc, gtkStyle);
-	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-	byte[] detail = Converter.wcsToMbcs(null, "toolbar", true);
-	OS.gtk_paint_box(gtkStyle, drawable, getStateType(DrawData.WIDGET_WHOLE), OS.GTK_SHADOW_NONE, null, toolbarHandle, detail, x, y, width, height);
-	if (clientArea != null) {
-		clientArea.x = bounds.x;
-		clientArea.y = bounds.y;
-		clientArea.width = bounds.width;
-		clientArea.height = bounds.height;
-	}
-}
-
-int getStateType(int part) {
-	return OS.GTK_STATE_NORMAL;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolItemDrawData.java
deleted file mode 100644
index 67cc405..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/gtk/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+++ /dev/null
@@ -1,166 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.gtk.*;
-
-public class ToolItemDrawData extends DrawData {
-
-	public ToolBarDrawData parent;
-
-	static final int ARROW_WIDTH = 8;
-	static final int ARROW_HEIGHT = 6;
-
-public ToolItemDrawData() {
-	state = new int[2];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	int /*long*/ buttonHandle = theme.buttonHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style(buttonHandle);
-	int focus_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-	int borderX = xthickness + focus_width + focus_padding;
-	int borderY = ythickness + focus_width + focus_padding;
-	int x = clientArea.x - borderX;
-	int y = clientArea.y - borderY;
-	int width = clientArea.width + 2 * borderX;
-	int height = clientArea.height + 2 * borderY;
-	if ((style & SWT.DROP_DOWN) != 0) {
-		width += ARROW_WIDTH;
-	}
-	return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	int state = this.state[DrawData.WIDGET_WHOLE];
-	int /*long*/ drawable = gc.getGCData().drawable;
-
-	if ((style & SWT.SEPARATOR) != 0) {
-		int state_type = getStateType(DrawData.WIDGET_WHOLE);
-		int /*long*/ separatorHandle = theme.separatorHandle;
-		byte[] detail = Converter.wcsToMbcs(null, "vseparator", true);
-		int /*long*/ gtkStyle = OS.gtk_widget_get_style (separatorHandle);
-		theme.transferClipping(gc, gtkStyle);
-		if ((parent.style & SWT.VERTICAL) != 0) {
-			OS.gtk_paint_hline(gtkStyle, drawable, state_type, null, separatorHandle, detail, bounds.x, bounds.x + bounds.width, bounds.y + bounds.height / 2);
-		} else {
-			OS.gtk_paint_vline(gtkStyle, drawable, state_type, null, separatorHandle, detail, bounds.y, bounds.y + bounds.height, bounds.x + bounds.width / 2);
-		}
-		return;
-	}
-
-	int /*long*/ buttonHandle = theme.buttonHandle;
-	int /*long*/ gtkStyle = OS.gtk_widget_get_style (buttonHandle);
-	theme.transferClipping (gc, gtkStyle);
-	int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-	int border_width = OS.gtk_container_get_border_width(buttonHandle);
-
-	int x = bounds.x + border_width;
-	int y = bounds.y + border_width;
-	int width = bounds.width - border_width * 2;
-	int height = bounds.height - border_width * 2;
-
-	byte[] detail = null;
-	if ((style & (SWT.PUSH | SWT.DROP_DOWN)) != 0) {
-		detail = Converter.wcsToMbcs(null, "button", true);
-	} else if ((style & (SWT.CHECK | SWT.RADIO)) != 0) {
-		detail = Converter.wcsToMbcs(null, "togglebutton", true);
-	}
-	
-	int[] relief = new int[1];
-	int /*long*/ toolbarHandle = theme.toolbarHandle;
-	OS.gtk_widget_style_get(toolbarHandle, OS.button_relief, relief, 0);
-
-	int shadow_type = OS.GTK_SHADOW_OUT;
-	if ((state & (DrawData.SELECTED | DrawData.PRESSED)) != 0) shadow_type = OS.GTK_SHADOW_IN;
-	int state_type = getStateType(DrawData.WIDGET_WHOLE);
-		
-	if (relief[0] != OS.GTK_RELIEF_NONE || ((state & (DrawData.PRESSED | DrawData.HOT | DrawData.SELECTED)) != 0)) {
-		OS.gtk_paint_box(gtkStyle, drawable, state_type, shadow_type, null, buttonHandle, detail, x, y, width, height);
-	}
-
-	if (clientArea != null) {
-		clientArea.x = bounds.x + border_width;
-		clientArea.y = bounds.y + border_width;
-		clientArea.width = bounds.width - 2 * border_width;
-		clientArea.height = bounds.height - 2 * border_width;
-	}
-
-	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-	int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
-	if ((style & SWT.DROP_DOWN) != 0) {
-		int arrow_width = ARROW_WIDTH;
-		int arrow_height = ARROW_HEIGHT;
-		int arrow_x = x + width - arrow_width - xthickness - focus_padding;
-		if (interior_focus == 0) arrow_x -= focus_line_width;
-		int arrow_y = y + (height - arrow_height) / 2;
-		byte[] arrow_detail = Converter.wcsToMbcs(null, "arrow", true);
-		OS.gtk_paint_arrow(gtkStyle, drawable, state_type, OS.GTK_SHADOW_NONE, null, theme.arrowHandle, arrow_detail, OS.GTK_ARROW_DOWN, true, arrow_x, arrow_y, arrow_width, arrow_height);
-		if (clientArea != null) {
-			clientArea.width -= bounds.x + bounds.width - arrow_x;
-		}
-	}
-
-    if ((state & DrawData.FOCUSED) != 0) {
-    	int child_displacement_y = theme.getWidgetProperty(buttonHandle, "child-displacement-y");
-    	int child_displacement_x = theme.getWidgetProperty(buttonHandle, "child-displacement-x");
-    	int displace_focus = 0;
-    	if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) {
-    		displace_focus = theme.getWidgetProperty(buttonHandle, "displace-focus");
-    	}
-    	
-    	if (interior_focus != 0) {
-    		int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-    		x += xthickness + focus_padding;
-            y += ythickness + focus_padding;
-            width -= 2 * (xthickness + focus_padding);
-            height -=  2 * (ythickness + focus_padding);
-    	} else {
-    		x -= focus_line_width + focus_padding;
-    		y -= focus_line_width + focus_padding;
-    		width += 2 * (focus_line_width + focus_padding);
-    		height += 2 * (focus_line_width + focus_padding);
-    	}
-    	
-    	if ((state & (DrawData.PRESSED | DrawData.SELECTED)) != 0 && displace_focus != 0) {
-              x += child_displacement_x;
-              y += child_displacement_y;
-    	}
-    	
-        OS.gtk_paint_focus(gtkStyle, drawable, state_type, null, buttonHandle, detail, x, y, width, height);
-    }
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	if ((style & SWT.DROP_DOWN) != 0) {
-		int /*long*/ buttonHandle = theme.buttonHandle;
-		int /*long*/ gtkStyle = OS.gtk_widget_get_style (buttonHandle);
-		int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-		int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
-		int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-		int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-		int arrow_width = ARROW_WIDTH;
-		int arrow_x = bounds.x + bounds.width - arrow_width - xthickness - focus_padding;
-		if (interior_focus == 0) arrow_x -= focus_line_width;
-		if (arrow_x <= position.x) return DrawData.TOOLITEM_ARROW;
-	}
-	return DrawData.WIDGET_WHOLE; 
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ButtonDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ButtonDrawData.java
deleted file mode 100644
index 57ba4af..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ButtonDrawData.java
+++ /dev/null
@@ -1,109 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ButtonDrawData extends DrawData {
-	
-public ButtonDrawData() {
-	state = new int[1];
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int style = this.style;
-	int iPartId = 0, iStateId = 0;			
-	if ((style & SWT.PUSH) != 0) {
-		iPartId = OS.BP_PUSHBUTTON;
-		iStateId = OS.PBS_NORMAL;
-		if ((state & DrawData.DEFAULTED) != 0 && (state & DrawData.ACTIVE) != 0) iStateId = OS.PBS_DEFAULTED;
-		if ((state & DrawData.HOT) != 0) iStateId = OS.PBS_HOT;
-		if ((state & DrawData.PRESSED) != 0) iStateId = OS.PBS_PRESSED;
-		if ((state & DrawData.DISABLED) != 0) iStateId = OS.PBS_DISABLED;
-	}
-	if ((style & SWT.RADIO) != 0) {
-		iPartId = OS.BP_RADIOBUTTON;
-	}
-	if ((style & SWT.CHECK) != 0) {
-		iPartId = OS.BP_CHECKBOX;
-	}
-	if ((style & (SWT.CHECK | SWT.RADIO)) != 0) {
-		if ((state & DrawData.SELECTED) != 0) {
-			iStateId = OS.CBS_CHECKEDNORMAL;
-			if ((state & DrawData.HOT) != 0) iStateId = OS.CBS_CHECKEDHOT;
-			if ((state & DrawData.PRESSED) != 0) iStateId = OS.CBS_CHECKEDPRESSED;
-			if ((state & DrawData.DISABLED) != 0) iStateId = OS.CBS_CHECKEDDISABLED;
-		} else {
-			iStateId = OS.CBS_UNCHECKEDNORMAL;
-			if ((state & DrawData.HOT) != 0) iStateId = OS.CBS_UNCHECKEDHOT;
-			if ((state & DrawData.PRESSED) != 0) iStateId = OS.CBS_UNCHECKEDPRESSED;
-			if ((state & DrawData.DISABLED) != 0) iStateId = OS.CBS_UNCHECKEDDISABLED;
-		}
-	}
-	return new int[]{iPartId, iStateId};
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		//TODO - arrow and toggle
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		if ((style & (SWT.CHECK | SWT.RADIO)) != 0) {
-			SIZE size = new SIZE();
-			OS.GetThemePartSize(hTheme, gc.handle, part[0], part[1], rect, 2, size);
-			rect.right = rect.left + size.cx;
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);			
-			rect.left = rect.right + 3;
-			rect.right = rect.left + bounds.width - size.cx - 3;
-		} else {
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		}
-		Rectangle clientArea = this.clientArea;
-		if (clientArea != null) {
-			RECT contentRect = new RECT();
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, contentRect);				
-			clientArea.x = contentRect.left;
-			clientArea.y = contentRect.top;
-			clientArea.width = contentRect.right - contentRect.left;
-			clientArea.height = contentRect.bottom - contentRect.top;
-		}
-		OS.CloseThemeData(hTheme);
-	}
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return DrawData.WIDGET_NOWHERE;
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int hTheme = OS.OpenThemeData(0, getClassId());
-	RECT rect = new RECT ();
-	rect.left = bounds.x;
-	rect.right = bounds.x + bounds.width;
-	rect.top = bounds.y;
-	rect.bottom = bounds.y + bounds.height;
-	POINT pt = new POINT();
-	pt.x = position.x;
-	pt.y = position.y;
-	short[] code = new short[1];
-	int[] part = getPartId(DrawData.WIDGET_WHOLE);
-	OS.HitTestThemeBackground(hTheme, 0, part[0], part[1], 0, rect, 0, pt, code);
-	OS.CloseThemeData (hTheme);
-	return code[0] == OS.HTNOWHERE ?  DrawData.WIDGET_NOWHERE : DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ComboDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ComboDrawData.java
deleted file mode 100644
index e968fd6..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ComboDrawData.java
+++ /dev/null
@@ -1,104 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ComboDrawData extends DrawData {
-	
-public ComboDrawData() {
-	state = new int[2];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, EDIT);
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		RECT contentRect = new RECT();
-		OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, contentRect);				
-		Rectangle clientArea = this.clientArea;
-		if (clientArea != null) {
-			clientArea.x = contentRect.left;
-			clientArea.y = contentRect.top;
-			clientArea.width = contentRect.right - contentRect.left;
-			clientArea.height = contentRect.bottom - contentRect.top;
-		}
-		OS.CloseThemeData(hTheme);
-		hTheme = OS.OpenThemeData(0, getClassId());
-		int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-		rect.left = contentRect.right - width;
-		rect.top = contentRect.top;
-		rect.right = contentRect.right;
-		rect.bottom = contentRect.bottom;
-		part = getPartId(DrawData.COMBO_ARROW);
-		OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		OS.CloseThemeData(hTheme);
-		if (clientArea != null) {
-			clientArea.width -= width;
-		}
-	}
-}
-
-char[] getClassId() {
-	return COMBOBOX;
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int iPartId = 0, iStateId = 0;
-	switch (part) {
-		case DrawData.WIDGET_WHOLE: 
-			iPartId = OS.EP_EDITTEXT;
-			iStateId = OS.ETS_NORMAL;
-			if ((state & DrawData.DISABLED) != 0) iStateId = OS.ETS_DISABLED;
-			break;
-		case DrawData.COMBO_ARROW:
-			iPartId = OS.CP_DROPDOWNBUTTON;
-			iStateId = OS.CBXS_NORMAL;
-			if ((state & DrawData.DISABLED) != 0) iStateId = OS.CBXS_DISABLED;
-			if ((state & DrawData.HOT) != 0) iStateId = OS.CBXS_HOT;
-			if ((state & DrawData.PRESSED) != 0) iStateId = OS.CBXS_PRESSED;
-			break;
-	}
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return DrawData.WIDGET_NOWHERE;
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int hTheme = OS.OpenThemeData(0, EDIT);
-	int[] part = getPartId(DrawData.WIDGET_WHOLE);
-	int iPartId = part[0];
-	int iStateId = part[1];
-	RECT rect = new RECT ();
-	rect.left = bounds.x;
-	rect.right = bounds.x + bounds.width;
-	rect.top = bounds.y;
-	rect.bottom = bounds.y + bounds.height;
-	RECT contentRect = new RECT();
-	OS.GetThemeBackgroundContentRect(hTheme, 0, iPartId, iStateId, rect, contentRect);
-	OS.CloseThemeData(hTheme);
-	hTheme = OS.OpenThemeData(0, getClassId());
-	int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-	OS.CloseThemeData(hTheme);
-	Rectangle arrowRect = new Rectangle(contentRect.right - width, contentRect.top, contentRect.bottom - contentRect.top, width);
-	if (arrowRect.contains(position)) return DrawData.COMBO_ARROW;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/DrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/DrawData.java
deleted file mode 100644
index 975dd22..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/DrawData.java
+++ /dev/null
@@ -1,178 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class DrawData {
-	public int style;
-	public int[] state;
-	public Rectangle clientArea;
-
-	/** Part states */
-	public static final int SELECTED = 1 << 1;
-	public static final int FOCUSED = 1 << 2;
-	public static final int PRESSED = 1 << 3;
-	public static final int ACTIVE = 1 << 4;
-	public static final int DISABLED = 1 << 5;
-	public static final int HOT = 1 << 6;
-	public static final int DEFAULTED = 1 << 7;
-	public static final int GRAYED = 1 << 8;
-	
-	/** Text and Image drawing flags */
-	public static final int DRAW_LEFT = 1 << 4;
-	public static final int DRAW_TOP = 1 << 5;
-	public static final int DRAW_RIGHT = 1 << 6;
-	public static final int DRAW_BOTTOM = 1 << 7;
-	public static final int DRAW_HCENTER = 1 << 8;
-	public static final int DRAW_VCENTER = 1 << 9;
-
-	/** Widget parts */
-	public static final int WIDGET_NOWHERE = -1;
-	public static final int WIDGET_WHOLE = 0;
-
-	/** Scrollbar parts */
-	public static final int SCROLLBAR_UP_ARROW = 1;
-	public static final int SCROLLBAR_DOWN_ARROW = 2;
-	public static final int SCROLLBAR_LEFT_ARROW = SCROLLBAR_UP_ARROW;
-	public static final int SCROLLBAR_RIGHT_ARROW = SCROLLBAR_DOWN_ARROW;
-	public static final int SCROLLBAR_UP_TRACK = 3;
-	public static final int SCROLLBAR_DOWN_TRACK = 4;
-	public static final int SCROLLBAR_LEFT_TRACK = SCROLLBAR_UP_TRACK;
-	public static final int SCROLLBAR_RIGHT_TRACK = SCROLLBAR_DOWN_TRACK;
-	public static final int SCROLLBAR_THUMB = 5;
-	
-	/** Scale parts */
-	public static final int SCALE_UP_TRACK = 1;
-	public static final int SCALE_LEFT_TRACK = SCALE_UP_TRACK;
-	public static final int SCALE_DOWN_TRACK = 2;
-	public static final int SCALE_RIGHT_TRACK = SCALE_DOWN_TRACK;
-	public static final int SCALE_THUMB = 3;
-	
-	/** ToolItem parts */
-	public static final int TOOLITEM_ARROW = 1;
-	
-	/** Combo parts */
-	public static final int COMBO_ARROW = 1;
-	
-	static final char [] EDIT = new char [] {'E', 'D', 'I', 'T', 0};
-	static final char [] COMBOBOX = new char [] {'C', 'O', 'M', 'B', 'O', 'B', 'O', 'X', 0};
-	static final char [] BUTTON = new char [] {'B', 'U', 'T', 'T', 'O', 'N', 0};
-	static final char [] PROGRESS = new char [] {'P', 'R', 'O', 'G', 'R', 'E', 'S', 'S', 0};
-	static final char [] SCROLLBAR = new char [] {'S', 'C', 'R', 'O', 'L', 'L', 'B', 'A', 'R', 0};
-	static final char [] TAB = new char [] {'T', 'A', 'B', 0};
-	static final char [] TRACKBAR = new char [] {'T', 'R', 'A', 'C', 'K', 'B', 'A', 'R', 0};
-	static final char [] TOOLBAR = new char [] {'T', 'O', 'O', 'L', 'B', 'A', 'R', 0};
-	static final char [] TREEVIEW = new char [] {'T', 'R', 'E', 'E', 'V', 'I', 'E', 'W', 0};
-
-public DrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	return new Rectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	
-}
-
-void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-//		int hTheme = OS.OpenThemeData(0, getClassId());
-//		RECT rect = new RECT ();
-//		rect.left = bounds.x;
-//		rect.right = bounds.x + bounds.width;
-//		rect.top = bounds.y;
-//		rect.bottom = bounds.y + bounds.height;
-//		//TODO - remove reference to widgets.
-//		ImageList imageList = new ImageList(0);
-//		int imageIndex = imageList.add(image);
-//		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-//		OS.DrawThemeIcon(hTheme, gc.handle, part[0], part[1], rect, imageList.getHandle(), imageIndex);
-//		imageList.dispose();
-//		OS.CloseThemeData(hTheme);
-		Rectangle rect = image.getBounds();
-		gc.drawImage(image, 0, 0, rect.width, rect.height, bounds.x, bounds.y, bounds.width, bounds.height);
-	}
-}
-
-void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) { 
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		char[] chars = new char[text.length()];
-		text.getChars(0, chars.length, chars, 0);
-		int textFlags = OS.DT_SINGLELINE;
-		if ((flags & DrawData.DRAW_LEFT) != 0) textFlags |= OS.DT_LEFT;
-		if ((flags & DrawData.DRAW_HCENTER) != 0) textFlags |= OS.DT_CENTER;
-		if ((flags & DrawData.DRAW_RIGHT) != 0) textFlags |= OS.DT_RIGHT;
-		if ((flags & DrawData.DRAW_TOP) != 0) textFlags |= OS.DT_TOP;
-		if ((flags & DrawData.DRAW_BOTTOM) != 0) textFlags |= OS.DT_BOTTOM;
-		if ((flags & DrawData.DRAW_VCENTER) != 0) textFlags |= OS.DT_VCENTER;
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		int iPartId = part[0];
-		int iStateId = part[1];
-		OS.DrawThemeText(hTheme, gc.handle, iPartId, iStateId, chars, chars.length, textFlags, 0, rect);
-		OS.CloseThemeData(hTheme);
-	}
-}
-
-char[] getClassId() {
-	return BUTTON;
-}
-
-int[] getPartId(int part) {
-	return new int[]{0, 0};
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	return new Rectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return -1;
-}
-
-Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return new Rectangle(0, 0, 0, 0);
-	int hTheme = OS.OpenThemeData(0, getClassId());
-	char[] chars = new char[text.length()];
-	text.getChars(0, chars.length, chars, 0);
-	//TODO - constant for VCENTER and flags
-	int textFlags = 0;//OS.DT_VCENTER | OS.DT_SINGLELINE | OS.DT_CALCRECT;
-	if ((style & SWT.LEFT) != 0) textFlags |= OS.DT_LEFT;
-	if ((style & SWT.CENTER) != 0) textFlags |= OS.DT_CENTER;
-	if ((style & SWT.RIGHT) != 0) textFlags |= OS.DT_RIGHT;
-	RECT extent = new RECT();
-	RECT rect = null;
-	if (bounds != null) {
-		rect = new RECT();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-	}
-	int[] part = getPartId(DrawData.WIDGET_WHOLE);
-	int iPartId = part[0];
-	int iStateId = part[1];
-	OS.GetThemeTextExtent(hTheme, gc.handle, iPartId, iStateId, chars, chars.length, textFlags, rect, extent);
-	OS.CloseThemeData(hTheme);
-	return new Rectangle(extent.left, extent.top, extent.right - extent.left, extent.bottom - extent.top);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ExpanderDrawData.java
deleted file mode 100644
index 057bc42..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+++ /dev/null
@@ -1,65 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ExpanderDrawData extends DrawData {
-	
-public ExpanderDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		int iStateId = OS.GLPS_CLOSED;
-		if ((this.style & SWT.DOWN) != 0) iStateId = OS.GLPS_OPENED;
-		SIZE size = new SIZE();
-		OS.GetThemePartSize(hTheme, gc.handle, OS.TVP_GLYPH, iStateId, null, OS.TS_TRUE, size);
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = rect.left + size.cx;
-		rect.top = bounds.y;
-		rect.bottom = rect.top + size.cy;
-		OS.DrawThemeBackground (hTheme, gc.handle, OS.TVP_GLYPH, iStateId, rect, null);		
-		OS.CloseThemeData (hTheme);
-	}
-}
-
-char[] getClassId() {
-	return TREEVIEW;
-}
-
-int[] getPartId(int part) {
-	int iPartId = OS.TVP_GLYPH;
-	int iStateId = OS.GLPS_CLOSED;
-	if ((this.style & SWT.DOWN) != 0) iStateId = OS.GLPS_OPENED;
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return DrawData.WIDGET_NOWHERE;
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int hTheme = OS.OpenThemeData(0, getClassId());
-	SIZE size = new SIZE();
-	int[] part = getPartId(DrawData.WIDGET_WHOLE);
-	OS.GetThemePartSize(hTheme, 0, part[0], part[1], null, OS.TS_TRUE, size);
-	OS.CloseThemeData (hTheme);
-	if (new Rectangle(bounds.x, bounds.y, size.cx, size.cy).contains(position)) {
-		return DrawData.WIDGET_WHOLE;
-	}
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/GroupDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/GroupDrawData.java
deleted file mode 100644
index 31b7460..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/GroupDrawData.java
+++ /dev/null
@@ -1,72 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class GroupDrawData extends DrawData {
-	public int headerWidth;
-	public int headerHeight;
-	public Rectangle headerArea;
-	
-public GroupDrawData() {
-	state = new int[1];
-}
-
-static final int GROUP_HEADER_X = 9;
-static final int GROUP_HEADER_PAD = 2;
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y + this.headerHeight / 2;
-		rect.bottom = bounds.y + bounds.height;
-		int headerX = bounds.x + GROUP_HEADER_X, headerY = bounds.y;
-		int savedDC = OS.SaveDC(gc.handle);
-		OS.ExcludeClipRect (gc.handle, headerX - GROUP_HEADER_PAD, headerY, headerX + this.headerWidth + GROUP_HEADER_PAD, headerY + this.headerHeight);
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.DrawThemeBackground(hTheme, gc.handle, part[0], part[1], rect, null);
-		OS.RestoreDC(gc.handle, savedDC);
-		Rectangle headerArea = this.headerArea;
-		if (headerArea != null) {
-			headerArea.x = headerX;
-			headerArea.y = headerY;
-			headerArea.width = this.headerWidth;
-			headerArea.height = this.headerHeight;
-		}
-		Rectangle clientArea = this.clientArea;			
-		if (clientArea != null) {
-			RECT contentRect = new RECT();
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, contentRect);				
-			clientArea.x = contentRect.left;
-			clientArea.y = contentRect.top;
-			clientArea.width = contentRect.right - contentRect.left;
-			clientArea.height = contentRect.bottom - contentRect.top;
-		}
-		OS.CloseThemeData(hTheme);
-	}
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int iPartId = OS.BP_GROUPBOX, iStateId = OS.GBS_NORMAL;			
-	if ((state & DrawData.DISABLED) != 0) iStateId = OS.GBS_DISABLED;
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-   	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
deleted file mode 100644
index 857500d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+++ /dev/null
@@ -1,87 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ProgressBarDrawData extends RangeDrawData {
-
-public ProgressBarDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = rect.left + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = rect.top + bounds.height;
-		int[] buffer = new int[1];
-		OS.GetThemeInt(hTheme, 0, 0, OS.PROGRESSCHUNKSIZE, buffer);
-		int chunkSize = buffer[0];
-		OS.GetThemeInt(hTheme, 0, 0, OS.PROGRESSSPACESIZE, buffer);
-		int spaceSize = buffer[0];		
-		RECT content = new RECT();
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		if ((style & SWT.VERTICAL) != 0) {
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, content);
-			OS.DrawThemeBackground(hTheme, gc.handle, part[0], part[1], rect, null);
-			int top = content.bottom - (((content.bottom - content.top) * (selection - minimum)) / (maximum - minimum));
-			content.top = content.bottom - chunkSize;
-			while (content.top >= top) {
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.PP_CHUNKVERT, 0, content, null);
-				content.bottom -= chunkSize + spaceSize;
-				content.top = content.bottom - chunkSize;
-			}
-			if (selection != 0) {
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.PP_CHUNKVERT, 0, content, null);
-			}
-		} else {
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, content);
-			OS.DrawThemeBackground(hTheme, gc.handle, part[0], part[1], rect, null);
-			int right = content.left + (((content.right - content.left) * (selection - minimum)) / (maximum - minimum));
-			content.right = content.left + chunkSize;
-			while (content.right <= right) {
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.PP_CHUNK, 0, content, null);
-				content.left += chunkSize + spaceSize;
-				content.right = content.left + chunkSize;
-			}
-			if (selection != 0) {
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.PP_CHUNK, 0, content, null);				
-			}
-		}
-		OS.CloseThemeData (hTheme);
-	}
-}
-
-char[] getClassId() {
-	return PROGRESS;
-}
-
-int[] getPartId(int part) {
-	int iPartId = 0, iStateId = 0;	
-	if ((style & SWT.VERTICAL) != 0) {
-		iPartId = OS.PP_BARVERT;
-	} else {
-		iPartId = OS.PP_BAR;
-	}
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/RangeDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/RangeDrawData.java
deleted file mode 100644
index 51f7bca..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/RangeDrawData.java
+++ /dev/null
@@ -1,23 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class RangeDrawData extends DrawData {
-	public int selection;
-	public int minimum;
-	public int maximum;
-
-int getSelection(Point position, Rectangle bounds) {
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScaleDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScaleDrawData.java
deleted file mode 100644
index 15156c4..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScaleDrawData.java
+++ /dev/null
@@ -1,97 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ScaleDrawData extends RangeDrawData {
-	public int increment;
-	public int pageIncrement;
-	
-	static final int TICS_MARGIN = 10;
-
-public ScaleDrawData() {
-	state = new int[4];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		// TODO - drawScale not done
-		int style = this.style;
-		int minimum = this.minimum;
-		int maximum = this.maximum;
-		int selection = this.selection;
-		int pageIncrement = this.pageIncrement;
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = rect.left + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = rect.top + bounds.height;
-		SIZE size = new SIZE();
-		if ((style & SWT.VERTICAL) != 0) {
-			OS.GetThemePartSize(hTheme, gc.handle, OS.TKP_TRACKVERT, 0, null, OS.TS_TRUE, size);
-			int trackWidth = size.cx - 1;
-			OS.GetThemePartSize(hTheme, gc.handle, OS.TKP_THUMBVERT, 0, null, OS.TS_TRUE, size);
-			int thumbWidth = size.cx, thumbHeight = size.cy;
-			OS.GetThemePartSize(hTheme, gc.handle, OS.TKP_TICS, 0, rect, OS.TS_TRUE, size);
-			int ticWidth = size.cx;
-			int marginX = (thumbWidth - trackWidth) / 2;
-			int marginY = marginX;
-			marginX += TICS_MARGIN;
-			rect.left += marginX;
-			rect.top += marginY;
-			rect.right = rect.left + trackWidth;
-			rect.bottom -= marginY;
-			int trackHeight = rect.bottom - rect.top;
-			OS.DrawThemeBackground(hTheme, gc.handle, OS.TKP_TRACKVERT, 0, rect, null);
-			rect.top += ((trackHeight - thumbHeight) * (selection - minimum)) / Math.max(1, maximum - minimum);
-			rect.left -= (thumbWidth - trackWidth) / 2;
-			rect.right = rect.left + thumbWidth;
-			rect.bottom = rect.top + thumbHeight;
-			OS.DrawThemeBackground(hTheme, gc.handle, OS.TKP_THUMBVERT, 0, rect, null);
-			rect.top = bounds.y + marginY + thumbHeight / 2;
-			rect.bottom = rect.top + 1;
-			for (int sel = minimum; sel <= maximum; sel += pageIncrement) {
-				rect.left = bounds.x + TICS_MARGIN / 2;
-				rect.right = rect.left + ticWidth;
-				if (sel != minimum && sel != maximum) rect.left++;
-				rect.top = bounds.y + marginY + thumbHeight / 2;
-				rect.top += ((trackHeight - thumbHeight) * (sel - minimum)) / Math.max(1, maximum - minimum);
-				rect.bottom = rect.top + 1;
-				//TODO - why tics are ot drawn
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.TKP_TICSVERT, 1, rect, null);
-				gc.drawLine(rect.left, rect.top, rect.right, rect.top);
-				rect.left = bounds.x + TICS_MARGIN + thumbWidth + 1;
-				rect.right = rect.left + ticWidth;
-				if (sel != minimum && sel != maximum) rect.right--;
-				//TODO - why tics are ot drawn
-				OS.DrawThemeBackground(hTheme, gc.handle, OS.TKP_TICSVERT, 1, rect, null);
-				gc.drawLine(rect.left, rect.top, rect.right, rect.top);
-			}
-		} else {
-
-		}
-		OS.CloseThemeData (hTheme);
-	}
-}
-
-char[] getClassId() {
-	return TRACKBAR;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScrollBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
deleted file mode 100644
index 713d8dc..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
+++ /dev/null
@@ -1,288 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ScrollBarDrawData extends RangeDrawData {
-	public int thumb;
-	public int increment;
-	public int pageIncrement;
-	
-public ScrollBarDrawData() {
-	state = new int[6];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		if ((style & SWT.VERTICAL) != 0) {
-			int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-			rect.left = bounds.x;
-			rect.right = rect.left + bounds.width;
-			rect.top = bounds.y;
-			rect.bottom = rect.top + width;
-			int[] part = getPartId(DrawData.SCROLLBAR_UP_ARROW);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			rect.bottom = bounds.y + bounds.height;
-			rect.top = rect.bottom - width;
-			part = getPartId(DrawData.SCROLLBAR_DOWN_ARROW);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			int totalWidth = bounds.height - 2 * width;
-			int thumbWidth = Math.max(width / 2, (totalWidth * thumb) / Math.max(1, (maximum - minimum)));//BAD
-			int thumbPos = bounds.y + width + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			rect.top = bounds.y + width;		
-			rect.bottom = thumbPos;
-			part = getPartId(DrawData.SCROLLBAR_UP_TRACK);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			rect.top = rect.bottom;
-			rect.bottom = rect.top + thumbWidth;
-			part = getPartId(DrawData.SCROLLBAR_THUMB);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			OS.DrawThemeBackground (hTheme, gc.handle, OS.SBP_GRIPPERVERT, part[1], rect, null);
-			rect.top = rect.bottom;		
-			rect.bottom = bounds.y + bounds.height - width;
-			part = getPartId(DrawData.SCROLLBAR_DOWN_TRACK);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		} else {
-			//TODO - why SM_CXHSCROLL = 0?
-			int height = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-			rect.top = bounds.y;
-			rect.bottom = rect.top + bounds.height;
-			rect.left = bounds.x;
-			rect.right = rect.left + height;
-			int[] part = getPartId(DrawData.SCROLLBAR_LEFT_ARROW);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			rect.right = bounds.x + bounds.width;
-			rect.left = rect.right - height;
-			part = getPartId(DrawData.SCROLLBAR_RIGHT_ARROW);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			int totalWidth = bounds.width - 2 * height;
-			int thumbWidth = Math.max(height / 2, (totalWidth * thumb) / (maximum - minimum));//BAD
-			int thumbPos = bounds.x + height + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			rect.left = bounds.x + height;		
-			rect.right = thumbPos;
-			part = getPartId(DrawData.SCROLLBAR_UP_TRACK);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			rect.left = rect.right;
-			rect.right = rect.left + thumbWidth;
-			part = getPartId(DrawData.SCROLLBAR_THUMB);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-			OS.DrawThemeBackground (hTheme, gc.handle, OS.SBP_GRIPPERHORZ, part[1], rect, null);
-			rect.left = rect.right;		
-			rect.right = bounds.x + bounds.width - height;
-			part = getPartId(DrawData.SCROLLBAR_DOWN_TRACK);
-			OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		}
-		OS.CloseThemeData (hTheme);
-	}
-}
-
-char[] getClassId() {
-	return SCROLLBAR;
-}
-
-int[] getPartId(int part) {
-	int iPartId = 0, iStateId = 0;
-	int state = this.state[part];
-	switch (part) {
-		case DrawData.SCROLLBAR_UP_ARROW:
-			iPartId = OS.SBP_ARROWBTN;
-			if ((style & SWT.VERTICAL) != 0) {
-				iStateId = OS.ABS_UPNORMAL;
-				if ((state & DrawData.HOT) != 0) iStateId = OS.ABS_UPHOT;
-				if ((state & DrawData.PRESSED) != 0) iStateId = OS.ABS_UPPRESSED;
-				if ((state & DrawData.DISABLED) != 0) iStateId = OS.ABS_UPDISABLED;
-			} else {
-				iStateId = OS.ABS_LEFTNORMAL;
-				if ((state & DrawData.HOT) != 0) iStateId = OS.ABS_LEFTHOT;
-				if ((state & DrawData.PRESSED) != 0) iStateId = OS.ABS_LEFTPRESSED;
-				if ((state & DrawData.DISABLED) != 0) iStateId = OS.ABS_LEFTDISABLED;				
-			}
-			break;
-		case DrawData.SCROLLBAR_DOWN_ARROW:
-			iPartId = OS.SBP_ARROWBTN;
-			if ((style & SWT.VERTICAL) != 0) {
-				iStateId = OS.ABS_DOWNNORMAL;
-				if ((state & DrawData.HOT) != 0) iStateId = OS.ABS_DOWNHOT;
-				if ((state & DrawData.PRESSED) != 0) iStateId = OS.ABS_DOWNPRESSED;
-				if ((state & DrawData.DISABLED) != 0) iStateId = OS.ABS_DOWNDISABLED;
-			} else {
-				iStateId = OS.ABS_RIGHTNORMAL;
-				if ((state & DrawData.HOT) != 0) iStateId = OS.ABS_RIGHTHOT;
-				if ((state & DrawData.PRESSED) != 0) iStateId = OS.ABS_RIGHTPRESSED;
-				if ((state & DrawData.DISABLED) != 0) iStateId = OS.ABS_RIGHTDISABLED;
-			}
-			break;
-		case DrawData.WIDGET_WHOLE:
-		case DrawData.SCROLLBAR_THUMB:
-			if ((style & SWT.VERTICAL) != 0) {
-				iPartId = OS.SBP_THUMBBTNVERT;
-			} else {
-				iPartId = OS.SBP_THUMBBTNHORZ;
-			}
-			break;
-		case DrawData.SCROLLBAR_UP_TRACK:
-			if ((style & SWT.VERTICAL) != 0) {
-				iPartId = OS.SBP_UPPERTRACKVERT;
-			} else {
-				iPartId = OS.SBP_UPPERTRACKHORZ;
-			}
-			break;
-		case DrawData.SCROLLBAR_DOWN_TRACK:
-			if ((style & SWT.VERTICAL) != 0) {
-				iPartId = OS.SBP_LOWERTRACKVERT;
-			} else {
-				iPartId = OS.SBP_LOWERTRACKHORZ;
-			}
-			break;
-	}
-	if (part != DrawData.SCROLLBAR_DOWN_ARROW && part != DrawData.SCROLLBAR_UP_ARROW) {
-		iStateId = OS.SCRBS_NORMAL;
-		if ((state & DrawData.HOT) != 0) iStateId = OS.SCRBS_HOT;
-		if ((state & DrawData.PRESSED) != 0) iStateId = OS.SCRBS_PRESSED;
-		if ((state & DrawData.DISABLED) != 0) iStateId = OS.SCRBS_DISABLED;
-	}
-	return new int[]{iPartId, iStateId};	
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		if ((style & SWT.VERTICAL) != 0) {
-			int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-			int totalWidth = bounds.height - 2 * width;
-			int thumbWidth = Math.max(width / 2, (totalWidth * thumb) / Math.max(1, (maximum - minimum)));//BAD
-			int thumbPos = bounds.y + width + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			switch (part) {
-				case DrawData.SCROLLBAR_DOWN_ARROW:
-					return new Rectangle(bounds.x, bounds.y + bounds.height - width, bounds.width, width);
-				case DrawData.SCROLLBAR_UP_ARROW:
-					return new Rectangle(bounds.x, bounds.y, bounds.width, width);
-				case DrawData.SCROLLBAR_UP_TRACK:
-					return new Rectangle(bounds.x, bounds.y + width, bounds.width, thumbPos - bounds.y - width);
-				case DrawData.SCROLLBAR_THUMB:
-					return new Rectangle(bounds.x, thumbPos, bounds.width, thumbWidth);
-				case DrawData.SCROLLBAR_DOWN_TRACK:
-					return new Rectangle(bounds.x, thumbPos + thumbWidth, bounds.width, bounds.y + bounds.height - width - thumbPos - thumbWidth);
-			}
-		} else {
-			
-		}
-		OS.CloseThemeData (hTheme);
-	}
-	return super.getBounds(part, bounds);
-}
-
-int getSelection(Point position, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		if ((style & SWT.VERTICAL) != 0) {
-			int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);			
-			int totalWidth = bounds.height - 2 * width;
-			int thumbPos = bounds.y + width + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			thumbPos += position.y;
-			int selection = ((thumbPos - bounds.y - width) * (maximum - minimum)) / totalWidth;
-			return Math.max(0, Math.min(selection, maximum - thumb));
-		} else {
-			
-		}
-		OS.CloseThemeData (hTheme);
-	}
-	return 0;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return -1;
-	int hTheme = OS.OpenThemeData(0, getClassId());
-	//TODO - should we take a GC?
-	int hDC = 0;
-	RECT rect = new RECT ();
-	POINT pt = new POINT();
-	pt.x = position.x;
-	pt.y = position.y;
-	short[] code = new short[1];
-	try {
-		if ((style & SWT.VERTICAL) != 0) {
-			int width = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);
-			rect.left = bounds.x;
-			rect.right = rect.left + bounds.width;
-			rect.top = bounds.y;
-			rect.bottom = rect.top + width;
-			int[] part = getPartId(DrawData.SCROLLBAR_UP_ARROW);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_UP_ARROW;
-			rect.bottom = bounds.y + bounds.height;
-			rect.top = rect.bottom - width;
-			part = getPartId(DrawData.SCROLLBAR_DOWN_ARROW);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_DOWN_ARROW;
-			int totalWidth = bounds.height - 2 * width;
-			int thumbWidth = Math.max(width / 2, (totalWidth * thumb) / Math.max(1, (maximum - minimum)));//BAD
-			int thumbPos = bounds.y + width + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			rect.top = bounds.y + width;		
-			rect.bottom = thumbPos;
-			part = getPartId(DrawData.SCROLLBAR_THUMB);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_UP_TRACK;
-			rect.top = rect.bottom;
-			rect.bottom = rect.top + thumbWidth;
-			part = getPartId(DrawData.SCROLLBAR_UP_TRACK);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_THUMB;
-			rect.top = rect.bottom;		
-			rect.bottom = bounds.y + bounds.height - width;
-			part = getPartId(DrawData.SCROLLBAR_DOWN_TRACK);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_DOWN_TRACK;
-		} else {
-			int height = OS.GetThemeSysSize(hTheme, OS.SM_CXVSCROLL);//BAD - why SM_CXHSCROLL = 0?
-			rect.top = bounds.y;
-			rect.bottom = rect.top + bounds.height;
-			rect.left = bounds.x;
-			rect.right = rect.left + height;
-			int[] part = getPartId(DrawData.SCROLLBAR_LEFT_ARROW);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_UP_ARROW;
-			rect.right = bounds.x + bounds.width;
-			rect.left = rect.right - height;
-			part = getPartId(DrawData.SCROLLBAR_RIGHT_ARROW);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_DOWN_ARROW;
-			int totalWidth = bounds.width - 2 * height;
-			int thumbWidth = Math.max(height / 2, (totalWidth * thumb) / (maximum - minimum));//BAD
-			int thumbPos = bounds.x + height + Math.max(0, (totalWidth * selection) / Math.max(1, (maximum - minimum)));
-			rect.left = bounds.x + height;		
-			rect.right = thumbPos;
-			part = getPartId(DrawData.SCROLLBAR_LEFT_TRACK);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_UP_TRACK;
-			rect.left = rect.right;
-			rect.right = rect.left + thumbWidth;
-			part = getPartId(DrawData.SCROLLBAR_THUMB);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_THUMB;
-			rect.left = rect.right;		
-			rect.right = bounds.x + bounds.width - height;
-			part = getPartId(DrawData.SCROLLBAR_RIGHT_TRACK);
-			OS.HitTestThemeBackground(hTheme, hDC, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.SCROLLBAR_DOWN_TRACK;
-		}
-	} finally {
-		OS.CloseThemeData (hTheme);
-	}
-	return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabFolderDrawData.java
deleted file mode 100644
index e59e711..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+++ /dev/null
@@ -1,81 +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.internal.theme;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class TabFolderDrawData extends DrawData {
-	public int tabsWidth;
-	public int tabsHeight;
-	public Rectangle tabsArea;
-	public int selectedX;
-	public int selectedWidth;
-	public int spacing;
-	
-public TabFolderDrawData() {
-	state = new int[1];
-	if (SWT.getPlatform().equals("gtk")) {
-		spacing = -2;
-	}
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		if ((style & SWT.BOTTOM) != 0) {
-			rect.bottom = bounds.y + bounds.height - tabsHeight;
-		} else {
-			rect.top += tabsHeight;
-			rect.bottom = bounds.y + bounds.height;
-		}
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		OS.CloseThemeData(hTheme);
-		if (tabsArea != null) {
-			tabsArea.x = bounds.x;
-			tabsArea.y = bounds.y;
-			tabsArea.width = bounds.width;
-			tabsArea.height = tabsHeight;
-			if ((style & SWT.BOTTOM) != 0) {
-				tabsArea.y += bounds.height - tabsHeight;
-			}
-		}
-	}
-}
-
-char[] getClassId() {
-	return TAB;
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int iPartId = OS.TABP_PANE, iStateId = OS.TIS_NORMAL;
-	if ((state & DrawData.DISABLED) != 0) {
-		iStateId = OS.TIS_DISABLED;
-	} else {
-		if ((state & DrawData.HOT) != 0) iStateId = OS.TIS_HOT;
-		if ((state & DrawData.SELECTED) != 0) iStateId = OS.TIS_SELECTED;
-	}
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabItemDrawData.java
deleted file mode 100644
index 589c15f..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/TabItemDrawData.java
+++ /dev/null
@@ -1,129 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class TabItemDrawData extends DrawData {
-
-	public TabFolderDrawData parent;
-	public int position;
-	
-	static final int TABITEM_INSET = 2;
-	static final int TABITEM_INSET2 = 6;
-	
-public TabItemDrawData() {
-	state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		int x = clientArea.x, y = clientArea.y, width = clientArea.width, height = clientArea.height;
-		if ((style & SWT.LEFT) != 0) {
-			x -= TABITEM_INSET;
-			width += TABITEM_INSET;
-		}
-		y -= TABITEM_INSET;
-		height += TABITEM_INSET;
-		RECT rect = new RECT ();
-		rect.left = x;
-		rect.right = x + width;
-		rect.top = y;
-		rect.bottom = y + height;
-		RECT extent = new RECT ();
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.GetThemeBackgroundExtent(hTheme, gc.handle, part[0], part[1], rect, extent);
-		extent.left -= TABITEM_INSET2;
-		extent.top -= TABITEM_INSET2;
-		extent.right += TABITEM_INSET2;
-		OS.CloseThemeData(hTheme);
-		return new Rectangle(extent.left, extent.top, extent.right - extent.left, extent.bottom - extent.top);
-	}
-	return new Rectangle(0, 0, 0, 0);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int state = this.state[DrawData.WIDGET_WHOLE];
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-		if ((position & SWT.LEFT) != 0) {
-			x += TABITEM_INSET;
-			width -= TABITEM_INSET;
-		}
-		y += TABITEM_INSET;
-		height -= TABITEM_INSET;
-		if ((state & DrawData.SELECTED) != 0) {
-			//TODO - draws outside of bounds
-			x -= TABITEM_INSET;
-			y -= TABITEM_INSET;
-			width += TABITEM_INSET * 2;
-			height += TABITEM_INSET * 2;
-		}
-		RECT rect = new RECT ();
-		rect.left = x;
-		rect.right = x + width;
-		rect.top = y;
-		rect.bottom = y + height;
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.DrawThemeBackground (hTheme, gc.handle, part[0], part[1], rect, null);
-		OS.CloseThemeData(hTheme);
-		Rectangle clientArea = this.clientArea;
-		if (clientArea != null) {
-			RECT contentRect = new RECT();
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, contentRect);
-			clientArea.x = contentRect.left;
-			clientArea.y = contentRect.top;
-			clientArea.width = contentRect.right - contentRect.left;
-			clientArea.height = contentRect.bottom - contentRect.top;
-		}
-	}
-}
-
-char[] getClassId() {
-	return TAB;
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int iPartId = OS.TABP_TABITEM, iStateId = OS.TIS_NORMAL;
-	if ((style & SWT.LEFT) != 0 && (style & SWT.RIGHT) != 0) {
-		iPartId = OS.TABP_TABITEMLEFTEDGE;
-	} else if ((style & SWT.LEFT) != 0) {
-		iPartId = OS.TABP_TABITEMLEFTEDGE;
-	} else if ((style & SWT.RIGHT) != 0) {
-	}
-	if ((state & DrawData.HOT) != 0) iStateId = OS.TIS_HOT;
-	if ((state & DrawData.FOCUSED) != 0) iStateId = OS.TIS_FOCUSED;
-	if ((state & DrawData.SELECTED) != 0) iStateId = OS.TIS_SELECTED;
-	if ((state & DrawData.DISABLED) != 0) iStateId = OS.TIS_DISABLED;
-	return new int[]{iPartId, iStateId};	
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int style = this.style;
-	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-	if ((style & SWT.LEFT) != 0) {
-		x += TABITEM_INSET;
-		width -= TABITEM_INSET;
-	}
-	y += TABITEM_INSET;
-	height -= TABITEM_INSET;
-	Rectangle content = new Rectangle(x, y, width, height);
-	if (!content.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/Theme.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/Theme.java
deleted file mode 100644
index 0b86e9d..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/Theme.java
+++ /dev/null
@@ -1,113 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class Theme {
-	
-	Device device;
-
-public Theme(Device device) {
-	this.device = device;
-}
-
-public Rectangle computeTrim(GC gc, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.computeTrim(this, gc);
-}
-
-void checkTheme() {
-	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-}
-
-public void dispose () {
-	device = null;
-}
-
-public void drawBackground(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.draw(this, gc, bounds);
-}
-
-public void drawFocus(GC gc, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-public void drawImage(GC gc, Rectangle bounds, DrawData data, Image image, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawImage(this, image, gc, bounds);
-}
-
-public void drawText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	data.drawText(this, text, flags, gc, bounds);
-}
-
-public Rectangle getBounds(int part, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getBounds(part, bounds);
-}
-
-public int getSelection(Point offset, Rectangle bounds, RangeDrawData data) {
-	checkTheme();
-	if (offset == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.getSelection(offset, bounds);
-}
-
-public int hitBackground(Point position, Rectangle bounds, DrawData data) {
-	checkTheme();
-	if (position == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	return data.hit(this, position, bounds);
-}
-
-public boolean isDisposed() {
-	return device == null;
-}
-
-public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
-	checkTheme();
-	if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-	if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-	return data.measureText(this, text, flags, gc, bounds);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolBarDrawData.java
deleted file mode 100644
index cce5953..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+++ /dev/null
@@ -1,33 +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.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class ToolBarDrawData extends DrawData {
-	
-public ToolBarDrawData() {
-	state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-char[] getClassId() {
-	return TOOLBAR;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolItemDrawData.java
deleted file mode 100644
index 7124c12..0000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/win32/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+++ /dev/null
@@ -1,169 +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.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.win32.*;
-
-public class ToolItemDrawData extends DrawData {
-
-	public ToolBarDrawData parent;
-	
-	static final int INSET = 1;
-	
-public ToolItemDrawData() {
-	state = new int[2];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = clientArea.x;
-		rect.right = clientArea.x + clientArea.width;
-		rect.top = clientArea.y;
-		rect.bottom = clientArea.y + clientArea.height;
-		RECT extent = new RECT ();
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.GetThemeBackgroundExtent(hTheme, gc.handle, part[0], part[1], rect, extent);
-		OS.CloseThemeData(hTheme);
-		if ((style & SWT.DROP_DOWN) != 0) {
-			SIZE size = new SIZE();
-			part = getPartId(DrawData.TOOLITEM_ARROW);
-			OS.GetThemePartSize(hTheme, 0, part[0], part[1], null, OS.TS_TRUE, size);
-			extent.right = Math.max(extent.left, extent.right + size.cx);
-		} else {
-			extent.left -= INSET;
-			extent.top -= INSET;
-			extent.right += INSET;
-			extent.bottom += INSET;
-		}
-		return new Rectangle(extent.left, extent.top, extent.right - extent.left, extent.bottom - extent.top);
-	}
-	return new Rectangle(0, 0, 0, 0);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-	if (OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ()) {
-		int hTheme = OS.OpenThemeData(0, getClassId());
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-		SIZE size = null;
-		int[] dropPart = null;
-		if ((style & SWT.DROP_DOWN) != 0) {
-			size = new SIZE();
-			dropPart = getPartId(DrawData.TOOLITEM_ARROW);
-			OS.GetThemePartSize(hTheme, gc.handle, dropPart[0], dropPart[1], rect, OS.TS_TRUE, size);
-			rect.right -= size.cx;
-			if (rect.right < rect.left) rect.right = rect.left;
-		}
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.DrawThemeBackground(hTheme, gc.handle, part[0], part[1], rect, null);
-		Rectangle clientArea = this.clientArea;
-		if (clientArea != null) {
-			RECT contentRect = new RECT();
-			OS.GetThemeBackgroundContentRect(hTheme, gc.handle, part[0], part[1], rect, contentRect);
-			clientArea.x = contentRect.left;
-			clientArea.y = contentRect.top;
-			clientArea.width = contentRect.right - contentRect.left;
-			clientArea.height = contentRect.bottom - contentRect.top;
-		}
-		if ((style & SWT.DROP_DOWN) != 0) {
-			rect.left = rect.right;
-			rect.right = rect.left + size.cx;
-			OS.DrawThemeBackground(hTheme, gc.handle, dropPart[0], dropPart[1], rect, null);			
-		}
-		OS.CloseThemeData(hTheme);
-	}
-}
-
-char[] getClassId() {
-	return TOOLBAR;
-}
-
-int[] getPartId(int part) {
-	int state = this.state[part];
-	int iPartId = 0, iStateId = 0;
-	switch (part) {
-		case DrawData.WIDGET_WHOLE:
-			if ((style & (SWT.PUSH | SWT.CHECK | SWT.RADIO)) != 0) {
-				iPartId = OS.TP_BUTTON;
-			} else if ((style & SWT.DROP_DOWN) != 0) {
-				iPartId = OS.TP_SPLITBUTTON;
-			} else if ((style & SWT.SEPARATOR) != 0) {
-				if ((parent.style & SWT.VERTICAL) != 0) {
-					iPartId = OS.TP_SEPARATORVERT;
-				} else {
-					iPartId = OS.TP_SEPARATOR;
-				}
-			}
-			if ((style & SWT.SEPARATOR) == 0) {
-				if ((state & DrawData.HOT) != 0) {
-					if ((style & (SWT.RADIO | SWT.CHECK)) != 0 && (state & DrawData.SELECTED) != 0) {
-						iStateId = OS.TS_HOTCHECKED;
-					} else {
-						iStateId = OS.TS_HOT;
-					}
-				}
-				if ((style & (SWT.RADIO | SWT.CHECK)) != 0 && (state & DrawData.SELECTED) != 0) {
-					iStateId = OS.TS_CHECKED;			
-				}
-				if ((state & DrawData.PRESSED) != 0) iStateId = OS.TS_PRESSED;
-				if ((state & DrawData.DISABLED) != 0) iStateId = OS.TS_DISABLED;
-			}
-			break;
-		case DrawData.TOOLITEM_ARROW:
-			iPartId = OS.TP_SPLITBUTTONDROPDOWN;
-			if ((state & DrawData.HOT) != 0) iStateId = OS.TS_HOT;
-			if ((state & DrawData.PRESSED) != 0) iStateId = OS.TS_PRESSED;
-			if ((state & DrawData.DISABLED) !=0) iStateId = OS.TS_DISABLED;
-			break;
-	}
-	return new int[]{iPartId, iStateId};
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
-	if (!(OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed ())) return DrawData.WIDGET_NOWHERE;
-	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
-	int hTheme = OS.OpenThemeData(0, getClassId());
-	try {
-		RECT rect = new RECT ();
-		rect.left = bounds.x;
-		rect.right = bounds.x + bounds.width;
-		rect.top = bounds.y;
-		rect.bottom = bounds.y + bounds.height;
-		POINT pt = new POINT();
-		pt.x = position.x;
-		pt.y = position.y;
-		short[] code = new short[1];
-		int[] part = getPartId(DrawData.WIDGET_WHOLE);
-		OS.HitTestThemeBackground(hTheme, 0, part[0], part[1], 0, rect, 0, pt, code);
-		if (code[0] == OS.HTNOWHERE) return DrawData.WIDGET_NOWHERE;
-		int style = this.style;
-		if ((style & SWT.DROP_DOWN) != 0) {
-			SIZE size = new SIZE();
-			part = getPartId(DrawData.TOOLITEM_ARROW);
-			OS.GetThemePartSize(hTheme, 0, part[0], part[1], rect, OS.TS_TRUE, size);
-			rect.left = Math.max(rect.left, rect.right - size.cx);
-			OS.HitTestThemeBackground(hTheme, 0, part[0], part[1], 0, rect, 0, pt, code);
-			if (code[0] != OS.HTNOWHERE) return DrawData.TOOLITEM_ARROW;
-		}
-	} finally {
-		OS.CloseThemeData(hTheme);
-	}
-	return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.swt/META-INF/MANIFEST.MF
deleted file mode 100644
index 266b835..0000000
--- a/bundles/org.eclipse.swt/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.swt; singleton:=true
-Bundle-Version: 3.2.3.qualifier
-Bundle-ManifestVersion: 2
-Bundle-Localization: plugin
-Export-Package: 
- org.eclipse.swt,
- org.eclipse.swt.accessibility,
- org.eclipse.swt.awt,
- org.eclipse.swt.browser,
- org.eclipse.swt.custom,
- org.eclipse.swt.dnd,
- org.eclipse.swt.events,
- org.eclipse.swt.graphics,
- org.eclipse.swt.layout,
- org.eclipse.swt.opengl,
- org.eclipse.swt.printing,
- org.eclipse.swt.program,
- org.eclipse.swt.widgets,
- org.eclipse.swt.internal; x-internal:=true,
- org.eclipse.swt.internal.image; x-internal:=true,
- org.eclipse.swt.internal.theme; x-internal:=true
-Eclipse-ExtensibleAPI: true
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.3
diff --git a/bundles/org.eclipse.swt/about_files/IJG_README b/bundles/org.eclipse.swt/about_files/IJG_README
deleted file mode 100644
index 86cc206..0000000
--- a/bundles/org.eclipse.swt/about_files/IJG_README
+++ /dev/null
@@ -1,385 +0,0 @@
-The Independent JPEG Group's JPEG software
-==========================================
-
-README for release 6b of 27-Mar-1998
-====================================
-
-This distribution contains the sixth public release of the Independent JPEG
-Group's free JPEG software.  You are welcome to redistribute this software and
-to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
-
-Serious users of this software (particularly those incorporating it into
-larger programs) should contact IJG at jpeg-info@uunet.uu.net to be added to
-our electronic mailing list.  Mailing list members are notified of updates
-and have a chance to participate in technical discussions, etc.
-
-This software is the work of Tom Lane, Philip Gladstone, Jim Boucher,
-Lee Crocker, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi,
-Guido Vollbeding, Ge' Weijers, and other members of the Independent JPEG
-Group.
-
-IJG is not affiliated with the official ISO JPEG standards committee.
-
-
-DOCUMENTATION ROADMAP
-=====================
-
-This file contains the following sections:
-
-OVERVIEW            General description of JPEG and the IJG software.
-LEGAL ISSUES        Copyright, lack of warranty, terms of distribution.
-REFERENCES          Where to learn more about JPEG.
-ARCHIVE LOCATIONS   Where to find newer versions of this software.
-RELATED SOFTWARE    Other stuff you should get.
-FILE FORMAT WARS    Software *not* to get.
-TO DO               Plans for future IJG releases.
-
-Other documentation files in the distribution are:
-
-User documentation:
-  install.doc       How to configure and install the IJG software.
-  usage.doc         Usage instructions for cjpeg, djpeg, jpegtran,
-                    rdjpgcom, and wrjpgcom.
-  *.1               Unix-style man pages for programs (same info as usage.doc).
-  wizard.doc        Advanced usage instructions for JPEG wizards only.
-  change.log        Version-to-version change highlights.
-Programmer and internal documentation:
-  libjpeg.doc       How to use the JPEG library in your own programs.
-  example.c         Sample code for calling the JPEG library.
-  structure.doc     Overview of the JPEG library's internal structure.
-  filelist.doc      Road map of IJG files.
-  coderules.doc     Coding style rules --- please read if you contribute code.
-
-Please read at least the files install.doc and usage.doc.  Useful information
-can also be found in the JPEG FAQ (Frequently Asked Questions) article.  See
-ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
-
-If you want to understand how the JPEG code works, we suggest reading one or
-more of the REFERENCES, then looking at the documentation files (in roughly
-the order listed) before diving into the code.
-
-
-OVERVIEW
-========
-
-This package contains C software to implement JPEG image compression and
-decompression.  JPEG (pronounced "jay-peg") is a standardized compression
-method for full-color and gray-scale images.  JPEG is intended for compressing
-"real-world" scenes; line drawings, cartoons and other non-realistic images
-are not its strong suit.  JPEG is lossy, meaning that the output image is not
-exactly identical to the input image.  Hence you must not use JPEG if you
-have to have identical output bits.  However, on typical photographic images,
-very good compression levels can be obtained with no visible change, and
-remarkably high compression levels are possible if you can tolerate a
-low-quality image.  For more details, see the references, or just experiment
-with various compression settings.
-
-This software implements JPEG baseline, extended-sequential, and progressive
-compression processes.  Provision is made for supporting all variants of these
-processes, although some uncommon parameter settings aren't implemented yet.
-For legal reasons, we are not distributing code for the arithmetic-coding
-variants of JPEG; see LEGAL ISSUES.  We have made no provision for supporting
-the hierarchical or lossless processes defined in the standard.
-
-We provide a set of library routines for reading and writing JPEG image files,
-plus two sample applications "cjpeg" and "djpeg", which use the library to
-perform conversion between JPEG and some other popular image file formats.
-The library is intended to be reused in other applications.
-
-In order to support file conversion and viewing software, we have included
-considerable functionality beyond the bare JPEG coding/decoding capability;
-for example, the color quantization modules are not strictly part of JPEG
-decoding, but they are essential for output to colormapped file formats or
-colormapped displays.  These extra functions can be compiled out of the
-library if not required for a particular application.  We have also included
-"jpegtran", a utility for lossless transcoding between different JPEG
-processes, and "rdjpgcom" and "wrjpgcom", two simple applications for
-inserting and extracting textual comments in JFIF files.
-
-The emphasis in designing this software has been on achieving portability and
-flexibility, while also making it fast enough to be useful.  In particular,
-the software is not intended to be read as a tutorial on JPEG.  (See the
-REFERENCES section for introductory material.)  Rather, it is intended to
-be reliable, portable, industrial-strength code.  We do not claim to have
-achieved that goal in every aspect of the software, but we strive for it.
-
-We welcome the use of this software as a component of commercial products.
-No royalty is required, but we do ask for an acknowledgement in product
-documentation, as described under LEGAL ISSUES.
-
-
-LEGAL ISSUES
-============
-
-In plain English:
-
-1. We don't promise that this software works.  (But if you find any bugs,
-   please let us know!)
-2. You can use this software for whatever you want.  You don't have to pay us.
-3. You may not pretend that you wrote this software.  If you use it in a
-   program, you must acknowledge somewhere in your documentation that
-   you've used the IJG code.
-
-In legalese:
-
-The authors make NO WARRANTY or representation, either express or implied,
-with respect to this software, its quality, accuracy, merchantability, or
-fitness for a particular purpose.  This software is provided "AS IS", and you,
-its user, assume the entire risk as to its quality and accuracy.
-
-This software is copyright (C) 1991-1998, Thomas G. Lane.
-All Rights Reserved except as specified below.
-
-Permission is hereby granted to use, copy, modify, and distribute this
-software (or portions thereof) for any purpose, without fee, subject to these
-conditions:
-(1) If any part of the source code for this software is distributed, then this
-README file must be included, with this copyright and no-warranty notice
-unaltered; and any additions, deletions, or changes to the original files
-must be clearly indicated in accompanying documentation.
-(2) If only executable code is distributed, then the accompanying
-documentation must state that "this software is based in part on the work of
-the Independent JPEG Group".
-(3) Permission for use of this software is granted only if the user accepts
-full responsibility for any undesirable consequences; the authors accept
-NO LIABILITY for damages of any kind.
-
-These conditions apply to any software derived from or based on the IJG code,
-not just to the unmodified library.  If you use our work, you ought to
-acknowledge us.
-
-Permission is NOT granted for the use of any IJG author's name or company name
-in advertising or publicity relating to this software or products derived from
-it.  This software may be referred to only as "the Independent JPEG Group's
-software".
-
-We specifically permit and encourage the use of this software as the basis of
-commercial products, provided that all warranty or liability claims are
-assumed by the product vendor.
-
-
-ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
-sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
-ansi2knr.c is NOT covered by the above copyright and conditions, but instead
-by the usual distribution terms of the Free Software Foundation; principally,
-that you must include source code if you redistribute it.  (See the file
-ansi2knr.c for full details.)  However, since ansi2knr.c is not needed as part
-of any program generated from the IJG code, this does not limit you more than
-the foregoing paragraphs do.
-
-The Unix configuration script "configure" was produced with GNU Autoconf.
-It is copyright by the Free Software Foundation but is freely distributable.
-The same holds for its supporting scripts (config.guess, config.sub,
-ltconfig, ltmain.sh).  Another support script, install-sh, is copyright
-by M.I.T. but is also freely distributable.
-
-It appears that the arithmetic coding option of the JPEG spec is covered by
-patents owned by IBM, AT&T, and Mitsubishi.  Hence arithmetic coding cannot
-legally be used without obtaining one or more licenses.  For this reason,
-support for arithmetic coding has been removed from the free JPEG software.
-(Since arithmetic coding provides only a marginal gain over the unpatented
-Huffman mode, it is unlikely that very many implementations will support it.)
-So far as we are aware, there are no patent restrictions on the remaining
-code.
-
-The IJG distribution formerly included code to read and write GIF files.
-To avoid entanglement with the Unisys LZW patent, GIF reading support has
-been removed altogether, and the GIF writer has been simplified to produce
-"uncompressed GIFs".  This technique does not use the LZW algorithm; the
-resulting GIF files are larger than usual, but are readable by all standard
-GIF decoders.
-
-We are required to state that
-    "The Graphics Interchange Format(c) is the Copyright property of
-    CompuServe Incorporated.  GIF(sm) is a Service Mark property of
-    CompuServe Incorporated."
-
-
-REFERENCES
-==========
-
-We highly recommend reading one or more of these references before trying to
-understand the innards of the JPEG software.
-
-The best short technical introduction to the JPEG compression algorithm is
-	Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
-	Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
-(Adjacent articles in that issue discuss MPEG motion picture compression,
-applications of JPEG, and related topics.)  If you don't have the CACM issue
-handy, a PostScript file containing a revised version of Wallace's article is
-available at ftp://ftp.uu.net/graphics/jpeg/wallace.ps.gz.  The file (actually
-a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
-omits the sample images that appeared in CACM, but it includes corrections
-and some added material.  Note: the Wallace article is copyright ACM and IEEE,
-and it may not be used for commercial purposes.
-
-A somewhat less technical, more leisurely introduction to JPEG can be found in
-"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
-M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1.  This book provides
-good explanations and example C code for a multitude of compression methods
-including JPEG.  It is an excellent source if you are comfortable reading C
-code but don't know much about data compression in general.  The book's JPEG
-sample code is far from industrial-strength, but when you are ready to look
-at a full implementation, you've got one here...
-
-The best full description of JPEG is the textbook "JPEG Still Image Data
-Compression Standard" by William B. Pennebaker and Joan L. Mitchell, published
-by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.  Price US$59.95, 638 pp.
-The book includes the complete text of the ISO JPEG standards (DIS 10918-1
-and draft DIS 10918-2).  This is by far the most complete exposition of JPEG
-in existence, and we highly recommend it.
-
-The JPEG standard itself is not available electronically; you must order a
-paper copy through ISO or ITU.  (Unless you feel a need to own a certified
-official copy, we recommend buying the Pennebaker and Mitchell book instead;
-it's much cheaper and includes a great deal of useful explanatory material.)
-In the USA, copies of the standard may be ordered from ANSI Sales at (212)
-642-4900, or from Global Engineering Documents at (800) 854-7179.  (ANSI
-doesn't take credit card orders, but Global does.)  It's not cheap: as of
-1992, ANSI was charging $95 for Part 1 and $47 for Part 2, plus 7%
-shipping/handling.  The standard is divided into two parts, Part 1 being the
-actual specification, while Part 2 covers compliance testing methods.  Part 1
-is titled "Digital Compression and Coding of Continuous-tone Still Images,
-Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
-10918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
-Continuous-tone Still Images, Part 2: Compliance testing" and has document
-numbers ISO/IEC IS 10918-2, ITU-T T.83.
-
-Some extensions to the original JPEG standard are defined in JPEG Part 3,
-a newer ISO standard numbered ISO/IEC IS 10918-3 and ITU-T T.84.  IJG
-currently does not support any Part 3 extensions.
-
-The JPEG standard does not specify all details of an interchangeable file
-format.  For the omitted details we follow the "JFIF" conventions, revision
-1.02.  A copy of the JFIF spec is available from:
-	Literature Department
-	C-Cube Microsystems, Inc.
-	1778 McCarthy Blvd.
-	Milpitas, CA 95035
-	phone (408) 944-6300,  fax (408) 944-6314
-A PostScript version of this document is available by FTP at
-ftp://ftp.uu.net/graphics/jpeg/jfif.ps.gz.  There is also a plain text
-version at ftp://ftp.uu.net/graphics/jpeg/jfif.txt.gz, but it is missing
-the figures.
-
-The TIFF 6.0 file format specification can be obtained by FTP from
-ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz.  The JPEG incorporation scheme
-found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
-IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
-Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
-(Compression tag 7).  Copies of this Note can be obtained from ftp.sgi.com or
-from ftp://ftp.uu.net/graphics/jpeg/.  It is expected that the next revision
-of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
-Although IJG's own code does not support TIFF/JPEG, the free libtiff library
-uses our library to implement TIFF/JPEG per the Note.  libtiff is available
-from ftp://ftp.sgi.com/graphics/tiff/.
-
-
-ARCHIVE LOCATIONS
-=================
-
-The "official" archive site for this software is ftp.uu.net (Internet
-address 192.48.96.9).  The most recent released version can always be found
-there in directory graphics/jpeg.  This particular version will be archived
-as ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz.  If you don't have
-direct Internet access, UUNET's archives are also available via UUCP; contact
-help@uunet.uu.net for information on retrieving files that way.
-
-Numerous Internet sites maintain copies of the UUNET files.  However, only
-ftp.uu.net is guaranteed to have the latest official version.
-
-You can also obtain this software in DOS-compatible "zip" archive format from
-the SimTel archives (ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/), or
-on CompuServe in the Graphics Support forum (GO CIS:GRAPHSUP), library 12
-"JPEG Tools".  Again, these versions may sometimes lag behind the ftp.uu.net
-release.
-
-The JPEG FAQ (Frequently Asked Questions) article is a useful source of
-general information about JPEG.  It is updated constantly and therefore is
-not included in this distribution.  The FAQ is posted every two weeks to
-Usenet newsgroups comp.graphics.misc, news.answers, and other groups.
-It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
-and other news.answers archive sites, including the official news.answers
-archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
-If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
-with body
-	send usenet/news.answers/jpeg-faq/part1
-	send usenet/news.answers/jpeg-faq/part2
-
-
-RELATED SOFTWARE
-================
-
-Numerous viewing and image manipulation programs now support JPEG.  (Quite a
-few of them use this library to do so.)  The JPEG FAQ described above lists
-some of the more popular free and shareware viewers, and tells where to
-obtain them on Internet.
-
-If you are on a Unix machine, we highly recommend Jef Poskanzer's free
-PBMPLUS software, which provides many useful operations on PPM-format image
-files.  In particular, it can convert PPM images to and from a wide range of
-other formats, thus making cjpeg/djpeg considerably more useful.  The latest
-version is distributed by the NetPBM group, and is available from numerous
-sites, notably ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/.
-Unfortunately PBMPLUS/NETPBM is not nearly as portable as the IJG software is;
-you are likely to have difficulty making it work on any non-Unix machine.
-
-A different free JPEG implementation, written by the PVRG group at Stanford,
-is available from ftp://havefun.stanford.edu/pub/jpeg/.  This program
-is designed for research and experimentation rather than production use;
-it is slower, harder to use, and less portable than the IJG code, but it
-is easier to read and modify.  Also, the PVRG code supports lossless JPEG,
-which we do not.  (On the other hand, it doesn't do progressive JPEG.)
-
-
-FILE FORMAT WARS
-================
-
-Some JPEG programs produce files that are not compatible with our library.
-The root of the problem is that the ISO JPEG committee failed to specify a
-concrete file format.  Some vendors "filled in the blanks" on their own,
-creating proprietary formats that no one else could read.  (For example, none
-of the early commercial JPEG implementations for the Macintosh were able to
-exchange compressed files.)
-
-The file format we have adopted is called JFIF (see REFERENCES).  This format
-has been agreed to by a number of major commercial JPEG vendors, and it has
-become the de facto standard.  JFIF is a minimal or "low end" representation.
-We recommend the use of TIFF/JPEG (TIFF revision 6.0 as modified by TIFF
-Technical Note #2) for "high end" applications that need to record a lot of
-additional data about an image.  TIFF/JPEG is fairly new and not yet widely
-supported, unfortunately.
-
-The upcoming JPEG Part 3 standard defines a file format called SPIFF.
-SPIFF is interoperable with JFIF, in the sense that most JFIF decoders should
-be able to read the most common variant of SPIFF.  SPIFF has some technical
-advantages over JFIF, but its major claim to fame is simply that it is an
-official standard rather than an informal one.  At this point it is unclear
-whether SPIFF will supersede JFIF or whether JFIF will remain the de-facto
-standard.  IJG intends to support SPIFF once the standard is frozen, but we
-have not decided whether it should become our default output format or not.
-(In any case, our decoder will remain capable of reading JFIF indefinitely.)
-
-Various proprietary file formats incorporating JPEG compression also exist.
-We have little or no sympathy for the existence of these formats.  Indeed,
-one of the original reasons for developing this free software was to help
-force convergence on common, open format standards for JPEG files.  Don't
-use a proprietary file format!
-
-
-TO DO
-=====
-
-The major thrust for v7 will probably be improvement of visual quality.
-The current method for scaling the quantization tables is known not to be
-very good at low Q values.  We also intend to investigate block boundary
-smoothing, "poor man's variable quantization", and other means of improving
-quality-vs-file-size performance without sacrificing compatibility.
-
-In future versions, we are considering supporting some of the upcoming JPEG
-Part 3 extensions --- principally, variable quantization and the SPIFF file
-format.
-
-As always, speeding things up is of great interest.
-
-Please send bug reports, offers of help, etc. to jpeg-info@uunet.uu.net.
diff --git a/bundles/org.eclipse.swt/build/.classpath b/bundles/org.eclipse.swt/build/.classpath
deleted file mode 100644
index 53904a3..0000000
--- a/bundles/org.eclipse.swt/build/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path=""/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry exported="true" sourcepath="src.zip" kind="lib" path="swt.jar">
-		<attributes>
-			<attribute value="http://help.eclipse.org/help31/nftopic/org.eclipse.platform.doc.isv/reference/api/" name="javadoc_location"/>
-			<attribute value="org.eclipse.swt" name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path=""/>
-</classpath>
diff --git a/bundles/org.eclipse.swt/build/.project b/bundles/org.eclipse.swt/build/.project
deleted file mode 100644
index 961502f..0000000
--- a/bundles/org.eclipse.swt/build/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.swt</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
\ No newline at end of file
diff --git a/bundles/org.eclipse.swt/extra_jars/exceptions.jar b/bundles/org.eclipse.swt/extra_jars/exceptions.jar
deleted file mode 100644
index 91cd047..0000000
--- a/bundles/org.eclipse.swt/extra_jars/exceptions.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.swt/extra_jars/readme.txt b/bundles/org.eclipse.swt/extra_jars/readme.txt
deleted file mode 100644
index 02168b6..0000000
--- a/bundles/org.eclipse.swt/extra_jars/readme.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-The additional jars in this folder are required to
-compile at development time because they do not 
-appear in CDC-1.0 Foundation-1.0.
-The jars in this folder are not required at run time.
\ No newline at end of file